Nothing Special   »   [go: up one dir, main page]

JP6541694B2 - Providing subscriptions for services using existing subscriptions - Google Patents

Providing subscriptions for services using existing subscriptions Download PDF

Info

Publication number
JP6541694B2
JP6541694B2 JP2016572454A JP2016572454A JP6541694B2 JP 6541694 B2 JP6541694 B2 JP 6541694B2 JP 2016572454 A JP2016572454 A JP 2016572454A JP 2016572454 A JP2016572454 A JP 2016572454A JP 6541694 B2 JP6541694 B2 JP 6541694B2
Authority
JP
Japan
Prior art keywords
service
subscription
customer
services
clone
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
JP2016572454A
Other languages
Japanese (ja)
Other versions
JP2017526038A5 (en
JP2017526038A (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
Application filed by オラクル・インターナショナル・コーポレイション filed Critical オラクル・インターナショナル・コーポレイション
Priority claimed from US14/624,364 external-priority patent/US20150363724A1/en
Priority claimed from US14/624,356 external-priority patent/US10148530B2/en
Priority claimed from PCT/US2015/016214 external-priority patent/WO2015191119A1/en
Publication of JP2017526038A publication Critical patent/JP2017526038A/en
Publication of JP2017526038A5 publication Critical patent/JP2017526038A5/ja
Application granted granted Critical
Publication of JP6541694B2 publication Critical patent/JP6541694B2/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6236Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database between heterogeneous systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

関連出願の相互参照
本願は、以下の出願に関連し、これらの内容全体を、すべての目的のために本明細書に引用により援用する。
This application is related to the following applications, the entire contents of which are incorporated herein by reference for all purposes.

(1)2012年9月7日に出願され「Tenant Automation System」と題された米国仮出願第61/698,413号
(2)2012年9月7日に出願され「Service Development Infrastructure」と題された米国仮出願番号第61/698,459号
(3)2013年3月14日に出願され「Cloud Infrastructure」と題された米国仮特許出願第61/785,299号
(4)2013年3月15日に出願され「Cloud Infrastructure」と題された米国仮出願第61/794,427号
(5)2013年3月15日に出願され「Service Association Model」と題された米国仮出願第61/799,461号
本願は、2012年9月7日に出願され「Shared Identify Management Architecture」と題された米国仮出願第61/698,463号の全体を、すべての目的のために本明細書に引用により援用する。
(1) US Provisional Application No. 61 / 698,413, filed on September 7, 2012 and entitled "Tenant Automation System" (2) filed on September 7, 2012, entitled "Service Development Infrastructure" US Provisional Application No. 61 / 698,459 (3) US Provisional Patent Application No. 61 / 785,299, filed March 14, 2013 and entitled "Cloud Infrastructure" (4) 2013 3 US Provisional Application No. 61 / 794,427 filed on May 15, entitled "Cloud Infrastructure" (5) US Provisional Application No. 61, filed on March 15, 2013, entitled "Service Association Model" This application claims the benefit of US Provisional Application No. 61 / 698,463, filed Sep. 7, 2012, entitled "Shared Identify Management Architecture", which is hereby incorporated by reference in its entirety for all purposes. To quote Ri is incorporated.

本願は、2014年6月11日に出願され「REUSABLE ANONYMOUS SUBSCRIPTION」と題された米国仮出願第62/010,617号に基づく優先権と利益を主張する2015年2月17日に出願され「REUSABLE ANONYMOUS SUBSCRIPTION」と題された米国非仮出願第14/624,364号に基づく優先権と利益を主張する。   This application claims the priority and benefit of US Provisional Application No. 62 / 010,617 filed on June 11, 2014 and entitled "REUSABLE ANONYMOUS SUBSCRIPTION", filed on February 17, 2015 Claim priority and benefit under US Non Provisional Application No. 14 / 624,364 entitled REUSABLE ANONYMOUS SUBSCRIPTION.

本願は、2014年6月12日に出願され「RULE BASED SUBSCRIPTION CLONING」と題された米国仮出願第62/011,400号に基づく優先権と利益を主張する2015年2月7日に出願され「RULE BASED SUBSCRIPTION CLONING」と題された米国非仮出願第14/624,356号に基づく優先権と利益を主張する。   The present application is filed on February 7, 2015 claiming priority and benefit based on US Provisional Application No. 62 / 011,400, filed on June 12, 2014 and entitled "RULE BASED SUBSCRIPTION CLONING". Claim priority and benefit based on US Non-Provisional Application No. 14 / 624,356 entitled "RULE BASED SUBSCRIPTION CLONING".

上記非仮特許出願および仮特許出願の内容全体を、すべての目的のために本明細書に引用により援用する。   The entire contents of the above non-provisional and provisional patent applications are incorporated herein by reference for all purposes.

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

クラウドコンピューティングは、構成可能な演算リソース(たとえばネットワーク、サーバ、記憶装置、アプリケーション、およびサービス)の共有プールに対する簡便なオンデマンドのネットワークアクセスを可能にするモデルである。クラウド(またはネットワーク)を通して提供またはアクセスされるサービスを、クラウドサービスと呼ぶ。契約した顧客がクラウドサービスを利用できるようにするには、クラウドサービスプロバイダが多くの処理を実行する必要がある。その複雑さのために、この処理の多くは依然として手作業で行なわれている。たとえば、このようなクラウドサービスを提供するためにリソースをプロビジョニングすることは、多大な労働力を要するプロセスである可能性がある。   Cloud computing is a model that allows easy on-demand network access to a shared pool of configurable computing resources (eg, networks, servers, storage devices, applications, and services). Services provided or accessed through the cloud (or network) are called cloud services. A cloud service provider needs to perform a lot of processing to make the cloud service available to contracted customers. Because of its complexity, much of this process is still done manually. For example, provisioning resources to provide such cloud services can be a labor intensive process.

消費者および事業者は、コンピュータネットワーククラウドベースのサービスの使用のオーダーおよびスタートがシームレスであることを期待する。しかしながら、多くのクラウドサービスは、共有し得るリソースのプロビジョニングが必要なので、スタートアップが難しい。たとえば、サーバファーム内のサーバは多数の顧客に対するクラウドサービスを一挙に実行する場合があり、別の顧客を追加するためにはリソースを移す必要があるかもしれない。ユーザが使用を希望するサービスは、ユーザごとに異なり得る。たとえば、クラウド上の生の記憶域だけを希望するユーザもあれば、高度なデータベース記憶域の使用を希望するユーザもある。また、その従業員または顧客向けにクラウド上で実行されるグラフィカルユーザインターフェイス(GUI)ソフトウェアの使用を希望する他のユーザもある。   Consumers and businesses expect the order and start of use of computer network cloud based services to be seamless. However, many cloud services require provisioning of resources that can be shared, making startup difficult. For example, a server in a server farm may perform cloud services for a large number of customers at once, and resources may need to be transferred to add another customer. The service that the user wishes to use may vary from user to user. For example, some users may only want raw storage on the cloud, while others may want to use advanced database storage. There are also other users who want to use graphical user interface (GUI) software running on the cloud for their employees or customers.

場合によっては、事業者が既存の計算環境(たとえば生産システム)を用いて新たな特徴またはコンポーネントを試用することを希望することがある。しかしながら、これらの事業主は、既存の計算環境を用いて別の環境を実現することによって新たな特徴をテストすることができない場合がある。その結果、事業者は、追加のコンフィギュレーションおよび演算リソースを含む別の環境を実現するためにリソースを消費することになる場合がある。加えて、追加のシステムの実現には、より多くの演算リソースを求めてサービスプロバイダと契約を結ぶための管理手続が伴い得る。追加の計算環境の構築は、事業者によっては法外な費用と多大な時間を要する場合がある。   In some cases, an operator may wish to try out new features or components using an existing computing environment (e.g., a production system). However, these business owners may not be able to test new features by implementing another environment using an existing computing environment. As a result, an operator may consume resources to implement another environment that includes additional configuration and computing resources. In addition, the implementation of the additional system may involve management procedures to contract with the service provider for more computing resources. The construction of the additional calculation environment may require exorbitant costs and a large amount of time depending on the business operator.

事業者の中には、彼らのニーズに適合するか否かを判断するためにクラウドベースのサービスの試用を希望する事業者がある。しかしながら、事業者はサービスをテストしたがらない場合がある。なぜなら、そのサービスに対する正規サブスクリプションを確立するためには、そのサブスクリプションによってサービスへのアクセスが可能になるまでに、リソースを構成することを含む追加の重量(heavyweight)プロセスが必要な場合があるからである。正規サブスクリプションを購入した場合、この追加のプロセスによって、事業者がこのサービスをさらに使用しようとするときに遅延が発生し得る。さらに、サービスのテスト中に作成された顧客データは、サービスのテスト後の正規サブスクリプションによるサービスのその後の使用のために保持されるということがない場合がある。事業者は、サービスをテストする一方で、使用する環境を実現することによって正規サブスクリプションに基づくその後の使用のために顧客データを再度生成するのに時間と費用をかけるという負担を負う場合がある。これらの問題のために、事業者によっては、サービスのサブスクリプションの購入前にそのサービスを試用するという柔軟性が与えられないことがある。クラウドサービスのプロバイダは、サービスにサブスクライブする前にこのサービスを試用することに消極的な他の顧客を獲得する機会を失うかもしれない。プロバイダは、別の事業者がサービスの試用を希望するたびに、そのサービス用のリソースを再度プロビジョニングするというタスクを負うことになる場合がある。顧客およびサービスプロバイダは、サービスを可能にしこれらのサービスの使用に関連する顧客データを保持するためのリソースのプロビジョニングに要する時間を短縮する技術から、利益を享受することになるであろう。   Some operators want to try a cloud-based service to determine if they meet their needs. However, the operator may not want to test the service. Because establishing a regular subscription to the service may require additional heavyweight processes, including configuring resources, before the subscription allows access to the service. It is from. If you purchase a full subscription, this additional process can cause delays when the operator attempts to use this service further. Furthermore, customer data created during testing of a service may not be retained for subsequent use of the service by a regular subscription after testing of the service. Operators may bear the burden of spending time and money regenerating customer data for subsequent use based on legitimate subscriptions by testing the service while realizing the environment of use . Because of these issues, some operators may not be given the flexibility to try out the service before purchasing a subscription for the service. Cloud service providers may lose the opportunity to gain other customers reluctant to try this service before subscribing to the service. The provider may be tasked with reprovisioning the resources for the service each time another provider wishes to try the service. Customers and service providers will benefit from technology that enables services and reduces the time it takes to provision resources to maintain customer data related to the use of these services.

当該技術では、より速くより低コストでかつより使用し易いクラウドベースのコンピュータシステムに対する需要がある。   There is a need in the art for cloud-based computer systems that are faster, less expensive, and easier to use.

概要
概して、本開示の局面は、クラウドインフラストラクチャシステムによってプロビジョニングされた既存のサービスを用いてサービスへのアクセスをユーザに提供するための技術に関する。より具体的には、既存のサブスクリプションに基づいてサービスへのアクセスのためのサブスクリプションをユーザに提供してもよい。サービスの種類の例は、サービスとしてのソフトウェア(Software as a Service)(SaaS)カテゴリ、サービスとしてのプラットフォーム(Platform as a Service)(PaaS)カテゴリ、サービスとしてのインフラストラクチャ(Infrastructure as a Service)(IaaS)カテゴリ、またはその他の、ハイブリッドサービスを含むサービスのカテゴリを含むが、これらに限定されない。
SUMMARY In general, aspects of the present disclosure relate to techniques for providing access to services to users using existing services provisioned by a cloud infrastructure system. More specifically, subscriptions for access to services may be provided to users based on existing subscriptions. Examples of service types are: Software as a Service (SaaS) category, Platform as a Service (PaaS) category, Infrastructure as a Service (IaaS) Including, but not limited to) categories, or other categories of services, including hybrid services.

クラウドインフラストラクチャシステムは、本明細書に記載のさまざまな技術を用いて、既存のサービスに基づいてサービスへのアクセスをユーザに提供し得る。このような技術は、要求されたサービスのためのリソースのプロビジョニングに要する処理時間を短縮することによって、サービスへのアクセスを顧客に提供する際の処理効率を改善することができる。クラウドインフラストラクチャシステムは、ユーザからの要求に基づいてサービスの種類を決定することができ、かつ、既存のサービスについて決定されたプロビジョニングを用いてそのサービスへのアクセスを可能にするサブスクリプションを提供することができる。   The cloud infrastructure system may provide users with access to services based on existing services using the various techniques described herein. Such techniques may improve processing efficiency in providing access to services to customers by reducing the processing time required to provision resources for the requested service. The cloud infrastructure system can determine the type of service based on the request from the user, and provide a subscription that allows access to the service using the determined provisioning for the existing service be able to.

いくつかの実施形態において、クラウドインフラストラクチャシステムは、クラウドインフラストラクチャシステムが提供する既存のサービスに対する既存のサブスクリプション(たとえばベースサブスクリプション)に基づいてサブスクリプション(たとえば「クローンサブスクリプション」)を作成することにより、ユーザにサービスを提供し得る。クローンサブスクリプションは、既存のサービスに基づいてサービスへのアクセスをユーザに提供する。ベースサブスクリプションに基づいて複数のクローンサブスクリプションを作成してもよく、各クローンサブスクリプションは、ベースサブスクリプションの既存のサービスに基づいてサービスに対するサブスクリプションを提供する。クローンサブスクリプションを、このクローンサブスクリプションの作成の基になったサブスクリプションに対応付けてもよい。クローンサブスクリプションがこのクローンサブスクリプションの作成の基になったサブスクリプションに対応付けられると、このサブスクリプションのライフサイクルとクローンサブスクリプションが互いに対応付けられるであろう。   In some embodiments, the cloud infrastructure system creates a subscription (eg, a "clone subscription") based on an existing subscription (eg, a base subscription) to existing services provided by the cloud infrastructure system. Can provide the service to the user. Clone subscriptions provide users with access to services based on existing services. Multiple clone subscriptions may be created based on the base subscription, and each clone subscription provides a subscription to a service based on the existing services of the base subscription. A clone subscription may be associated with the subscription from which the creation of this clone subscription was based. When a clone subscription is associated with the subscription on which this clone subscription was created, the lifecycle of this subscription and the clone subscription will be associated with each other.

説明のための少なくとも1つの例において、クローンサブスクリプションが提供するサービスへのアクセスを、ユーザが示す1つの種類の使用のための追加の環境をサポートするために、提供してもよい。この追加の環境がサポートする使用の種類は、クローンサブスクリプションを確立する基になった既存のサブスクリプションに対応する使用の種類と異なる場合がある。たとえば、ユーザが、ベースサブスクリプションが提供する生産環境のクローンサブスクリプションを要求する場合がある。そうすることによってこの生産環境に基づいた(たとえばこの生産環境のクローンである)テスト環境を確立するのである。このクローンサブスクリプションに対するテスト環境を、新たな特徴をその生産環境にデプロイする前にクローン環境においてテストできるよう、要求してもよい。   In at least one illustrative example, access to the services provided by the clone subscription may be provided to support additional environments for one type of use indicated by the user. The type of use that this additional environment supports may be different from the type of use that corresponds to the existing subscription from which the clone subscription was established. For example, a user may request a clone subscription of a production environment provided by a base subscription. By doing so, a test environment based on this production environment (for example, a clone of this production environment) is established. The test environment for this clone subscription may be required to be able to test in the clone environment before deploying new features into the production environment.

いくつかの実施形態において、クラウドインフラストラクチャシステムは、クラウドインフラストラクチャシステムがプロビジョニングしたサービスをさまざまなユーザが匿名で再使用できるようにする技術を実現し得る。このシステムは「再使用可能な匿名サブスクリプション(reusable anonymous subscription)」(RAS)と呼ばれるサブスクリプションを構成し得る。RASは、サービスに対する正規サブスクリプションの取得前に、システムが提供するこのサービスへのアクセスを、ユーザに提供し得る。RASがアクセスできるサービスは既にプロビジョニングされていてもよい。クラウドインフラストラクチャシステムは、RASの1つ以上のプールを構成し得る。各RASは、予めプロビジョニングされたサービスに対する再使用可能なサブスクリプションを提供する。サービスがユーザから要求されると、このサービスに対するRASをプールからユーザに割当ててこのサービスにアクセスできるようにしてもよい。   In some embodiments, the cloud infrastructure system may implement technology that allows various users to anonymously reuse the services provisioned by the cloud infrastructure system. The system may configure a subscription called "reusable anonymous subscription" (RAS). The RAS may provide the user with access to this service provided by the system prior to obtaining a qualifying subscription for the service. The services that RAS can access may already be provisioned. The cloud infrastructure system may configure one or more pools of RAS. Each RAS provides reusable subscriptions to pre-provisioned services. When a service is requested by a user, a RAS for this service may be assigned from the pool to the user so that the service can be accessed.

ユーザがRASを正規サブスクリプションに変換しないことに決めた場合、RASを、このRASに対してプロビジョニングしたサービスの再使用のためにプールに戻す。このRASに対してプロビジョニングしたサービスは、RASをプールに戻したときにもプロビジョニングされたままにしておくことで、このサービスに対する新たなリソースのプロビジョニングに要する時間を最短するとともにリソースの使用量を最大にする。RASは、前のユーザがRASを正規サブスクリプションに変換しない場合は別のユーザに再度割当ててもよい。   If the user decides not to convert the RAS to a full subscription, then return the RAS back to the pool for reuse of the services provisioned for this RAS. The service provisioned for this RAS keeps provisioned even when the RAS is returned to the pool, thereby minimizing the time required to provision new resources for this service and maximizing resource usage. Make it The RAS may be reassigned to another user if the previous user does not convert the RAS to a regular subscription.

ユーザがRASを正規サブスクリプションに変換することに決めた場合、RASはプールに戻さなくてよい。RASは、軽量(lightweight)変換プロセスを用いて正規サブスクリプションに変換し得る。RASが提供するサービスは既にプロビジョニングされているので、変換プロセスは軽量でありサービスを再度プロビジョニングする必要はないであろう。変換プロセスは、RASに対して既にプロビジョニングされているサービスの使用の定期サブスクリプションが割当てられたアカウントを確立してもよい。いくつかの実施形態において、RASが提供するサービスの使用中に生成された特定顧客向けデータを、このサービスに関連する特定サービス向けデータから分離してもよい。RASが正規サブスクリプションに変換される場合、特定顧客向けデータを保持しこの正規サブスクリプションに対応付けてもよい。このため、正規サブスクリプションが提供されたユーザは、RASを通したサービスの使用中に作成された既存の特定顧客向けデータを用いてサービスの使用を継続してもよい。   If the user decides to convert the RAS to a regular subscription, the RAS does not have to be returned to the pool. The RAS may be converted to a regular subscription using a lightweight conversion process. Because the services provided by RAS are already provisioned, the conversion process is lightweight and services will not need to be re-provisioned. The conversion process may establish an account assigned a periodic subscription for use of the service already provisioned to the RAS. In some embodiments, customer-specific data generated during use of a service provided by the RAS may be separated from data-specific data associated with the service. When the RAS is converted to a regular subscription, data for a specific customer may be held and associated with the regular subscription. Thus, a user who is provided a legitimate subscription may continue to use the service with existing customer-specific data created during use of the service through RAS.

少なくとも1つの実施形態において、クラウドインフラストラクチャシステムがプロビジョニングした既存のサービスを用いてサービスへのアクセスをユーザに提供する技術が開示される。1つの技術は演算システムによって実現できる方法である。この演算システムはサービスインフラストラクチャシステムに含まれていてもよい。サービスインフラストラクチャシステムは、クラウドインフラストラクチャシステムによって実現し得る。サービスインフラストラクチャシステムは、マルチテナント環境を含み得る。この方法は、複数のサービスをサービスインフラストラクチャシステムに提供することを含み得る。サービスは、Java(登録商標)サービス、顧客関係管理(customer relationship management)(CRM)サービス、または人的資源管理(human capital management)(HCM)サービスを含み得る。これらのサービスのうちの各サービスを特定サービス向けデータに対応付けてもよい。あるサービスに対応する特定サービス向けエータは、このサービスの構成を示していてもよく、この構成は、このサービスを提供するために割当てられた1つ以上のリソースを含み得る。この方法は、複数のサービスをサービスインフラストラクチャシステムに提供することを含み得る。この方法は、サービスインフラストラクチャシステムが提供するサービスへのアクセスの要求を第1の顧客から受けることを含み得る。この方法は、第1の顧客によって要求されたサービスに基づいてサブスクリプションの種類を決定することを含み得る。サブスクリプションの種類は、クローンサブスクリプションまたは再使用可能なサブスクリプションのうちの一方であってもよい。この方法は、サービスにアクセスするためのサブスクリプションを第1の顧客に提供することを含み得る。サブスクリプションは、サブスクリプションの種類に基づいて提供されてもよく、複数のサービスのうちの第1のサービスを用いて提供されてもよい。この方法は、第1の顧客に提供されたサブスクリプションを管理することを含み得る。   In at least one embodiment, techniques for providing access to services to users using existing services provisioned by the cloud infrastructure system are disclosed. One technique is a method that can be implemented by a computing system. This computing system may be included in a service infrastructure system. The service infrastructure system may be realized by a cloud infrastructure system. The service infrastructure system may include a multi-tenant environment. The method may include providing a plurality of services to a service infrastructure system. The services may include Java® services, customer relationship management (CRM) services, or human capital management (HCM) services. Each service of these services may be associated with data for specific service. The application specific service corresponding to a service may indicate the configuration of this service, which may include one or more resources assigned to provide this service. The method may include providing a plurality of services to a service infrastructure system. The method may include receiving from the first customer a request for access to a service provided by the service infrastructure system. The method may include determining a type of subscription based on the service requested by the first customer. The type of subscription may be either a clone subscription or a reusable subscription. The method may include providing the first customer with a subscription to access the service. The subscription may be provided based on the type of subscription, and may be provided using a first of the plurality of services. The method may include managing a subscription provided to the first customer.

いくつかの実施形態において、第1の顧客による要求は、顧客によるサービスの使用の種類を示していてもよく、サブスクリプションの種類は、上記要求によって示される使用の種類に基づいて決定されてもよい。   In some embodiments, the first customer request may indicate the type of use of the service by the customer, and the type of subscription may be determined based on the type of use indicated by the request. Good.

いくつかの実施形態において、サブスクリプションの種類がクローンサブスクリプションであるとき、サブスクリプションを第1の顧客に提供することは、第1のサービスに対する第1のサブスクリプションに基づいて第1のクローンサブスクリプションを確立することを含み、第1のクローンサブスクリプションは、第1の顧客へのサブスクリプションとして提供され、サブスクリプションを第1の顧客に提供することは、一組の規則に基づいて第1のクローンサブスクリプションを第1のサブスクリプションに対応付けることを含む。   In some embodiments, when the type of subscription is a clone subscription, providing the subscription to the first customer is a first clone subscription based on the first subscription to the first service. The first clone subscription is provided as a subscription to the first customer, and providing the subscription to the first customer is based on a set of rules. And C. matching a clone subscription to the first subscription.

いくつかの実施形態において、サブスクリプションの種類がクローンサブスクリプションであるとき、第1のクローンサブスクリプションを第1のサブスクリプションに対応付けることは、第1のクローンサブスクリプションのライフサイクルを第1のサブスクリプションのライフサイクルに対応付けることを含み得る。クローンサブスクリプションは、第2のサービスへのアクセスを提供してもよく、顧客による第2のサービスへのアクセスは、顧客による第1のサービスへのアクセスが終了したときに終了してもよい。サブスクリプションの種類がクローンサブスクリプションであるとき、この方法はさらに、顧客からの要求に基づいて第1のサービスへのアクセスを更新することと、第1のサービスへの更新されたアクセスに基づいて第2のサービスへのアクセスを修正することとを含み得る。   In some embodiments, when the type of subscription is a clone subscription, associating the first clone subscription with the first subscription is a first subscription with the first clone subscription life cycle. May be associated with the life cycle of the The clone subscription may provide access to the second service, and the access to the second service by the customer may end when the access to the first service by the customer is finished. When the type of subscription is a clone subscription, the method further comprises updating access to the first service based on a request from the customer and based on updated access to the first service. And modifying access to the second service.

いくつかの実施形態において、サブスクリプションの種類がクローンサブスクリプションであるとき、第1のクローンサブスクリプションは、第2のサービスへのアクセスを提供してもよく、一組の規則は、第1のサービスのクローンとしての第2のサービスの使用を示していてもよい。一組の規則は、第2のサービスへのアクセスの期間を示していてもよい。一組の規則は、第2のサービスへのアクセスが許可されたユーザの数を示していてもよく、第2のサービスへのアクセスが許可されたユーザの数は、第1のサービスへのアクセスが許可されたユーザの数と異なっていてもよい。一組の規則は第2のサービスのコンフィギュレーションを示していてもよく、第2のサービスのコンフィギュレーションは第1のサービスのコンフィギュレーションと異なっていてもよい。   In some embodiments, when the type of subscription is a clone subscription, the first clone subscription may provide access to a second service, and the set of rules comprises: It may also indicate the use of a second service as a clone of the service. One set of rules may indicate the duration of access to the second service. The set of rules may indicate the number of users authorized to access the second service, the number of users authorized to access the second service being the access to the first service May be different from the number of authorized users. The set of rules may indicate the configuration of the second service, and the configuration of the second service may be different from the configuration of the first service.

いくつかの実施形態において、サブスクリプションの種類がクローンサブスクリプションであるとき、サブスクリプションを管理することは、第1のサービスの変更に応じて、サブスクリプションによる要求されたサービスへのアクセスを決定することを含み得る。要求されたサービスへのアクセスは、一組の規則を用いて決定されてもよい。   In some embodiments, when the type of subscription is a clone subscription, managing the subscription determines access to the requested service by the subscription in response to the change of the first service. Can be included. Access to the requested service may be determined using a set of rules.

いくつかの実施形態において、サブスクリプションの種類が再使用可能なサブスクリプションであるとき、サブスクリプションを第1の顧客に提供することは、サービスインフラストラクチャシステム内のサービスプールにおいて第1のサービスがプロビジョニングされていると判断することと、サービスプールにおいてサブスクリプションに対する第1のサービスがプロビジョニングされていないと判断したときは、サービスプールにおいて第1のサブスクリプションに対する第1のサービスをプロビジョニングすることと、第1のサービスのための第1のサブスクリプションをサービスのためのサブスクリプションとして顧客に割当てることとを含む。第1のサブスクリプションを割当てることは、第1のサービスをサービスプールから顧客に割当てることを含み得る。第1のサービスを顧客に割当てることは、第1のサービスをサービスプールから削除することを含み得る。   In some embodiments, providing the subscription to the first customer when the type of subscription is a reusable subscription is provision of the first service in a service pool in the service infrastructure system. Provisioning the first service for the first subscription in the service pool, and determining that the first service for the subscription is not provisioned in the service pool, and Assigning a first subscription for the one service to the customer as a subscription for the service. Assigning a first subscription may include assigning a first service from a service pool to a customer. Assigning the first service to the customer may include removing the first service from the service pool.

いくつかの実施形態において、サブスクリプションの種類が再使用可能なサブスクリプションであるとき、この方法は、特定顧客向けデータを、第1のサービスに対応する特定サービス向けデータに対応付けることを含み得る。第1の顧客に対応付けられた特定顧客向けデータは、顧客による第1のサービスの使用に関連するデータを含み得る。サブスクリプションの種類が再使用可能なサブスクリプションであるとき、サービスにアクセスするためのサブスクリプションを管理することは、サブスクリプションが終了したときに第1のサービスをサービスプールに割当てることを含み得る。第1のサービスを割当てることは、特定顧客向けデータと、第1のサービスに対応する特定サービス向けデータとの対応関係を解除することを含み得る。第1のサービスは、サービスプールから1以上の他の顧客に再度割当てることが可能であってもよい。いくつかの実施形態において、サブスクリプションの種類が再使用可能なサブスクリプションであるとき、この方法は、複数のサービスのうちの第2のサービスへのアクセスの、第2の顧客による要求を受けることと、第2のサービスが第1のサービスに類似しているという判断に基づいて、サービスプールにおいて第2のサービスが利用可能であると判断することと、サービスプール内の第1のサブスクリプションを第2の顧客に割当てることとを含み、第1のサブスクリプションを第2の顧客に割当てることは、第1のサブスクリプションをサービスプールから削除することを含み、上記方法はさらに、第2の顧客に対応する特定顧客向けデータを、第1のサービスに対応する特定サービス向けデータに対応付けることを含む。   In some embodiments, when the type of subscription is a reusable subscription, the method may include associating customer-specific data with service-specific data corresponding to the first service. Specific-customer data associated with the first customer may include data related to the use of the first service by the customer. When the type of subscription is a reusable subscription, managing the subscription to access the service may include assigning a first service to the service pool when the subscription is terminated. Assigning the first service may include releasing the correspondence between the data for specific customer and the data for specific service corresponding to the first service. The first service may be able to be reassigned from the service pool to one or more other customers. In some embodiments, when the type of subscription is a reusable subscription, the method receives a request by a second customer for access to a second service of the plurality of services. Determining that the second service is available in the service pool based on determining that the second service is similar to the first service, and determining the first subscription in the service pool. Assigning a first subscription to a second customer, including assigning to a second customer, includes removing the first subscription from the service pool, and the method further comprises: And associating the data for specific customer corresponding to the data for specific service corresponding to the first service.

いくつかの実施形態において、サービスを提供することは、第1の顧客による要求を受ける前に、クラウドインフラストラクチャシステムにおいてサービスをプロビジョニングすることを含み得る。サービスは、サービスに対する需要に対応付けられた1つ以上のメトリックに基づいてプロビジョニングしてもよい。サービスは、サービスの種類に対応付けられた1つ以上のメトリックに基づいてプロビジョニングしてもよい。   In some embodiments, providing the service may include provisioning the service in the cloud infrastructure system prior to receiving a request from the first customer. Services may be provisioned based on one or more metrics associated with the demand for services. Services may be provisioned based on one or more metrics associated with the type of service.

少なくとも1つの実施形態において、クラウドインフラストラクチャシステムによってプロビジョニングされた既存のサービスを用いてサービスへのアクセスをユーザに提供するための技術が開示される。ある技術は、少なくとも1つのプロセッサとこの少なくとも1つのプロセッサに対して機能的に結合されたメモリとを含むシステムである。このシステムはサービスインフラストラクチャシステムに含まれていてもよい。このサービスインフラストラクチャシステムはマルチテナント環境を含み得る。メモリはコンピュータコードを格納していてもよい。コンピュータコードは、システムの上記少なくとも1つのプロセッサによって、複数のサービスをサービスインフラストラクチャシステムに提供するために実行されてもよい。サービスは、Java(登録商標)サービス、顧客関係管理(CRM)サービス、または人的資源管理(HCM)サービスを含み得る。これらのサービスのうちの各サービスは特定サービス向けデータに対応付けてもよい。サービスに対応する特定サービス向けデータは、サービスについてのコンフィギュレーションを示していてもよく、コンフィギュレーションは、サービスを提供するために割当てられた1つ以上のリソースを含み得る。   In at least one embodiment, techniques are disclosed for providing access to services to users using existing services provisioned by the cloud infrastructure system. One technique is a system that includes at least one processor and a memory operatively coupled to the at least one processor. This system may be included in a service infrastructure system. The service infrastructure system may include a multi-tenant environment. The memory may store computer code. Computer code may be executed by the at least one processor of the system to provide a plurality of services to a service infrastructure system. The services may include Java services, customer relationship management (CRM) services, or human resource management (HCM) services. Each service of these services may be associated with data for a specific service. The service-specific data corresponding to the service may indicate a configuration for the service, and the configuration may include one or more resources assigned to provide the service.

上記少なくとも1つのプロセッサは、メモリに格納されたコンピュータコードを実行することにより、サービスインフラストラクチャシステムによって提供されるサービスへのアクセスの、第1の顧客による要求を受ける。上記少なくとも1つのプロセッサは、メモリに格納されたコンピュータコードを実行することにより、第1の顧客が要求するサービスに基づいてサブスクリプションの種類を決定する。サブスクリプションの種類は、クローンサブスクリプションまたは再使用可能なサブスクリプションのうちの一方であってもよい。少なくとも1つのプロセッサは、メモリに格納されたコンピュータコードを実行することにより、サービスにアクセスするためのサブスクリプションを第1の顧客に提供する。サブスクリプションは、サブスクリプションの種類に基づいて提供されてもよく、複数のサービスのうちの第1のサービスを用いて提供されてもよい。上記少なくとも1つのプロセッサは、メモリに格納されたコンピュータコードを実行することにより、第1の顧客に提供されるサブスクリプションを管理する。   The at least one processor receives a request by a first customer for access to services provided by the service infrastructure system by executing computer code stored in memory. The at least one processor executes the computer code stored in the memory to determine the type of subscription based on the service requested by the first customer. The type of subscription may be either a clone subscription or a reusable subscription. The at least one processor executes the computer code stored in the memory to provide the first customer with a subscription for accessing the service. The subscription may be provided based on the type of subscription, and may be provided using a first of the plurality of services. The at least one processor manages subscriptions provided to a first customer by executing computer code stored in a memory.

いくつかの実施形態において、第1の顧客による要求は、顧客によるサービスの使用の種類を示していてもよく、サブスクリプションの種類を、上記要求が示す使用の種類に基づいて決定してもよい。   In some embodiments, the first customer request may indicate the type of use of the service by the customer, and the type of subscription may be determined based on the type of use indicated by the request. .

いくつかの実施形態において、サブスクリプションの種類がクローンサブスクリプションであるとき、サブスクリプションを第1の顧客に提供することは、第1のサービスに対する第1のサブスクリプションに基づいて第1のクローンサブスクリプションを確立することを含み、第1のクローンサブスクリプションは第1の顧客に対するサブスクリプションとして提供され、サブスクリプションを第1の顧客に提供することは、一組の規則に基づいて第1のクローンサブスクリプションを第1のサブスクリプションに対応付けることを含む。   In some embodiments, when the type of subscription is a clone subscription, providing the subscription to the first customer is a first clone subscription based on the first subscription to the first service. Providing the first clone subscription as a subscription to the first customer, and providing the subscription to the first customer is a first clone based on a set of rules. Including associating the subscription with a first subscription.

いくつかの実施形態において、サブスクリプションの種類がクローンサブスクリプションであるとき、第1のクローンサブスクリプションを第1のサブスクリプションに対応付けることは、第1のクローンサブスクリプションのライフサイクルを第1のサブスクリプションのライフサイクルに対応付けることを含み得る。クローンサブスクリプションは第2のサービスへのアクセスを提供してもよく、第2のサービスへの顧客によるアクセスは、第1のサービスへの顧客によるアクセスが終了したときに終了してもよい。サブスクリプションの種類がクローンサブスクリプションであるとき、上記少なくとも1つのプロセッサは、メモリに格納されているコンピュータコードを実行することにより、顧客からの要求に基づいて第1のサービスへのアクセスを更新し、更新された第1のサービスへのアクセスに基づいて第2のサービスへのアクセスを修正する。   In some embodiments, when the type of subscription is a clone subscription, associating the first clone subscription with the first subscription is a first subscription with the first clone subscription life cycle. May be associated with the life cycle of the The clone subscription may provide access to the second service, and the customer's access to the second service may end when the customer's access to the first service is finished. When the type of subscription is a clone subscription, the at least one processor updates the access to the first service based on the request from the customer by executing computer code stored in the memory. , Modify access to the second service based on access to the updated first service.

いくつかの実施形態において、サブスクリプションの種類がクローンサブスクリプションであるとき、第1のクローンサブスクリプションは第2のサービスへのアクセスを提供してもよく、一組の規則は、第2のサービスを第1のサービスのクローンとして使用することを示していてもよい。一組の規則は、第2のサービスへのアクセスの期間を示していてもよい。一組の規則は、第2のサービスへのアクセスが許可されたユーザの数を示していてもよく、第2のサービスへのアクセスが許可されたユーザの数は、第1のサービスへのアクセスが許可されたユーザの数と異なっていてもよい。一組の規則は第2のサービスのコンフィギュレーションを示していてもよく、第2のサービスのコンフィギュレーションは第1のサービスのコンフィギュレーションと異なっていてもよい。   In some embodiments, when the type of subscription is a clone subscription, the first clone subscription may provide access to a second service, and the set of rules comprises a second service May be shown to be used as a clone of the first service. One set of rules may indicate the duration of access to the second service. The set of rules may indicate the number of users authorized to access the second service, the number of users authorized to access the second service being the access to the first service May be different from the number of authorized users. The set of rules may indicate the configuration of the second service, and the configuration of the second service may be different from the configuration of the first service.

いくつかの実施形態において、サブスクリプションの種類がクローンサブスクリプションであるとき、サブスクリプションを管理することは、第1のサービスの変更に応じて、サブスクリプションによる要求されたサービスへのアクセスを決定することを含み得る。要求されたサービスへのアクセスは一組の規則を用いて決定してもよい。   In some embodiments, when the type of subscription is a clone subscription, managing the subscription determines access to the requested service by the subscription in response to the change of the first service. Can be included. Access to the requested service may be determined using a set of rules.

いくつかの実施形態において、サブスクリプションの種類が再使用可能なサブスクリプションであるとき、サブスクリプションを第1の顧客に提供することは、サービスインフラストラクチャシステム内のサービスプールにおいて第1のサービスがプロビジョニングされていると判断することと、サブスクリプションに対する第1のサービスがサービスプールにおいてプロビジョニングされていないと判断したときに第1のサブスクリプションに対する第1のサービスをサービスプールにおいてプロビジョニングすることと、第1のサービスに対する第1のサブスクリプションを、サービスのサブスクリプションとして顧客に割当てることとを含む。第1のサブスクリプションを割当てることは、第1のサービスをサービスプールから顧客に割当てることを含み得る。第1のサービスを顧客に割当てることは、第1のサービスをサービスプールから削除することを含み得る。   In some embodiments, providing the subscription to the first customer when the type of subscription is a reusable subscription is provision of the first service in a service pool in the service infrastructure system. Determining that the first service for the subscription has not been provisioned in the service pool, provisioning the first service for the first subscription in the service pool, and Assigning a first subscription to the service of the customer to the customer as a subscription to the service. Assigning a first subscription may include assigning a first service from a service pool to a customer. Assigning the first service to the customer may include removing the first service from the service pool.

いくつかの実施形態において、サブスクリプションの種類が再使用可能なサブスクリプションであるとき、上記少なくとも1つのプロセッサは、メモリに格納されているコンピュータコードを実行することにより、特定顧客向けデータを、第1のサービスに対応する特定サービス向けデータに対応付ける。特定顧客向けデータは、第1のサービスの顧客に対応付けられる。第1の顧客に対応付けられた特定顧客向けデータは、顧客による第1のサービスの使用に関連するデータを含み得る。サブスクリプションの種類が再使用可能なサブスクリプションであるとき、サービスにアクセスするためのサブスクリプションを管理することは、サブスクリプションが終了したときに第1のサービスを顧客からサービスプールに割当てることを含み得る。第1のサービスを割当てることは、特定顧客向けデータと、第1のサービスに対応する特定サービス向けデータとの対応関係を解除することを含み得る。第1のサービスは、サービスプールから1つ以上の他の顧客に再度割当てることが可能であってもよい。いくつかの実施形態において、サブスクリプションの種類が再使用可能なサブスクリプションであるとき、上記少なくとも1つのプロセッサは、メモリに格納されているコンピュータコードを実行することにより、複数のサービスのうちの第2のサービスへのアクセスの、第2の顧客による要求を受け、第2のサービスが第1のサービスに類似しているという判断に基づいて、サービスプールにおいて第2のサービスが利用可能であると判断し、第2のプール内の第2のサブスクリプションを第2の顧客に割当て、第1のサブスクリプションを第2の顧客に割当てることは、第1のサブスクリプションをサービスプールから削除することを含み、第2の顧客に対応する特定顧客向けデータを、第1のサービスに対応する特定サービス向けデータに対応付ける。   In some embodiments, when the type of subscription is a reusable subscription, the at least one processor executes customer-specific data by executing computer code stored in memory, Correspond to the data for specific service corresponding to the service of 1. The data for specific customer is associated with the customer of the first service. Specific-customer data associated with the first customer may include data related to the use of the first service by the customer. When the type of subscription is a reusable subscription, managing the subscription to access the service includes assigning the first service from the customer to the service pool when the subscription is terminated obtain. Assigning the first service may include releasing the correspondence between the data for specific customer and the data for specific service corresponding to the first service. The first service may be able to be reassigned from the service pool to one or more other customers. In some embodiments, when the type of subscription is a reusable subscription, the at least one processor executes a computer code stored in the memory to execute a third of the plurality of services. A second service is available in the service pool based on the determination by the second customer of access to the two services that the second service is similar to the first service Determining, assigning a second subscription in the second pool to a second customer, and assigning a first subscription to a second customer, removing the first subscription from the service pool Data for specific customer corresponding to the second customer, and data for specific service corresponding to the first service. Associate with.

いくつかの実施形態において、サービスを提供することは、第1の顧客による要求を受ける前に、サービスをクラウドインフラストラクチャシステムにおいてプロビジョニングすることを含み得る。サービスは、サービスインフラストラクチャシステムの動作に対応付けられた1つ以上のメトリックに基づいてプロビジョニングしてもよい。サービスを提供することは、第1の顧客による要求を受ける前に、サービスをプロビジョニングすることを含み得る。サービスは、サービスに対する需要に対応付けられた1つ以上のメトリックに基づいてプロビジョニングしてもよい。   In some embodiments, providing the service may include provisioning the service in the cloud infrastructure system prior to receiving a request from the first customer. Services may be provisioned based on one or more metrics associated with the operation of the service infrastructure system. Providing the service may include provisioning the service prior to receiving a request from the first customer. Services may be provisioned based on one or more metrics associated with the demand for services.

少なくとも1つの実施形態において、クラウドインフラストラクチャシステムによってプロビジョニングされた既存のサービスを用いてサービスへのアクセスをユーザに提供するための技術が開示される。ある技術は、コンピュータシステムのプロセッサによって実行可能な命令を格納する非一時的なコンピュータ読取可能な媒体である。この非一時的なコンピュータ読取可能な媒体は、サービスインフラストラクチャシステムに含まれていてもよい。サービスインフラストラクチャシステムはマルチテナント環境を含み得る。非一時的なコンピュータ読取可能な媒体に格納されている命令は、サービスインフラストラクチャシステムに複数のサービスを提供するためにプロセッサによって実行可能である。サービスは、Java(登録商標)サービス、顧客関係管理(CRM)サービス、または人的資源管理(HCM)サービスを含み得る。これらのサービスのうちの各サービスは特定サービス向けデータに対応付けられてもよい。サービスに対応する特定サービス向けデータは、サービスについてのコンフィギュレーションを示していてもよく、コンフィギュレーションは、サービスを提供するために割当てられた1つ以上のリソースを含み得る。   In at least one embodiment, techniques are disclosed for providing access to services to users using existing services provisioned by the cloud infrastructure system. One technology is a non-transitory computer readable medium that stores instructions executable by a processor of a computer system. This non-transitory computer readable medium may be included in a service infrastructure system. The service infrastructure system may include a multi-tenant environment. The instructions stored on the non-transitory computer readable medium are executable by the processor to provide the plurality of services to the service infrastructure system. The services may include Java services, customer relationship management (CRM) services, or human resource management (HCM) services. Each service of these services may be associated with data for a specific service. The service-specific data corresponding to the service may indicate a configuration for the service, and the configuration may include one or more resources assigned to provide the service.

非一時的なコンピュータ読取可能な媒体が格納する命令を、プロセッサが実行することにより、サービスインフラストラクチャシステムが提供するサービスへのアクセスの、第1の顧客による要求を受けることができる。非一時的なコンピュータ読取可能な媒体が格納する命令を、プロセッサが実行することにより、第1の顧客が要求するサービスに基づいてサブスクリプションの種類を決定することができる。サブスクリプションの種類は、クローンサブスクリプションまたは再使用可能なサブスクリプションのうちのいずれか一方であってもよい。非一時的なコンピュータ読取可能な媒体が格納する命令を、プロセッサが実行することにより、サービスにアクセスするためのサブスクリプションを第1の顧客に提供することができる。サブスクリプションはサブスクリプションの種類に基づいて提供してもよく、複数のサービスのうちの第1のサービスを用いて提供してもよい。非一時的なコンピュータ読取可能な媒体が格納する命令を、プロセッサが実行することにより、第1の顧客に提供されるサブスクリプションを管理してもよい。   The processor may execute instructions stored in the non-transitory computer readable medium to receive a request by a first customer for access to a service provided by the service infrastructure system. The processor executes the instructions stored in the non-transitory computer readable medium to determine the type of subscription based on the service requested by the first customer. The type of subscription may be either a clone subscription or a reusable subscription. The processor may execute the instructions stored by the non-transitory computer readable medium to provide the first customer with a subscription for accessing the service. The subscription may be provided based on the type of subscription, or may be provided using a first of a plurality of services. The processor may execute instructions stored in the non-transitory computer readable medium to manage the subscription provided to the first customer.

いくつかの実施形態において、第1の顧客による要求は、顧客によるサービスの使用の種類を示していてもよく、サブスクリプションの種類は、要求が示す使用の種類に基づいて判断してもよい。   In some embodiments, the first customer request may indicate the type of usage of the service by the customer, and the type of subscription may be determined based on the type of usage indicated by the request.

いくつかの実施形態において、サブスクリプションの種類がクローンサブスクリプションであるとき、サブスクリプションを第1の顧客に提供することは、第1のサービスに対する第1のサブスクリプションに基づいて第1のクローンサブスクリプションを確立することを含み、第1のクローンサブスクリプションは、第1の顧客に対するサブスクリプションとして提供され、サブスクリプションを第1の顧客に提供することは、一組の規則に基づいて第1のクローンサブスクリプションを第1のサブスクリプションに対応付けることを含む。   In some embodiments, when the type of subscription is a clone subscription, providing the subscription to the first customer is a first clone subscription based on the first subscription to the first service. The first clone subscription is provided as a subscription to the first customer, and providing the subscription to the first customer is performed based on the set of rules. Including associating the clone subscription with the first subscription.

いくつかの実施形態において、サブスクリプションの種類がクローンサブスクリプションであるとき、第1のクローンサブスクリプションを第1のサブスクリプションに対応付けることは、第1のクローンサブスクリプションのライフサイクルを第1のサブスクリプションのライフサイクルに対応付けることを含み得る。クローンサブスクリプションは第2のサービスへのアクセスを提供してもよく、第2のサービスへの顧客によるアクセスは、第1のサービスへの顧客によるアクセスが終了したときに終了してもよい。サブスクリプションの種類がクローンサブスクリプションであるとき、非一時的なコンピュータ読取可能な媒体が格納する命令をプロセッサが実行することにより、顧客からの要求に基づいて第1のサービスへのアクセスを更新し、更新された第1のサービスへのアクセスに基づいて第2のサービスへのアクセスを修正する。   In some embodiments, when the type of subscription is a clone subscription, associating the first clone subscription with the first subscription is a first subscription with the first clone subscription life cycle. May be associated with the life cycle of the The clone subscription may provide access to the second service, and the customer's access to the second service may end when the customer's access to the first service is finished. When the type of subscription is a clone subscription, the processor executes instructions stored in the non-transitory computer readable medium to update the access to the first service based on the request from the customer. , Modify access to the second service based on access to the updated first service.

いくつかの実施形態において、サブスクリプションの種類がクローンサブスクリプションであるとき、第1のクローンサブスクリプションは第2のサービスへのアクセスを提供してもよく、一組の規則は、第2のサービスを第1のサービスのクローンとして使用することを示していてもよい。一組の規則は、第2のサービスへのアクセスの期間を示していてもよい。一組の規則は、第2のサービスへのアクセスが許可されたユーザの数を示していてもよく、第2のサービスへのアクセスが許可されたユーザの数は、第1のサービスへのアクセスが許可されたユーザの数と異なっていてもよい。一組の規則は第2のサービスのコンフィギュレーションを示していてもよく、第2のサービスのコンフィギュレーションは第1のサービスのコンフィギュレーションと異なっていてもよい。   In some embodiments, when the type of subscription is a clone subscription, the first clone subscription may provide access to a second service, and the set of rules comprises a second service May be shown to be used as a clone of the first service. One set of rules may indicate the duration of access to the second service. The set of rules may indicate the number of users authorized to access the second service, the number of users authorized to access the second service being the access to the first service May be different from the number of authorized users. The set of rules may indicate the configuration of the second service, and the configuration of the second service may be different from the configuration of the first service.

いくつかの実施形態において、サブスクリプションの種類がクローンサブスクリプションであるとき、サブスクリプションを管理することは、第1のサービスの変更に応じて、サブスクリプションによる要求されたサービスへのアクセスを決定することを含み得る。要求されたサービスへのアクセスは、一組の規則を用いて決定してもよい。   In some embodiments, when the type of subscription is a clone subscription, managing the subscription determines access to the requested service by the subscription in response to the change of the first service. Can be included. Access to the requested service may be determined using a set of rules.

いくつかの実施形態において、サブスクリプションの種類が再使用可能なサブスクリプションであるとき、サブスクリプションを第1の顧客に提供することは、サービスインフラストラクチャシステム内のサービスプールにおいて第1のサービスがプロビジョニングされていると判断することと、サブスクリプションに対する第1のサービスがサービスプールにおいてプロビジョニングされていないと判断したときに、第1のサブスクリプションに対する第1のサービスをサービスプールにおいてプロビジョニングすることと、第1のサービスに対する第1のサブスクリプションを、サービスのサブスクリプションとして顧客に割当てることとを含む。第1のサブスクリプションを割当てることは、第1のサービスをサービスプールから顧客に割当てることを含み得る。第1のサービスを顧客に割当てることは、第1のサービスをサービスプールから削除することを含み得る。   In some embodiments, providing the subscription to the first customer when the type of subscription is a reusable subscription is provision of the first service in a service pool in the service infrastructure system. Determining that the first service for the subscription has not been provisioned in the service pool, provisioning the first service for the first subscription in the service pool, and Assigning a first subscription to a service to the customer as a subscription to the service. Assigning a first subscription may include assigning a first service from a service pool to a customer. Assigning the first service to the customer may include removing the first service from the service pool.

いくつかの実施形態において、サブスクリプションの種類が再使用可能なサブスクリプションであるとき、非一時的なコンピュータ読取可能な媒体が格納する命令をプロセッサが実行することにより、特定顧客向けデータを、第1のサービスに対応する特定サービス向けデータに対応付ける。特定顧客向けデータは第1のサービスの顧客に対応付けられる。第1の顧客に対応付けられた特定顧客向けデータは、顧客による第1のサービスの使用に関連するデータを含み得る。サブスクリプションの種類が再使用可能なサブスクリプションであるとき、サービスにアクセスするためのサブスクリプションを管理することは、サブスクリプションが終了したときに第1のサービスを顧客からサービスプールに割当てることを含み得る。第1のサービスを割当てることは、特定顧客向けデータと、第1のサービスに対応する特定サービス向けデータとの対応関係を解除することを含み得る。第1のサービスは、サービスプールから1つ以上の他の顧客に再度割当てることが可能であってもよい。いくつかの実施形態において、サブスクリプションの種類が再使用可能なサブスクリプションであるとき、非一時的なコンピュータ読取可能な媒体が格納する命令をプロセッサが実行することにより、複数のサービスのうちの第2のサービスへのアクセスの、第2の顧客による要求を受け、第2のサービスが第1のサービスに類似しているという判断に基づいて、サービスプールにおいて第2のサービスが利用可能であると判断し、第2のプールにおける第2のサブスクリプションを第2の顧客に割当て、第1のサブスクリプションを第2の顧客に割当てることは、第1のサブスクリプションをサービスプールから削除することを含み、第2の顧客に対応する特定顧客向けデータを、第1のサービスに対応する特定サービス向けデータに対応付ける。   In some embodiments, when the type of subscription is a reusable subscription, the processor executes instructions stored in the non-transitory computer readable medium to store customer specific data, Correspond to the data for specific service corresponding to the service of 1. The data for specific customer is associated with the customer of the first service. Specific-customer data associated with the first customer may include data related to the use of the first service by the customer. When the type of subscription is a reusable subscription, managing the subscription to access the service includes assigning the first service from the customer to the service pool when the subscription is terminated obtain. Assigning the first service may include releasing the correspondence between the data for specific customer and the data for specific service corresponding to the first service. The first service may be able to be reassigned from the service pool to one or more other customers. In some embodiments, when the type of subscription is a reusable subscription, the processor executes instructions stored in the non-transitory computer readable medium to cause the first of the plurality of services to be executed. A second service is available in the service pool based on the determination by the second customer of access to the two services that the second service is similar to the first service Determining and assigning a second subscription in the second pool to the second customer and assigning the first subscription to the second customer includes deleting the first subscription from the service pool , Corresponding to the data for specific service corresponding to the first service, the data for specific customer corresponding to the second customer Kick.

いくつかの実施形態において、サービスを提供することは、第1の顧客による要求を受ける前に、クラウドインフラストラクチャシステムにおいてサービスをプロビジョニングすることを含み得る。サービスは、サービスインフラストラクチャシステムの動作に対応付けられた1つ以上のメトリックに基づいてプロビジョニングしてもよい。サービスを提供することは、第1の顧客による要求を受ける前に、サービスをプロビジョニングすることを含み得る。サービスは、サービスに対する需要に対応付けられた1つ以上のメトリックに基づいてプロビジョニングしてもよい。   In some embodiments, providing the service may include provisioning the service in the cloud infrastructure system prior to receiving a request from the first customer. Services may be provisioned based on one or more metrics associated with the operation of the service infrastructure system. Providing the service may include provisioning the service prior to receiving a request from the first customer. Services may be provisioned based on one or more metrics associated with the demand for services.

さらに他の実施形態は、動作を実行するための命令および/またはコードを使用または格納して本明細書に記載の技術を実現する、システムおよびマシン読取可能な有形の記憶媒体に関する。   Still other embodiments relate to system and machine readable tangible storage media that use or store instructions and / or code to perform the operations to implement the techniques described herein.

上記概要は、クレームされている主題の重要または本質的な特徴を特定することを意図したものでも、クレームされている主題の範囲を求めるために単独で使用されることが意図されたものでもない。主題は、この特許の明細書全体、図面のうちのいずれかまたはすべての図面、および各請求項の内の適切な部分を参照することで理解されるはずである。   The above summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used solely to determine the scope of the claimed subject matter . The subject matter should be understood with reference to the entire specification of this patent, any or all of the drawings, and appropriate parts of each of the claims.

以下の詳細な説明と添付の図面により、本発明の性質と利点がより十分に理解されるであろう。   A more complete understanding of the nature and advantages of the present invention will be obtained by the following detailed description and the accompanying drawings.

本発明を説明するための実施形態を、添付の図面を参照しながら以下で詳細に説明する。   Embodiments for explaining the present invention will be described in detail below with reference to the attached drawings.

本発明の一実施形態に従うクラウドインフラストラクチャシステムの論理図である。FIG. 1 is a logic diagram of a cloud infrastructure system in accordance with an embodiment of the present invention. 本発明の実施形態に従うクラウドインフラストラクチャシステムを実現するために使用し得るハードウェア/ソフトウェアスタックの簡略化したブロック図である。FIG. 2 is a simplified block diagram of a hardware / software stack that may be used to implement a cloud infrastructure system in accordance with an embodiment of the present invention. 図1Aに示すクラウドインフラストラクチャシステムを実現するためのシステム環境の簡略化したブロック図である。FIG. 2 is a simplified block diagram of a system environment for implementing the cloud infrastructure system shown in FIG. 1A. 本発明の実施形態に従うクラウドインフラストラクチャシステムにおけるTASモジュールが実行し得る処理を示す簡略化したフローチャート300を示す。FIG. 6 shows a simplified flowchart 300 illustrating the processing that a TAS module may perform in a cloud infrastructure system in accordance with an embodiment of the present invention. 本発明の実施形態に従うクラウドインフラストラクチャシステムにおけるTASモジュール内の1つ以上のサブモジュールの簡略化した高レベルの図を示す。FIG. 6 shows a simplified high level diagram of one or more sub-modules in a TAS module in a cloud infrastructure system in accordance with an embodiment of the present invention. 本発明の実施形態に従うTASコンポーネントの典型的な分散デプロイメントを示す。1 illustrates an exemplary distributed deployment of TAS components in accordance with an embodiment of the present invention. 本発明の実施形態に従うクラウドインフラストラクチャシステムにおけるSDIモジュールと1つ以上のモジュールとのインタラクションを説明する簡略化したブロック図である。FIG. 5 is a simplified block diagram illustrating the interaction of an SDI module with one or more modules in a cloud infrastructure system in accordance with an embodiment of the present invention. 本発明の実施形態に従うSDIモジュールのサブモジュールの簡略化した高レベルの図を示す。FIG. 5 shows a simplified high level view of sub modules of an SDI module according to an embodiment of the present invention. 本発明の実施形態に従うクラウドインフラストラクチャシステムにおけるSDIコンポーネントが実行し得る処理を示す簡略化したフローチャートを示す。Fig. 6 shows a simplified flow chart illustrating the processing that an SDI component may perform in a cloud infrastructure system according to an embodiment of the present invention. 本発明の実施形態に従うNuviaqシステム710の高レベルアーキテクチャと、このシステムと他のクラウドインフラストラクチャコンポーネントとの関係とを示す簡略化したブロック図を示す。FIG. 10 shows a simplified block diagram illustrating the high level architecture of Nuviaq system 710 and the relationship of this system to other cloud infrastructure components in accordance with an embodiment of the present invention. 本発明の実施形態に従うNuviaqシステムを用いるプロビジョニングプロセスのステップを説明する代表的なシーケンス図を示す。FIG. 6 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. 6 shows an exemplary sequence diagram illustrating the steps of a deployment process using the Nuviaq system according to an embodiment of the present invention. 本発明の実施形態に従うデータベースサービスのためにプロビジョニングされたデータベースインスタンスの一例を示す。Fig. 6 shows an example of a database instance provisioned for a database service according to an embodiment of the present invention. 本発明のいくつかの実施形態に従う再使用可能な匿名サブスクリプションを提供するためのシステム環境の簡略化したブロック図を示す。FIG. 1 shows a simplified block diagram of a system environment for providing reusable anonymous subscriptions in accordance with some embodiments of the present invention. 本発明のいくつかの実施形態に従う再使用可能な匿名サブスクリプションを実現するためのデータ構造の一例を示す。7 illustrates an example data structure for implementing reusable anonymous subscriptions in accordance with some embodiments of the present invention. さまざまな実施形態に従う再使用可能な匿名サブスクリプションのライフサイクルを管理するためのプロセスのフローチャートである。7 is a flowchart of a process for managing the life cycle of reusable anonymous subscriptions in accordance with various embodiments. 本発明のいくつかの実施形態に従うクローンサブスクリプションを提供するためのシステム環境の簡略化したブロック図を示す。FIG. 1 shows a simplified block diagram of a system environment for providing clone subscriptions in accordance with some embodiments of the present invention. 本発明のいくつかの実施形態に従うサブスクリプションのデータ構造の一例を示す。7 illustrates an example of a subscription data structure in accordance with some embodiments of the present invention. さまざまな実施形態に従うクローンサブスクリプションを管理するための典型的な規則を示す。7 illustrates exemplary rules for managing clone subscriptions in accordance with various embodiments. さまざまな実施形態に従うクローンサブスクリプションのライフサイクルを管理するためのプロセスのフローチャートである。5 is a flowchart of a process for managing the life cycle of a clone subscription in accordance with various embodiments. さまざまな実施形態に従うサブスクリプションのクローニングのためのプロセスのフローチャートである。7 is a flowchart of a process for cloning a subscription in accordance with various embodiments. さまざまな実施形態に従う既存のサブスクリプションを用いてサービスのためのサブスクリプションを提供するためのプロセスのフローチャートである。7 is a flowchart of a process for providing a subscription for a service using existing subscriptions in accordance with various embodiments. 本発明の実施形態に従うテナント環境の提供に関わるさまざまなインタラクションの高レベルの全体像を示す。FIG. 5 illustrates a high level overview of various interactions involved in providing a tenant environment in accordance with an embodiment of the present invention. ある実施形態を実現するための分散システムの簡略化した図を示す。FIG. 1 shows a simplified diagram of a distributed system for implementing an embodiment. 本発明のある実施形態を実現するために使用し得る典型的なコンピュータシステムを示す。1 illustrates a typical computer system that may be used to implement an embodiment of the present invention. 本発明のある実施形態を実現するために使用し得る典型的なサービスインフラストラクチャシステムを示す。1 illustrates an exemplary service infrastructure system that may be used to implement certain embodiments of the present invention.

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

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

はじめに
特定の実施形態において、クラウドインフラストラクチャシステムは、セルフサービスで、サブスクリプションベースで、柔軟にスケーラブルで、確実で、可用性が高く、かつ安全なやり方で、顧客に与えられる、一組のアプリケーション、ミドルウェアおよびデータベースサービス提供物を含み得る。このようなクラウドインフラストラクチャシステムの一例が、本願の譲受人が提供するオラクルパブリッククラウド(Oracle Public Cloud)である。
Introduction In a specific embodiment, the cloud infrastructure system is a set of applications that are provided to customers in a self-service, subscription-based, flexible, scalable, secure, highly available, and secure manner. It may include middleware and database service offerings. An example of such a cloud infrastructure system is the Oracle Public Cloud provided by the assignee of the present application.

クラウドインフラストラクチャシステムは、クラウドインフラストラクチャシステム内のサービスおよびリソースの、顧客のサブスクリプションを、プロビジョニングし管理し追跡すること、クラウドインフラストラクチャシステム内のサービスを利用する顧客に予測可能な事業費用を提供すること、クラウドインフラストラクチャシステム内の顧客のデータのロバストアイデンティティドメイン分離および保護を提供すること、クラウドインフラストラクチャシステムの設計のトランスペアレントなアーキテクチャおよび制御を顧客に提供すること、確かなデータ保護とデータプライバシー基準および規定の順守を顧客に提供すること、クラウドインフラストラクチャシステムにおけるサービスの構築およびデプロイのための統合開発経験を顧客に提供すること、ならびにクラウドインフラストラクチャシステムにおけるビジネスソフトウェア、ミドルウェア、データベースおよびインフラストラクチャサービス間のシームレスな統合を顧客に提供することを含むがこれらに限定されるものではない多数の機能を提供し得る。   Cloud infrastructure systems provision, manage and track customer subscriptions of services and resources within the cloud infrastructure system, and provide predictable business costs to customers utilizing services within the cloud infrastructure system Providing robust identity domain separation and protection of customer data within the cloud infrastructure system, providing the customer with transparent architecture and control of the cloud infrastructure system design, reliable data protection and data privacy Providing customers with compliance with standards and regulations, integrated development experience for building and deploying services in cloud infrastructure systems Providing a large number of functions including, but not limited to, providing customers, and providing customers seamless integration between business software, middleware, databases and infrastructure services in cloud infrastructure systems obtain.

特定の実施形態において、クラウドインフラストラクチャシステムが提供するサービスは、クラウドインフラストラクチャシステムのユーザがオンデマンドで利用できるようにされる多数のサービスを含み得る。これらのサービスは、オンラインデータ記憶およびバックアップソリューション、ウェブベースの電子メールサービス、ホストされているオフィスソフトウェアパッケージおよび文書コラボレーションサービス、データベース処理、管理された技術サポートサービス等である。クラウドインフラストラクチャシステムが提供するサービスは、そのユーザのニーズを満たすよう動的に調整できる。クラウドインフラストラクチャシステムが提供するサービスを具体化したものを、本明細書ではサービスインスタンスと呼ぶ。一般的に、クラウドサービスプロバイダのシステムからインターネット等の通信ネットワークを介してユーザが利用できるようにされるサービスは、クラウドサービスと呼ばれる。典型的には、パブリッククラウド環境において、クラウドサービスプロバイダのシステムを構成するサーバおよびシステムは、顧客自身の構内サーバおよびシステムとは異なる。たとえば、クラウドサービスプロバイダのシステムはアプリケーションをホストしている場合があり、ユーザはインターネット等の通信ネットワークを介してオンデマンドでアプリケーションをオーダーおよび使用することができる。   In particular embodiments, the services provided by the cloud infrastructure system may include a number of services that are made available to users of the cloud infrastructure system on demand. These services include online data storage and backup solutions, web-based email services, hosted office software packages and document collaboration services, database processing, managed technical support services, and more. The services provided by the cloud infrastructure system can be dynamically adjusted to meet the needs of its users. What embodies the service provided by the cloud infrastructure system is referred to herein as a service instance. Generally, a service that is made available to users from a cloud service provider's system via a communication network such as the Internet is called a cloud service. Typically, 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 may host an application, and a user can order and use the application on demand via a communication network such as the Internet.

コンピュータネットワーククラウドインフラストラクチャにおけるサービスは、記憶域に対する保護されたコンピュータネットワークアクセス、ホストされているデータベース、ホストされているウェブサーバ、ソフトウェアアプリケーション、もしくはクラウドベンダからユーザに提供されるその他のサービス、または当該技術において周知の他のサービスを含む。たとえば、サービスは、インターネットを通した、クラウド上の遠隔記憶域に対する、パスワードで保護されたアクセスを含み得る。別の例として、サービスは、ネットワーク接続された開発者の私的使用のためのウェブサービスベースのホストされたリレーショナルデータベースおよびスクリプト言語ミドルウェアエンジンを含み得る。もう1つの例として、サービスは、クラウドベンダのウェブサイト上でホストされている電子メールソフトウェアアプリケーションに対するアクセスを含み得る。   Services in the computer network cloud infrastructure may include protected computer network access to storage, hosted databases, hosted web servers, software applications, or other services provided to users from cloud vendors, or the like. Includes other services well known in the art. For example, the service may include password protected access to remote storage on the cloud through the Internet. As another example, the service may include a web service based hosted relational database and scripting language middleware engine for private use of networked developers. As another example, the service may include access to an email software application hosted on the cloud vendor's website.

図1Aは、本発明のある実施形態に従うクラウドインフラストラクチャシステムの論理図である。クラウドインフラストラクチャシステム100は、さまざまなサービスをクラウドまたはネットワーク接続された環境を介して提供し得る。これらのサービスは、サービスとしてのソフトウェア(SaaS)カテゴリ、サービスとしてのプラットフォーム(PaaS)カテゴリ、サービスとしてのインフラストラクチャ(IaaS)カテゴリ、またはその他の、ハイブリッドサービスを含むサービスのカテゴリにおいて提供される1以上のサービスを含み得る。顧客は、サブスクリプションオーダーを介して、クラウドインフラストラクチャシステム100が提供する1以上のサービスをオーダーし得る。その場合、クラウドインフラストラクチャシステム100は処理を実行して顧客のサブスクリプションオーダーのサービスを提供する。   FIG. 1A is a logic diagram of a cloud infrastructure system in accordance with an embodiment of the present invention. Cloud infrastructure system 100 may provide various services via a cloud or networked environment. These services may be provided in the Software as a Service (SaaS) category, Platform as a Service (PaaS) category, Infrastructure as a Service (IaaS) category, or other categories of services including hybrid services Service may be included. The customer may order one or more services provided by the cloud infrastructure system 100 via a subscription order. In that case, the cloud infrastructure system 100 performs processing to provide a service for the customer's subscription order.

クラウドインフラストラクチャシステム100は、クラウドサービスをさまざまなデプロイメントモデルを介して提供し得る。たとえば、サービスはパブリッククラウドモデルで提供し得る。パブリッククラウドモデルでは、クラウドインフラストラクチャシステム100を、組織販売クラウドサービスが所有(たとえばOracle社が所有)し、サービスは、一般的なパブリックまたはさまざまな産業界の企業が利用できるようにされる。別の例として、サービスはプライベートクラウドモデルで提供し得る。プライベートクラウドモデルでは、クラウドインフラストラクチャシステム100を1つの組織のためにのみ運用し、その組織内の1以上のエンティティにサービスを提供することができる。クラウドサービスは、コミュニティクラウドモデルでも提供し得る。コミュニティクラウドモデルでは、クラウドインフラストラクチャシステム100およびこのシステムが提供するサービスを、関係するコミュニティ内のいくつかの組織が共有する。クラウドサービスは、2つ以上の異なるモデルを組合わせたものであるハイブリッドクラウドモデルでも提供し得る。   Cloud infrastructure system 100 may provide cloud services through various deployment models. For example, services may be provided in a public cloud model. In the public cloud model, the cloud infrastructure system 100 is owned by an organization sales cloud service (for example, owned by Oracle Corporation), and the service is made available to general public or companies in various industries. As another example, services may be provided in a private cloud model. In the private cloud model, the cloud infrastructure system 100 can be operated for only one organization, and services can be provided to one or more entities in the organization. Cloud services can also be provided by the community cloud model. In the community cloud model, the cloud infrastructure system 100 and the services provided by this system are shared by several organizations in the related community. Cloud services may also be provided by a hybrid cloud model, which 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, cloud infrastructure system 100 may include multiple components that work together to enable provisioning of services provided by cloud infrastructure system 100. In the embodiment illustrated in FIG. 1A, cloud infrastructure system 100 includes SaaS platform 102, PaaS platform 104, IaaS platform 110, infrastructure resources 106, and cloud management function 108. The components of this may be realized by 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 included in the SaaS category. For example, SaaS platform 102 may provide the ability to build and deliver a set of on-demand applications on an integrated development and deployment platform. The SaaS platform 102 can manage and control the underlying software and infrastructure in providing the SaaS service. By using the service provided by the SaaS platform 102, the customer can use an application executed on the cloud infrastructure system 100. Customers can obtain application services without purchasing separate licenses and support.

さまざまな異なるSaaSサービスを提供し得る。その例は、販売実績管理、大規模な組織向けの企業統合および事業汎用性等に対するソリューションを提供するサービスを含むが、これらに限定されるものではない。ある実施形態において、SaaSサービスは、顧客関係管理(CRM)サービス110(たとえばOracleクラウドが提供するフュージョンCRMサービス)、人的資源管理(HCM)/人材管理サービス112等を含み得る。CRMサービス110は、顧客に対する販売活動サイクルの報告および管理に向けられたサービス等を含み得る。HCM/人材サービス112は、グローバルな労働力のライフサイクル管理および人材管理サービスを顧客に提供することに向けられたサービスを含み得る。   It can provide various different SaaS services. Examples include, but are not limited to, services that provide solutions for sales performance management, enterprise integration for large organizations, business versatility, and the like. In one embodiment, the SaaS service may include a customer relationship management (CRM) service 110 (eg, a fusion CRM service provided by Oracle Cloud), human resource management (HCM) / human resource management service 112, and the like. CRM service 110 may include services directed to reporting and managing sales activity cycles for customers. HCM / Human Resources Services 112 may include services directed to providing clients with global workforce lifecycle management and human resources management services.

さまざまな異なるPaaSサービスを、PaaSプラットフォーム104が、標準化され共有されかつ柔軟にスケーラブルなアプリケーション開発およびデプロイメントプラットフォームにおいて提供し得る。PaaSサービスの例は、共有される共通のアーキテクチャ上で既存のアプリケーションを(Oracle等の)組織が合併できるようにするサービス、および、このプラットフォームが提供する共有サービスを強化する新たなアプリケーションを構築する機能を含み得るが、これらに限定されるものではない。PaaSプラットフォーム104は、PaaSサービスを提供する際の基礎となるソフトウェアとインフラストラクチャを管理し制御することができる。顧客は、別々のライセンスおよびサポートを購入せずにクラウドインフラストラクチャシステム100が提供するPaaSサービスを取得できる。PaaSサービスの例は、Oracle 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 and flexible and scalable application development and deployment platform. The PaaS service example builds a service that allows organizations (such as Oracle) to merge existing applications on a shared common architecture and a new application that enhances the shared services provided by this platform It may include functions but is not limited to them. The PaaS platform 104 can manage and control the underlying software and infrastructure in providing PaaS services. Customers can obtain PaaS services provided by the cloud infrastructure system 100 without purchasing separate licenses and support. Examples of PaaS services include, but are not limited to, Oracle Java Cloud Service (JCS), Oracle Database Cloud Service (DBCS), and others.

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 utilize 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 cloud infrastructure system 100 may include database cloud service 114, middleware cloud service (eg, Oracle Fusion middleware service) 116, and Java cloud service 117. . In one embodiment, the database cloud service 114 may support a shared service deployment model that enables organizations to pool database resources and provide database as a service to customers in the form of a database cloud. Middleware cloud service 116 provides a platform for customers to develop and deploy various business applications, and Java cloud service 117 provides a platform for customers to deploy Java applications in cloud infrastructure system 100. Do. The components in the SaaS platform 102 and the PaaS platform 104 shown in FIG. 1A are shown for illustrative purposes only and are not intended to limit the scope of the embodiments of the present invention. In alternative embodiments, the SaaS platform 102 and the PaaS platform 104 may include additional components to provide additional services to customers of the 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, networks and other basic computing resources, for customers utilizing the services provided by the SaaS and PaaS platforms.

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

特定の実施形態では、クラウド管理機能108は、クラウドインフラストラクチャシステム100においてクラウドサービス(たとえばSaaS、PaaS、IaaSサービス)の包括的な管理を提供する。一実施形態では、クラウド管理機能108は、クラウドインフラストラクチャシステム100によって受取られた顧客のサブスクリプションをプロビジョニング、管理および追跡するための機能などを含む。   In particular embodiments, cloud management function 108 provides comprehensive management of cloud services (eg, SaaS, PaaS, IaaS services) in cloud infrastructure system 100. In one embodiment, cloud management functionality 108 includes functionality for provisioning, managing and tracking customer subscriptions received by 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 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 besides those shown in FIG. 1B. Furthermore, 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 less components than those shown in FIG. 1B, or may combine two or more components, or It may have different configurations or arrangements of components. In certain 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 cloud infrastructure system 100. These users may include, for example, end users 150 who may interact with the cloud infrastructure system 100 using various client devices such as desktops, mobile devices, tablets and the like. Also, users can use command line interface (CLI), application programming interface (application programming interface): through various integrated development environment (IDE) and through other applications. The developer / programmer 152 may interact with the cloud infrastructure system 100 using the API). The user may also include operations staff 154. These may include the staff of the cloud service provider or the staff of other users.

アプリケーションサービス層156は、クラウドインフラストラクチャシステム100によって提供され得るさまざまなクラウドサービスを特定する。これらのサービスは、サービス統合および連結層158を介してそれぞれのソフトウェアコンポーネント160(たとえばJavaサービスを提供するためのオラクルウェブロジックサーバ、データベースサービスを提供するためのオラクルデータベースなど)にマッピングされるか、または関連付けられ得る。   Application services layer 156 identifies various cloud services that may be provided by cloud infrastructure system 100. These services may be mapped to their 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 may be associated.

特定の実施形態では、クラウドインフラストラクチャシステム100のさまざまなコンポーネントまたはモジュールおよびクラウドインフラストラクチャシステム100によって提供されるサービスによって共有されるいくつかの内部サービス162が提供され得る。これらの内部共有サービスは、セキュリティおよびアイデンティティサービス、統合サービス、エンタープライズリポジトリサービス、エンタープライズマネージャサービス、ウイルススキャンおよびホワイトリストサービス、高可用性、バックアップおよび回復サービス、IDEにおいてクラウドサポートを可能にするためのサービス、電子メールサービス、通知サービス、ファイル転送サービスなどを含み得るが、これらに限定されるものではない。   In particular embodiments, several internal services 162 shared by various components or modules of cloud infrastructure system 100 and services provided by cloud infrastructure system 100 may be provided. These internal shared services include security and identity services, integrated services, enterprise repository services, enterprise manager services, virus scan and white list services, high availability, backup and recovery services, services to enable cloud support in IDEs, It 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 particular embodiments, runtime infrastructure layer 164 may comprise one Oracle Exadata machine to provide storage, processing and networking resources. The Exadata machine may be comprised of various database servers, storage servers, networking resources, and other components for hosting cloud service related software layers. In particular embodiments, Exadata machines may 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, high availability, scalable, secure, 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 implementing the cloud infrastructure system shown in FIG. 1A according to an embodiment of the present invention. In the illustrated embodiment, system environment 230 includes one or more client computing devices 224, 226 and 228 that may be used by a user to interact with cloud infrastructure system 100. The client device may be a web browser, a proprietary client application (e.g., Oracle Forms) or a client application that may be used by the client device user to interact with the cloud infrastructure system 100 to utilize services provided by the cloud infrastructure system 100. 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 besides those shown in FIG. Furthermore, 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, the cloud infrastructure system 100 may have more or less components than those shown in FIG. 2, and may combine two or more components, or It may have different configurations or arrangements of components.

クライアント演算装置224,226および228は、汎用パーソナルコンピュータ(一例として、マイクロソフトウィンドウズ(登録商標)および/またはアップルマッキントッシュオペレーティングシステムのさまざまなバージョンを実行するパーソナルコンピュータおよび/またはラップトップコンピュータを含む)、(マイクロソフトウィンドウズモバイルなどのソフトウェアを実行し、インターネット、電子メール、SMS、ブラックベリーまたは使用可能な他の通信プロトコルである)携帯電話もしくはPDA、さまざまな市販のUNIX(登録商標)もしくはUNIXのようなオペレーティングシステム(さまざまなGNU/Linux(登録商標)オペレーティングシステムを含むがこれに限定されるものではない)のいずれかを実行するワークステーションコンピュータ、またはその他の演算装置であってもよい。たとえば、クライアント演算装置224,226および228は、ネットワークを介して通信することができるシンクライアントコンピュータ、インターネットへの接続が可能なゲーム機および/またはパーソナルメッセージング装置などのその他の電子装置であってもよい。例示的なシステム環境230が3つのクライアント演算装置とともに示されているが、いかなる数のクライアント演算装置がサポートされてもよい。センサを有する装置などの他の装置がクラウドインフラストラクチャシステム100と対話してもよい。   The 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 Internet, email, SMS, Blackberry or any other communication protocol available) mobile phone or PDA, various commercially available UNIX or UNIX-like operating system Any system (including but not limited to various GNU / Linux (R) operating systems) Or workstation computers running or may be another computing device. For example, client computing devices 224, 226 and 228 may be thin client computers capable of communicating over a network, gaming devices capable of connecting to the Internet, and / or other electronic devices such as personal messaging devices. Good. Although the 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 with sensors, may interact with the cloud infrastructure system 100.

ネットワーク232は、クライアント224,226および228とクラウドインフラストラクチャシステム100との間でのデータの通信および交換を容易にし得る。ネットワーク232は、TCP/IP、SNA、IPX、Apple Talk等を含むがこれらに限定されないさまざまな市販のプロトコルのうちのいずれかを用いてデータ通信をサポートし得る、当業者にはよく知られているいずれかの種類のネットワークであればよい。ほんの一例として、ネットワーク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. Network 232 may support data communication using any of a variety of commercially available protocols, including but not limited to TCP / IP, SNA, IPX, Apple Talk, etc., as is well known to those skilled in the art It may be any type of network. By way of example only, networks 232 include but are limited to Ethernet networks, local area networks (LANs) such as token ring networks, wide area networks, and virtual private networks (VPNs). Virtual networks, the Internet, intranets, extranets, public switched telephone networks (PSTNs), infrared networks, wireless networks (eg IEEE 802.1X protocol series, Bluetooth known in the art) Networks operating under any of (registered trademark) protocols and / or other wireless protocols, and / or these and / or other networks It may be any combination of work.

クラウドインフラストラクチャシステム100は、汎用コンピュータ、専用サーバコンピュータ(例として、PCサーバ、UNIXサーバ、ミッドレンジサーバ、メインフレームコンピュータ、ラックマウント式のサーバなどを含む)、サーバファーム、サーバクラスタ、またはその他いずれかの適切な構成および/または組合わせであってもよい1つ以上のコンピュータおよび/またはサーバを備えていてもよい。クラウドインフラストラクチャシステム100を構成する演算装置は、HTTPサーバ、FTPサーバ、CGIサーバ、Javaサーバ、データベースサーバなどを含む、オペレーティングシステムまたはさまざまな追加のサーバアプリケーションおよび/もしくは中間層アプリケーションのいずれかを実行し得る。代表的なデータベースサーバとしては、Oracle、Microsoft、Sybase、IBM等から市販されているものが挙げられるが、これらに限定されるものではない。   The cloud infrastructure system 100 may be a general-purpose computer, a dedicated server computer (including, for example, a PC server, a UNIX server, a midrange server, a mainframe computer, a rack mount server, etc.), a server farm, a server cluster, or any other One or more computers and / or servers may be provided, which may be of any suitable configuration and / or combination. The computing devices that make up cloud infrastructure system 100 execute either the operating system or any of a variety of additional server applications and / or middle tier applications, including HTTP servers, FTP servers, CGI servers, Java servers, database servers, etc. It can. Representative 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, cloud infrastructure system 100 may be adapted to automatically provision, manage and track customer subscriptions to services provided by 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 any other suitable arrangement and / or combination. Or may be provided using them. In one embodiment, one or more of these modules may be provided by cloud management function 108 or IaaS platform 110 in cloud infrastructure system 100. The various modules of cloud infrastructure system 100 shown in FIG. 2 are shown for illustrative purposes only and are not intended to limit the scope of the embodiments of the present invention. Alternative embodiments may include more or less modules than those shown in FIG.

例示的なオペレーションにおいて、(1)において、クライアント装置224または226などのクライアント装置を使用する顧客は、クラウドインフラストラクチャシステム100によって提供されるさまざまなサービスをブラウズし、クラウドインフラストラクチャシステム100によって提供される1つ以上のサービスについてのサブスクリプションのオーダーを行なうことによって、クラウドインフラストラクチャシステム100と対話し得る。特定の実施形態では、顧客は、ストアUI210またはクラウドUI212にアクセスし、これらのユーザインターフェイスを介してサブスクリプションオーダーを行ない得る。   In exemplary operations, in (1), a customer using a client device, such as client device 224 or 226, browses and provides various services provided by cloud infrastructure system 100. It may interact with the cloud infrastructure system 100 by ordering subscriptions for one or more services. In particular embodiments, a customer may access the store UI 210 or cloud UI 212 and place a subscription order via 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 comprises the customer and one or more services provided by the cloud infrastructure system 100 to which the customer is to subscribe. It may contain identifying information. A single order may include multiple service orders. For example, a customer may login to the cloud UI 212 to request subscriptions for CRM service and Java cloud service in the same order.

さらに、オーダーは、オーダーされたサービスについての1つ以上のサービスレベルも含んでいてもよい。本明細書で使用され、以下でより詳細に説明されるように、サービスについてのサービスレベルは、ストレージの量、演算リソースの量、データ転送設備などの、サブスクリプションの文脈において要求されたサービスを提供するために割当てられるリソースの量を決定する。たとえば、ベーシックなサービスレベルは、最小レベルのストレージ、データ伝送またはユーザの数を提供することができ、より高いサービスレベルは、さらなるリソースを含み得る。   Further, the order may also include one or more service levels for the ordered service. As used herein and described in more detail below, service levels for services include services requested in the context of subscriptions, such as the amount of storage, the amount of computing resources, data transfer equipment, etc. Determine the amount of resources allocated to provide. For example, basic service levels may provide a minimal level of storage, data transmission or number of users, and higher service levels 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 customer level and the time period for which the service is required. The customer level defines the priority of the customer making the subscription request. In one example, the service that the cloud infrastructure system 100 guarantees or promises to the customer as defined by the Service Level Agreement (SLA) agreed upon between the customer and the provider of the cloud service. It can be determined based on the quality of In one example, various customer levels include basic levels, silver levels and gold levels. The period of service may define the start date and time of the service and the period in which the service is required (for example, the end date and time of service may be defined).

一実施形態では、顧客は、ストアUI210を介して新たなサブスクリプションを要求するか、またはクラウドUI212を介してトライアルサブスクリプションを要求し得る。特定の実施形態では、ストアUI210は、サービスプロバイダの電子商取引ストアフロントに相当し得る(たとえばオラクルクラウドサービスのためのwww.oracle.com/store)。クラウドUI212は、サービスプロバイダのためのビジネスインターフェースに相当し得る。顧客は、クラウドUI212を介して、利用可能なサービスを調査し、関心のあるサービスにサインアップすることができる。クラウドUI212は、クラウドインフラストラクチャシステム100によって提供されるトライアルサブスクリプションをオーダーするのに必要なユーザ入力を取込む。また、クラウドUI212は、アカウント機能を閲覧し、クラウドインフラストラクチャシステム100内に位置するランタイム環境を構成するために使用され得る。新たなサブスクリプションのオーダーを行なうことに加えて、ストアUI210は、サブスクリプションのサービスレベルの変更、サブスクリプションの期間の延長、サブスクリプションのサービスレベルの向上、既存のサブスクリプションの終了などの他のサブスクリプション関連のタスクを顧客が実行できるようにもし得る。   In one embodiment, the customer may request a new subscription via the store UI 210 or may request a trial subscription via the cloud UI 212. In particular embodiments, store UI 210 may correspond to a service provider's e-commerce storefront (eg, www.oracle.com/store for Oracle Cloud Services). Cloud UI 212 may correspond to a business interface for a service provider. The customer can investigate available services and sign up for services of interest via the cloud UI 212. Cloud UI 212 captures the user input necessary to order a trial subscription provided by cloud infrastructure system 100. Also, the cloud UI 212 may be used to view account functions and configure a runtime environment located within the cloud infrastructure system 100. In addition to ordering new subscriptions, the store UI 210 can also change subscription service levels, extend subscription terms, improve subscription service levels, and terminate existing subscriptions 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 made per (1), the order information received via either the store UI 210 or the cloud UI 212 is stored in the order database 222 in (2), and the order database 222 is stored in the cloud infrastructure system 100. May be one of several databases operated by and used in conjunction with other system elements. Although the order database 222 is logically illustrated in FIG. 2 as a single database, in an actual implementation it may comprise one or more databases.

(3)において、オーダーはオーダー管理モジュール214に送られる。オーダー管理モジュール214は、オーダーの検証および検証時のオーダーの予約などのオーダーに関連する課金およびアカウンティング機能を実行するように構成される。特定の実施形態では、オーダー管理モジュール214は、契約管理モジュールと、インストールベースモジュールとを含んでいてもよい。契約管理モジュールは、クラウドインフラストラクチャシステム100との顧客のサービスレベル合意書(SLA)などの顧客のサブスクリプションオーダーに関連付けられた契約情報を格納し得る。インストールベースモジュールは、顧客のサブスクリプションオーダーにおけるサービスの詳細な説明を含み得る。オーダー情報に加えて、インストールベースモジュールは、サービスに関連するインストールの詳細、製品状態およびサービスに関連するサポートサービス履歴を追跡し得る。顧客が新たなサービスをオーダーするかまたは既存のものをアップグレードすると、インストールベースモジュールは、新たなオーダー情報を自動的に追加し得る。   At (3), the order is sent to the order management module 214. The order management module 214 is configured to perform billing and accounting functions associated with the order, such as order verification and order reservation upon verification. In particular embodiments, order management module 214 may include a contract management module and an installation base module. The contract management module may store contract information associated with a customer's subscription order, such as a customer's 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 installed 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 may 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によって提供されるサービスも使用し得る。   At (4), information regarding the order is communicated to the TAS module 204. In one embodiment, the TAS module 204 utilizes order information to orchestrate service and resource provisioning for orders placed 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. At (6), the TAS module 204 provides the service module 202 with information related to the provisioned order received from the SDI module 206. In (7), in some embodiments, 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上の顧客に送る。   At (8), service module 202 sends a notification on the status of the order to the customer on client devices 224, 226 and 228.

特定の実施形態では、TASモジュール204は、互いに関連付けられたビジネスプロセスを管理し、ビジネスロジックを適用してオーダーをプロビジョニングに進めるべきか否かを判断する、オーケストレーションコンポーネントとして機能する。一実施形態では、新たなサブスクリプションのオーダーを受取ると、TASモジュール204は、リソースを割当てて、当該サブスクリプションオーダーを実現するために必要なそれらのリソースを構成するために、SDIモジュール206に要求を送る。SDIモジュール206は、顧客によってオーダーされたサービスのためのリソースの割当てを可能にする。SDIモジュール206は、クラウドインフラストラクチャシステム100によって提供されるクラウドサービスと、要求されたサービスを提供するためのリソースをプロビジョニングするために使用される物理的実装層との間の抽象化のレベルを提供する。したがって、TASモジュール204は、サービスおよびリソースがオンザフライで実際にプロビジョニングされるか否か、または予めプロビジョニングされて要求時に単に配分/割当てられるか否かなどの実装詳細から切離され得る。   In particular embodiments, the TAS module 204 acts as an orchestration component that manages the business processes associated with one another and applies business logic to determine whether to proceed with provisioning an order. In one embodiment, upon receiving a new subscription order, 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 enables allocation of resources for services ordered by the customer. The SDI module 206 provides a level of abstraction between the cloud services provided by the cloud infrastructure system 100 and the physical implementation layer used to provision the resources to provide the requested service. 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 particular embodiments, a user may interact directly with the order management module 214 to use the store UI 210 to perform billing and accounting related functions such as order validation and order booking upon validation. In some embodiments, instead of the customer placing an order, at (9) the order may instead be placed by the sales staff 218 representative of 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 the customer. . For example, this may be done for large customers where orders may be made by a customer sales representative 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 associated with managing and tracking customer subscriptions in the cloud infrastructure system 100. The EM module 208 collects usage statistics for services in subscription orders, 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 systems and resources for which services are provisioned within the cloud infrastructure system 100. It may interact with the EM module 208 via an interface (not shown in FIG. 2).

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

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

一実施形態では、(13)において、サポートUI216を介してサポートサービスも顧客に提供され得る。一実施形態では、サポートUI216は、サポートスタッフが(14)においてサポートサービスを実行するようにサポートバックエンドシステムを介してオーダー管理モジュール214と対話することを可能にする。クラウドインフラストラクチャシステム100におけるサポートスタッフおよび顧客は、サポートUI216を介して、バグ報告を提出し、これらの報告の状態を確認することができる。   In one embodiment, at (13), support services may also be provided to the customer via the support UI 216. 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 illustrated 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 the IDM module 200 to configure domain and user identity. Also, customers can log in to a separate interface for each service they want to use. In particular embodiments, customers who wish to subscribe to one or more services provided by cloud infrastructure system 100 may also be assigned various roles and assignments. In one embodiment, the various roles and duties that may be assigned to customers may be: buyers, account administrators, service administrators, identity domain administrators, or users of services and resources provided by the cloud infrastructure system It may include roles and missions. The 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 that illustrates the processing that may be performed by the TAS module in a cloud infrastructure system according to an embodiment of the present invention. The processing 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 specific sequence of process 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. In addition, further steps may be added or deleted depending on the particular application. One of ordinary skill in the art would recognize many variations, modifications, and alternatives. In one embodiment, 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's subscription order is processed. The process may include, in one example, authentication of the order. The authentication of the order guarantees that the customer has paid for the subscription and that the customer does not yet have a subscription with the same name, or Including guaranteeing that the customer has not attempted to create multiple subscriptions of the same type in the same identity domain for unauthorized subscription types etc. The 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 to process various aspects of the order. As an example, a first business process may identify one or more steps associated with provisioning of physical resources for an order, and a second business process creates an identity domain with a customer identity for the order The third business process may relate to performing back office functions such as creating customer records for the user, performing accounting functions related to the order, etc., which may identify one or more steps related to One or more steps may be identified. In particular embodiments, different business processes may also be identified to process different services in the order. For example, various business processes may be identified to process CRM services and database services.

306において、304でオーダーについて特定されたビジネスプロセスが実行される。オーダーに関連付けられたビジネスプロセスの実行は、ステップ304において特定されたビジネスプロセスに関連付けられた一連のステップのオーケストレートを含んでいてもよい。たとえば、オーダーのための物理リソースのプロビジョニングに関連するビジネスプロセスの実行は、リソースを割当てて、サブスクリプションオーダーを実現するために必要なそれらのリソースを構成するために、SDIモジュール206に要求を送ることを含んでいてもよい。   At 306, the business process identified for the order at 304 is performed. 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 business processes related to provisioning of 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 May be included.

308において、プロビジョニングされたオーダーの状態に関する通知が顧客に送られる。ステップ302,304,306および308の実行に関連するさらなる説明については、図3Bに詳細に記載されている。   At 308, a notification regarding the status of the provisioned order is sent to the customer. Further discussion related to the implementation 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 processing 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 executer 316, an excess framework 322, a workflow identification module 324 and a bundled subscription generation module 326. And These modules may be realized 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 the embodiments of the present invention. Alternative embodiments may include more or less 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 an order from a customer 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, processing of the order comprises of customer records including information about the order, such as service type, service level, customer level, type of resource, type of resource allocated to service instance, and time period for which service is sought. Includes generation. As part of processing, order processing module 310 also determines whether the order is a valid order. This is to ensure that the customer does not yet have a subscription with the same name, or (in the case of a fusion CRM service) multiples of the same type in the same identity domain for subscription types not allowed Including guaranteeing that the customer is not trying to create a subscription.

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

オーダーがオーダー処理モジュール310によって処理された後、オーダーがプロビジョニングに進むべきか否かを判断するためにビジネスロジックが適用される。一実施形態では、オーダーのオーケストレートの一部として、ビジネスプロセス識別子312は、処理されたオーダーをオーダー処理モジュール310から受取って、ビジネスロジックを適用して、処理中のオーダーで使用されるべき特定のビジネスプロセスを特定する。一実施形態では、ビジネスプロセス識別子312は、オーダーで使用されるべき特定のビジネスプロセスを決定するために、サービスカタログ314に格納されている情報を利用し得る。一実施形態では、図3Aに示されるように、オーダーについて複数のビジネスプロセスが特定されてもよく、各ビジネスプロセスは、オーダーのさまざまな局面を処理するための一連のステップを特定する。別の実施形態では、上記のように、CRMサービスまたはデータベースサービスなどのさまざまなタイプのサービスまたはサービスの組合わせについてさまざまなビジネスプロセスが規定されてもよい。一実施形態では、サービスカタログ314は、オーダーを特定のタイプのビジネスプロセスにマッピングする情報を格納し得る。ビジネスプロセス識別子312は、処理中のオーダーについての特定のビジネスプロセスを特定するためにこの情報を使用し得る。   After the order is processed by order processing module 310, business logic is applied to determine whether the order should proceed to provisioning. In one embodiment, as part of the orchestration of an order, the business process identifier 312 receives the processed order from the order processing module 310, applies business logic, and identifies the to be used in the order being processed. Identify the business processes of In one embodiment, business process identifier 312 may utilize information stored in service catalog 314 to determine the particular business process to be used in the order. In one embodiment, as shown in FIG. 3A, multiple business processes may be identified for an order, each business process identifying a series of steps to process various aspects of the order. In another embodiment, different business processes may be defined for different types of services or service combinations, such as CRM services or database services, as described above. In one embodiment, service catalog 314 may store information that maps orders to particular 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, business process identifier 312 communicates to business process executer 316 the particular business process to be performed. The business process executable 316 then executes the identified business process steps by operating in conjunction with one or more modules in the cloud infrastructure system 100. In some embodiments, Business Process Executor 316 acts as an orchestrator to perform the steps associated with the business process. For example, an order processing module such that the business process exporter identifies the workflow associated with the order to determine the excess of service in the order, or performs the steps in the business process identifying the service components associated with the order. It can interact with 310.

一例では、ビジネスプロセスエクセキュータ316は、サブスクリプションオーダーにおいて要求されたサービスのためにリソースを割当ててプロビジョニングするためのビジネスプロセスにおけるステップを実行するようにSDIモジュール206と対話する。この例では、ビジネスプロセスにおけるステップごとに、ビジネスプロセスエクセキュータ316は、リソースを割当てて、特定のステップを実現するために必要なリソースを構成するために、SDIコンポーネント206に要求を送り得る。SDIコンポーネント206は、リソースの実際の割当てを担当する。オーダーのビジネスプロセスの全てのステップが実行されると、ビジネスプロセスエクセキュータ316は、サービスコンポーネント202のサービスを利用することによって、処理されたオーダーの通知を顧客に送り得る。通知は、処理されたオーダーの詳細を有する電子メール通知を顧客に送ることを含んでいてもよい。また、電子メール通知は、顧客がサブスクライブされたサービスにアクセスすることを可能にするための、オーダーに関連するデプロイメント情報も含んでいてもよい。   In one example, the business process exporter 316 interacts with the SDI module 206 to perform the steps in the business process to allocate and provision resources for the service requested in the subscription order. In this example, at each step in the business process, the business process exporter 316 may send a request to the SDI component 206 to allocate resources and configure the resources needed to realize the particular step. The SDI component 206 is responsible for the actual allocation of resources. Once all steps of the order's business process have been performed, the business process executer 316 can send notification of the processed order to the customer by utilizing the services 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 enable 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 particular embodiments, the TAS module 204 interacts with other modules in the cloud infrastructure system 100 and allows one or more TAS application programs 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 an asynchronous Simple Object Access Protocol (SOAP) based web service call to provision resources for a customer's subscription order. System provisioning API may be included. In one embodiment, the TAS module 204 may also utilize the system provisioning API to accomplish system and service instance creation and deletion, 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 particular embodiments, the TAS module 204 also periodically informs the service component 202 of subscription information, outages and notifications (eg, planned downtime).

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

特定の実施形態では、TASモジュール204は、顧客のサブスクリプションオーダーの処理に関連付けられた1つ以上のワークフローを特定するように構成されるオーダーワークフロー特定モジュール324を含む。特定の実施形態では、TASモジュール204は、クラウドインフラストラクチャシステム100によって提供される1つ以上のサービスについてのサブスクリプションオーダーを顧客が行なうと顧客のためにサブスクリプションオーダーを生成するためのサブスクリプションオーダー生成フレームワーク326を含んでいてもよい。一実施形態では、サブスクリプションオーダーは、当該サブスクリプションオーダーにおいて顧客によって要求されたサービスを提供することを担当する1つ以上のサービスコンポーネントを含む。   In particular embodiments, the TAS module 204 includes an order workflow identification module 324 configured to identify one or more workflows associated with processing a customer's subscription order. In particular embodiments, the TAS module 204 may generate 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 can provide a tenant information system to enable provisioning of resources for one or more services subscribed by a customer, taking into account historical information available to the customer, if any. It may also interact with one or more additional databases, such as a Tenant Information System (TIS) database 320. The TIS database 320 may include historical order information and historical usage information related to the orders subscribed by the customer.

TASモジュール204は、さまざまなデプロイメントモデルを使用してデプロイされ得る。特定の実施形態では、デプロイメントは、1つ以上の分散されたコンポーネントと遣り取りする中心コンポーネントを含む。分散されたコンポーネントは、たとえばさまざまなデータセンターとしてデプロイされてもよく、したがってデータセンタコンポーネントとも称されてもよい。中心コンポーネントは、クラウドインフラストラクチャシステム100においてオーダーを処理してサービスをまとめるための機能を含み、データセンタコンポーネントは、サブスクライブされたサービスにリソースを提供するランタイムシステムをプロビジョニングして動作させるための機能を提供する。   The TAS module 204 may be deployed using various deployment models. In particular embodiments, a deployment includes a central component that interacts with one or more distributed components. The distributed components may be deployed, for example, as various data centers, and may therefore also be referred to as data center components. The central component includes functionality to process orders and organize services in the cloud infrastructure system 100, and the data center component is operable to provision and operate 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 a TAS module according to an embodiment of the present invention. In the embodiment shown in FIG. 4, the distributed deployment of the TAS module 204 includes a TAS central component 400 and one or more TAS data center (DC) components 402, 404 and 406. These components may be realized in hardware or software or a combination thereof.

一実施形態では、TAS中心コンポーネント400の任務は、顧客オーダーを受取って、新たなサブスクリプションの作成、サブスクリプションにおけるサービスのサービスレベルの変更、サブスクリプションに含まれるサービスの変更、およびサブスクリプションの期間の延長、またはサブスクリプションのキャンセルなどのオーダー関連のビジネスオペレーションを実行するための集中型コンポーネントを提供することを含むが、これに限定されるものではない。また、TAS中心コンポーネント400の任務は、クラウドインフラストラクチャシステム100によって必要とされるサブスクリプションデータを維持および供給すること、ならびに、全てのバックオフィスインタラクションに対処するためにオーダー管理モジュール214、サポートUI216、クラウドUI212およびストアUI210と遣り取りすることも含んでいてもよい。   In one embodiment, the task of TAS-centric component 400 is to receive customer orders and create new subscriptions, change service levels of services in subscriptions, change in services included in subscriptions, and duration of subscriptions. Including providing a centralized component for performing order-related business operations, such as, extension of, or cancellation of subscriptions, but is not limited thereto. Also, the task of the TAS core component 400 is to maintain and provide subscription data required by the cloud infrastructure system 100, and an order management module 214, support UI 216, to handle all back office interactions. Interchanging 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 by the customer, including It is not limited. TAS DCs 402, 404 and 406 also perform operations such as locking, unlocking, enabling or disabling subscription order, collecting metrics related to the order, determining the status of the order, and sending notification events related to the order. Also includes functions for performing

図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 central component 400 is initially via the cloud UI 212, store UI 210, via the order management system 214, or via the order database 222. Receive an order from a customer. In one embodiment, the customer corresponds to a buyer with the authority to order and / or modify financial information and subscriptions. In one embodiment, the order information includes information identifying the customer, the type of service the customer wants to subscribe to, and an account administrator who is responsible for handling the request. In particular 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 central component 400 generates a global data area, such as the U.S., EMEA or Asia-Pacific, where the order originates, and the specific TAS DC deployed to provision the order (e.g. 402, 404 or 406). Identify). In one embodiment, the particular TAS DC (eg, from among DCs 402, 404 or 406) deployed to provision the order 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 core component 400 then sends the order request to a particular TAS DC to provision services for the order request. In one embodiment, TAS DCs 402, 404, or 406 identify a service administrator and an identity domain administrator responsible for processing order requests in a particular TAS DC. Service Administrators and Identity Administrators may be appointed by the Account Administrator identified in the subscription order. The TAS DCs 402, 404 or 406 communicate with the SDI module 204 to orchestrate the provisioning of physical resources for ordering. The SDI component 206 in each TAS DC 402, 404 or 406 allocates resources and configures those resources necessary 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 DCs 402, 404 or 406 identify an 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 each TAS DC 402, 404 or 406, the TAS central component 400 may deploy information regarding the provisioned resources in the support system via the support UI 216. The information may include, for example, an indication of resource metrics associated with the service and usage statistics of the service.

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

図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 the interaction of an SDI module with one or more modules in a cloud infrastructure system according to an embodiment of the present invention. In one embodiment, SDI module 206 interacts with TAS module 204 to provision resources for services in the subscription order received by TAS module 204. In particular embodiments, one or more of the modules shown in FIG. 5 may be modules within cloud infrastructure system 100. In other embodiments, one or more of the modules that interact with SDI module 206 may be outside of cloud infrastructure system 100. Also, alternative embodiments may have more or less modules than those shown in FIG. These modules may be realized 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 SaaS platform 102 in cloud infrastructure system 100 and one or more modules in PaaS platform 104. To provision resources for various services, SDI module 206 may interact with various other modules that are each customized to help provision resources for particular types of services. For example, as shown in FIG. 5, SDI module 206 may interact with Java service provisioning control module 500 to provision Java cloud services. In one embodiment, Java service provisioning control component 500 deploys a Java Cloud Service (JCS) assembly defined by SDI module 206 that includes a set of tasks performed to provision Java cloud services. It can. Infrastructure resources 106 then determine 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 can be a Virtual Assembly Builder (VAB) module 502, an Application Express (APEX) deployer module 504, a Virtual Machine (VM) module 506, an IDM. It may interact with one or more modules, such as module 200 and database machine module 118. The VAB module 502 includes functionality to configure and provision a complete multi-tier application environment. In one embodiment, the VAB module 502 uses the MW service defined by the SDI module 206 to provision middleware (MW) services in the cloud infrastructure system 100 using the services provided by the VM module 506. Deploy the assembly APEX deployer module 504 includes functionality for configuring and provisioning database services. In one embodiment, the APEX deployer module 504 deploys the database service assembly defined by the SDI module 206 to provision database services in the cloud infrastructure system 100 using resources provided by the infrastructure resource 106. Do. The SDI module 206 interacts with the IDM module 200 to provide identity services such as access management across 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 the submodules of the 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 (Web Service) module 600, an SDI request controller module 602, an SDI task manager module 604, an SDI monitoring module 606, and SDI data. An access module 608, an SDI common library module 610, and an SDI connector module 612 are included. These modules may be realized 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 less 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 from the Business Process Executor 316 of the TAS component 204 to receive steps in the business associated with the order. In one embodiment, the SDI-WS module 600 parses each step of the business process and converts the step to an internal representation used by the SDI module 206. In one embodiment, each step of the business process associated with the order is 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 to perform 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 steps 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 has been provisioned, the SDI task manager module 604, with the operation result including an order payload with details of the resources provisioned to realize the particular step, causes the TAS module 204 to In response to the business process executor 316 in The SDI task manager module 604 repeats this process until all steps of the particular business process associated with the order are complete.

特定の実施形態では、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 particular embodiments, SDI task manager module 604 translates each step defined in the business process into a series of tasks by utilizing the services of SDI connector module 612. The SDI connector module 612 includes one or more connectors to handle the deployment of tasks defined by the SDI task manager module 604 to provision one or more services related to the order request. In particular embodiments, one or more of the connectors may handle tasks specific to a particular service type, and other connectors may 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 associated with the order request. 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 functions 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, the middleware application (MA) connector 618 interacts with the VAB module 502 in the cloud infrastructure system 100 to provision middleware application services. The NUVIAQ connector 620 interacts with the 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 subscribing to services and resources in the cloud infrastructure system 100. A virtual assembly builder (VAB) connector 624 interacts with the VAB module 502 in the cloud infrastructure system 100 to configure and provision a complete multi-tier application environment. The plug-in connector 626 interacts with the EM module 208 to manage and monitor components in the cloud infrastructure system 100. The HTTP server connector 628 interacts with one or more web servers in the PaaS platform to provide connectivity 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 services, data access objects and connection pooling. The SDI common library module 610 provides configuration support for the 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 a module in an SDI module according to an embodiment of the present invention. FIG. 7A shows a simplified flowchart 700 that illustrates the processing that may be performed by the modules of the SDI module in the cloud infrastructure system according to an embodiment of the present invention. The process illustrated 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 sequence of process 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. Furthermore, 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. In addition, further steps may be added or deleted depending on the particular application. One of ordinary skill in the art would 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, the business process associated with the 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 executer 316. At 704, each step in the business process is converted into a series of tasks for provisioning resources for a 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, subscription orders are 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 subscription orders. Including 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 translates each step defined in the business process into a series of tasks by utilizing the services of the SDI connector module 612, and the SDI connector module 612 orders One or more connectors may be included to handle the deployment of tasks defined by the SDI task manager module 604 to provision one or more services associated with the request. One or more of the connectors can handle tasks specific to a particular service type, and other connectors can handle common tasks across different 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 associated with the order request. 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 besides those shown in FIG. 7B. Furthermore, the embodiment shown in FIG. 7B is only one example of a cloud infrastructure system that can incorporate an embodiment of the present invention. In some other embodiments, Nuviaq system 710 may have more or less components than those shown in FIG. 7B, may combine two or more components, or It may have different configurations or arrangements.

特定の実施形態では、Nuviaqシステム710は、PaaSオペレーションをオーケストレートするためのランタイムエンジンを提供するように構成され得る。Nuviaqシステム710は、他の製品およびサービスとの統合を容易にするためにウェブサービスAPIを提供し得る。また、Nuviaqシステム710は、システムプロビジョニング、アプリケーションデプロイメントおよび関連付けられたライフサイクルオペレーションにおける複雑なワークフローのためのサポートを提供し、管理およびモニタリングソリューションと統合する。   In particular embodiments, Nuviaq system 710 may be configured to provide a run-time engine for orchestrating PaaS operations. The Nuviaq system 710 may provide a web service API to facilitate integration with other products and services. The 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 embodiment shown in FIG. 7B, the Nuviaq system 710 comprises a Nuviaq proxy 712, a Nuviaq manager 714, and a Nuviaq database 716. In particular embodiments, Nuviaq manager 714 provides an entry point to Nuviaq system 710 and provides secure access to PaaS operations via a web services API. Internally, the Nuviaq manager 714 tracks system state in the database and controls the execution of jobs on the workflow engine. In the public cloud, the 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 through the internal workflow engine. The job may be a sequence of actions specific to a given PaaS workflow. The actions may be performed sequentially, and failure at any step results in failure of the entire job. Many workflow actions delegate authority to external systems related to 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, an Oracle HTTP server or OHS) instance running within a firewall.

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

特定の実施形態では、Nuviaqデータベース716は、プラットフォームインスタンス、デプロイメント計画、アプリケーション、ウェブロジックドメイン、ジョブ、アラーとなどであるがこれらに限定されないさまざまなドメインエンティティを追跡する。必要に応じて、主キーがサービスデータベースと整合させられてもよい。   In particular embodiments, the 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. Primary keys may be aligned with the service database, if desired.

一実施形態では、プラットフォームインスタンス718は、所与のテナントのためのウェブロジックサービスに必要な全てのリソースを含んでいてもよい。   In one embodiment, platform instance 718 may include all the resources needed for the web logic service 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を介してアセンブリデプロイヤにアクセスする。   The Nuviaq system 710 may rely on additional systems of the cloud infrastructure system 100 to perform the workflows used by the web logic cloud service. These dependencies may include dependencies on SDI 206, IDM 200, virus scanning systems, service databases, CRM instances, etc. For example, Nuviaq system 710 may rely on the functions performed by the assembly deployer at SDI 206. In one embodiment, the assembly deployer is a system for managing interactions with the Oracle Virtual Assembly Builder (OVAB) and the Oracle Virtual Machine (OVM). The functions of the assembly deployer used by the Nuviaq system 710 may include functions for deploying an assembly, functions for undeploying an assembly, functions for describing an assembly deployment, functions for scaling an appliance, etc. However, it is not limited to these. In one implementation, Nuviaq system 710 accesses the assembly deployer via a web service API.

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

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

Nuviaqシステム710は、そのセキュリティ統合のためにIDM200に依存し得る。特定の実施形態では、Javaサービスインスタンスは、CRMインスタンスに関連付けられ得る。当該関連付けにより、Javaサービスインスタンスにデプロイされたユーザアプリケーションは、ウェブサービスコールを介してCRMインスタンスにアクセスできる。   Nuviaq system 710 may rely on IDM 200 for its security integration. In particular embodiments, a Java service instance may be associated with a CRM instance. The association allows the user application deployed to the Java service instance to access the CRM instance via the 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 the Nuviaq system 710. These clients of Nuviaq system 710 have access to application life cycle management operations, tenant consoles, which are management server (eg Oracle management server) based user interfaces that customers can access to manage applications on platform instances. Some IDEs, such as the Oracle IDE (JDeveloper, NetBeans and OEPE), which has been extended to provide an API, and one or more command line interfaces (Command Line) available to access lifecycle operations on platform instances Interface: CLI) may be included.

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

図7Cは、本発明の実施形態に係るNuviaqシステムを使用するプロビジョニングプロセスのステップを示す例示的なシーケンス図を示す。図7Cに示されるシーケンス図は、一例に過ぎず、限定的であるよう意図されるものではない。   FIG. 7C shows an exemplary sequence diagram showing steps of a provisioning process using the Nuviaq system according to an embodiment of the present invention. The sequence diagram shown in FIG. 7C is merely 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 public cloud security requirements. In one embodiment, the application deployment descriptor provided in the install application action can set properties that modify the configuration of the application to meet the subscription requirements of the tenant. These properties may include, for example:
Property : oracle.cloud.service.weblogic.state
Values: Execution, Stop Description: Defines the initial state of the application after deployment.

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

図2に戻って、特定の実施形態では、協働して動作するTAS204およびSDI206は、クラウドインフラストラクチャシステム100によって提供される一組のサービスから顧客によってオーダーされた1つ以上のサービスのためにリソースをプロビジョニングすることを担当する。たとえば、一実施形態では、データベースサービスをプロビジョニングするために、自動化されたプロビジョニングフローは、有料サブスクリプションについては以下のようなものであってもよい:
(1)顧客は、ストアUI210を介して、サービスの有料サブスクリプションのオーダーを行なう。
Returning to FIG. 2, in certain embodiments, the cooperating TAS 204 and SDI 206 may be 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, the automated provisioning flow may be as follows for a paid subscription:
(1) The customer places an order for a paid subscription of the service via the store UI 210.

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

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

(5)顧客へのスキーマの関連付けが成功した後、SDIはTASに知らせて、TASは、データベースサービスが現在顧客によって使用可能な状態にあるという通知を顧客に送る。   (5) After successfully associating the schema with the customer, SDI informs TAS, which 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 launch the service.

いくつかの実施形態では、顧客は、トライアルベースでサービスにサブスクライブすることも許可されてもよい。たとえば、このようなトライアルオーダーは、(たとえばcloud.oracle.comを使用して)クラウドUI212を介して受取られ得る。   In some embodiments, customers may also be authorized to subscribe to services on a trial basis. For example, such trial orders 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 particular embodiments, cloud infrastructure system 100 enables basic hardware and service instances to be shared among customers or tenants. For example, a database service may be provisioned in one embodiment as shown in FIG. 7E. FIG. 7E shows a plurality of Exadata compute nodes 730 and 732, each of compute nodes 730 and 732 providing a database instance provisioned for database service. For example, computing node 730 provides database instance 734 for a database service. Each Exadata operation node may have multiple 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 schemas 736 and 738 having its own table. The schema 736 can be associated with a first customer or tenant subscribing to a database service, and the schema 738 can be associated with a second customer or tenant subscribing to a database service. Each tenant gets a completely disconnected schema. Each schema acts like a container that can manage database objects, including tables, views, stored procedures, triggers, etc. for associated tenants. Each schema may have one dedicated tablespace, and each tablespace has one data file.

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

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

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

再使用可能な匿名サブスクリプション(RAS)
特定の実施形態において、クラウドインフラストラクチャシステム100は、基礎となるハードウェアおよびサービスインスタンスが、顧客またはテナント間で共有されることを可能にするだけでなく、新たなリソースを完全にプロビジョニングせずに、既存のサブスクリプションを他の顧客またはテナントが再使用することを可能にする。一局面において、再使用可能な匿名サブスクリプション(RAS)は、サービスへのアクセス要求の前に既にプロビジョニングされているこのサービスに顧客がアクセスできるようにする、一種のサブスクリプションである。いくつかの実施形態において、RASは、他の顧客がサービスにアクセスするために使用した可能性がある。RASは、サービスへのアクセスのために使用された後、別の顧客に再度割当てられてもよい。RASを用いてアクセス可能なサービスのリソースは、このRASが与えられた他の顧客による再使用のために、このRASのためにプロビジョニングされたままであってもよい。
Reusable Anonymous Subscription (RAS)
In certain embodiments, the cloud infrastructure system 100 not only allows underlying hardware and service instances to be shared among customers or tenants, but also does not fully provision new resources. Allows other customers or tenants to reuse existing subscriptions. In one aspect, Reusable Anonymous Subscription (RAS) is a type of subscription that allows customers to access this service, which has already been provisioned prior to requesting access to the service. In some embodiments, the RAS may have been used by other customers to access the service. The RAS may be reassigned to another customer after being used for access to the service. The resources of services accessible using RAS may remain provisioned for this RAS for reuse by other customers given the RAS.

いくつかの実施形態において、RASは、顧客がサービスに対するサブスクリプション(たとえば正規サブスクリプション)の購入前にこのサービスを使用できるようにする。RASに対してサービスが提供するアクセスは、正規サブスクリプションに対してサービスが提供するアクセスとは異なっていてもよい(たとえば制限されてもよい)。たとえば、RASによって、顧客が、サービスに対するサブスクリプションの購入前の一時的な使用(たとえばテストまたはトライアル使用)のために、ゲストとしてこのサービスにアクセスできるようにしてもよい。RASは、顧客がサービスの料金を実際に支払わなくてもそのサービスを試すことができるようにするのに役立つであろう。   In some embodiments, RAS allows customers to use this service before purchasing a subscription for the service (eg, a full subscription). The access provided by the service to the RAS may be different (eg, may be restricted) than the access provided by the service to the regular subscription. For example, the RAS may allow the customer to access the service as a guest for temporary use (eg, testing or trial use) prior to purchase of a subscription for the service. RAS will help enable customers to try out the service without actually paying for it.

いくつかの局面において、RASの使用の目的がサービスの試用となるように、RASを正規サブスクリプションとは異なるように構成してもよい。いくつかの実施形態において、RASは、正規サブスクリプションが割当てられた顧客が利用できる特徴すべてを提供しなくてもよい。一例において、RASについてはオペレーションの更新および拡張がサポートされなくてもよい。すなわち、顧客は新たな特徴を追加したりRASのサイズ(たとえばユーザ数)を増したりすることができない。一方、正規サブスクリプションが割当てられた顧客はこれらの特徴のうちのいくつかまたはすべてにアクセス可能であってもよい。別の例では、RASが割当てられた顧客が、高可用性およびディザスタリカバリ特徴等のサポートを利用できなくてもよい(たとえばこのようなサポートをディスエーブルしてもよい)。別の例において、RASは、RASの顧客がアクセスするサービスの段階的デプロイメントを許可しなくてもよい。段階的デプロイメントでは、サブスクリプションのコンフィギュレーションが、予め定められたデプロイメント計画に基づいて変更される。別の例において、RASの顧客は、超過を招くことが認められなくてもよい。他の例において、RASが割当てられた顧客が、使用に関連する警告等の通知を利用できないようにしてもよい。   In some aspects, the RAS may be configured to be different than a regular subscription, such that the purpose of using the RAS is to try a service. In some embodiments, the RAS may not provide all of the features available to customers who have regular subscriptions assigned. In one example, operation updates and extensions may not be supported for RAS. That is, the customer can not add new features or increase the size of the RAS (eg, number of users). On the other hand, customers who have been assigned regular subscriptions may have access to some or all of these features. In another example, a customer assigned a RAS may not be able to utilize support such as high availability and disaster recovery features (eg, such support may be disabled). In another example, the RAS may not allow the gradual deployment of services accessed by customers of the RAS. In staged deployment, the configuration of subscriptions is changed based on a predefined deployment plan. In another example, customers of RAS may not be allowed to incur an excess. In another example, a customer assigned a RAS may not be able to use notifications, such as alerts associated with usage.

顧客がRASを正規サブスクリプションに変換しないと決めた場合、RASをこのRASの再使用のために別の顧客に再度割当てることができる。このRASに対してプロビジョニングされたサービスは、顧客がRASを返却した時点において、プロビジョニングされたままであろう。このようにして、サービスのための新たなリソースのプロビジョニングに要する時間を最短にするとともにリソースの使用量を最大にする。   If the customer decides not to convert the RAS to a full subscription, the RAS can be reassigned to another customer for reuse of this RAS. The service provisioned for this RAS will remain provisioned when the customer returns the RAS. In this way, the time taken to provision new resources for the service is minimized and resource usage is maximized.

顧客が、RASを用いてアクセスしたサービスの正規サブスクリプションの取得に合意した場合、クラウドインフラストラクチャシステム100は、RASを正規サブスクリプションに変換すればよい。さまざまな実施形態において、クラウドインフラストラクチャシステム100は、RASを正規サブスクリプションに変換するための変換プロセス(たとえば軽量パーソナリティ注入プロセス)を実現してもよい。変換プロセスは、RASに対してプロビジョニングされたリソースを保持することにより、RASが提供するサービスのリソースが再度プロビジョニングされないようにする。このため、RASは、重量プロセスを用いてプロビジョニングする複雑な製品(たとえばCRMシステム)に対して非常に役立ち得る。変換プロセスは、RASを介してアクセスしたサービスを用いて顧客が生成したデータを保持してもよい。保持された顧客データを、正規サブスクリプションによってアクセスされたサービスの顧客が使用してもよい。顧客データを保持することによって、顧客は、顧客によるサービスの使用に基づいて顧客データを再度生成するのに要する時間とリソースを節約することができる。   If the customer agrees to obtain a regular subscription for a service accessed using RAS, the cloud infrastructure system 100 may convert the RAS into a regular subscription. In various embodiments, cloud infrastructure system 100 may implement a conversion process (e.g., a lightweight personality injection process) for converting a RAS to a regular subscription. The conversion process keeps the resources of the service provided by the RAS from being re-provisioned by keeping the resources provisioned to the RAS. As such, RAS can be very useful for complex products (eg, CRM systems) that are provisioned using a weight process. The conversion process may maintain customer generated data using services accessed via RAS. The customer data held may be used by customers of the service accessed by the regular subscription. By retaining the customer data, the customer can save time and resources required to regenerate the customer data based on the customer's use of the service.

別の局面において、RASが提供するサービスの使用中に生成された特定顧客向けデータを、RASが提供するサービスに関連する特定サービス向けデータから分離してもよい。いくつかの実施形態において、RASが正規サブスクリプションに変換されない場合、このRASが提供するサービスについての特定サービス向けデータは、RASに対応付けて維持されてもよく、特定顧客向けデータは、RASとの対応関係が解除されてもよい。RASが正規サブスクリプションに変換される場合、特定顧客向けデータを保持し正規サブスクリプションに対応付けてもよい。よって、正規サブスクリプションが提供されたユーザは、RASを用いてサービスにアクセスしたときに生成された既存の特定顧客向けデータを用いてサービスの使用を継続し得る。RASは、通常は異なる顧客による再使用が不可能なトライアルサブスクリプションと区別することができる。トライアルサブスクリプションは、トライアル期間の終了時に解除される。   In another aspect, customer-specific data generated during use of a service provided by the RAS may be separated from data for service-related in relation to the service provided by the RAS. In some embodiments, if the RAS is not converted to a regular subscription, then the data for a particular service about the service provided by this RAS may be maintained in association with the RAS, and the data for a particular customer may be The correspondence relationship of may be cancelled. When RAS is converted to a regular subscription, data for a specific customer may be held and mapped to the regular subscription. Thus, a user who has been provided a regular subscription can continue using the service with existing customer-specific data generated when accessing the service using RAS. RAS can be distinguished from trial subscriptions, which are usually not reusable by different customers. The trial subscription is released at the end of the trial period.

次に図8A〜図8Cを参照して、本実施形態のいくつかの実施形態に従うRASを顧客に提供するためのさまざまな実施形態が示されている。図8Aは、本発明のいくつかの実施形態に従う再使用可能な匿名サブスクリプションを提供するためのシステム環境800の簡略化したブロック図を示す。図8Bは、本発明のいくつかの実施形態に従う再使用可能な匿名サブスクリプションを実現するためのデータ構造の一例を示す。図8Cは、さまざまな実施形態に従う再使用可能な匿名サブスクリプションのライフサイクルを管理するためのプロセスのフローチャートである。   Referring now to Figures 8A-8C, various embodiments for providing a customer with a RAS in accordance with some embodiments of the present embodiments are shown. FIG. 8A shows a simplified block diagram of a system environment 800 for providing reusable anonymous subscriptions in accordance with some embodiments of the present invention. FIG. 8B illustrates an example data structure for implementing reusable anonymous subscriptions in accordance with some embodiments of the present invention. FIG. 8C is a flowchart of a process for managing the life cycle of reusable anonymous subscriptions in accordance with various embodiments.

図8Aには、クラウドインフラストラクチャシステム100との通信のためにクライアント装置224、クライアント装置226、およびクライアント装置228にそれぞれ対応付けられている顧客1、顧客2、および顧客3等のいくつかの顧客とともに、システム環境800が示されている。クラウドインフラストラクチャシステム100は、顧客向けのRASサブスクリプションの1つ以上のサービスプール(たとえばサービスプール810)を管理し得る。サービスプール810は、各々が顧客への割当てのために利用できるRAS812(「RAS1」)、RAS814(「RAS2」)、およびRAS816(「RAS3」)等の1つ以上のRASを含み得る。いくつかの実施形態において、1つ以上のサービスプール(たとえばRASプール)を作成してRASを提供することにより、既にプロビジョニングされているサービスへのアクセスを可能にしてもよい。   In FIG. 8A, several customers, such as customer 1, customer 2, and customer 3, are associated with client device 224, client device 226, and client device 228, respectively, for communication with cloud infrastructure system 100. In addition, a system environment 800 is shown. Cloud infrastructure system 100 may manage one or more service pools (eg, service pool 810) of RAS subscriptions for customers. Service pool 810 may include one or more RASs, such as RAS 812 (“RAS1”), RAS 814 (“RAS 2”), and RAS 816 (“RAS 3”), each available for assignment to a customer. In some embodiments, one or more service pools (eg, RAS pools) may be created to provide RAS to allow access to services that have already been provisioned.

さまざまな実施形態において、サービスプールを、コンフィギュレーションまたはテンプレート(たとえばプロダクトテンプレート)に基づいて構築してもよい。たとえば、サービスプールを、特定のプロダクトコンフィギュレーションのために構築し維持してもよい。顧客が、RASプールが存在しないプロダクトコンフィギュレーションのためのRASを必要とする場合、新たなサービスをこのプロダクトコンフィギュレーションのために作成し新たなRASをこのサービスプールに追加する。将来1つ以上の追加のRASが同じプロダクトコンフィギュレーションのために作成された場合、これらのRASも上記サービスプールに追加すればよい。テンプレートは、プロダクト(たとえばサービス)に対するアクセスに対して課されるリソース制約(たとえばユーザの数に対する制限、記憶域に対する制限等)が組込まれていてもよい。たとえば、1つのサービスプールを、サービスとしてのデータベース(DBAAS)プロダクトのためのプロダクトコンフィギュレーションテンプレートに基づいて構成してもよく、別のサービスプールを、CRMサービスプロダクトのためのプロダクトコンフィギュレーションテンプレートに基づいて構成してもよい。いくつかの実施形態において、サービスプールは、各々がカテゴリに基づいてさらに定められるその他のプールを含み得る。前の例では、DBAASサービスプールのためのサービスプールは、各々が、DBAASベーシック、DBAASスタンダード、およびDBAASエンタープライズ等のDBAAS用の異なる種類のRASを提供する、別々のサービスプールを有することができる。これに代えて、別々のプールを、同一のプロダクトまたは異なるプロダクトいずれかのための、さまざまな種類のサブスクリプションに対して作成してもよい。   In various embodiments, service pools may be constructed based on configurations or templates (eg, product templates). For example, service pools may be built and maintained for specific product configurations. If the customer needs a RAS for a product configuration that does not have a RAS pool, create a new service for this product configuration and add a new RAS to this service pool. If one or more additional RASs are created for the same product configuration in the future, these RASs may also be added to the above service pool. The template may incorporate resource constraints (e.g., limitations on the number of users, limitations on storage, etc.) imposed on access to the product (e.g., service). For example, one service pool may be configured based on a product configuration template for a database as a service (DBAAS) product, and another service pool based on a product configuration template for a CRM service product It may be configured. In some embodiments, the service pool may include other pools, each of which is further defined based on a category. In the previous example, the service pools for the DBAAS service pool may have separate service pools, each providing different types of RAS for the DBAAS, such as DBAAS Basic, DBAAS Standard, and DBAAS Enterprise. Alternatively, separate pools may be created for different types of subscriptions, either for the same product or different products.

いくつかの実施形態において、サービスプールを、1つ以上の基準に基づいて対応付けてもよく、または分類してもよい。この基準は、サービスプールを構成するために使用したテンプレートが示してもよい。テンプレートは、サービスの種類、サービスプールによって利用できるようにされるサービスのためにプロビジョニングされるリソース、サブスクリプションの種類、サブスクリプションの数、リソースの可用性等に基づいていてもよい。サービスプール内の各RASに対応するサービスを、このサービスプール内のサービスを対象とするサブスクリプションオーダーが処理される前にプロビジョニングしてもよい。   In some embodiments, service pools may be mapped or classified based on one or more criteria. This criterion may indicate the template used to configure the service pool. The template may be based on the type of service, the resources provisioned for the service made available by the service pool, the type of subscription, the number of subscriptions, the availability of resources, etc. A service corresponding to each RAS in the service pool may be provisioned before a subscription order for services in the service pool is processed.

一局面において、サービスプールを定めるために使用されるテンプレートは、クラウドインフラストラクチャシステム100のさまざまなコンポーネントが提供するフィードバックに基づいて決定してもよい。たとえば、顧客がオーダーを出すレートを判断しプールに割当てられるサブスクリプションの数に反映させるために使用してもよい。別の例において、サービスの種類を用いて第1の種類に対してはX個のサブスクリプションを割当て第2の種類に対してはそれとは異なる数のサブスクリプションを割当ててもよい。他の実績、マーケティング、および顧客関連のメトリックを用いて利用できるサブスクリプションの数を求めこれらのサブスクリプションを如何にして再度割当てるか判断することができる。さらに、クラウドインフラストラクチャシステム100は、クラウドインフラストラクチャシステム100が判断するフィードバックの分析に基づいてサービスプール内の利用できるRASの数を動的に増減することができる。   In one aspect, the templates used to define the service pool may be determined based on feedback provided by various components of the cloud infrastructure system 100. For example, it may be used to determine the rate at which customers place orders and to reflect on the number of subscriptions assigned to the pool. In another example, the type of service may be used to allocate X subscriptions for the first type and a different number of subscriptions for the second type. Other performance, marketing, and customer related metrics can be used to determine the number of available subscriptions and to determine how to reassign these subscriptions. Further, the cloud infrastructure system 100 can dynamically increase or decrease the number of available RAS in the service pool based on analysis of feedback determined by the cloud infrastructure system 100.

いくつかの実施形態において、RASを、顧客のニーズに基づいて構成した特定顧客向けプロダクトテンプレートに基づいて作成することもできる。特定顧客向けRASは、1以上の顧客に対して指定されたサービスプール内に格納してもよい。いくつかの実施形態において、特定顧客向けRASを、特定顧客向けRASによって満たされるニーズがある他の顧客が再使用してもよい。いくつかの実施形態において、サービスプールを、特定顧客向けRASのように構成されたサービスのために作成してもよい。同様の構成で特定顧客向けRASとして作成された他のRASをサービスプールに追加してもよい。特定顧客向けRASを、この特定顧客向けRASを構成した顧客のために設計されたサービスプールに格納してもよい。   In some embodiments, RAS can also be created based on customer-specific product templates configured based on customer needs. The customer-specific RAS may be stored in a service pool designated for one or more customers. In some embodiments, the customer-specific RAS may be reused by other customers who have a need to be met by the customer-specific RAS. In some embodiments, service pools may be created for services configured as a customer-specific RAS. Another RAS created as a customer-specific RAS in a similar configuration may be added to the service pool. The customer-specific RAS may be stored in a service pool designed for the customer who has configured this customer-specific RAS.

上記のように、クラウドインフラストラクチャシステム100のTASモジュール204は、各サブスクリプションオーダーに対応付けられたビジネスプロセスを管理しビジネスロジックを適用してサブスクリプションオーダーがプロビジョニングに進むべきか否かを判断するオーケストレーションコンポーネントとして機能する。TASモジュール204は、サービスに対する顧客の要求に基づいてサブスクリプションオーダーを処理するための処理を扱う。いくつかの実施形態において、TASモジュール204は、RASがアクセスを提供し得るサービスの要求(たとえば要求802)がなされたか否かを判断することができる。TASモジュール204は、顧客からの要求が示す使用の種類に基づいて、要求されたサービスのための環境を構築してもよい。TASモジュール204は、顧客から受けた要求が示すRASに対する明示された要求に基づいてRASが要求されたと判断することができる。   As described above, the TAS module 204 of the cloud infrastructure system 100 manages the business process associated with each subscription order and applies business logic to determine whether the subscription order should proceed to provisioning. Act as an orchestration component. The TAS module 204 handles the processing for processing subscription orders based on customer requirements for services. In some embodiments, the TAS module 204 can determine whether a request for service (eg, request 802) to which the RAS can provide access has been made. The TAS module 204 may build an environment for the requested service based on the type of use indicated by the customer request. The TAS module 204 can determine that a RAS has been requested based on the specified request for the RAS indicated by the request received from the customer.

クラウドインフラストラクチャシステム100からのサービスの要求(たとえば要求802)は、そのサービスを提供するために使用し得る情報を含み得る。具体的には、要求は、要求されたサービスについて顧客に提供するRASをクラウドインフラストラクチャシステム100が判断できるようにする情報(たとえばオーダー情報)を含み得る。いくつかの実施形態において、要求は、要求するサービスについて、サービスの種類または意図する使用の種類を示していてもよい。使用の種類は、開発、テスト、訓練、プロトタイピング、ロードバランシング、マーケティング、販売、設計、生産等を含むがこれらに限定されるものではない。   A request for service (eg, request 802) from cloud infrastructure system 100 may include information that may be used to provide the service. Specifically, the request may include information (e.g., order information) that enables cloud infrastructure system 100 to determine which RAS to provide the customer for the requested service. In some embodiments, the request may indicate the type of service or type of intended use for the requested service. Types of use include, but are not limited to, development, testing, training, prototyping, load balancing, marketing, sales, design, production, and the like.

いくつかの実施形態において、要求は、要求するサービスに関する1つ以上の必要条件を示していてもよい。この必要条件は、料金制約(たとえば最低料金および/または最高料金)、要求するサービスの使用の時間制限、このサービスを使用するユーザの量、所望のサービスサポートの種類、サービスの使用に関連するその他の必要条件、またはこれらの組合わせを含み得る。クラウドインフラストラクチャシステム100は、顧客からの要求が示す必要条件に基づいて、要求されたサービスへのアクセスを可能にするために顧客に提供するサブスクリプションを決定してもよい。顧客に提供するサブスクリプションの少なくとも1つの例がRASであってもよい。   In some embodiments, the request may indicate one or more requirements for the requested service. This requirement may include: rate restrictions (eg minimum and / or maximum charges), time restrictions on the use of the requested service, the amount of users using this service, the type of service support desired, other related to the use of the service Requirements, or combinations of these. The cloud infrastructure system 100 may determine the subscriptions provided to the customer to enable access to the requested service based on the requirements indicated by the request from the customer. At least one example of a subscription provided to a customer may be RAS.

TASモジュール204は、要求されたサービスへのアクセスを可能にするRASを確立するためのオペレーションを実現し得る。図8Aに示される例において、クラウドインフラストラクチャシステム100は、1つ以上のサービスプール(たとえばサービスプール810)内のRASに対し、要求されたサービスがプロビジョニングされたか否かを判断してもよい。処理を実行することによって、1つ以上のサービスプール内の利用可能なサブスクリプション(たとえばRAS)を分析することにより、利用できるサブスクリプションが、要求されたサービスへのアクセスを提供するか否かを判断してもよい。サービスプールは複数のRASを含み得る。各RASは、このRASが利用できる場合に顧客に割当てることができる。各RASを検査することにより、このRASが提供するリソースおよび/またはサービスを決定してもよい。RAS等のサブスクリプションは、要求から決定された情報(たとえば顧客が要求するサブスクリプションの種類、要求されたサービスの使用の種類、要求されたサービスの期間、またはこれらの組合わせ)に一部基づいて、サービスプール内で特定してもよい。   The TAS module 204 may implement operations to establish a RAS that allows access to the requested service. In the example shown in FIG. 8A, cloud infrastructure system 100 may determine whether the requested service has been provisioned for RAS in one or more service pools (eg, service pool 810). Whether the available subscriptions provide access to the requested service by analyzing the available subscriptions (eg RAS) in one or more service pools by performing the process You may judge. The service pool may include multiple RASs. Each RAS can be assigned to a customer when this RAS is available. By examining each RAS, the resources and / or services provided by this RAS may be determined. Subscriptions such as RAS are based in part on the information determined from the request (eg, the type of subscription requested by the customer, the type of use of the requested service, the duration of the requested service, or a combination of these). May be identified within the service pool.

いくつかの実施形態において、サービスプールを、特定の地理的位置(たとえば地理的領域)に対して構築してもよい。地理的位置は、データセンターの地理的位置に基づいて定めてもよい。サービスプールを、法的理由および/またはコンプライアンスの理由から、地理的位置に対して構築してもよい。サービスプールは、ある地理的位置に対して、サービスプールがこの地理的位置に対して構築されていない場合に、構築してもよい。いくつかの実施形態において、ある地理的位置に構築したサービスプールを、プロダクトコンフィギュレーションに基づいてさらに定めてもよい。たとえば、サービスプールを、特定のプロダクトコンフィギュレーションを有するRASのために、ある地理的位置に対して構築してもよい。このような実施形態において、ある地理的位置に対するサービスプールを、新たなRASのために、この新たなRASのプロダクトコンフィギュレーションに対して定められた地理的位置に既存のサービスプールがない場合に、作成してもよい。   In some embodiments, service pools may be constructed for specific geographic locations (e.g., geographic regions). The geographical position may be determined based on the geographical position of the data center. Service pools may be built for geographic locations for legal and / or compliance reasons. A service pool may be constructed for a geographic location if the service pool is not built for this geographic location. In some embodiments, service pools built at certain geographic locations may be further defined based on product configuration. For example, service pools may be built for certain geographic locations for RAS with specific product configurations. In such an embodiment, if there is no existing service pool in the geographic location defined for this new RAS product configuration for the new RAS, then there is no service pool for that geographic location. You may create it.

顧客の要求に一致するRASを発見できないときは、顧客の要求に基づいて新たなRASをプロビジョニングすればよい。新たにプロビジョニングされたRASを適切なサービスプールに追加すればよい。サービスプールを拡大して新たなRASを含むようにすることで、顧客の需要に合うようにしてもよい。次に、新たなRASを顧客に割当てることができる。   When it is not possible to find a RAS that matches the customer's request, a new RAS can be provisioned based on the customer's request. Add the newly provisioned RAS to the appropriate service pool. The service pool may be expanded to include a new RAS to meet customer needs. The new RAS can then be assigned to the customer.

いくつかの実施形態において、プロビジョニングしたRASは、既存のサービスプールに追加しなくてもよい。たとえば、RASは、既存のサービスプールがリソース容量が原因で満杯のときは、サービスプールに追加しなくてもよい。いくつかの実施形態において、RASは、プロビジョニングしたRASのプロダクトコンフィギュレーションがサービスプールの分類に適合しないときは、サービスプールに追加しなくてもよい。既存のサービスプール内のRASは、新たなRASのコンフィギュレーションに一致しないサブスクリプションの種類または使用の種類に対して構成されている場合がある、一例において、プロビジョニングされたRASは、RASのプロダクトコンフィギュレーションが既存のサービスプールのプロダクトコンフィギュレーションと一致しないときは、既存のサービスプールに割当てなくてもよい。いくつかの実施形態において、新たに作成されたRASのプロダクトコンフィギュレーションは、この新たなRASのプロダクトコンフィギュレーションが既存のサービスプール各々のRASのプロダクトコンフィギュレーションと異なっていることが原因で、既存のサービスプール各々のプロダクトコンフィギュレーションと一致しない場合がある。このような場合は、新たなサービスプールをオンデマンドで構築してもよい。   In some embodiments, provisioned RAS may not be added to an existing service pool. For example, the RAS may not be added to the service pool when the existing service pool is full due to resource capacity. In some embodiments, the RAS may not be added to the service pool when the provisioned RAS product configuration does not fit into the service pool classification. The RAS in the existing service pool may be configured for a subscription type or usage type that does not match the new RAS configuration, in one example, provisioned RAS, RAS product configuration If the application does not match the product configuration of the existing service pool, it may not be assigned to the existing service pool. In some embodiments, the newly created RAS product configuration is existing because the product configuration of this new RAS is different from the product configuration of each of the existing service pools. It may not match the product configuration of each service pool. In such a case, a new service pool may be constructed on demand.

いくつかの実施形態において、サービスプールを特定顧客向けにして、ある顧客用のカスタムテンプレートに従って構成されたRASをサービスプールが含むようにしてもよい。この実施形態において、このようなサービスプール内のRASは、このサービスプールに対して指定された特定の顧客にだけ割当てられてもよい。   In some embodiments, the service pool may be for a specific customer, and the service pool may include RAS configured according to a custom template for a customer. In this embodiment, RASs in such a service pool may be assigned only to specific customers designated for this service pool.

いくつかの実施形態において、要求されたサービスがプロビジョニングされたか否かを判断することは、サービスプールの種類に対応するサービスプールを決定することを含み得る。サービスプールの種類は、顧客からの要求が示す情報に基づいて識別すればよい。たとえば、サービスプールの種類は、要求されたサービス、顧客によって要求されたサブスクリプションの種類(たとえばRASサブスクリプション)、要求されたサービスの使用の種類、またはこれらを組合わせたものを含み得るが、要求はこれらのうちのいずれかまたはすべてを示し得る。   In some embodiments, determining whether the requested service has been provisioned may include determining a service pool corresponding to a type of service pool. The type of service pool may be identified based on the information indicated by the request from the customer. For example, the type of service pool may include the requested service, the type of subscription requested by the customer (eg, RAS subscription), the type of use of the requested service, or a combination of these. The request may indicate any or all of these.

図8Aに示される1つの例において、TASモジュール204は、サービスプール810内の1つ以上のRAS、たとえばRAS2 814およびRAS3 816を、1つ以上の要求されたサービスについて顧客(たとえば顧客1)に割当てるために利用できるか否かを判断してもよい。TASモジュール204は、第1のサービスについて第1のRAS(たとえばRAS2 814)を顧客1に割当てる822とともに第2のサービスについて第2のRAS(たとえばRAS3 816)を顧客1に割当てる824ためのオペレーションを実現し得る。サブスクリプション830(「顧客1サブスクリプション」)等の、顧客に割当てられたサブスクリプションは、この顧客に対応付けられた記憶域において保持してもよい。いくつかの実施形態において、RASを用いてアクセスされたサービスに対応付けられた特定顧客向けデータを、そのサービスに関連するデータ(たとえば特定サービス向けデータ)に対応付けて格納してもよい。サブスクリプションを格納するためのデータ構造の例を、図8Bを参照しながら説明する。   In one example shown in FIG. 8A, the TAS module 204 may send one or more RAS in the service pool 810, eg, RAS2 814 and RAS3 816, to a customer (eg, customer 1) for one or more requested services. It may be determined whether it can be used for allocation. The TAS module 204 assigns 822 the first RAS (eg RAS2 814) to the first service for the first service and operation 824 for assigning the second RAS (eg RAS3 816) to the customer 1 for the second service. It can be realized. Subscriptions assigned to a customer, such as subscription 830 ("Customer 1 Subscription") may be held in storage associated with this customer. In some embodiments, data for a specific customer associated with a service accessed using RAS may be stored in association with data related to the service (for example, data for a specific service). An example data structure for storing subscriptions is described with reference to FIG. 8B.

RASは、顧客がこのRASの使用を終了したときにサービスプールに戻してもよい。いくつかの実施形態において、RASを、このRASの使用に関連する1つ以上の必要条件に対応付けてもよい。たとえば、この必要条件は、RASのために可能にされたリソースの使用に関連する、または、サービスへのアクセスを可能にするための期間に関連する場合がある。RASは、RASの必要条件が満たされたときにサービスプールに戻してもよい。たとえば、RAS3 816はサービスプール810に戻してもよい826。RAS3 816に対応付けられた特定サービス向けデータを記憶域において保持し、その一方で、顧客1がRAS3 816を使用することで生成された特定顧客向けデータを破棄してもよい。RASを戻すことは、このRASをサービスプールに割当てることを含み得る。いくつかの実施形態において、RASを、RASを取得したサービスプールに戻してもよい。しかしながら、RASは、サービスプールに対するRASの割当てに基づいて異なるサービスプールに戻してもよい。   The RAS may be returned to the service pool when the customer has finished using this RAS. In some embodiments, the RAS may be mapped to one or more requirements associated with the use of this RAS. For example, this requirement may relate to the use of resources enabled for RAS or to a time period to enable access to services. The RAS may be returned to the service pool when the requirements of the RAS are met. For example, RAS3 816 may be returned 826 to service pool 810. The data for specific service associated with RAS3 816 may be stored in the storage area, while the data for specific customer generated by customer 1 using RAS3 816 may be discarded. Reverting the RAS may include assigning the RAS to a service pool. In some embodiments, the RAS may be returned to the service pool that acquired the RAS. However, the RAS may revert to a different service pool based on the assignment of the RAS to the service pool.

クラウドインフラストラクチャシステム100は、割当てられたRASを正規サブスクリプション(regular subscription)(RS)に変換してもよい。RASは、このRASがRSに変換される場合にはサービスプールに戻されなくてもよい。RASは、顧客が操作するクライアント装置から受けた入力に基づいてRSに変換してもよい。いくつかの実施形態において、クラウドインフラストラクチャシステム100は、情報をクライアント装置に送ってクライアント装置が顧客を促してRASをRSに変換するための優先権を顧客が与えるようにしてもよい。RSが、顧客がRASを用いてアクセスしたサービスの使用を続行できるようにしてもよい。図8Aに示す1つの例において、RAS2 814を、顧客1が操作するクライアント装置から受けた入力に基づいてRS1 838に変換してもよい。割当てられたRASのRSへの変換を、図8Bおよび図8Cを参照しながら以下でさらに説明する。   Cloud infrastructure system 100 may convert the assigned RAS into a regular subscription (RS). The RAS may not be returned to the service pool if this RAS is converted to RS. The RAS may be converted to RS based on the input received from the client device operated by the customer. In some embodiments, the cloud infrastructure system 100 may send information to the client device so that the client device gives the client the priority to prompt the customer to convert the RAS to RS. The RS may allow the customer to continue using the services accessed using the RAS. In one example shown in FIG. 8A, RAS2 814 may be converted to RS1 838 based on input received from a client device operated by customer 1. Conversion of the assigned RAS to RS is further described below with reference to FIGS. 8B and 8C.

顧客に割当てられサービスプールに戻されたRASを、要求されたサービスのために顧客に割当ててもよい。顧客は、以前にRASが割当てられた顧客と同一であっても異なる顧客であってもよい。図8Aを参照しながら説明した先の例で説明すると、RAS3 816がサービスプール810に戻されると、RAS3 816を、別の顧客(たとえば顧客2)に割当てる828ことができる。サブスクリプション850(「顧客2サブスクリプション」等の顧客2に割当てたサブスクリプションは、この顧客に対応付けられた記憶域において保持してもよい。RAS3 816に対応付けられた特定サービス向けデータは、RAS3 816がサービスプール810に戻され顧客2に割当てられた後に保持してもよい。RAS3 816を用いたサービスへのアクセスに基づいて生成された特定顧客向けデータは、RAS3 816に対応付けられた特定サービス向けデータに対応付けて格納してもよい。RAS3 816は、サービスプール816に戻してもRSに変換してもよい。図8Aの例において、RAS3 816は、RS1 856に変換されてもよい854。この場合は、RAS3 816がサービスプール810に戻されていないので、RAS3 816を顧客に再度割当てるために利用することはできない。RAS3 816をRS1 856に変換することにより、顧客2が生成した特定顧客向けデータをRS1 856について使用するために保持してもよい。   The RAS assigned to the customer and returned to the service pool may be assigned to the customer for the requested service. The customer may be the same or a different customer than the one to whom RAS was previously assigned. As described in the previous example described with reference to FIG. 8A, once RAS3 816 is returned to service pool 810, RAS3 816 may be assigned 828 to another customer (e.g., customer 2). The subscriptions assigned to customer 2 such as subscription 850 (“customer 2 subscription”) may be held in the storage area associated with this customer. The data for specific service associated with RAS 3 816 is It may be held after RAS3 816 is returned to service pool 810 and assigned to customer 2. Data for a specific customer generated based on access to a service using RAS 3 816 is mapped to RAS 3 816. It may be stored in association with data for a specific service, RAS3 816 may be returned to the service pool 816, or may be converted to RS In the example of FIG. 854. In this case, RAS3 816 is returned to service pool 810 It is not possible to use RAS3 816 to reassign customers to customers, and by converting RAS3 816 to RS1 856, the customer-specific data generated by customer 2 is retained for use with RS1 856. It is also good.

次に図8Bを参照して、本発明のいくつかの実施形態に従う再使用可能な匿名サブスクリプションを実現するためのデータ構造の一例が示されている。1つ以上のデータ構造をクラウドインフラストラクチャシステム100によって実現することにより、サブスクリプションに関連するデータを格納し得る。データ構造の例は、連結リスト、テーブル、アレイ、ハッシュテーブル、グラフ等を含むが、これらに限定されるものではない。   Referring now to FIG. 8B, an example of a data structure for implementing reusable anonymous subscriptions in accordance with some embodiments of the present invention is shown. Data associated with the subscription may be stored by implementing one or more data structures with the cloud infrastructure system 100. Examples of data structures include, but are not limited to, linked lists, tables, arrays, hash tables, graphs, and the like.

RAS870は、RASに関する情報を格納できるデータ構造の一例である。RAS870は、サービスプールのために割当てられたメモリに格納してもよい。図8Bの例において、RAS870は1つのRASに関するデータとともに示されている。しかしながら、RAS870は1つ以上のRASに関する情報を格納できる。RASについての1つ以上のデータ構造をモジュール式で実現することにより、複数の顧客がRASを使用できるようにする軽量変換プロセスを容易にしてもよい。   The RAS 870 is an example of a data structure that can store information related to the RAS. The RAS 870 may be stored in memory allocated for the service pool. In the example of FIG. 8B, RAS 870 is shown with data for one RAS. However, RAS 870 can store information regarding one or more RAS. The modular implementation of one or more data structures for the RAS may facilitate a lightweight transformation process that allows multiple customers to use the RAS.

RAS870は、RASに対してプロビジョニングされたサービスに対応するデータ(たとえば特定サービス向けデータ872)を含み得る。特定サービス向けデータ872は、RASに対して可能にされたサービスの提供に関連するデータを含み得る。特定サービス向けデータ872は、さまざまな顧客が再使用できるよう、顧客中立でもよい。たとえば、特定サービス向けデータ872は、RAS870に対応するRASが提供するプロダクト(たとえばサービスまたはコンポーネント)に関連する特定プロダクト向けメタデータを含み得る。   The RAS 870 may include data corresponding to the service provisioned for the RAS (eg, data for a specific service 872). The service-specific data 872 may include data related to the provision of services enabled for the RAS. The data for specific service 872 may be customer-neutral so that various customers can reuse it. For example, the service-specific data 872 may include product-specific metadata associated with a product (eg, a service or a component) provided by the RAS corresponding to the RAS 870.

いくつかの実施形態において、特定サービス向けデータ872は、サブスクリプションに対して提供されるサービスのコンフィギュレーション(たとえばリソースの物理コンフィギュレーション)を示していてもよい。コンフィギュレーションは、サービスに対して有効または無効にされる1つ以上のコンポーネント(たとえば特徴)等のリソース制約を示していてもよい。コンフィギュレーションは、サービスまたはサービスに対応付けられたプロダクトの種類に関するテンプレートに基づいて決定してもよい。いくつかの実施形態において、このコンフィギュレーションは、顧客の好みに基づき得る正規サブスクリプションのコンフィギュレーション(たとえば購入されたコンフィギュレーション)とは異なり、包括的なプロダクトテンプレートに基づいていてもよい。   In some embodiments, the service-specific data 872 may indicate the configuration of services provided to the subscription (eg, physical configuration of resources). The configuration may indicate resource constraints, such as one or more components (eg, features) that are enabled or disabled for the service. The configuration may be determined based on the service or a template regarding the type of product associated with the service. In some embodiments, this configuration may be based on a generic product template as opposed to a regular subscription configuration (eg, purchased configuration) that may be based on customer preferences.

いくつかの実施形態において、特定サービス向けデータ872は、RASに関連する情報を含み得る。他の情報のうち、特定サービス向けデータ872は、サブスクリプションの名称および/またはサブスクリプションの識別子のように、サブスクリプションを特定し得る。特定サービス向けデータ872は、匿名のユーザに関連する顧客情報を含み得る。たとえば、特定サービス向けデータ872は、RAS870が割当てられたゲストに関する情報を含むデータ構造(たとえばゲスト顧客アイデンティティオブジェクト864)に対するリファレンスを含み得る。特定サービス向けデータ872は、契約情報を含み得る。RASは複数の顧客が再使用できるよう、有効開始日および/または終了日を有していなくてもよい。これに対し、正規サブスクリプションには、この正規サブスクリプションを顧客が購入した有効開始日および/または終了日が割当てられていてもよい。   In some embodiments, the service-specific data 872 may include information related to the RAS. Among other information, the service-specific data 872 may identify the subscription, such as the name of the subscription and / or the identifier of the subscription. The service-specific data 872 may include customer information associated with the anonymous user. For example, the service-specific data 872 may include a reference to a data structure (eg, a guest customer identity object 864) that includes information about the guest assigned the RAS 870. The data for specific service 872 may include contract information. The RAS may not have an effective start date and / or an end date so that multiple customers can reuse it. On the other hand, the regular subscription may be assigned an effective start date and / or an end date at which the customer purchased the regular subscription.

特定顧客向けデータ872は、RASに対するサポートの種類を示していてもよい。RASは正規サブスクリプションに変換されるまでは限定された容量で使用される場合があるので、RASは正規サブスクリプションとは異なるサポートのレベルを有効にし得る。たとえば、RASが割当てられた顧客には包括レベルのサポートを提供してもよく、一方、正規サブスクリプションを購入した顧客にはプレミアムレベルのサポートを提供してもよい。   Customer-specific data 872 may indicate the type of support for RAS. RAS may enable different levels of support than regular subscriptions, as RAS may be used in limited capacity until converted to regular subscriptions. For example, a customer assigned a RAS may be provided with a comprehensive level of support, while a customer who has purchased a full subscription may be provided with a premium level of support.

いくつかの実施形態において、特定サービス向けデータ872は、RASを用いて実行し得るオペレーションを示していてもよい。たとえば、特定サービス向けデータ872は、RASを用いてテストを実行することによってRASが提供するサービスが顧客のワークフローをサポートできるか否かを判断できることを示していてもよい。これに加えてまたはこれに代えて、RASは、顧客がサービスを実演するおよび/または顧客がサービスを1以上の競合者が提供する同様のサービスと比較することを可能にするといった他の用途を提供してもよい。   In some embodiments, the service-specific data 872 may indicate operations that may be performed using the RAS. For example, the service-specific data 872 may indicate that the service provided by the RAS can be used to support the customer's workflow by performing a test using the RAS. Additionally or alternatively, the RAS allows other applications, such as allowing the customer to demonstrate the service and / or to compare the service to a similar service provided by one or more competitors. May be provided.

RAS870が顧客に割当てられる840と、クラウドインフラストラクチャシステム100は、データ構造874を維持してもよい(割当てられたRAS)。RAS870は、割当てられたRAS874として格納してもよい。RASを割当てることは、RAS870の位置を顧客に対応付けられた記憶域にある新たな位置に移すことを含み得る。これに代えて、割当てられたRAS874は、記憶域において、RAS870に対するリファレンスを含んでいてもよい。いくつかの実施形態において、割当てられたRAS874を、RAS870内のデータを含む異なるデータ構造として実現してもよい。いくつかの実施形態において、データ構造(たとえばマッピングテーブルまたはハッシュテーブル)をRAS874に加えて実現することにより、顧客に対応付けられた、各々割当てられたRAS874に対するリファレンスを格納してもよい。   Once the RAS 870 is assigned 840 to the customer, the cloud infrastructure system 100 may maintain the data structure 874 (assigned RAS). The RAS 870 may be stored as an assigned RAS 874. Assigning the RAS may include moving the location of the RAS 870 to a new location in storage associated with the customer. Alternatively, assigned RAS 874 may include a reference to RAS 870 in storage. In some embodiments, assigned RAS 874 may be implemented as a different data structure, including data in RAS 870. In some embodiments, a data structure (eg, a mapping table or hash table) may be implemented in addition to RAS 874 to store a reference to each assigned RAS 874 associated with a customer.

顧客に割当てられているが、割当てられたRAS870内の特定顧客向けデータ872は、RASサブスクリプションがまだ変換されていないので、匿名の顧客アイデンティティを含み得る。たとえば、特定サービス向けデータ872は、ゲストに関するアイデンティティ情報を格納しているデータ構造864に対するリファレンス(ゲスト顧客アイデンティティオブジェクト)を示し得る。いくつかの実施形態において、ゲスト顧客アイデンティティオブジェクト864は、ゲストの名前、コンタクト情報等のゲストに関する情報を含み得る。   The customer-specific data 872 assigned to the customer but assigned in the RAS 870 may include an anonymous customer identity as the RAS subscription has not yet been converted. For example, the service-specific data 872 may indicate a reference (guest customer identity object) to a data structure 864 storing identity information about the guest. In some embodiments, guest customer identity object 864 may include information about the guest such as the guest's name, contact information, and the like.

割当てられたRAS874は、修正されて、RAS870が割当てられた顧客に対する特定顧客向けデータ876を格納してもよい。特定顧客向けデータ876は、RAS870に対応するRASを用いてアクセスするサービスの使用に対応するデータを含み得る。特定顧客向けデータ876は、サービスにアクセスするために使用するアプリケーションに基づいていてもよい。たとえば、特定顧客向けデータ876は、あるサービスに対するサブスクリプションがアクセスした販売クラウドサービスに対応する顧客メールボックスを含み得る。別の例において、特定顧客向けデータ876は、データベースサービスの使用によって生成されたテーブルを含み得る。別の例において、特定顧客向けデータ876は、RASを用いてアクセスしたオブジェクトストレージサービスのための記憶オブジェクトを含み得る。いくつかの実施形態において、実際の特定顧客向けデータは別の特定サービス向けリポジトリに格納してもよく、特定顧客向けデータ876は、特定サービス向けリポジトリに格納された特定顧客向けデータに対するリファレンスを格納してもよい。   The assigned RAS 874 may be modified to store customer specific data 876 for the customer to which the RAS 870 has been assigned. Customer-specific data 876 may include data corresponding to the use of a service accessed using RAS corresponding to RAS 870. Customer-specific data 876 may be based on the application used to access the service. For example, customer-specific data 876 may include a customer mailbox corresponding to a sales cloud service accessed by a subscription for a service. In another example, customer-specific data 876 may include a table generated by use of a database service. In another example, customer-specific data 876 may include storage objects for object storage services accessed using RAS. In some embodiments, actual customer-specific data may be stored in another customer-specific repository, and customer-specific data 876 stores a reference to customer-specific data stored in the customer-specific repository. You may

クラウドインフラストラクチャシステム100は、RASを正規サブスクリプション(RS)に変換する変換プロセス842(たとえば軽量パーソナリティ注入プロセス)を実現してもよい。たとえば、RAS874に対応するRASを、データ構造878によって表わされるRSに変換してもよい。変換プロセス842は、割当てられたRAS874に対応するサブスクリプションの種類を変更することを含み得る。たとえば、RS878は、割当てられたRAS874に対応するRASの期間と異なる正規サブスクリプションとしての期間(たとえば延長された期間)を除いて、割当てられたRAS874が提供するのと同じサービスへのアクセスを示していてもよい。変換プロセス842は、割当てられたRAS874内の情報をRS878に格納してもよい。いくつかの実施形態において、割当てられたRAS874の記憶域を更新して割当てられたRAS874がRSたとえばRS878であることを示してもよい。   Cloud infrastructure system 100 may implement a conversion process 842 (eg, a lightweight personality injection process) that converts the RAS to a regular subscription (RS). For example, the RAS corresponding to RAS 874 may be converted to the RS represented by data structure 878. The conversion process 842 may include changing the type of subscription corresponding to the assigned RAS 874. For example, RS 878 indicates access to the same service provided by the assigned RAS 874 except for the duration of the RAS as corresponding to the assigned RAS 874 and the period as a regular subscription (eg, an extended period) It may be The conversion process 842 may store the information in the assigned RAS 874 in the RS 878. In some embodiments, the storage of assigned RAS 874 may be updated to indicate that the assigned RAS 874 is RS, eg, RS 878.

変換プロセス842は、顧客に割当てられたサブスクリプションを変換したサブスクリプション(たとえば正規サブスクリプション)のアカウント情報(たとえばアカウントフットプリント)を決定することを含み得る。たとえば、クラウドインフラストラクチャシステム100のオーダー管理モジュール214は、顧客のアカウント情報を決定してもよい。アカウント情報を決定することは、顧客のアカントを作成することを含み得る。アカウントは、顧客のアイデンティティ情報に基づいて既存のアカウントが発見されないときに作成されてもよい。既存のアカウントが発見されたときは、既存のアカウントを更新して変換後のサブスクリプションへのアクセスを可能にしてもよい。よって、変換されたサブスクリプションに対応するアカウント情報を用いてRS878内の特定サービス向けデータ872を更新してもよい。   The conversion process 842 may include determining account information (e.g., an account footprint) of the subscription (e.g., a regular subscription) that has converted the subscription assigned to the customer. For example, order management module 214 of cloud infrastructure system 100 may determine customer account information. Determining account information may include creating a customer account. An account may be created when an existing account is not found based on the customer's identity information. When an existing account is found, the existing account may be updated to allow access to the converted subscription. Thus, the service-specific data 872 in the RS 878 may be updated using the account information corresponding to the converted subscription.

変換プロセス842は、顧客情報をRS878に対応付けて格納すること(たとえばパーソナリティ情報を注入すること)を含み得る。RS878は、割当てられたRAS874に対応付けられた顧客の顧客アイデンティティ情報に対応付けられてもよくこれを参照してもよい。クラウドインフラストラクチャシステム100では、顧客のアイデンティティに関する情報をデータ構造866(顧客アイデンティティオブジェクト)に格納してもよい。図8Bに示される例において、RS878は、割当てられたRAS874に対応付けられた顧客を識別する顧客アイデンティティオブジェクト866へのリファレンスを示していてもよい。顧客に対応付けられたその他のサブスクリプション(たとえば他のRAS)は、顧客アイデンティティオブジェクト866へのリファレンスを格納していてもよい。顧客アイデンティティオブジェクト(たとえば顧客アイデンティティオブジェクト866)は、顧客に関する情報を示すデータを含み得る。このデータは、顧客のアイデンティティ(たとえば名前またはユーザ識別子)、顧客のコンタクト情報、顧客の課金情報、その他の顧客関連情報、またはこれらを組合わせたものを示し得る。   The conversion process 842 may include storing customer information in association with the RS 878 (eg, injecting personality information). The RS 878 may be associated with the customer's customer identity information associated with the assigned RAS 874 and may refer to it. In cloud infrastructure system 100, information regarding the identity of the customer may be stored in data structure 866 (customer identity object). In the example shown in FIG. 8B, RS 878 may indicate a reference to a customer identity object 866 that identifies the customer associated with the assigned RAS 874. Other subscriptions associated with the customer (eg, other RAS) may store a reference to the customer identity object 866. The customer identity object (eg, customer identity object 866) may include data indicative of information regarding the customer. This data may indicate the customer's identity (e.g., name or user identifier), customer's contact information, customer's billing information, other customer-related information, or a combination of these.

いくつかの実施形態において、変換プロセス842は、ゲスト顧客アイデンティティオブジェクト864を、顧客アイデンティティオブジェクト866内の情報で更新することを含み得る。オブジェクトに対するリファレンスを用いることによって顧客のアイデンティティに関する情報を象徴的に格納してRASからRSへの変換に要する処理時間を短縮してもよい。これに代えて、特定サービス向けデータ872からゲスト顧客アイデンティティオブジェクト864に対するリファレンスを更新することにより、顧客アイデンティティオブジェクト866に対するリファレンスを示してもよい。   In some embodiments, conversion process 842 may include updating guest customer identity object 864 with information in customer identity object 866. Information on the identity of the customer may be stored symbolically by using a reference to the object to reduce the processing time required to convert from RAS to RS. Alternatively, the reference to the customer identity object 866 may be shown by updating the reference to the guest customer identity object 864 from the service specific data 872.

変換プロセス842は、顧客について、RAS(たとえば割当てられたRAS874)から変換された正規サブスクリプション(たとえばRS878)に関する契約を決定することを含み得る。たとえば、オーダー管理モジュール214は、処理を実行することにより、RS878が提供するサブスクリプションの種類に関する契約を決定してもよい。契約を決定することは、サブスクリプション期間とRS878が提供する1つ以上の資格に関する資格情報を決定することを含み得る。この契約は、顧客に正規プロダクトサポートを受ける資格を与えるといった、正規サブスクリプションに対応付けることができる契約条件に顧客を従わせてもよい。上記条件は、支払ったサブスクリプションに一致するサービスの使用期間を示していてもよい。RASから変換された正規サブスクリプションは、RASが提供する割当て限度よりも大きい使用割当て限度を顧客に提供し得る。   Conversion process 842 may include determining, for the customer, a contract for a regular subscription (eg, RS 878) converted from RAS (eg, assigned RAS 874). For example, the order management module 214 may perform processing to determine a contract for the type of subscription provided by the RS 878. Determining the contract may include determining qualification information regarding the subscription period and one or more qualifications that RS 878 provides. This contract may cause the customer to comply with terms and conditions that can be associated with a regular subscription, such as enforcing the customer with qualifying product support. The above conditions may indicate the usage period of the service matching the paid subscription. Regular subscriptions converted from RAS may provide customers with usage quotas that are larger than the quotas provided by RAS.

変換プロセス842は、クラウドインフラストラクチャシステム100のサポートシステム217内にサポート情報を構築することをさらに含んでいてもよい。顧客に割当てられた正規サブスクリプション(たとえばRS878)に関するアカント情報をサポートシステムに与えることにより、正規サブスクリプションが提供するサポート(たとえば正規プロダクトサポート)を顧客が受けられるようにしてもよい。   The conversion process 842 may further include building support information within the support system 217 of the cloud infrastructure system 100. Providing the support system with account information on the regular subscription (eg, RS 878) assigned to the customer may allow the customer to receive the support (eg, regular product support) provided by the regular subscription.

いくつかの実施形態において、変換プロセス842は、顧客のアカウント情報をTAS204および物理プロビジョニング層に注入することを含んでいてもよい。たとえば、RAS204は、サブスクリプションフットプリントおよびアイデンティティドメインに、顧客アカウント番号をタグ付けする。   In some embodiments, conversion process 842 may include injecting customer account information into TAS 204 and the physical provisioning layer. For example, RAS 204 tags the subscription footprint and identity domain with a customer account number.

図8Cは、さまざまな実施形態に従う再使用可能な匿名サブスクリプションのライフサイクルを管理するプロセスのフローチャート880である。いくつかの実施形態において、フローチャート880が示すプロセスは、サービスインフラストラクチャシステム(たとえばクラウドインフラストラクチャシステム100)のすべてまたは一部によって実現し得る。   FIG. 8C is a flowchart 880 of a process of managing the life cycle of reusable anonymous subscriptions in accordance with various embodiments. In some embodiments, the process illustrated by flowchart 880 may be implemented by all or part of a service infrastructure system (eg, cloud infrastructure system 100).

図8Cを参照しながら説明する処理は、1つ以上のプロセッサによって実行されるソフトウェア(たとえばコード、命令、プログラム)、ハードウェア、またはこれらの組合わせによって実現し得る。ソフトウェアは、(たとえばメモリデバイス、非一時的なコンピュータ読取可能な記憶媒体上の)メモリに格納されていてもよい。図8Cに示される特定の一連の処理ステップは、限定を意図したものではない。代替の実施形態に従いその他のステップのシーケンスが実行されてもよい。たとえば、本発明の代替の実施形態は、先に概要を説明したステップを他の順序で実行する場合がある。加えて、図8Cに示される個々のステップは、この個々のステップに応じて適宜さまざまなシーケンスで実行されてもよい複数のサブステップを含み得る。さらに、特定のアプリケーションに応じてその他のステップを追加または削除してもよい。当業者は数多くの変形例、修正例、および代替例を認識するであろう。フローチャート880に示されるプロセスは、ブロック882から始まる。   The process described with reference to FIG. 8C may be implemented by software (eg, code, instructions, programs) 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 sequence of process steps shown in FIG. 8C is not intended to be limiting. Other sequences of steps may be performed according to alternative embodiments. For example, alternative embodiments of the present invention may perform the steps outlined above in other orders. In addition, the individual steps shown in FIG. 8C may include a plurality of sub-steps that may be performed in various sequences as appropriate depending on the individual step. In addition, other steps may be added or deleted depending on the particular application. One of ordinary skill in the art would recognize many variations, modifications, and alternatives. The process shown in flowchart 880 begins at block 882.

ブロック882において、1つ以上のサービスがサービスインフラストラクチャシステム(たとえば図1のクラウドインフラストラクチャシステム100)に提供される。サービスインフラストラクチャシステムは、マルチテナント環境を含み得るまたは実現し得る。サービスの例は、CRMサービス、HCMサービス、Java(登録商標)サービス、またはその他の計算サービスを含み得る。   At block 882, one or more services are provided to a service infrastructure system (eg, cloud infrastructure system 100 of FIG. 1). The service infrastructure system may include or implement a multi-tenant environment. Examples of services may include CRM services, HCM services, Java services, or other computing services.

プロビジョニングされたサービスのうちの各サービスに、特定サービス向けデータ(たとえば図8Bの特定サービス向けデータ872)を対応付けてもよい。あるサービスに対応する特定サービス向けデータは、このサービスのコンフィギュレーションを示していてもよい。このコンフィギュレーションは、サービスを提供するために割当てられた1つ以上のリソースを含み得る。   Data for specific service (for example, data for specific service 872 in FIG. 8B) may be associated with each service of the provisioned services. The data for specific service corresponding to a certain service may indicate the configuration of this service. This configuration may include one or more resources assigned to provide services.

いくつかの実施形態において、1つ以上のサービスを提供することは、サービスのうちの1つへのアクセス要求を顧客から受ける前に、サービスインフラストラクチャシステムにおいてサービスのうちの1つ以上をプロビジョニングすることを含む。サービスは、1つ以上の基準に基づいてプロビジョニングしてもよい。たとえば、サービスは、サービスインフラストラクチャシステムのオペレーションに関連する1つ以上のメトリックに基づいてプロビジョニングしてもよい。別の例において、サービスを、サービスに対する需要に対応付けられた1つ以上のメトリックに基づいてプロビジョニングしてもよい。他の例において、サービスを、サービスの種類に対応付けられた1つ以上のメトリックに基づいてプロビジョニングしてもよい。   In some embodiments, providing one or more services provisions one or more of the services in the service infrastructure system prior to receiving a request for access to one of the services from the customer. Including. Services may be provisioned based on one or more criteria. For example, services may be provisioned based on one or more metrics associated with the operation of the service infrastructure system. In another example, services may be provisioned based on one or more metrics associated with the demand for services. In another example, services may be provisioned based on one or more metrics associated with the type of service.

いくつかの実施形態において、1つ以上のサービスプールを作成することにより、既にプロビジョニングされているサービスへのアクセスを提供してもよい。先に説明したように、サービスインフラストラクチャシステムは、複数のサービスプールを維持し得る。1つのサービスプールは、複数のサブスクリプションを含み得る。複数のサブスクリプションは各々、サービスインフラストラクチャシステムが提供する少なくとも1つのサービスに対応付けられていてもよい。一例において、サービスプールは、複数のRASサブスクリプションを提供し得る。いくつかの実施形態において、サービスの種類、サービスプールによって利用できるようにされるサービスに対してプロビジョニングされるリソース、サブスクリプションの種類等に基づいて、サービスプールを対応付けてもよくまたは分類してもよい。サービスプール内のサブスクリプションに対応するサービスは、このサービスの要求がなされる前に、サービスインフラストラクチャシステムによって既にプロビジョニングされていてもよい。   In some embodiments, creating one or more service pools may provide access to services that have already been provisioned. As described above, a service infrastructure system may maintain multiple service pools. One service pool may include multiple subscriptions. Each of the plurality of subscriptions may be associated with at least one service provided by the service infrastructure system. In one example, a service pool may provide multiple RAS subscriptions. In some embodiments, the service pool may be associated or classified based on the type of service, the resources provisioned for the service made available by the service pool, the type of subscription, etc. It is also good. The services corresponding to the subscriptions in the service pool may have already been provisioned by the service infrastructure system before this service request is made.

顧客によるサービスへのアクセス要求を、ブロック884で受ける。たとえば、要求802はクライアント装置224から受ける場合がある。要求は、要求されているサービスの必要条件を示していてもよい。たとえば、要求は、要求されているサービスの使用の種類を示す情報を含んでいてもよい。サービスインフラストラクチャシステムが、使用の種類を用いて、顧客が要求するサービスを判断してもよい。   A request for access to a service by a customer is received at block 884. For example, request 802 may be received from client device 224. The request may indicate the requirements of the service being requested. For example, the request may include information indicating the type of use of the service being requested. The service infrastructure system may use the type of use to determine the service that the customer requires.

さまざまな局面において、顧客がサービスを要求したとき、クライアント装置のユーザインターフェイスにおいて、さまざまなオプションをクライアントに提示できる。1つのオプションは、要求されたサービスのすべてまたは一部をプロビジョニングするか否かの選択を含み得る。別のオプションは、要求されたサービスにとって望ましいサブスクリプションの種類(たとえばRASサブスクリプションまたは生産サブスクリプション)を含み得る。   In various aspects, various options can be presented to the client at the client device user interface when the customer requests a service. One option may include the choice of whether to provision all or part of the requested service. Another option may include the type of subscription (eg, RAS subscription or production subscription) desired for the requested service.

ブロック886で、処理を実行することにより、要求されたサービスが、サービスインフラストラクチャシステムのサービスプール(たとえばサービスプール810)内のサブスクリプションに対してプロビジョニングされているか否かを判断する。処理を実行することにより、1つ以上のサービスプール内の利用できるサブスクリプション(たとえばRAS)を分析し、利用できるサブスクリプションが要求されたサービスへのおアクセスを提供するか否かを判断してもよい。上述のように、サービスプールは複数のRASを含み得る。各RASは、このRASが利用できる場合に顧客に割当てることができる。各RASを検査することにより、このRASが提供するリソースおよび/またはサービスを判断してもよい。RAS等のサブスクリプションは、要求から判断される情報(たとえば、顧客が要求するサブスクリプションの種類、要求されたサービスの使用の種類、要求されたサービスの期間、またはこれらを組合わせたもの)に一部基づいて、サービスプール内で特定できる。サービスプール内の各サブスクリプションに対応する特定サービス向けデータを処理することにより、顧客によって要求されたサービスのためのサブスクリプションの種類(たとえばRASサブスクリプション)のサブスクリプションを特定してもよい。   At block 886, execution of the process determines whether the requested service is provisioned for a subscription in a service infrastructure system's service pool (eg, service pool 810). By performing processing, analyze available subscriptions (eg, RAS) in one or more service pools and determine whether the available subscriptions provide access to the requested service. It is also good. As mentioned above, a service pool may include multiple RASs. Each RAS can be assigned to a customer when this RAS is available. By examining each RAS, the resources and / or services provided by this RAS may be determined. Subscriptions, such as RAS, are subject to information determined from the request (for example, the type of subscription requested by the customer, the type of use of the requested service, the duration of the requested service, or a combination of these). Can be identified within the service pool based in part. By processing service-specific data corresponding to each subscription in the service pool, a subscription of the type of subscription (eg, RAS subscription) for the service requested by the customer may be identified.

要求されたサービスがプロビジョニングされたと判断することは、要求されたサービス等のサービスのためのサブスクリプションと提供する複数のサービスプールから1つのサービスプールを決定することを含み得る。いくつかの実施形態において、サービスプールを指定することにより、ある種類のサービスのための1つ以上のサブスクリプション(たとえば1つ以上のRAS)を提供してもよい。このため、サービスプールを決定することは、要求されたサービスにアクセスするためのRASを提供し得るサービスプールを特定することを含み得る。特定されたサービスプールを検査することにより、これらのサービスプール内のいずれかのRASが、要求されたサービスへのアクセスを有効にするか否かを判断してもよい。   Determining that the requested service has been provisioned can include determining a service pool from a plurality of service pools that provide and subscribe to the service, such as the requested service. In some embodiments, specifying a service pool may provide one or more subscriptions (eg, one or more RASs) for certain types of services. Thus, determining the service pool may include identifying a service pool that may provide a RAS for accessing the requested service. By examining the identified service pools, it may be determined whether any RAS in these service pools will enable access to the requested service.

いくつかの実施形態において、複数のサービスプールから1つのサービスプールを決定することは、ユーザによって要求されたサービスに対するサブスクリプションの、少なくとも1つのサービスプール内における可用性に基づいていてもよい。たとえば、サービスプールの種類に基づいて、複数のサービスプールの中から1つのサービスプールを決定してもよい。サービスプールの種類は、顧客からの要求(たとえばブロック884で受けた要求)が示す情報に基づいて判断されてもよい。たとえば、サービスプールの種類を、要求されたサービス、顧客によって要求されたサブスクリプションの種類(たとえばRASサブスクリプション)、要求されたサービスの使用の種類、またはこれらを組合わせたものに基づいて、判断してもよく、これらのうちのいずれかまたは全てを要求が示していてもよい。   In some embodiments, determining one service pool from a plurality of service pools may be based on the availability within at least one service pool of a subscription for the service requested by the user. For example, one service pool may be determined from a plurality of service pools based on the type of service pool. The type of service pool may be determined based on the information indicated by the request from the customer (eg, the request received at block 884). For example, the type of service pool may be determined based on the requested service, the type of subscription requested by the customer (eg, RAS subscription), the type of use of the requested service, or a combination of these. The request may indicate any or all of these.

ブロック888で、要求されたサービスへのアクセスのためのサブスクリプションを、サービスプール(たとえばブロック886で決定したサービスプール)から顧客に割当ててもよい。たとえば、図8AのRAS3 816は顧客1に割当ててもよい824。RASサブスクリプション等のサブスクリプションが顧客に割当てられた場合、このサブスクリプションに関連するデータ、たとえばRASに含まれる特定サービス向けデータ)を、顧客に割当てられたサブスクリプションに関する情報に対応付けて格納してもよい。たとえば、図8BのRAS870を、RAS874が割当てられた顧客に割当ててもよい。この例において、特定サービス向けデータ872を、割当てられたRASサブスクリプションに対して格納された、割当てられたRAS874とともに格納してもよい。要求されたサービスのためのサブスクリプションをサービスプールから顧客に割当てることは、このサービスプールからこのサブスクリプションを削除することを含み得る。   At block 888, a subscription for access to the requested service may be assigned to the customer from the service pool (eg, the service pool determined at block 886). For example, RAS3 816 of FIG. 8A may be assigned to customer 1 824. When a subscription such as a RAS subscription is assigned to a customer, data associated with the subscription, for example, data for a specific service included in the RAS, is stored in association with information on the subscription assigned to the customer. May be For example, RAS 870 of FIG. 8B may be assigned to customers assigned RAS 874. In this example, the service-specific data 872 may be stored with the assigned RAS 874 stored for the assigned RAS subscription. Assigning the subscription for the requested service from the service pool to the customer may include removing the subscription from the service pool.

いくつかの実施形態において、サービスプール内のサブスクリプション(たとえばRASサブスクリプション)の可用性を、顧客からの需要に基づいて変更してもよい。よって、要求されたサービスへのアクセスのためのサブスクリプション(たとえばRASサブスクリプション)は、要求を受けたときに利用できない場合がある。いくつかの実施形態において、顧客から要求されたサービスに、このサービスへのアクセスのためのサブスクリプションがサービスプールに戻されたときに(たとえばサービスのためのサブスクリプションが顧客からサービスプールに再度割当てられたときに)、決定したサービスプールから顧客に割当ててもよい。   In some embodiments, the availability of subscriptions (eg, RAS subscriptions) in a service pool may be changed based on demand from customers. Thus, a subscription for access to the requested service (e.g., a RAS subscription) may not be available when the request is received. In some embodiments, when a service requested by a customer is returned to the service pool with a subscription for access to this service (eg, a subscription for a service is reassigned from the customer to the service pool) May be assigned to customers from the determined service pool).

ブロック890で、顧客(たとえばサービスを要求した顧客)に対応する特定顧客向けデータを、要求されたサービスに対応する特定サービス向けデータに対応付けてもよい。上述のように、特定顧客向けデータは、サービス(たとえばサブスクリプションが提供するサービス)の使用によって生成されたデータを含む。特定顧客向けデータは、生成されたときに、このデータを生成するのに使用されたサービスへのアクセスを提供するサブスクリプションのための特定サービス向けデータに対応付けて格納してもよい。少なくとも1つの例において、割当てられたRAS874に対応するサブスクリプションが提供するサービスの使用に関連する特定顧客向けデータ876を、割当てられたRAS874内の特定サービス向けデータに対応付けて格納してもよい。   At block 890, data for a particular customer corresponding to a customer (e.g., the customer who requested the service) may be associated with data for a particular service corresponding to the requested service. As mentioned above, customer-specific data includes data generated by the use of a service (eg, a service provided by a subscription). The customer-specific data, when generated, may be stored in association with the data-specific data for a subscription that provides access to the service used to generate the data. In at least one example, customer-specific data 876 related to the use of the service provided by the subscription corresponding to the assigned RAS 874 may be stored in association with the data for service-specific in the assigned RAS 874 .

特定顧客向けデータをRASのための特定サービス向けデータに対応付けて格納することにより、特定顧客向けデータを、RASが正規サブスクリプションに変換された場合にRASが提供するサービスのために保存してもよい。さらに、特定顧客向けデータを特定サービス向けデータに対応付けることで、RASサービスへのアクセスが修正されたときの特定顧客向けデータの損失を防止してもよい。特定顧客向けデータを、RASサブスクリプションから正規サブスクリプション(たとえば生産サブスクリプション)まで、このRASサブスクリプションが変換されてアクセスを異なるサブスクリプションに対して拡大する場合は、維持してもよい。   By storing data for specific customer in association with data for specific service for RAS, the data for specific customer is stored for the service provided by RAS when RAS is converted to a regular subscription. It is also good. Furthermore, the data for specific customer may be associated with the data for specific service to prevent the loss of data for specific customer when the access to the RAS service is modified. Customer-specific data may be maintained as this RAS subscription is converted to extend access to different subscriptions from RAS subscription to regular subscription (eg, production subscription).

処理を実行することにより、顧客のためのサブスクリプション(たとえばRASサブスクリプション)を変換するか否かを判断する。サブスクリプションは、図8Bを参照しながら説明した変換プロセス842等の変換プロセス(たとえば軽量パーソナリティ注入プロセス)によって変換してもよい。この変換プロセスは、サブスクリプション(たとえばブロック888で割当てられたサブスクリプション)が前に提供したサービスにアクセスするために顧客に割当てられるサブスクリプションの種類を変更することを含み得る。たとえば、サブスクリプションを正規サブスクリプションに変換してもよい。正規サブスクリプションは、サービスプールから割当てられるサブスクリプションの条件と異なる条件でサービスへのアクセスを提供し得るサブスクリプションである。   By performing the process, it is determined whether to convert a subscription for the customer (e.g., a RAS subscription). The subscriptions may be converted by a conversion process (eg, a lightweight personality injection process), such as the conversion process 842 described with reference to FIG. 8B. This conversion process may include changing the type of subscription that is assigned to the customer to access services previously provided by the subscription (e.g., the subscription assigned at block 888). For example, the subscription may be converted to a regular subscription. The regular subscription is a subscription that can provide access to the service under conditions different from the conditions of the subscription allocated from the service pool.

サブスクリプションを変換する理由は数多くあるであろう。たとえば、顧客が、ある期間サービスを使用するためにサブスクリプションを購入する希望があることを示す場合がある。別の例では、顧客が、あるサービスについて包括的なレベルのサービスサポートよりも多くのサポートを得ることを希望することを表明する場合がある。よって、この場合、顧客はサブスクリプションを、サービスに対するプレミアムサポートを提供するものに変換してもよい。   There may be many reasons to convert a subscription. For example, a customer may indicate that they want to purchase a subscription to use the service for a period of time. In another example, a customer may express that they would like to get more support for a service than a comprehensive level of service support. Thus, in this case, the customer may convert the subscription to one that provides premium support for the service.

いくつかの実施形態において、顧客に対するサブスクリプションを変換するか否かを判断することは、顧客から受けた入力に基づいていてもよい。たとえば、クラウドインフラストラクチャシステム100は、サブスクリプションを変換するか否かについての決定を示す顧客からの入力を要求してもよい。顧客は、サブスクリプションを変換するか否かを表明した入力を提供してもよい。この入力は、サブスクリプションを変換するための1つ以上の基準を示していてもよい。この基準は、サブスクリプションを変換した後のサブスクリプションの期間を示していてもよい。この基準は、料金、サービスの種類、サポートの種類、またはサブスクリプションの種類に関連するその他の基準等の、サブスクリプションに関するその他の選択を示していてもよい。いくつかの実施形態において、顧客は、ブロック884で受けた要求を入力していてもよい。この要求において、顧客は、サブスクリプションをいつどのようにして変換すべきかを示していてもよい。   In some embodiments, determining whether to convert a subscription to a customer may be based on input received from the customer. For example, cloud infrastructure system 100 may request input from a customer indicating a decision on whether to convert a subscription. The customer may provide an input stating whether to convert the subscription. This input may indicate one or more criteria for converting the subscription. This criterion may indicate the duration of the subscription after converting the subscription. The criteria may indicate other choices for the subscription, such as fees, type of service, type of support, or other criteria related to the type of subscription. In some embodiments, the customer may have entered the request received at block 884. In this request, the customer may indicate when and how to convert the subscription.

いくつかの実施形態において、顧客のためのサブスクリプションを変換するか否かの判断を、サービスインフラストラクチャシステムが行なってもよい。サービスインフラストラクチャシステムは、サービスインフラストラクチャシステムが決定した情報に基づいてサブスクリプションを他の種類のサブスクリプションに変換するか否かを判断してもよい。いくつかの実施形態において、顧客は、いつどのようにしてサブスクリプションを変換すべきかを示す1つ以上の規則を提供してもよい。たとえば、この判断はさまざまなファクタに基づいて行ない得る。これらのファクタは、サービスのためのサービスインフラストラクチャシステムのオペレーションに関連するメトリック、サービスに対する需要に対応付けられた1つ以上のメトリック、サービスの種類に対応付けてられた1つ以上のメトリック、またはこれらを組合わせたものを含むが、これらに限定されるものではない。メトリックは、顧客が提供する規則によって定められてもよい。   In some embodiments, the service infrastructure system may make a determination of whether to convert a subscription for a customer. The service infrastructure system may determine whether to convert the subscriptions into other types of subscriptions based on the information determined by the service infrastructure system. In some embodiments, the customer may provide one or more rules that indicate when and how to convert the subscription. For example, this determination may be made based on various factors. These factors may be metrics associated with the operation of the service infrastructure system for the service, one or more metrics associated with the demand for the service, one or more metrics associated with the type of service, or Although the thing which combined these is included, it is not limited to these. The metrics may be defined by the rules provided by the customer.

顧客に対するサブスクリプションを変換すると判断した場合、処理を894に進めればよい。顧客に対するサブスクリプションを変換しないと判断した場合、処理を896に進めればよい。   If it is determined to convert the subscription to the customer, the process may proceed to 894. If it is determined not to convert the subscription to the customer, the process may proceed to 896.

ブロック894で、顧客に対するサブスクリプション(たとえばブロック888で顧客に割当てられるサブスクリプション)を変換してもよい。ブロック898で、フローチャート888が示すプロセスは終了する。   At block 894, the subscription to the customer (eg, the subscription assigned to the customer at block 888) may be converted. At block 898, the process illustrated by flowchart 888 ends.

少なくとも1つの実施形態において、顧客に対するサブスクリプションは、以前にサブスクリプションが提供したサービスへのアクセスのために顧客に割当てたサブスクリプションの種類を変更することによって変換してもよい。たとえば、サブスクリプションが、サービスの期間(たとえばトライアル期間)を有するRASサブスクリプションの場合、このサービスのためのサブスクリプションの種類を、ブロック888で割当てたサブスクリプションと異なるサービス期間を有する異なる種類のサブスクリプション(たとえば正規サブスクリプション)に変換してもよい。サブスクリプションを異なる種類のサブスクリプションに変換することにより、顧客は、サービスに対するニーズに応じて、より長いかより短い、異なる期間のサービスにアクセスできる。一例において、サブスクリプションが、トライアル期間によって定められたRASサブスクリプションのとき、顧客は、RASサブスクリプションから正規サブスクリプション(たとえば生産サブスクリプション)への変換を希望する場合がある。正規サブスクリプションにより、顧客は生産環境を実現することができるであろう。   In at least one embodiment, a subscription to a customer may be converted by changing the type of subscription assigned to the customer for access to the services previously provided by the subscription. For example, if the subscription is a RAS subscription that has a period of service (eg, trial period), then the type of subscription for this service may be different from the type of subscription assigned at block 888, with a different service period (Eg, regular subscription). By converting the subscriptions to different types of subscriptions, the customer can access longer or shorter periods of service, depending on the needs for the service. In one example, when the subscription is a RAS subscription defined by a trial period, the customer may want to convert the RAS subscription to a full subscription (eg, a production subscription). With regular subscriptions, customers will be able to realize a production environment.

先に説明したように、サブスクリプションは変換プロセスによって変換し得る。顧客から入力が与えられた場合、サブスクリプションを、顧客から提供された基準を用いて変換してもよい。たとえば、サブスクリプションの種類は、顧客からの入力に基づいて選択してもよい。いくつかの実施形態において、サブスクリプションの種類を、サービスインフラストラクチャシステムが決定した情報に基づいて選択してもよい。   As described above, subscriptions may be transformed by the transformation process. When provided by the customer, the subscription may be transformed using the criteria provided by the customer. For example, the type of subscription may be selected based on input from the customer. In some embodiments, the type of subscription may be selected based on the information determined by the service infrastructure system.

変換プロセスが完了すると、サービスプールから割当てたサブスクリプションをサービスプールから削除する。サブスクリプションをサービスプールから削除することによって、サブスクリプションが別の顧客に割当てられることはなくなるであろう。   When the conversion process is complete, delete the assigned subscription from the service pool from the service pool. By removing the subscription from the service pool, the subscription will not be assigned to another customer.

次にブロック892に戻って、顧客に対するサブスクリプションを変換しないことに決めた場合、ブロック896で、サブスクリプション(たとえばブロック888で顧客に割当てられたサブスクリプション)をサービスプールに戻してもよい。サブスクリプションは、顧客からサービスプールにサブスクリプションを割当てることによって、サービスプールに戻してもよい。たとえば、ブロック888で顧客に割当てたサブスクリプションを、今度はサービスプールに割当てることによって、サブスクリプションをサービスプールに戻してもよい。たとえば、図8AのRAS3 816を、顧客1からサービスプール810にRAS3 816として割当ててもよい826。サブスクリプションをサービスプールに戻すと、サブスクリプションは再び1以上の他の顧客(たとえば同じ顧客または別の顧客)に割当てられてもよい。   Next, returning to block 892, if it is decided not to convert the subscription for the customer, then at block 896, the subscription (eg, the subscription assigned to the customer at block 888) may be returned to the service pool. The subscription may be returned to the service pool by assigning a subscription from the customer to the service pool. For example, subscriptions may be returned to the service pool, this time by assigning the subscriptions assigned to the customer at block 888 to the service pool. For example, RAS3 816 of FIG. 8A may be assigned 826 from customer 1 to service pool 810 as RAS3 816. When the subscription is returned to the service pool, the subscription may again be assigned to one or more other customers (e.g. the same customer or another customer).

サブスクリプションをサービスプールに戻すことは、特定顧客向けデータと、サブスクリプションによってアクセスが可能なサービスに対応する特定サービス向けデータとの対応関係を解消することを含み得る。説明のための一例において、顧客が、割当てられたサブスクリプションが提供するサービスを購入しないことに決めた場合、特定顧客向けデータを、サブスクリプションをサービスプールに割当てる前に、サブスクリプションから削除する。特定顧客向けデータを、サブスクリプションをサービスプールに割当てる前にこのサブスクリプションから削除することにより、このサブスクリプションを再度割当てることができ、故に他の顧客によって再使用できる。いくつかの実施形態において、特定顧客向けデータを、顧客のアイデンティティに対応付けて格納してもよい。特定顧客向けデータを顧客のアイデンティティに対応付けて格納することにより、特定顧客向けデータを、RASをサービスプールに戻す前に、簡単に削除することができる。   Reverting the subscription to the service pool may include resolving the correspondence between the data for specific customer and the data for specific service corresponding to the service accessible by the subscription. In one illustrative example, if the customer decides not to purchase the services offered by the assigned subscription, then data for the particular customer is removed from the subscription prior to assigning the subscription to the service pool. By deleting customer-specific data from this subscription prior to assigning the subscription to the service pool, this subscription can be reassigned and hence reused by other customers. In some embodiments, customer-specific data may be stored in association with the customer's identity. By storing the data for specific customer in association with the identity of the customer, the data for specific customer can be easily deleted before returning the RAS to the service pool.

サブスクリプションをサービスプールに戻すことは、割当て解除プロセスを実現することを含み得る。割当て解除プロセスは、サブスクリプションが提供するサービスの種類に基づいて実行してもよい。一例において、サービスとしてのデータベース(DBAAS)である提供されたサービスに対する割当て解除プロセスは、ブロック888で割当てたサブスクリプションが提供するサービスの顧客が作成した1以上のユーザを削除することを含み得る。別の例において、オブジェクトストレージサービスであるサービスの割当て解除プロセスは、サブスクリプションがRASサブスクリプションである場合に顧客によって作成されたストレージオブジェクトを削除することを含み得る。いくつかの実施形態において、割当て解除プロセスは、サブスクリプション(たとえばRASサブスクリプション)のリソース使用統計を再初期化することにより、サブスクリプションが割当てられた別の顧客が、このサブスクリプションについて提供される割当量のリソースを使用できるようにすることを含み得る。   Returning the subscription to the service pool may include implementing the deallocation process. The deallocation process may be performed based on the type of service offered by the subscription. In one example, the deallocation process for the provided service, which is a database as a service (DBAAS), may include deleting one or more users created by the customer of the service provided by the subscription assigned at block 888. In another example, the process of deassigning a service that is an object storage service may include deleting a storage object created by a customer if the subscription is a RAS subscription. In some embodiments, the deallocation process re-initializes resource usage statistics of the subscription (eg, RAS subscription) so that another customer to which the subscription is assigned is offered for this subscription. It may include making available the resources of the quota.

ブロック898で、フローチャート880が示すプロセスは終了する。
サブスクリプションのクローニング
特定の実施形態において、クラウドインフラストラクチャシステム100は、その他のインスタンスプロビジョニングを可能にし得る。その他のインスタンスプロビジョニングは、顧客が使用するためのその他の環境を提供するサービスを構築し得る。サービスの種類の例は、サービスとしてのソフトウェア(SaaS)カテゴリ、サービスとしてのプラットフォーム(PaaS)カテゴリ、サービスとしてのインフラストラクチャ(IaaS)カテゴリ、またはハイブリッドサービスを含むその他のサービスのカテゴリを含むが、これらに限定されるものではない。
At block 898, the process illustrated by flowchart 880 ends.
Cloning of Subscriptions In certain embodiments, cloud infrastructure system 100 may enable other instance provisioning. Other instance provisioning may build services that provide other environments for customers to use. Examples of types of services include software as a service (SaaS) category, platform as a service (PaaS) category, infrastructure as a service (IaaS) category, or other service categories including hybrid services. It is not limited to

一局面において、クラウドインフラストラクチャシステム100は、既存のサービスに基づいて(たとえば既存のサービスをクローニングして)サービスへのアクセスをユーザに提供できる。既存のサービスに基づくサービスは、既存のサービスのための既存のサブスクリプション(たとえばベースサブスクリプション)に基づいてサブスクリプション(たとえば「クローンサブスクリプション」)を作成することにより、提供してもよい。クローンサブスクリプションは、追加の環境(「クローン環境」)として顧客が使用し得るものである。別の局面において、複数のクローンサブスクリプションをベースサブスクリプションに基づいて作成してもよく、各クローンサブスクリプションはベースサブスクリプションの既存のサービスに基づくサービスのためのサブスクリプションを提供する。クローンサブスクリプションによって提供されるサービスは、ベースサブスクリプションによって提供される計算環境とは別の、顧客のための追加の計算環境を提供し得る。   In one aspect, cloud infrastructure system 100 can provide users with access to services based on existing services (eg, cloning existing services). Services based on existing services may be provided by creating subscriptions (eg "clone subscriptions") based on existing subscriptions (eg base subscriptions) for existing services. Clone subscriptions can be used by customers as an additional environment ("clone environment"). In another aspect, multiple clone subscriptions may be created based on the base subscription, each clone subscription providing a subscription for a service based on the existing services of the base subscription. The services provided by the clone subscription may provide an additional computing environment for the customer that is separate from the computing environment provided by the base subscription.

クローンサブスクリプションは、ベースサブスクリプションによって提供されるサービスに対応する使用の種類とは異なり得る使用の種類に対して指定するまたはそれを意図することができる。顧客は、ベースサブスクリプションに対応付けられた環境の使用目的と異なる目的のクローニングされた環境を使用する能力を備えることにより、多くの利益を享受することができる。たとえば、クローンサブスクリプションは、テスト、顧客/従業員の訓練、顧客/従業員に対するデモンストレーション、顧客/開発のためのプロトタイピング、開発、ロードバランシングに使用されてもよく、ベースサブスクリプションは、生産等の他の目的のために使用されてもよい。本明細書に開示する使用の種類は、例示を目的として記載している。クローンサブスクリプションおよびベースサブスクリプションの使用の種類は、顧客のニーズに応じて変化し得る。   A clone subscription may specify or be intended for a type of use that may be different from the type of use corresponding to the service provided by the base subscription. Customers can enjoy many benefits by being able to use the cloned environment for different purposes than the intended use of the environment associated with the base subscription. For example, clone subscriptions may be used for testing, customer / employee training, customer / employee demonstrations, prototyping for customer / development, development, load balancing, base subscriptions, production etc. May be used for other purposes. The types of uses disclosed herein are described for illustrative purposes. The type of use of clone subscriptions and base subscriptions can vary depending on the needs of the customer.

一例において、顧客は、新たな特徴を、この特徴を生産環境にデプロイする前にクローン環境においてテストするまたはプロトタイピングするために生産環境のクローン環境を実現すべくクローンサブスクリプションを要求する場合がある。新たな特徴を、生産に適用する前にクローン環境でテストまたはプロトタイピングする機能によって、顧客は、プロダクトをテストし実現することができるであろう。プロトタイピングによって、顧客は、提案したプロダクト/特徴に対するフィードバックを、クローンサブスクリプションのために提供された環境を用いてこれらをホストすることにより、ベースサブスクリプションが提供するサービスを用いて実現された既存の生産環境に影響を与えることなく、受けることができるであろう。クローン環境においてプロトタイピングおよびテストされる特徴は、生産環境とは異なり得る。なぜなら、顧客はこれらの特徴を生産環境で実現することを、その準備ができるまでは、望まないであろうからである。   In one example, a customer may require a clone subscription to implement a clone environment in a production environment to test or prototyping new features in the clone environment prior to deploying the feature in the production environment. . The ability to test or prototype new features in a cloning environment prior to application to production would allow customers to test and realize the product. By prototyping, the customer is able to provide feedback on the proposed products / features by using the services provided by the base subscription by hosting them using the provided environment for clone subscriptions. It can be received without affecting the production environment of the The features to be prototyped and tested in a cloning environment may be different from the production environment. Because customers will not want to realize these features in a production environment until they are ready.

別の例において、クローンサブスクリプションを、ロードバランシングのために使用してもよい。ミッションクリティカルでないワークフローはクローン環境にオフロードすることができ、ミッションクリティカルなワークフローのみを生産環境で実行することができる。これにより、生産環境に対する負荷が軽減されるので、ミッションクリティカルなワークフローのパフォーマンスを改善することができる。   In another example, clone subscriptions may be used for load balancing. Non-mission critical workflows can be offloaded to a clone environment, and only mission critical workflows can be run in a production environment. This reduces the load on the production environment and can improve the performance of mission critical workflows.

別の例において、クローンサブスクリプションが提供する環境により、顧客はデモンストレーションおよび訓練等のタスクを実行することができ、ベースサブスクリプションが提供する環境は、生産環境として使用し得る。たとえば、クローンサブスクリプションを使用することにより、内部の従業員(たとえばマーケティングおよび販売担当者)を訓練することができる、または、製品の特徴を顧客に対して実演することができる。このようなタスクは生産環境とは異なる環境で実行することが望ましいであろう。生産環境はこのような用途の影響を受ける可能性がある。このように、クローン環境は、始めから全く新しい環境を構成して実現しなくても、異なる目的のために自動的に構成された追加の環境を顧客に提供する。   In another example, the environment provided by the clone subscription may allow the customer to perform tasks such as demonstrations and training, and the environment provided by the base subscription may be used as a production environment. For example, clone subscriptions can be used to train internal employees (e.g., marketing and sales representatives) or to demonstrate product features to customers. It would be desirable to perform such tasks in an environment different from the production environment. Production environments can be affected by such applications. In this way, the clone environment provides the customer with an additional environment that is automatically configured for different purposes without having to configure and realize a completely new environment from the beginning.

既存のサブスクリプションに基づいて1つ以上のクローンサブスクリプションを作成する機能によって、顧客は、複製ではなくても同様の環境を作成することに要するコストを削減できる。いくつかの実施形態において、クローンサブスクリプションの取得に要するコストは、ベースサブスクリプションのコストよりも遥かに少ないであろう。クローンサブスクリプションは既存のサービスに基づいてプロビジョニングし得るので、クローンサービスを実現するコストを削減できる。このようにして、クローンサブスクリプションに要するコストの削減という利益を顧客は享受する。しかしながら、コストの削減と引き換えに、クローンサブスクリプションのために提供される特徴は、ベースサブスクリプションとは異なり得る。たとえば、クローンサブスクリプションについて顧客に提供されるリカバリサービス(たとえば高可用性およびディザスタリカバリ)のレベルは、ベースサブスクリプションについてこの顧客に提供されるサービスとは異なり得る。別の例において、クローンサブスクリプションの複製のレイテンシは、ベースサブスクリプションよりも大きいであろう。   The ability to create one or more cloned subscriptions based on existing subscriptions allows customers to reduce the cost of creating a similar environment, even if not replicated. In some embodiments, the cost to obtain a clone subscription will be much less than the cost of the base subscription. Clone subscriptions can be provisioned based on existing services, thus reducing the cost of implementing clone services. In this way, the customer enjoys the benefit of reduced costs for clone subscriptions. However, in return for cost reduction, the features provided for clone subscriptions may be different than base subscriptions. For example, the level of recovery service (eg, high availability and disaster recovery) provided to a customer for a clone subscription may be different than the service provided to this customer for a base subscription. In another example, the latency of replication of clone subscriptions will be greater than base subscriptions.

クローンサブスクリプションを、このクローンサブスクリプションの作成のもとになったサブスクリプションに対応付けてもよい。クローンサブスクリプションを、このクローンサブスクリプションを作成するもとになったサブスクリプションに対応付けるとき、サブスクリプションのライフサイクルとクローンサブスクリプションのライフサイクルを互いに対応付けてもよい。いくつかの実施形態において、クローンサブスクリプションをベースサブスクリプションに対応付けるとき、ベースサブスクリプションに対してなされた変更を、対応付けられたクローンサブスクリプションに反映させてもよい。この変更は1つ以上の規則に基づいて適用してもよい。クローンサブスクリプションの管理の例を以下において図9A〜図9Cおよび図10を参照しながら説明する。   A clone subscription may be associated with the subscription from which this clone subscription was created. When a clone subscription is associated with the subscription from which this clone subscription is created, the lifecycle of the subscription and the lifecycle of the clone subscription may be mapped to each other. In some embodiments, when associating a clone subscription with a base subscription, changes made to the base subscription may be reflected in the associated clone subscription. This change may be applied based on one or more rules. An example of the management of clone subscriptions is described below with reference to FIGS. 9A-9C and FIG.

クローンサブスクリプションが提供するサービスのコンフィギュレーションを、ベースサブスクリプションが提供するサービスとは別に調整してもよい。クローンサブスクリプションのコンフィギュレーションの調整の例は、このクローンサブスクリプションを用いてアクセスできるユーザの数であるユーザカウントの調整、このサービスについて有効/無効にされるコンポーネントの調整、および/またはクローンサブスクリプションの期間の調整を含み得る。クローンコンフィギュレーションの変更は、クローンの作成時に要求してもよく、クローンサブスクリプションのコンフィギュレーションに対する操作を通して後に要求してもよい。クローンコンフィギュレーションの変更の例は、図9Cおよび図10を参照しながら説明する。   The configuration of the service provided by the clone subscription may be adjusted separately from the service provided by the base subscription. An example of adjusting the configuration of a clone subscription is adjusting the user count, which is the number of users that can be accessed using this clone subscription, adjusting the components to be enabled / disabled for this service, and / or the clone subscription Adjustment of the period of Changes in clone configuration may be requested at the time of creation of the clone, or may be requested later through operations on the configuration of the clone subscription. An example of changing the clone configuration is described with reference to FIGS. 9C and 10.

次に図9A〜図9Cを参照して、本実施形態のいくつかの実施形態に従うクローンサブスクリプションを提供するためのさまざまな実施形態が示されている。図9Aは、いくつかの実施形態に従うクローンサブスクリプションを提供するためのシステム環境の簡略化したブロック図を示す。図9Bは、いくつかの実施形態に従うサブスクリプションのデータ構造の一例を示す。図9Cは、クローンサブスクリプションをしかるべく管理するための規則の例を示す。クローンサブスクリプションは、規則に従いサブスクリプションとの対応関係に基づいて管理してもよい。   Referring now to FIGS. 9A-9C, various embodiments for providing a clone subscription in accordance with some embodiments of the present embodiments are shown. FIG. 9A shows a simplified block diagram of a system environment for providing clone subscriptions in accordance with some embodiments. FIG. 9B shows an example of a subscription data structure in accordance with some embodiments. FIG. 9C shows an example of the rules for managing clone subscriptions accordingly. The clone subscription may be managed based on the correspondence with the subscription according to the rules.

図9Aには、クラウドインフラストラクチャシステム100との通信のためにそれぞれクライアント装置224、クライアント装置226、およびクライアント装置228と対応付けられている顧客1、顧客2、および顧客3等のいくつかの顧客とともに、システム環境900が示されている。クラウドインフラストラクチャシステム100は、顧客に対する1つ以上のサブスクリプション(たとえばサブスクリプション910)を管理し得る。サブスクリプション910は、クラウドインフラストラクチャシステム100が提供する1つ以上のサービスへのアクセスのために作成された1つ以上のサブスクリプションに対応するデータを含み得る。サブスクリプション910はベースサブスクリプションを含み得る。たとえば、サブスクリプション910は、サブスクリプション912(「S1」)、サブスクリプション914(「S2」)、およびサブスクリプション916(「S3」)を含み得る。クラウドインフラストラクチャシステム100は、サブスクリプション910のうちの1つを1以上の顧客に割当てている場合がある。図9Aに示す例において、S2 914およびS3 916はそれぞれ、サブスクリプションS2 932およびサブスクリプションS3 934として顧客1に割当てられている。よって、S2 932およびS3 934は既存のベースサブスクリプションである。サブスクリプション930(「顧客1サブスクリプション」)等の、顧客に割当てられたサブスクリプションは、この顧客に対応付けられた記憶域において維持してもよい。サブスクリプションを格納するためのデータ構造の例を、図9Bを参照しながら説明する。   In FIG. 9A, several customers, such as customer 1, customer 2, and customer 3 are associated with client device 224, client device 226, and client device 228, respectively, for communication with cloud infrastructure system 100. In addition, a system environment 900 is shown. Cloud infrastructure system 100 may manage one or more subscriptions to customers (eg, subscription 910). The subscription 910 may include data corresponding to one or more subscriptions created for access to one or more services provided by the cloud infrastructure system 100. Subscription 910 may include a base subscription. For example, subscription 910 may include subscription 912 ("S1"), subscription 914 ("S2"), and subscription 916 ("S3"). Cloud infrastructure system 100 may have assigned one of subscriptions 910 to one or more customers. In the example shown in FIG. 9A, S2 914 and S3 916 are assigned to customer 1 as subscription S2 932 and subscription S3 934, respectively. Thus, S2 932 and S3 934 are existing base subscriptions. Subscriptions assigned to a customer, such as subscription 930 ("Customer 1 Subscription"), may be maintained in storage associated with this customer. An example data structure for storing subscriptions is described with reference to FIG. 9B.

少なくとも1つの例において、顧客(「顧客1」)は、クラウドインフラストラクチャシステム100からサービス904を取得してもよい。サービス904はクローンサービスを含み得る。クローンサービス(たとえばサービス904)へのアクセスは、クラウドインフラストラクチャシステム100が確立したクローンサブスクリプションによって提供されてもよい。サービス904は、クライアント装置224を操作している顧客1による要求902に基づいて顧客1に提供してもよい。さまざまな局面において、顧客には、サービスのオーダー時にさまざまなオプションを提示できる。顧客は、オーダーの各部分を完全にプロビジョニングするか部分的にプロビジョニングするかを選択してもよい。顧客は、サービスへのアクセスを取得するために1つ以上のクローンサブスクリプションを選択してもよい。以下ではクローンサブスクリプションを提供するプロセスについてさらに説明する。   In at least one example, a customer (“Customer 1”) may obtain service 904 from cloud infrastructure system 100. Services 904 may include clone services. Access to the clone service (eg, service 904) may be provided by a clone subscription established by the cloud infrastructure system 100. Service 904 may be provided to customer 1 based on a request 902 by customer 1 operating client device 224. In various aspects, the customer can be presented with different options when ordering the service. The customer may choose to fully provision or partially provision each part of the order. The customer may select one or more clone subscriptions to gain access to the service. The following further describes the process of providing a clone subscription.

先に説明したように、クラウドインフラストラクチャシステム100のTASモジュール204は、各サブスクリプションオーダーに対応付けられたビジネスプロセスを管理し、ビジネスロジックを適用してサブスクリプションオーダーをプロビジョニングに進めるか否かを判断する、オーケストレーションコンポーネントとして機能する。TASモジュール204は、顧客からのサービスの要求に基づいてサブスクリプションオーダーを処理するプロセスを扱う。いくつかの実施形態において、TASモジュール204は、既存のサブスクリプションに基づいてクローンサービスの要求(たとえば要求902)がなされたか否かを判断できる。TASモジュール204は、顧客による要求によって示される使用の種類に基づいてクローンサービスのためのクローン環境を構築してもよい。TASモジュール204は、クローンサブスクリプションに対して明示的になされた要求に基づいて、クローンサブスクリプションが要求されたと判断できる。   As described above, the TAS module 204 of the cloud infrastructure system 100 manages the business process associated with each subscription order, and applies business logic to proceed with the provisioning order or not. Act as an orchestration component to judge. The TAS module 204 handles the process of processing subscription orders based on service requests from customers. In some embodiments, TAS module 204 can determine whether a request for clone service (eg, request 902) has been made based on an existing subscription. The TAS module 204 may build a clone environment for clone services based on the type of use indicated by the customer request. The TAS module 204 can determine that a clone subscription has been requested based on the request explicitly made for the clone subscription.

顧客からクラウドインフラストラクチャシステム100への、サービスの要求(たとえば要求902)は、このサービスを提供するために使用し得る情報を含み得る。具体的には、要求は、要求されたサービスについて顧客に提供するクローンサブスクリプションをクラウドインフラストラクチャシステム100が決定できるようにする情報(たとえばオーダー情報)を含み得る。いくつかの実施形態において、要求は、サービスの種類、または要求するサービスについて意図された使用の種類を示していてもよい。使用の種類の例は、開発、テスト、訓練、プロトタイピング、ロードバランシング、マーケティング、販売、設計、生産等を含むがこれらに限定されなくてもよい。いくつかの実施形態において、クラウドインフラストラクチャシステム100に対する要求は、顧客が所望するサブスクリプションの種類、たとえばクローンサブスクリプションまたは正規サブスクリプションを示し得る。いくつかの実施形態において、要求は、要求するサービスに関する1つ以上の必要条件を示していてもよい。この必要条件は、料金制約(たとえば最低料金および/または最高料金)、要求するサービスの使用の時間制限、このサービスを使用するユーザの量、所望のサービスサポートの種類、サービスの使用に関連するその他の必要条件、またはこれらの組合わせを含み得る。クラウドインフラストラクチャシステム100は、顧客の条件に基づいて、要求されたサービスへのアクセスを可能にするために顧客に提供するクローンサブスクリプションを決定してもよい。サブスクリプションは既存のサブスクリプション(たとえばベースサブスクリプション)に基づいて提供してもよい。   A request for service (eg, request 902) from a customer to cloud infrastructure system 100 may include information that may be used to provide this service. Specifically, the request may include information (e.g., order information) that enables cloud infrastructure system 100 to determine a clone subscription to provide to the customer for the requested service. In some embodiments, the request may indicate the type of service or the type of intended use for the requested service. Examples of types of use may include, but are not limited to, development, testing, training, prototyping, load balancing, marketing, sales, design, production, and the like. In some embodiments, the request for cloud infrastructure system 100 may indicate the type of subscription desired by the customer, eg, a clone subscription or a regular subscription. In some embodiments, the request may indicate one or more requirements for the requested service. This requirement may include: rate restrictions (eg minimum and / or maximum charges), time restrictions on the use of the requested service, the amount of users using this service, the type of service support desired, other related to the use of the service Requirements, or combinations of these. Cloud infrastructure system 100 may determine a clone subscription to provide to the customer to enable access to the requested service based on the customer's conditions. Subscriptions may be provided based on existing subscriptions (e.g., base subscriptions).

クローンサブスクリプションの要求を受けたと判断すると、TASモジュール204は、クローンプロセスのためのオペレーションを実現してクローンサブスクリプションを確立してもよい。図9Aに示される例において、クラウドインフラストラクチャシステム100は、顧客1からの要求902に基づいて、クローンサブスクリプションオーダーに関連する1つ以上のクローンサービスをプロビジョニングしてもよい。たとえば、ベースサブスクリプションS3 934を用いてクローニングプロセス936およびクローニングプロセス938を実現することにより、クローンサブスクリプション940(「C1」)およびクローンサブスクリプション942(「C2」)をそれぞれ確立してもよい。   Upon determining that a request for a clone subscription has been received, the TAS module 204 may implement operations for the cloning process to establish a clone subscription. In the example shown in FIG. 9A, the cloud infrastructure system 100 may provision one or more clone services associated with the clone subscription order based on the request 902 from the customer 1. For example, clone subscription 940 (“C1”) and clone subscription 942 (“C2”) may be established by implementing cloning process 936 and cloning process 938 using base subscription S3 934, respectively.

クローンプロセスのためのオペレーションは、図3Aおよび図3Bを参照しながら説明したステップを実行することによりサブスクリプションオーダーを処理してC1 940およびC2 942を確立することを含み得る。サブスクリプションオーダーを処理することは、クローンサブスクリプションに対応付けられた料金を決定することを含み得る。クローンサブスクリプションの料金はさまざまな基準に基づき得る。これらの基準は、クローンサブスクリプションに関して提供されるクローンサービスについて意図された使用の種類およびベースサブスクリプションの期間を含むが、これらに限定されるものではない。いくつかの実施形態において、料金は、クローンサブスクリプションに関連して要求された追加の種類のサービスに応じて決まり得る。いくつかの実施形態において、クローンサブスクリプションの料金は、クローンサブスクリプションのコンフィギュレーションに基づいていてもよく、料金は、クローンサブスクリプションの変化に基づいて調整してもよい。図9Aに示される例において、C1 940およびC2 942は、要求902に含まれる情報に基づいて確立してもよい。   The operations for the cloning process may include processing subscription orders to establish C1 940 and C2 942 by performing the steps described with reference to FIGS. 3A and 3B. Processing the subscription order may include determining a charge associated with the clone subscription. The fee for clone subscription can be based on various criteria. These criteria include, but are not limited to, the type of use intended for the clone service provided for the clone subscription and the duration of the base subscription. In some embodiments, the fee may depend on the additional type of service requested in connection with the clone subscription. In some embodiments, the fee for clone subscriptions may be based on the configuration of clone subscriptions, and the fee may be adjusted based on changes in clone subscriptions. In the example shown in FIG. 9A, C1 940 and C2 942 may be established based on the information contained in the request 902.

クローンサブスクリプションを確立すると、TASモジュール204は、クローンサブスクリプションC1 940およびC2 942各々に対するクローンサービスのプロビジョニングの要求を、SDIモジュール206に送ってもよい。クローンサービスをプロビジョニングすることは、リソースを割当てることと、サブスクリプションオーダーを満たすのに必要なこれらのリソースを構成することによってクローンサービスを提供することを含み得る。クローニングプロセスは、ベースサブスクリプションに対して有効にされたサービスについてプロビジョニングされたリソースを複製することを含み得る。クローニングプロセスは、クローンサービスを、ベースサブスクリプションに対して提供されたサービスの構成に類似する(たとえばクローン)ように構成することを含み得る。図9Aの例について、C1 940およびC2 942に対するクローンサービスは、ベースサブスクリプションS3 934についてプロビジョニングされたサービスに基づいてクローンとしてプロビジョニングしてもよい。   Having established the clone subscription, the TAS module 204 may send a request for provisioning clone service for each of the clone subscriptions C1 940 and C2 942 to the SDI module 206. Provisioning a clone service may include allocating resources and providing the clone service by configuring these resources necessary to fulfill the subscription order. The cloning process may include replicating resources provisioned for services enabled for base subscriptions. The cloning process may include configuring the clone service to resemble (e.g., clone) the configuration of the service provided for the base subscription. For the example of FIG. 9A, the clone service for C1 940 and C2 942 may be provisioned as a clone based on the provisioned service for base subscription S3 934.

図9Bには、本発明のいくつかの実施形態に従うサブスクリプションのデータ構造の一例が示されている。クラウドインフラストラクチャシステム100が1つ以上のデータ構造を実現することにより、サブスクリプションに関連するデータを格納してもよい。データ構造の例は、連結リスト、テーブル、アレイ、ハッシュテーブル、グラフ等を含むが、これらに限定されるものではない。   FIG. 9B shows an example of a subscription data structure in accordance with some embodiments of the present invention. Data associated with the subscription may be stored by the cloud infrastructure system 100 implementing one or more data structures. Examples of data structures include, but are not limited to, linked lists, tables, arrays, hash tables, graphs, and the like.

サブスクリプション944は、クラウドインフラストラクチャシステム100が確立したサブスクリプション(「ベースサブスクリプション」)に関連する情報を格納するためのデータ構造の一例である。図9Bの例において、サブスクリプション944は、顧客のための1つのサブスクリプションに対応するデータとともに示されている。しかしながら、サブスクリプションのデータ構造は、任意の数の顧客に対応する1つ以上のサブスクリプションに関する情報を格納し得る。   The subscription 944 is an example of a data structure for storing information related to a subscription ("base subscription") established by the cloud infrastructure system 100. In the example of FIG. 9B, subscription 944 is shown with data corresponding to one subscription for the customer. However, the subscription data structure may store information regarding one or more subscriptions corresponding to any number of customers.

サブスクリプション944は、顧客に対応するデータ(たとえば特定顧客向けデータ952)を含み得る。特定顧客向けデータ952は、サブスクリプション944に対応するベースサブスクリプションを用いてアクセスされるサービスの使用に対応するデータを含み得る。たとえば、特定顧客向けデータ952は、サービスに対するサブスクリプションがアクセスする販売クラウドサービスに対応する顧客メールボックスを含み得る。別の例において、特定顧客向けデータ952は、データベースサービスの使用によって生成されたテーブルを含み得る。   The subscription 944 may include data corresponding to a customer (eg, data for a specific customer 952). Customer-specific data 952 may include data corresponding to the use of a service accessed with a base subscription corresponding to subscription 944. For example, the data for specific customer 952 may include a customer mailbox corresponding to a sales cloud service accessed by a subscription for the service. In another example, the customer-specific data 952 may include a table generated by use of a database service.

サブスクリプション944は、サブスクリプション944に対応するベースサブスクリプションがアクセスできるサービスに対応するデータ(たとえば特定サービス向けデータ954)を含み得る。特定サービス向けデータ954は、サブスクリプションについて有効にされたサービスを提供することに関連するデータを含み得る。たとえば、特定サービス向けデータ954は、サブスクリプション944に対応するベースサブスクリプションによって提供されたプロダクト(たとえばサービスまたはコンポーネント)に関連する特定プロダクト向けメタデータを含み得る。いくつかの実施形態において、特定サービス向けデータ954は、ベースサブスクリプションに対して提供されたサービスのコンフィギュレーション(たとえばリソースの物理的コンフィギュレーション)を示していてもよい。コンフィギュレーションは、サービスに対して有効または無効にされる1つ以上のコンポーネント(たとえば特徴)等のリソース制約を示していてもよい。   The subscription 944 may include data (eg, data for specific service 954) corresponding to a service to which the base subscription corresponding to the subscription 944 can access. The service-specific data 954 may include data related to providing a service enabled for the subscription. For example, the service-specific data 954 may include product-specific metadata associated with a product (eg, service or component) provided by the base subscription corresponding to the subscription 944. In some embodiments, the service-specific data 954 may indicate the configuration of services provided to the base subscription (eg, physical configuration of resources). The configuration may indicate resource constraints, such as one or more components (eg, features) that are enabled or disabled for the service.

サブスクリプション944は、顧客に提供される1つ以上のサブスクリプションに関連するサブスクリプションデータ956を含み得る。いくつかの実施形態において、サブスクリプションデータ956のうちのすべてまたは一部が特定サービス向けデータ954に含まれていてもよい。サブスクリプションデータ956は、サブスクリプション944に対応するサブスクリプションに対して構築されたアカウントのアカウント情報を含み得る。アカウント情報は、顧客アイデンティティと対応付けてもよい。顧客アイデンティティに関する情報(たとえばユーザアイデンティ、パスワード、コンタクト情報等)は、顧客アイデンティティデータ構造(たとえば顧客アイデンティティオブジェクト)に格納されていてもよい。サブスクリプションデータ944は、サブスクリプションに関連する契約およびこの契約によって与えられる資格に関するサブスクリプション契約情報を含み得る。サブスクリプションデータ944は、サブスクリプションに関連するサブスクリプションサポート情報を含み得る。   Subscription 944 may include subscription data 956 associated with one or more subscriptions provided to the customer. In some embodiments, all or part of the subscription data 956 may be included in the data for service 954. The subscription data 956 may include account information of the account established for the subscription corresponding to the subscription 944. Account information may be associated with a customer identity. Information regarding the customer identity (e.g., user identity, password, contact information, etc.) may be stored in a customer identity data structure (e.g., a customer identity object). Subscription data 944 may include subscription contract information regarding the contract associated with the subscription and the entitlements granted by this contract. Subscription data 944 may include subscription support information associated with the subscription.

サブスクリプションデータ944は、サブスクリプションデータ956によって特定されたサブスクリプションに対応付けられた1つ以上のクローンサブスクリプションに関する情報を示すクローンサブスクリプションデータ958を含み得る。クローンサブスクリプションデータ958は、サブスクリプション944に対応するベースサブスクリプションと1つ以上のクローンサブスクリプションとの対応関係を示す情報を含み得る。たとえば、クローンサブスクリプション958は、ベースサブスクリプションと、データ構造960に対応するクローンサブスクリプション(たとえば「クローンサブスクリプション1」との対応関係982を示し得る。別の例において、クローンサブスクリプション958は、サブスクリプション944に対応するベースサブスクリプションと、データ構造970に対応するクローンサブスクリプション(「クローンサブスクリプション2」)との対応関係984を占めし得る。クローンサブスクリプション1および2はいずれもサブスクリプション944に対応するベースサブスクリプションに基づいて確立し得る。   Subscription data 944 may include clone subscription data 958 indicating information regarding one or more clone subscriptions associated with the subscription identified by subscription data 956. Clone subscription data 958 may include information indicating a correspondence between a base subscription corresponding to subscription 944 and one or more clone subscriptions. For example, clone subscription 958 may show correspondence 982 between a base subscription and a clone subscription corresponding to data structure 960 (e.g., "clone subscription 1") In another example, clone subscription 958 is It may occupy correspondence 984 between a base subscription corresponding to subscription 944 and a clone subscription ("clone subscription 2") corresponding to data structure 970. Both clone subscriptions 1 and 2 are subscriptions 944. May be established based on the corresponding base subscription.

ベースサブスクリプション(たとえばサブスクリプション944に対応するベースサブスクリプション)のライフサイクルとクローンサブスクリプション(たとえばクローンサブスクリプション1またはクローンサブスクリプション2)のライフサイクルを互いに対応付けてもよい。ベースサブスクリプションおよびクローンサブスクリプションのライフサイクルが互いに対応付けられている場合、ベースサブスクリプションについて提供されるサービスのコンフィギュレーションまたはオペレーションの変更または更新は、クローンサブスクリプションが提供するクローンサービスに伝搬されてもよい。たとえば、特定サービス向けデータ954に格納されているコンフィギュレーションの変更は、ベースサブスクリプションに対応付けられているクローンサブスクリプション1およびクローンサブスクリプション2のコンフィギュレーションに適用してもよい。   The life cycle of the base subscription (eg, the base subscription corresponding to the subscription 944) and the life cycle of the clone subscription (eg, clone subscription 1 or clone subscription 2) may be associated with each other. When the life cycles of the base subscription and the clone subscription are associated with each other, a change or update of the configuration or operation of the service provided for the base subscription is propagated to the clone service provided by the clone subscription. It is also good. For example, configuration changes stored in the service-specific data 954 may be applied to the configuration of clone subscription 1 and clone subscription 2 associated with the base subscription.

いくつかの実施形態において、ベースサブスクリプションのライフサイクルとクローンサブスクリプションのライフサイクルの対応関係は、1つ以上の規則に基づいていてもよい。規則は、ベースサブスクリプションを基準として定めてもよい。サブスクリプション944は、クローンサブスクリプション1およびクローンサブスクリプション2それぞれとの対応関係982および984のライフサイクルを管理するための1つ以上の規則を示す規則データ972を含み得る。以下では規則の例を図9Cを参照しながら説明する。いくつかの実施形態において、クローンサブスクリプションが提供するサービスへのアクセスおよびベースサブスクリプションが提供するサービスへのアクセスを、クローンサブスクリプションとベースサブスクリプションの間の対応関係に基づく規則によって管理してもよい。   In some embodiments, the correspondence between the base subscription life cycle and the clone subscription life cycle may be based on one or more rules. Rules may be based on base subscriptions. Subscription 944 may include rule data 972 indicating one or more rules for managing the life cycles of correspondences 982 and 984 with clone subscription 1 and clone subscription 2 respectively. Examples of rules are described below with reference to FIG. 9C. In some embodiments, access to the service provided by the clone subscription and access to the service provided by the base subscription may be managed by rules based on the correspondence between the clone subscription and the base subscription. Good.

クローンサブスクリプション960およびクローンサブスクリプション970は、クラウドインフラストラクチャシステム100が確立したクローンサブスクリプションに関連する情報を格納するためのデータ構造の例である。図9Bの例において、クローンサブスクリプション960およびクローンサブスクリプション970は各々、顧客のための1つのクローンサブスクリプション、クローンサブスクリプション1(たとえば図9AのC1 940)およびクローンサブスクリプション2(たとえばC2 942)に対応するデータとともに示されている。クローンサブスクリプションのためのデータ構造は、任意の数の顧客に対応する1つ以上のクローンサブスクリプションに関する情報を格納し得る。   Clone subscription 960 and clone subscription 970 are examples of data structures for storing information related to clone subscriptions established by cloud infrastructure system 100. In the example of FIG. 9B, clone subscription 960 and clone subscription 970 are each one clone subscription for the customer, clone subscription 1 (eg, C1 940 of FIG. 9A) and clone subscription 2 (eg, C2 942). And the corresponding data. A data structure for a clone subscription may store information regarding one or more clone subscriptions corresponding to any number of customers.

クローンサブスクリプションデータ構造(たとえばクローンサブスクリプション960またはクローンサブスクリプション970)は、特定顧客向けデータ(たとえば特定顧客向けデータ962)を含み得る。クローンサブスクリプションのための特定顧客向けデータは、クローンサブスクリプションを用いてアクセスされるサービスの使用に対応するデータを含み得る。   The clone subscription data structure (eg, clone subscription 960 or clone subscription 970) may include data for a particular customer (eg, data for a particular customer 962). Customer-specific data for clone subscriptions may include data corresponding to the use of services accessed using clone subscriptions.

クローンサブスクリプションデータ構造は、特定サービス向けデータ(たとえば特定サービス向けデータ964)を含み得る。クローンサブスクリプションのための特定サービス向けデータは、このクローンサブスクリプションについて提供されるサービスの1つ以上の属性等のクローンサブスクリプションに関する情報を示していてもよい。特定サービス向けデータは、プロダクト(たとえばサービスまたはコンポーネント)に関する特定プロダクト向けメタデータを含み得る。特定サービス向けデータは、クローンサブスクリプションに対して提供されるクローンサービスのコンフィギュレーション(たとえばリソースの物理的コンフィギュレーション)を示していてもよい。コンフィギュレーションは、クローンサービスに対して有効または無効にされる1つ以上のコンポーネント(たとえば特徴)等のリソース制約を示していてもよい。ベースサブスクリプションに基づいて確立されたクローンサブスクリプションの顧客には、ベースサブスクリプションのすべての特徴またはコンポーネントが提供されなくてもよい。   The clone subscription data structure may include data for a particular service (eg, data for a particular service 964). The service-specific data for a clone subscription may indicate information about the clone subscription, such as one or more attributes of the service provided for this clone subscription. The service-specific data may include product-specific metadata about the product (eg, service or component). The service-specific data may indicate the configuration (for example, physical configuration of resources) of the clone service provided for the clone subscription. The configuration may indicate resource constraints, such as one or more components (eg, features) to be enabled or disabled for the clone service. Customers of clone subscriptions established based on base subscriptions may not be provided with all features or components of base subscriptions.

顧客は、クローンサブスクリプションのコンフィギュレーション(たとえばクローンコンフィギュレーション)を、ベースサブスクリプションのコンフィギュレーション(たとえばベースコンフィギュレーション)から変化させることを選択してもよい。顧客は、クローンサブスクリプションが要求されたときにまたはクローンサブスクリプションがプロビジョニングされた後で、クローンコンフィギュレーションを規定することができる。クローニングプロセスは、ベースコンフィギュレーションとクローンコンフィギュレーションとを用いて実現し得る。クローンコンフィギュレーションがベースコンフィギュレーションと異なる場合、クローニングプロセスは、ベースコンフィギュレーションとの相違については、クローンコンフィギュレーションに従ってクローンサブスクリプションを構成してもよい。よって、クローンサービスは、クローンコンフィギュレーションがベースコンフィギュレーションと異なるときは、ベースサブスクリプションに対するサービスと異なるやり方でプロビジョニングされる場合がある。   The customer may choose to change the configuration of the clone subscription (eg, clone configuration) from the configuration of the base subscription (eg, base configuration). The customer can define the clone configuration when the clone subscription is requested or after the clone subscription is provisioned. The cloning process can be implemented using base configuration and clone configuration. If the clone configuration is different from the base configuration, the cloning process may configure the clone subscription according to the clone configuration for differences from the base configuration. Thus, the clone service may be provisioned differently to the service for base subscription when the clone configuration is different from the base configuration.

いくつかの実施形態において、クローンサブスクリプションのためのクローンコンフィギュレーションは、ベースサブスクリプションのコンフィギュレーションとは異なり、このクローンサブスクリプションに関して1つ以上のコンポーネントが有効/無効にされることを示していてもよい。一例において、セキュリティまたは記憶に関連するインフラストラクチャサービスコンポーネントは無効にされてもよい。別の例において、ベースサブスクリプションについて有効にされるサービスコンポーネント(たとえばアクティビティストリームクラウドコンポーネントまたは販売予測コンポーネント)は、クローンサブスクリプションに対して有効にしてもよい。別の例において、大きなインデックスのようなパフォーマンスの特徴は、クローンサブスクリプションについては有効にしなくてもよい。   In some embodiments, the clone configuration for a clone subscription, unlike the base subscription configuration, indicates that one or more components are enabled / disabled for this clone subscription. It is also good. In one example, infrastructure service components associated with security or storage may be disabled. In another example, service components enabled for base subscription (eg, activity stream cloud component or sales forecasting component) may be enabled for clone subscriptions. In another example, performance features such as large indexes may not be enabled for clone subscriptions.

いくつかの実施形態において、クローンコンフィギュレーションを、ユーザカウント等のサイズメトリックに従い、ベースサブスクリプションと異なる量に調整することができる。サイズメトリックは、クローンサブスクリプションの異なる用途に応じて調整してもよい。   In some embodiments, the clone configuration can be adjusted to a different amount than the base subscription according to size metrics such as user count. Size metrics may be adjusted for different uses of the clone subscription.

いくつかの実施形態において、クローンサブスクリプションを、その期間がベースサブスクリプションの期間よりも短くなるように構成してもよい。たとえば、ベースサブスクリプションについては3年の期間を要求しクローンサブスクリプションについては1年の期間を要求してもよい。顧客は、これを選択することにより、1年間だけであると予測される開発/テストアクティビティをサポートしてもよい。   In some embodiments, a clone subscription may be configured such that its duration is shorter than the duration of the base subscription. For example, a three year period may be required for base subscriptions and a one year period for clone subscriptions. Customers may select this to support development / test activities that are expected to be only for one year.

クローンサブスクリプションは、ベースコンフィギュレーションとの比較におけるクローンコンフィギュレーションの調整に基づいてプロビジョニングしてもよい。クローンコンフィギュレーションは、クローンサブスクリプションが割当てられた顧客のニーズの変化に基づいてプロビジョニング後に調整してもよい。   Clone subscriptions may be provisioned based on the adjustment of the clone configuration in comparison to the base configuration. The clone configuration may be adjusted after provisioning based on the changing needs of the customer to which the clone subscription is assigned.

いくつかの実施形態において、クローンサブスクリプションを、クローンコンフィギュレーションを示す1つ以上の規則に基づいて構成してもよい。この規則は、クローンサブスクリプションのために格納された規則データ(たとえば規則データ966)に基づいて決定することができる、または、クローンサブスクリプションの確立のもとになったベースサブスクリプションのために格納された規則データ(たとえば規則データ972)に基づいて決定することができる。   In some embodiments, clone subscriptions may be configured based on one or more rules that indicate clone configuration. This rule can be determined based on rule data (eg, rule data 966) stored for a clone subscription, or stored for a base subscription from which a clone subscription was established. It can be determined based on the rule data (e.g., rule data 972).

複数のクローンサブスクリプション(たとえばC1 940およびC2 942)各々に対応するクローンコンフィギュレーションを、互いに独立して修正してもよい。クローンサブスクリプションは、互いに異なるやり方で構成してもよい。クローンサブスクリプションのためのコンフィギュレーションは、顧客が各クローンサブスクリプションを異なる目的で使用することを意図するときには変化させることができる。たとえば、C1 940のクローンコンフィギュレーションはテストのために修正してもよい。C2 942のクローンコンフィギュレーションは、修正せずにそのままにしておき、ベースサブスクリプションを用いて実現されるプロダクト環境と同様の生産環境において特徴を実施するために、ベースサブスクリプションS3 934のベースコンフィギュレーションと類似する(たとえばベースコンフィギュレーションのクローン)ようにしてもよい。   The clone configurations corresponding to each of a plurality of clone subscriptions (eg, C1 940 and C2 942) may be modified independently of one another. Clone subscriptions may be configured differently from one another. The configuration for clone subscription can be changed when the customer intends to use each clone subscription for different purposes. For example, the C1 940 clone configuration may be modified for testing. The clone configuration of C2 942 is left unchanged without modification, and the base configuration of base subscription S3 934 to implement features in a production environment similar to the product environment realized with base subscription. (Eg, clone base configuration).

いくつかの実施形態において、クローンサブスクリプションのためのクローンコンフィギュレーションをベースサブスクリプションから構築するために、スキーマを作成してもよい。スキーマは、サービスの種類、特定のサービス、特定のプロダクト商品、サービスのサブスクリプションに対する他の種類のカテゴリ、またはこれらの組合わせに対して規定することができる。よって、スキーマは、このスキーマに基づいてクローンサブスクリプションを決定するために使用できる規則990等の規則を示し得る。   In some embodiments, schemas may be created to build clone configurations for clone subscriptions from base subscriptions. A schema can be defined for service types, specific services, specific product products, other types of categories for subscriptions to services, or a combination of these. Thus, the schema may indicate rules such as rules 990 that can be used to determine a clone subscription based on this schema.

クローンサブスクリプションデータ構造は、クローンサブスクリプション(たとえばクローンサブスクリプション1)とベースサブスクリプションとの対応関係(たとえば対応関係982)のライフサイクルを管理するための1つ以上の規則を示す規則データ966を含み得る。以下において規則データの例を図9Cを参照しながら説明する。   The clone subscription data structure includes rule data 966 indicating one or more rules for managing the life cycle of the correspondence (for example, correspondence 982) between the clone subscription (for example, clone subscription 1) and the base subscription. May be included. An example of rule data is described below with reference to FIG. 9C.

クローンサブスクリプションデータ構造に含まれるサブスクリプションデータ(たとえばサブスクリプションデータ968)は、クローンサブスクリプション(たとえばクローンサブスクリプション1)に関するサブスクリプション情報を含み得る。サブスクリプションデータは、サブスクリプションに関する識別情報(たとえばサブスクリプション識別子またはサブスクリプションの名称)、サブスクリプション期間、およびユーザのアイデンティティ情報(たとえば管理者および非管理者)を示していてもよい。いくつかの実施形態において、クローンサブスクリプションのためのサブスクリプションデータは、このクローンサブスクリプションを確立するもとになったベースサブスクリプションを特定するペアレントサブスクリプション識別子を含み得る。たとえば、サブスクリプションデータ968は、クローンサブスクリプション1を確立するもとになったベースサブスクリプション944に対応するベースサブスクリプションを特定するペアレントサブスクリプションIDを含み得る。ペアレントサブスクリプションIDは、クローンサブスクリプション(たとえばクローンサブスクリプション1)を作成するもとになったベースサブスクリプションに対応するベースサブスクリプションデータ構造(たとえばベースサブスクリプション944)に対するリファレンスを示してもよい。リファレンスを用いてベースサブスクリプションに基づいて生成されたクローンサブスクリプションに対応するデータを特定することができる。   The subscription data (eg, subscription data 968) included in the clone subscription data structure may include subscription information for the clone subscription (eg, clone subscription 1). The subscription data may indicate identification information regarding the subscription (e.g. subscription identifier or name of the subscription), subscription period, and identity information of the user (e.g. administrator and non-administrator). In some embodiments, subscription data for a clone subscription may include a parent subscription identifier that identifies the base subscription from which the clone subscription is established. For example, subscription data 968 may include a parent subscription ID that identifies the base subscription corresponding to the base subscription 944 from which clone subscription 1 was established. The parent subscription ID may indicate a reference to a base subscription data structure (eg, base subscription 944) corresponding to the base subscription from which the clone subscription (eg, clone subscription 1) was created. The reference can be used to identify data corresponding to a clone subscription generated based on the base subscription.

図9Cは、さまざまな実施形態に従うクローンサブスクリプションを管理するための規則990の例を示す。規則990は、一組の規則等の1つ以上の規則に対応する情報を含み得る。規則990は、クラウドインフラストラクチャシステムが予め定めたものであってもよく、顧客が定めたものであってもよく、または、これらを組合わせたものであってもよい。規則990は、データファイル(たとえば拡張マークアップ言語(XML)ファイル)において定めてもよく、または、クライアント装置を介して顧客から受けた入力に基づいていてもよい。   FIG. 9C shows an example of rules 990 for managing clone subscriptions in accordance with various embodiments. The rules 990 may include information corresponding to one or more rules, such as a set of rules. The rule 990 may be predetermined by the cloud infrastructure system, may be defined by the customer, or may be a combination of these. The rules 990 may be defined in a data file (eg, an Extensible Markup Language (XML) file) or may be based on input received from a customer via a client device.

顧客は規則を顧客レベルで定めてもサブスクリプションレベルで定めてもよい。顧客レベルの規則は、顧客が作成したサブスクリプション(たとえばクローンサブスクリプション)を基準として定められてもよい。いくつかの実施形態において、顧客レベルの規則は、顧客が作成した特定のプロダクトのクローンを基準として定められてもよい。サブスクリプションレベルの規則は、ベースサブスクリプションを基準として、サブスクリプションレベルの規則が、規則を定める対象であるベースサブスクリプションから確立されたクローンサブスクリプションに適用されるように定められてもよい。これらの種類の規則は、サブスクリプションの開始時に適用されてもよく、後にサブスクリプションが変更されるときに適用されてもよい。   The customer may define rules at the customer level or at the subscription level. Customer level rules may be defined on the basis of customer created subscriptions (eg, clone subscriptions). In some embodiments, customer level rules may be defined on the basis of a clone of a particular product created by the customer. The subscription level rules may be defined such that the subscription level rules apply to a clone subscription established from a base subscription for which the rules are defined, on the basis of the base subscription. These types of rules may be applied at the start of the subscription and may be applied later when the subscription is changed.

規則990を用いて、ベースサブスクリプションと1つ以上のクローンサブスクリプション(たとえばクローンサブスクリプション1およびクローンサブスクリプション2)の対応関係を管理してもよい。ベースサブスクリプション(たとえばベースサブスクリプション944)に対する変更は、規則990に基づいてクローンサブスクリプションに適用してもよい。たとえば、ベースサブスクリプションのコンフィギュレーションの変更を、このベースサブスクリプションに基づいて作成されたクローンサブスクリプションのクローンコンフィギュレーションの変更として適用してもよい。先に説明したように、クローンコンフィギュレーションはベースコンフィギュレーションから変化させてもよい。   Rule 990 may be used to manage the correspondence between the base subscription and one or more clone subscriptions (eg, clone subscription 1 and clone subscription 2). Changes to a base subscription (eg, base subscription 944) may be applied to clone subscriptions based on rule 990. For example, a change in the configuration of a base subscription may be applied as a change in the clone configuration of a clone subscription created based on the base subscription. As described above, the clone configuration may be changed from the base configuration.

以下はこのような規則のいくつかの例である。
・ベースサブスクリプションから作成されたクローンは、最初はベースサブスクリプションと同じコンフィギュレーションを有していなければならないが、クローンの期間はベースサブスクリプションの期間よりも短くてもよい。
The following are some examples of such rules.
The clone created from the base subscription must initially have the same configuration as the base subscription, but the duration of the clone may be shorter than that of the base subscription.

・コンポーネントを有効にする/無効にする等の、ベースサブスクリプションに対して行なわれるすべての機能的変更は、ベースサブスクリプションに対応付けられているクローンに適用し得るが、ユーザカウントを増す/減じる等のサイズ変更はクローンに適用してはならない。   -All functional changes made to the base subscription, such as enabling / disabling components, can be applied to the clone associated with the base subscription but increase / decrease the user count Such resizing should not be applied to clones.

・ベースサブスクリプションを更新するとき、現在ベースサブスクリプションに対応付けられているすべてのクローンもそれぞれの現在の期間にわたって更新しなければならない。   When updating a base subscription, all clones currently associated with the base subscription must also be updated over their respective current period.

・ベースサブスクリプションを終了するとき、ベースサブスクリプションに対応付けられているすべてのクローンも終了させねばならない。   When terminating a base subscription, all clones associated with the base subscription must also be terminated.

少なくとも1つの例において、規則990は、1つ以上の条件992に基づいていてもよい。条件992は、1つ以上の基準に基づいて定めることができる。たとえば、条件992は、1つ以上のメトリック(たとえばクラウドインフラストラクチャシステム100内のオペレーションに関連するメトリック)に基づく。メトリックの例は、システムメトリック、プロダクトメトリック、コンポーネントメトリック、顧客メトリック等を含むが、これらに限定されるものではない。条件は、ベースサブスクリプションに対して実行されているオペレーションにも基づき得る。ベースサブスクリプションのオペレーションの例は、「オンボードクローン」(たとえばベースサブスクリプションに基づいて作成されるクローンサブスクリプション)、「コンポーネント追加」、「コンポーネント削除」、「ユーザカウント増大」、および「ユーザカウント低減」を含み得るが、これらに限定されるものではない。いくつかの実施形態において、条件は、論理和、論理積、否定(たとえば、「ユーザのクローンサブスクリプションカウント」<100ANDベースサブスクリプションオペレーション=「コンポーネント追加」)のような論理演算子を伴う論理関係として表わすことができる。規則は、その規則の条件各々が満たされたときに満たされ得る。   In at least one example, rules 990 may be based on one or more conditions 992. Condition 992 can be determined based on one or more criteria. For example, condition 992 is based on one or more metrics (eg, metrics associated with operations in cloud infrastructure system 100). Examples of metrics include, but are not limited to, system metrics, product metrics, component metrics, customer metrics, and the like. The conditions may also be based on the operation being performed on the base subscription. Examples of base subscription operations are "On-Board Clone" (eg, Clone Subscription created based on Base Subscription), "Add Component", "Delete Component", "User Count Increase", and "User Count" But not limited thereto. In some embodiments, the condition is a logical relationship with a logical operator such as disjunction, conjunction, negation (eg, "user's clone subscription count" <100 AND based subscription operations = "add component"). It can be expressed as A rule may be satisfied when each of the conditions of the rule is satisfied.

別の例において、規則990は1つ以上の手順994を含み得る。たとえば、手順994は1つ以上のクラス996に基づいていてもよい。クラス996は、クローンサブスクリプションに適用される一種のオペランドであってもよい。オペランドの種類の例は、ベースサブスクリプションに対して実行される直接的なオペレーションに関して先に述べたものである。別の例において、オペランドは、「オンボードクローン」(すなわちペアレントサブスクリプションに基づいてクローンを作成)等のオペレーションに対応し得る。その他のオペランドは、「拡張」、「更新」、「終了」および「延長」を含み得る。拡張は、ユーザカウントの増大および低減等のオペレーションを含み得る。終了は、クローンサブスクリプションの終了等のオペレーションを含み得る。更新は、1つ以上のコンポーネントをクローンサブスクリプションに追加することまたは削除すること等のオペレーションを含み得る。延長は、クローンサブスクリプションの期間の延長等のオペレーションを含み得る。規則を満たすと、クローンコンフィギュレーションはこの規則に基づいて修正してもよい。   In another example, rule 990 may include one or more procedures 994. For example, procedure 994 may be based on one or more classes 996. Class 996 may be a type of operand applied to a clone subscription. Examples of operand types are those described above for the direct operations performed on a base subscription. In another example, the operands may correspond to operations such as "on-board clones" (ie, clone based on parent subscriptions). Other operands may include "extension", "update", "end" and "extension". Extensions may include operations such as increasing and decreasing user counts. The termination may include operations such as termination of the clone subscription. An update may include operations such as adding or deleting one or more components to a clone subscription. The extension may include an operation such as extending the period of the clone subscription. If the rules are fulfilled, the clone configuration may be modified based on this rule.

別の例において、手順994は、1つ以上のアクションに基づいていてもよい。アクション998は、クローンサブスクリプションに対して実行できる1つ以上のオペレーション(「クローンサブスクリプションオペレーション」)に基づいて定めることができる。クローンサブスクリプションオペレーションのいくつかの例は、「すべてのデータをクローニングする」、「データをクローニングしない」、「選択されたデータをクローニングする」、「コンポーネントを追加する」、「指定リストにあればコンポーネントを追加する」、「コンポーネントを削除する」、および「指定リストにあればコンポーネントを削除する」である。クローンサブスクリプションは、クラス966のオペランドの種類およびアクション998の指定されたオペレーションに基づいて修正してもよい。   In another example, procedure 994 may be based on one or more actions. Action 998 can be defined based on one or more operations ("clone subscription operations") that can be performed on the clone subscription. Some examples of clone subscription operations are "Cloning All Data", "Do not Clone Data", "Cloning Selected Data", "Add Components", "If Specified List" Add Component, Remove Component, and Remove Component if Specified List. The clone subscription may be modified based on the class of operands of class 966 and the specified operation of action 998.

いくつかの実施形態において、規則を、1つ以上の条件992、1つ以上の手順994、1つ以上のアクション998、またはこれらの組合わせによって定めてもよい。規則は、その規則に対して定められた1つ以上の基準が満たされたことで満たされてもよい。規則が満たされると、クローンコンフィギュレーションを、規則によって示された変更に基づいて変更してもよい。   In some embodiments, rules may be defined by one or more conditions 992, one or more procedures 994, one or more actions 998, or a combination thereof. A rule may be satisfied by the fulfillment of one or more criteria defined for that rule. Once the rules are met, the clone configuration may be changed based on the changes indicated by the rules.

図10は、さまざまな実施形態に従うクローンサブスクリプションのライフサイクルを管理するためのプロセスのフローチャートである。具体的には、フローチャート1000が示すプロセスは、サービスのクローンサブスクリプションを顧客に提供することができ、かつ、一組の規則(たとえば規則990)に基づいてクローンサブスクリプションのライフサイクルを管理することができる。いくつかの実施形態において、フローチャート1000が示すプロセスは、サービスインフラストラクチャシステム(たとえばクラウドインフラストラクチャシステム100)のすべてまたは一部によって実現し得る。   FIG. 10 is a flow chart of a process for managing the life cycle of a clone subscription in accordance with various embodiments. In particular, the process illustrated by flowchart 1000 can provide a customer with a clone subscription of a service, and manage the clone subscription life cycle based on a set of rules (eg, rule 990) Can. In some embodiments, the process illustrated by flowchart 1000 may be implemented by all or part of a service infrastructure system (eg, cloud infrastructure system 100).

図19を参照しながら説明する処理は、1つ以上のプロセッサによって実行されるソフトウェア(たとえばコード、命令、プログラム)、ハードウェア、またはこれらの組合わせによって実現し得る。ソフトウェアは、(たとえばメモリデバイス、非一時的なコンピュータ読取可能な記憶媒体上の)メモリに格納されていてもよい。図10に示される特定の一連の処理ステップは、限定を意図したものではない。代替の実施形態に従いその他のステップのシーケンスが実行されてもよい。たとえば、本発明の代替の実施形態は、先に概要を説明したステップを他の順序で実行する場合がある。加えて、図10に示される個々のステップは、この個々のステップに応じて適宜さまざまなシーケンスで実行されてもよい複数のサブステップを含み得る。さらに、特定のアプリケーションに応じてその他のステップを追加または削除してもよい。当業者は数多くの変形例、修正例、および代替例を認識するであろう。フローチャート1000に示されるプロセスは、ブロック1002から始まる。   The process described with reference to FIG. 19 may be implemented by software (eg, code, instructions, programs) executed by one or more processors, hardware, or a combination of these. The software may be stored in memory (eg, on a memory device, non-transitory computer readable storage medium). The particular sequence of process steps shown in FIG. 10 is not intended to be limiting. Other sequences of steps may be performed according to alternative embodiments. For example, alternative embodiments of the present invention may perform the steps outlined above in other orders. In addition, the individual steps illustrated in FIG. 10 may include multiple sub-steps that may be performed in various sequences as appropriate depending on the individual step. In addition, other steps may be added or deleted depending on the particular application. One of ordinary skill in the art would recognize many variations, modifications, and alternatives. The process shown in flowchart 1000 begins at block 1002.

ブロック1002において、1つ以上のサービスがサービスインフラストラクチャシステム(たとえば図1のクラウドインフラストラクチャシステム100)に提供される。サービスインフラストラクチャシステムは、マルチテナント環境を含み得るまたは実現し得る。サービスの例は、CRMサービス、HCMサービス、Java(登録商標)サービス、またはその他の計算サービスを含み得る。   At block 1002, one or more services are provided to a service infrastructure system (eg, cloud infrastructure system 100 of FIG. 1). The service infrastructure system may include or implement a multi-tenant environment. Examples of services may include CRM services, HCM services, Java services, or other computing services.

いくつかの実施形態において、1つ以上のサービスを提供することは、サービスのうちの1つへのアクセス要求を顧客から受ける前に、サービスインフラストラクチャシステムにおいてサービスのうちの1つ以上をプロビジョニングすることを含む。サービスは、1つ以上の基準に基づいてプロビジョニングしてもよい。たとえば、サービスは、サービスインフラストラクチャシステムのオペレーションに関連する1つ以上のメトリックに基づいてプロビジョニングしてもよい。別の例において、サービスを、サービスに対する需要に対応付けられた1つ以上のメトリックに基づいてプロビジョニングしてもよい。他の例において、サービスを、サービスの種類に対応付けられた1つ以上のメトリックに基づいてプロビジョニングしてもよい。   In some embodiments, providing one or more services provisions one or more of the services in the service infrastructure system prior to receiving a request for access to one of the services from the customer. Including. Services may be provisioned based on one or more criteria. For example, services may be provisioned based on one or more metrics associated with the operation of the service infrastructure system. In another example, services may be provisioned based on one or more metrics associated with the demand for services. In another example, services may be provisioned based on one or more metrics associated with the type of service.

ブロック1004において、顧客がサービスにアクセスできるようにしてもよい。サービスにアクセスできるようにすることは、サブスクリプション(たとえばベースサブスクリプション)をユーザに提供することを含み得る。たとえば、図9Aを参照して、顧客(「顧客1」)に、サブスクリプションS2 932およびサブスクリプションS3 934を提供してもよい。サブスクリプションは、サービスに付与されたアクセスを示していてもよい。いくつかの実施形態において、クライアント装置(たとえばクライアント装置224、226、228のうちのいずれか1つ)は、ユーザインターフェイスを提供することによってユーザがサービスにアクセスできるようにしてもよい。サービスへのアクセスを可能にするサブスクリプションに関する情報は、ユーザインターフェイスを介して顧客に示してもよい。   At block 1004, the customer may be able to access the service. Providing access to a service may include providing a subscription (eg, a base subscription) to a user. For example, referring to FIG. 9A, a customer (“customer 1”) may be provided with subscription S2 932 and subscription S3 934. The subscription may indicate the access granted to the service. In some embodiments, a client device (eg, any one of client devices 224, 226, 228) may allow a user to access services by providing a user interface. Information regarding the subscription that allows access to the service may be shown to the customer via the user interface.

顧客からの要求をブロック1006で受ける。たとえば、要求902は、クライアント装置224から受ける場合がある。要求は、ブロック1004で顧客に対して可能にされたサービスに基づいてクローン(たとえばクローンサービス)としての他のサービスにアクセスすることである場合がある。いくつかの実施形態において、上記他のサービスは、ブロック1004で可能にされたサービスの用途と異なる用途のために顧客が要求する場合がある。たとえば、上記他のサービスを用いて、新たな特徴を、この特徴を生産システム上で可能にする前にテストしてもよい。一方、ブロック904で可能にされたサービスは、生産システムの実現のために使用し得る。上記他のサービスは、ブロック1004で顧客に対して可能にされたサービスと同様であってもこれに関連していてもよく、または、上記他のサービスはこのサービスと異なっていてもよい。   A request from a customer is received at block 1006. For example, request 902 may be received from client device 224. The request may be to access other services as a clone (e.g., a clone service) based on the service enabled for the customer at block 1004. In some embodiments, the other services may be requested by the customer for an application different from that of the service enabled at block 1004. For example, the other features described above may be used to test new features before enabling them on a production system. On the other hand, the services enabled at block 904 may be used to implement a production system. The other service may be similar to or associated with the service enabled for the customer at block 1004, or the other service may be different from this service.

ブロック1008で、上記他のサービスを、ブロック1004で可能にされたサービスのクローンとして構築してもよい。サービスのクローンを構築することは、クローンサービスに対するサブスクリプション(たとえばクローンサブスクリプション)を決定することを含み得る。クローンサブスクリプションは、サービスに対応するサブスクリプションのクローニングに基づいて決定してもよい。上記他のサービスを、ブロック1004で可能にされたサービスに対応するサブスクリプションのクローンとしてのサブスクリプション(「クローンサブスクリプション」)によって顧客に提供してもよい。たとえば、サブスクリプションC1 940を、図9AのサブスクリプションS3 934に基づいてクローンとして生成936してもよい。この例において、C1 940は、S3 934によって提供されたサービスに基づいてクローンサービスを提供してもよい。よって、クローンサブスクリプションは、サービスのクローンを構築するために作成してもよい。クローンサブスクリプションは、「クローニングされた」サービスへのアクセスを提供し得る。   At block 1008, the other service may be constructed as a clone of the service enabled at block 1004. Building a clone of the service may include determining a subscription (eg, a clone subscription) for the clone service. The clone subscription may be determined based on the cloning of the subscription corresponding to the service. These other services may be provided to the customer by subscription ("clone subscription") as a clone of the subscription corresponding to the service enabled at block 1004 ("clone subscription"). For example, subscription C1 940 may be generated 936 as a clone based on subscription S3 934 of FIG. 9A. In this example, C1 940 may provide clone services based on the services provided by S3 934. Thus, a clone subscription may be created to build a clone of the service. Clone subscriptions can provide access to "cloned" services.

ブロック1010で、ブロック1004で可能にされたサービスを、ブロック1008で可能にされたサービス(「クローンサービス」)と対応付けてもよい。2つのサービスを、これらのサービスに対応するサブスクリプション間の対応関係に基づいて互いに対応付けてもよい。たとえば、クローンサービスのためのクローンサブスクリプション1 960を、サービスのためのサブスクリプション944(たとえばベースサブスクリプション)と対応付けてもよい(たとえば対応関係982)。   At block 1010, the service enabled at block 1004 may be associated with the service enabled at block 1008 ("clone service"). The two services may be associated with each other based on the correspondence between subscriptions corresponding to these services. For example, clone subscription 1 960 for a clone service may be associated with a subscription 944 (eg, a base subscription) for a service (eg, correspondence 982).

いくつかの実施形態において、サービスに対応するベースサブスクリプションをクローンサービスに対応するクローンサブスクリプションに対応付けることは、サブスクリプションのライフサイクルをクローンサブスクリプションのライフサイクルに対応付けることを含み得る。このようにして、ベースサブスクリプションのライフサイクルとクローンサブスクリプションのライフサイクルが関連付けられる。いくつかの実施形態において、ベースサブスクリプションについて可能にされたサービスをクローンサブスクリプションについて構築されたクローンサービスに対応付けることは、これらのサービスのライフサイクル同士を対応付けることを含み得る。先に説明したように、2つのサブスクリプションを互いに対応付けるとき、ベースサブスクリプションに対する変更を、クローンサブスクリプションに反映させてもよい。たとえば、ベースサブスクリプションに対応するサービスが終了されたとき、顧客によるクローンサービスへのアクセスは終了される。別の例において、ベースサブスクリプションに対応するサービスへのアクセスが更新されたとき、クローンサービスへのアクセスは、ベースサブスクリプションのための更新されたアクセスに基づいて更新されてもよい。   In some embodiments, associating a base subscription corresponding to a service with a clone subscription corresponding to a clone service may include associating a subscription life cycle with a clone subscription life cycle. In this way, the life cycle of the base subscription and the life cycle of the clone subscription are related. In some embodiments, associating the services enabled for the base subscription with the clone services built for the clone subscription may include associating the life cycles of these services. As described above, when associating two subscriptions with each other, changes to the base subscription may be reflected in the clone subscription. For example, when the service corresponding to the base subscription is terminated, the access to the clone service by the customer is terminated. In another example, when access to the service corresponding to the base subscription is updated, access to the clone service may be updated based on the updated access for the base subscription.

いくつかの実施形態において、サブスクリプション(たとえばベースサブスクリプションとクローンサブスクリプション)間の対応関係は、一組の規則(たとえば図9Cの規則990)に基づいていてもよい。一組の規則のすべてまたは一部が、予め定められていてもよく、またはサブスクリプションに従うデフォルトに基づいていてもよい。たとえば、一組の規則は、ベースサブスクリプションが提供するプロダクト(たとえばサービス)に基づいていてもよい。顧客は、入力を与えて、予め定められた一組の規則を修正するかまたは新たな一組の規則を作成する。   In some embodiments, the correspondence between subscriptions (eg, base subscriptions and clone subscriptions) may be based on a set of rules (eg, rule 990 of FIG. 9C). All or part of the set of rules may be predetermined or may be based on a default according to the subscription. For example, the set of rules may be based on the products (eg, services) provided by the base subscription. The customer provides input to modify a predetermined set of rules or create a new set of rules.

ブロック1012で、他のまたはクローンサービスへのアクセスを、一組の規則に基づいて管理してもよい。たとえば、図9Bのクローンサブスクリプション1 960に対して提供されるクローンサービスへのアクセスを、一組の規則、たとえば図9Cの990に基づいて管理してもよい。フローチャート100はブロック1014で終了する。   At block 1012, access to other or clone services may be managed based on a set of rules. For example, access to the clone service provided for clone subscription 1 960 of FIG. 9B may be managed based on a set of rules, eg, 990 of FIG. 9C. The flowchart 100 ends at block 1014.

さまざまな実施形態において、クローンサービスを管理するために使用される規則は、1つ以上の条件と1つ以上のアクションを規定する。1つ以上の条件が満たされると、1つ以上のアクションが、対応付けられたクローンサブスクリプションに対して実行される。上記1つ以上のアクションは、上記のようにクローンサブスクリプションに対して顧客が行ない得る直接アクションに対応し得る。   In various embodiments, the rules used to manage the clone service define one or more conditions and one or more actions. If one or more conditions are met, one or more actions are performed on the associated clone subscription. The one or more actions may correspond to direct actions that the customer may perform on the clone subscription as described above.

いくつかの実施形態において、クローンサービスがベースサービスに対応付けられているとき、クローンサービスへのアクセスは、一組の規則(たとえば規則990)によって管理してもよい。クローンサービスへのアクセスは、ベースサービスに対する変更に応じて規則を用いて管理してもよい。図9Cを参照しながら先に説明したように、1つ以上の規則を用いて、クローンサブスクリプションのライフサイクルを、したがってクローンサブスクリプションに対して提供されるクローンサービスへのアクセスを管理してもよい。たとえば、クローンサービスへのアクセスは、このクローンサービスに対応付けられたベースサービスが終了したときに終了してもよい。   In some embodiments, when a clone service is associated with a base service, access to the clone service may be managed by a set of rules (eg, rule 990). Access to the clone service may be managed using rules in response to changes to the base service. As described above with reference to FIG. 9C, one or more rules may also be used to manage the lifecycle of the clone subscription and thus access to the clone service provided to the clone subscription. Good. For example, access to the clone service may end when the base service associated with the clone service is terminated.

いくつかの実施形態において、クローンサービスへのアクセスを、このクローンサービスに対して実行される一種類の手順に対応付けられた1つ以上のアクションを実行することによって管理してもよい。上記一種類の手順は、1つ以上の基準に基づいて決定してもよい。たとえば、一種類の手順は、クローンサービスに対応付けられたベースサービスの1つ以上のメトリック(たとえばこのサービスのパフォーマンス)に基づいて決定してもよい。別の基準は、ベースサービスに対する変更に基づいてベースサービスに対して実行されるオペレーションであってもよい。いくつかの実施形態において、一種類の手順はアクションに対応付けることができ、これらのアクションのうちのいくつかは他の規則に属していてもよい。たとえば、ある規則では、一種類の手順が「更新」でありアクションが「コンポーネント追加」であってもよく、別の規則では、一種類の手順が「更新」であるがアクションは「コンポーネント削除」であってもよい。   In some embodiments, access to the clone service may be managed by performing one or more actions associated with one type of procedure performed for the clone service. The one type of procedure may be determined based on one or more criteria. For example, one type of procedure may be determined based on one or more metrics of the base service (eg, the performance of this service) associated with the clone service. Another criterion may be the operations performed on the base service based on changes to the base service. In some embodiments, one type of procedure may be associated with an action, and some of these actions may belong to other rules. For example, in one rule, one type of procedure may be "update" and the action may be "add component", and in another rule, one type of procedure may be "update" but the action is "component delete" It may be

図11は、さまざまな実施形態に従うサブスクリプションのクローニングのプロセスのフローチャート1100である。いくつかの実施形態において、サービスインフラストラクチャシステム(たとえば図1のクラウドインフラストラクチャシステム100)のすべてまたは一部が、図11に示すプロセスを実現してもよい。   FIG. 11 is a flowchart 1100 of a process of cloning a subscription in accordance with various embodiments. In some embodiments, all or part of a service infrastructure system (eg, cloud infrastructure system 100 of FIG. 1) may implement the process shown in FIG.

図11を参照しながら説明した処理によって、顧客は、クローンサブスクリプションを確立するもとになったサブスクリプションを基準としてクローンサブスクリプションを修正することができる。修正は、クローンサブスクリプションの作成時に要求されてもよく、クローンサブスクリプションに対する直接的なオペレーションによって後に要求されてもよい。先に説明したように、クローンサブスクリプションの修正は、クローンサブスクリプションに対して提供されるサービスに関連するコンフィギュレーションの修正を含んでいてもよく、サブスクリプションのコンフィギュレーションの修正を含んでいてもよい。   The process described with reference to FIG. 11 allows the customer to modify the clone subscription based on the subscription from which the clone subscription was established. Modifications may be requested at the time of creation of the clone subscription or may be requested later by direct operation on the clone subscription. As described above, the modification of the clone subscription may include the modification of the configuration related to the service provided for the clone subscription, and may include the modification of the configuration of the subscription. Good.

図11に示される処理は、1つ以上のプロセッサによって実行されるソフトウェア(たとえばコード、命令、プログラム)、ハードウェア、またはこれらの組合わせによって実現し得る。ソフトウェアは、(たとえばメモリデバイス、非一時的なコンピュータ読取可能な記憶媒体上の)メモリに格納されていてもよい。図11に示される特定の一連の処理ステップは、限定を意図したものではない。代替の実施形態に従いその他のステップのシーケンスが実行されてもよい。たとえば、本発明の代替の実施形態は、先に概要を説明したステップを他の順序で実行する場合がある。加えて、図11に示される個々のステップは、この個々のステップに応じて適宜さまざまなシーケンスで実行されてもよい複数のサブステップを含み得る。さらに、特定のアプリケーションに応じてその他のステップを追加または削除してもよい。当業者は数多くの変形例、修正例、および代替例を認識するであろう。フローチャート1100に示されるプロセスは、ブロック1102から始まる。   The processing illustrated in FIG. 11 may be implemented by software (eg, code, instructions, programs) executed by one or more processors, hardware, or a combination of these. The software may be stored in memory (eg, on a memory device, non-transitory computer readable storage medium). The particular sequence of process steps shown in FIG. 11 is not intended to be limiting. Other sequences of steps may be performed according to alternative embodiments. For example, alternative embodiments of the present invention may perform the steps outlined above in other orders. In addition, the individual steps shown in FIG. 11 may include multiple sub-steps that may be performed in various sequences as appropriate depending on the individual step. In addition, other steps may be added or deleted depending on the particular application. One of ordinary skill in the art would recognize many variations, modifications, and alternatives. The process shown in flowchart 1100 begins at block 1102.

ブロック1102で、サービスに対するサブスクリプション(たとえばベースサブスクリプション)を顧客に提供してもよい。たとえば、サービス904を、クライアント装置224の顧客1に提供してもよい。サービスを提供することは、サービスをプロビジョニングすることを含み得る。サービスは、顧客によって示されたコンフィギュレーションに従ってプロビジョニングしてもよい。サービスを提供することは、サービスに対するサブスクリプションを決定することと、このサブスクリプションに基づいてサービスへのアクセスを可能にすることとを含み得る。さまざまな実施形態において、有効なサブスクリプションのリストをクライアント装置に提供してもよい。顧客はこれらのサブスクリプションの中から1つを選択すればよい。   At block 1102, a subscription (eg, a base subscription) for the service may be provided to the customer. For example, service 904 may be provided to customer 1 of client device 224. Providing a service may include provisioning a service. Services may be provisioned according to the configuration indicated by the customer. Providing a service may include determining a subscription to the service and enabling access to the service based on the subscription. In various embodiments, a list of valid subscriptions may be provided to the client device. The customer may select one of these subscriptions.

ブロック1104で、サブスクリプション(たとえばブロック1102で提供されたサブスクリプション)をクローニングするためのコンフィギュレーション(たとえばクローンコンフィギュレーション)を決定してもよい。先に説明したように、クローンコンフィギュレーションは、既存のサブスクリプションに基づいてクローニングされるサブスクリプションを構成するための1つ以上の基準を示していてもよい。たとえば、クローンコンフィギュレーションは、クローンサービスの使用期間(たとえばベースサブスクリプションに対応するサービスの期間よりも短い)を示していてもよい。別の例において、クローンコンフィギュレーションは、クローンサブスクリプションに対して提供されるサービスのために有効/無効にするコンポーネントを示していてもよい。   At block 1104, a configuration (eg, a clone configuration) for cloning the subscription (eg, the subscription provided at block 1102) may be determined. As described above, the clone configuration may indicate one or more criteria for configuring a subscription to be cloned based on an existing subscription. For example, the clone configuration may indicate the usage period of the clone service (for example, shorter than the period of service corresponding to the base subscription). In another example, the clone configuration may indicate components to enable / disable for services provided to the clone subscription.

クローンコンフィギュレーションは、さまざまな方法を用いて決定し得る。いくつかの実施形態において、クローンコンフィギュレーションは、顧客から受けた入力に基づいて決定してもよい。この入力は、クローンサブスクリプションの意図される用途または必要条件を示す場合がある。クローンコンフィギュレーションは、顧客からの入力に基づいて決定してもよい。たとえば、クライアント装置を操作している顧客が、情報をサービスインフラストラクチャシステム(たとえばクラウドインフラストラクチャシステム110)に提供してもよい。この情報はクローンコンフィギュレーション(たとえばクローンバリエーション)を示していてもよい。   The clone configuration can be determined using various methods. In some embodiments, the clone configuration may be determined based on the input received from the customer. This input may indicate the intended use or requirement of the clone subscription. The clone configuration may be determined based on input from the customer. For example, a customer operating a client device may provide information to a service infrastructure system (e.g., cloud infrastructure system 110). This information may indicate the clone configuration (eg, clone variation).

いくつかの実施形態において、クローンコンフィギュレーションを、サービスインフラストラクチャシステムが決定した分析情報に基づいて決定してもよい。分析情報は、顧客に対してサービスインフラストラクチャシステムが実行するオペレーションに関連するメトリック情報を含み得る。分析情報は、サービスインフラストラクチャシステムによって提供されたサービスを用いて顧客が実行する動作に関する情報を含み得る。   In some embodiments, the clone configuration may be determined based on analysis information determined by the service infrastructure system. The analysis information may include metric information related to operations performed by the service infrastructure system for the customer. The analysis information may include information regarding the operations performed by the customer using the services provided by the service infrastructure system.

ブロック1106で、クローンサブスクリプションを、クローンコンフィギュレーション(たとえばブロック1104で決定したコンフィギュレーション)に基づいて作成してもよい。クローンサブスクリプションは、サブスクリプション(たとえばブロック1102で提供されたサブスクリプション)およびクローンコンフィギュレーションに基づいて作成してもよい。クローンサブスクリプションは、先に説明したように、顧客の好み、予め定められた規則、および図9Cを参照しながら説明した他の基準に基づいて作成してもよい。   At block 1106, a clone subscription may be created based on the clone configuration (eg, the configuration determined at block 1104). Clone subscriptions may be created based on the subscription (eg, the subscription provided at block 1102) and the clone configuration. Clone subscriptions may be created based on customer preferences, predefined rules, and other criteria described with reference to FIG. 9C, as described above.

ブロック1108で、1つ以上のオペレーションを実行することによりクローンサブスクリプション(たとえばブロック1106で作成されたクローンサブスクリプション)を管理してもよい。この(これらの)オペレーションは、クローンサブスクリプションのライフサイクル中に実行してもよい。オペレーションを、クローンサブスクリプションに対して直接実行することにより、クローンサブスクリプションに対して提供されるクローンサービスを修正することができる。フローチャート1100はブロック1110で終了する。   At block 1108, a clone subscription (eg, the clone subscription created at block 1106) may be managed by performing one or more operations. This (these) operations may be performed during the clone subscription's life cycle. By performing the operation directly on the clone subscription, the clone service provided for the clone subscription can be modified. The flowchart 1100 ends at block 1110.

いくつかの実施形態において、直接的なオペレーションは、クローンサブスクリプションに対応するクローンコンフィギュレーションを修正することを含み得る。クローンコンフィギュレーションは、顧客から受けた入力に基づいて修正してもよく、またはサービスインフラストラクチャシステムが決定した情報に基づいて修正してもよい。顧客のニーズに基づいて顧客がクローンサブスクリプションを修正できるようにすることが有用であろう。直接的なオペレーションは、クローンサブスクリプションに対応するクローンサービスに対して実行されるオペレーションを含み得るが、これらに限定されるものではない。このオペレーションは、クローンサービスのために提供されるコンポーネントを有効/無効にすること、または、クローンサービスへのアクセスが許可されたユーザのサイズ変更を調整すること(たとえばユーザカウントを増大/低減すること)を含み得る。   In some embodiments, direct operation may include modifying the clone configuration corresponding to the clone subscription. The clone configuration may be modified based on the input received from the customer or may be modified based on information determined by the service infrastructure system. It would be useful to allow customers to modify clone subscriptions based on their needs. Direct operations may include, but are not limited to, operations performed on clone services corresponding to clone subscriptions. This operation may enable / disable components provided for the clone service, or adjust resizing of users authorized to access the clone service (eg, increase / decrease user count) May be included.

既存のサービスに基づいたサブスクリプションの提供
特定の実施形態において、クラウドインフラストラクチャシステム100は、本明細書に記載のさまざまな技術を用い、既存のサービスに基づいてサービスへのアクセスをユーザに提供することができる。このような技術によって、要求されたサービスのためのリソースをプロビジョニングする際の処理時間を短縮することができ、それにより、サービスへのアクセスを顧客に提供する際の処理効率を改善することができる。クラウドインフラストラクチャシステム100は、ユーザからの要求に基づいてサービスの種類を判断することができるとともに、既存のサービスに基づいてプロビジョニングを用いてサービスへのアクセスを可能にするサブスクリプションを提供することができる。
Providing Subscriptions Based on Existing Services In certain embodiments, the cloud infrastructure system 100 provides users with access to services based on existing services using the various techniques described herein. be able to. Such techniques can reduce processing time when provisioning resources for requested services, which can improve processing efficiency in providing access to services to customers. . The cloud infrastructure system 100 can determine the type of service based on the request from the user, and provide a subscription that enables access to the service using provisioning based on the existing service. it can.

一局面において、クラウドインフラストラクチャシステム100は、顧客間で共有されるサービスのためにプロビジョニングされたリソース(たとえばハードウェアおよびサービスインスタンス)を有効にすることができる。クラウドインフラストラクチャシステム100は、サービスにアクセスする顧客ごとにこれらのリソースを再度プロビジョニングする必要はないであろう。たとえば、RASを規定することにより、顧客がサービスへのアクセスを共有できるようにすることができる。RASがサービスプール内にあり利用できるときにこのRASを顧客に割当ることができる。RASを用いてアクセス可能なサービスのためのリソースは、このRASが割当てられた顧客が再使用できるよう、このRASのためにプロビジョニングされたままにしておいてもよい。   In one aspect, the cloud infrastructure system 100 can enable provisioned resources (eg, hardware and service instances) for services shared among customers. The cloud infrastructure system 100 may not need to re-provision these resources for each customer accessing the service. For example, by defining RAS, customers can be able to share access to services. This RAS can be assigned to customers when it is available and available in the service pool. Resources for services accessible using the RAS may remain provisioned for the RAS so that customers assigned the RAS can reuse it.

RASを用いてアクセス可能なサービスによって、顧客は、サービスに対する正規サブスクリプションの購入前にこのサービスを試すことができる。よって、顧客はサービスに対するサブスクリプションのためのリソースのプロビジョニングにおける遅れを回避することができる。RASは、顧客がRASに対するサブスクリプションを購入することに決めた場合は正規サブスクリプションに変換してもよい。正規サブスクリプションと提供するためのプロセスの効率を改善することができる。なぜなら、RASは、サブスクリプションのためのリソースのプロビジョニングに要する時間を短縮するプロセスを用いて変換できるからである。RASのためのリソースとデータは、正規サブスクリプションのために保持しておくことができる。   The service accessible using RAS allows the customer to try this service before purchasing a full subscription for the service. Thus, customers can avoid delays in provisioning resources for subscriptions to services. The RAS may be converted to a regular subscription if the customer decides to purchase a subscription for the RAS. It can improve the efficiency of the process for providing regular subscriptions. This is because RAS can be transformed using a process that reduces the time taken to provision resources for subscriptions. Resources and data for RAS can be kept for regular subscriptions.

別の局面において、クラウドインフラストラクチャシステム100は、既存のサービスに基づいてクラウドサービスへのアクセスを顧客に提供することができる。既存のサービスに基づいたサービスを、既存のサービスのための既存のサブスクリプション(たとえばベースサブスクリプション)に基づいてサブスクリプション(たとえば「クローンサブスクリプション」)を作成することによって、提供してもよい。クラウドインフラストラクチャシステム100は、ベースサブスクリプションによって提供されるサービスのコンフィギュレーションに基づいてクラウドサービスを準備することができる。このようにして、要求されたサービスに対するサブスクリプションを確立するのに要する処理期間を、ベースサブスクリプションのコンフィギュレーションに従ってクローンサービスを構成することにより、短縮することができる。顧客は、クローンサービスを、ベースサブスクリプションによって提供される計算環境とは別の、追加の環境として使用してもよい。先に説明したように、クローンサブスクリプションは、ベースサブスクリプションによって提供されるサービスに対応する使用の種類とは異なり得る使用の種類に対して指定するまたはそれを意図することができる。   In another aspect, cloud infrastructure system 100 can provide customers with access to cloud services based on existing services. Services based on existing services may be provided by creating subscriptions (eg, “clone subscriptions”) based on existing subscriptions (eg, base subscriptions) for existing services. Cloud infrastructure system 100 may prepare cloud services based on the configuration of services provided by the base subscription. In this way, the processing time required to establish a subscription for the requested service can be reduced by configuring the clone service according to the configuration of the base subscription. Customers may use the clone service as an additional environment apart from the computing environment provided by the base subscription. As discussed above, a clone subscription may specify or be intended for a type of use that may be different from the type of use corresponding to the service provided by the base subscription.

図12は、さまざまな実施形態に従う既存のサブスクリプションを用いてサービスのためのサブスクリプションを提供するプロセスのフローチャート1200である。特に、フローチャート1200が示すプロセスは、既にプロビジョニングされているサービスに基づいてサブスクリプションを顧客に提供し得る。サブスクリプションは、再使用可能な匿名サブスクリプション、または、顧客によって要求されたサービスにアクセスするためのクローンサブスクリプションのいずれか一方であってもよい。いくつかの実施形態において、フローチャート1200が示すプロセスは、サービスインフラストラクチャシステム(たとえばクラウドインフラストラクチャシステム100)のすべてまたは一部によって実現し得る。   FIG. 12 is a flowchart 1200 of a process for providing a subscription for a service with existing subscriptions in accordance with various embodiments. In particular, the process illustrated by flowchart 1200 may provide a subscription to a customer based on a service that has already been provisioned. The subscription may be either a reusable anonymous subscription or a cloned subscription to access the service requested by the customer. In some embodiments, the process illustrated by flowchart 1200 may be implemented by all or part of a service infrastructure system (eg, cloud infrastructure system 100).

図12を参照しながら説明する処理は、1つ以上のプロセッサによって実行されるソフトウェア(たとえばコード、命令、プログラム)、ハードウェア、またはこれらの組合わせによって実現し得る。ソフトウェアは、(たとえばメモリデバイス、非一時的なコンピュータ読取可能な記憶媒体上の)メモリに格納されていてもよい。図12に示される特定の一連の処理ステップは、限定を意図したものではない。代替の実施形態に従いその他のステップのシーケンスが実行されてもよい。たとえば、本発明の代替の実施形態は、先に概要を説明したステップを他の順序で実行する場合がある。加えて、図12に示される個々のステップは、この個々のステップに応じて適宜さまざまなシーケンスで実行されてもよい複数のサブステップを含み得る。さらに、特定のアプリケーションに応じてその他のステップを追加または削除してもよい。当業者は数多くの変形例、修正例、および代替例を認識するであろう。フローチャート1200に示されるプロセスは、ブロック1202から始まる。   The processes described with reference to FIG. 12 may be implemented by software (eg, code, instructions, programs) executed by one or more processors, hardware, or a combination of these. The software may be stored in memory (eg, on a memory device, non-transitory computer readable storage medium). The particular sequence of process steps shown in FIG. 12 is not intended to be limiting. Other sequences of steps may be performed according to alternative embodiments. For example, alternative embodiments of the present invention may perform the steps outlined above in other orders. In addition, the individual steps shown in FIG. 12 may include a plurality of sub-steps that may be performed in various sequences as appropriate depending on the individual step. In addition, other steps may be added or deleted depending on the particular application. One of ordinary skill in the art would recognize many variations, modifications, and alternatives. The process shown in flowchart 1200 begins at block 1202.

ブロック1202において、1つ以上のサービスがサービスインフラストラクチャシステム(たとえば図1のクラウドインフラストラクチャシステム100)に提供される。サービスインフラストラクチャシステムは、マルチテナント環境を含み得るまたは実現し得る。サービスの例は、CRMサービス、HCMサービス、Java(登録商標)サービス、またはその他の計算サービスを含み得る。   At block 1202, one or more services are provided to a service infrastructure system (eg, cloud infrastructure system 100 of FIG. 1). The service infrastructure system may include or implement a multi-tenant environment. Examples of services may include CRM services, HCM services, Java services, or other computing services.

いくつかの実施形態において、1つ以上のサービスを提供することは、これらのサービスのうちの1つへのアクセス要求を顧客から受ける前に、サービスインフラストラクチャシステムにおいてこれらのサービスのうちの1つ以上をプロビジョニングすることを含む。サービスは、1つ以上の基準に基づいてプロビジョニングしてもよい。たとえば、サービスは、サービスインフラストラクチャシステムのオペレーションに関連する1つ以上のメトリックに基づいてプロビジョニングしてもよい。別の例において、サービスを、サービスに対する需要に対応付けられた1つ以上のメトリックに基づいてプロビジョニングしてもよい。他の例において、サービスを、サービスの種類に対応付けられた1つ以上のメトリックに基づいてプロビジョニングしてもよい。   In some embodiments, providing one or more services may be performed by the service infrastructure system prior to receiving a request for access to one of the services from the customer. Including provisioning more. Services may be provisioned based on one or more criteria. For example, services may be provisioned based on one or more metrics associated with the operation of the service infrastructure system. In another example, services may be provisioned based on one or more metrics associated with the demand for services. In another example, services may be provisioned based on one or more metrics associated with the type of service.

ブロック1204で、サービスインフラストラクチャシステムが提供するサービスへのアクセスの要求を顧客から受ける。たとえば、要求802または要求902はクライアント装置224から受ける場合がある。顧客による要求は、顧客が要求するサービスの使用の種類を示していてもよい。使用の種類の例は、テスト、開発、ロードバランシング、生産、訓練、マーケティング、またはこれらを組合わせたものを含むが、これらに限定されるものではない。いくつかの実施形態において、顧客による要求は、顧客が所望するサブスクリプションの種類を示していてもよい。サブスクリプションの種類は、再使用可能なサブスクリプション(たとえばRAS)またはクローンサブスクリプションを示し得る。   At block 1204, a request is received from a customer for access to a service provided by the service infrastructure system. For example, request 802 or request 902 may be received from client device 224. The customer request may indicate the type of use of the service requested by the customer. Examples of types of use include, but are not limited to, testing, development, load balancing, production, training, marketing, or combinations thereof. In some embodiments, the customer request may indicate the type of subscription desired by the customer. The type of subscription may indicate a reusable subscription (eg, RAS) or a clone subscription.

いくつかの実施形態において、要求は、要求するサービスに関する1つ以上の必要条件を示していてもよい。この必要条件は、料金制約(たとえば最低料金および/または最高料金)、要求するサービスの使用の時間制限、このサービスを使用するユーザの量、所望のサービスサポートの種類、サービスの使用に関連するその他の必要条件、またはこれらの組合わせを含み得る。   In some embodiments, the request may indicate one or more requirements for the requested service. This requirement may include: rate restrictions (eg minimum and / or maximum charges), time restrictions on the use of the requested service, the amount of users using this service, the type of service support desired, other related to the use of the service Requirements, or combinations of these.

ブロック1206で、顧客から要求されたサービスに基づいてサブスクリプションの種類を決定するための処理を実行する。サブスクリプションの種類は、クローンサブスクリプションまたは再使用可能なサブスクリプション(たとえばRAS)のうちの一方である。サブスクリプションの種類は、サブスクリプションの種類、使用の種類、および/または1つ以上の必要条件等の、要求内の情報に基づいて判断してもよい。要求されたサービスについて決定したサブスクリプションの種類を用いて、要求されたサービスへのアクセスを可能にするために顧客に提供するサブスクリプションを決定できる。   At block 1206, processing is performed to determine the type of subscription based on the service requested by the customer. The type of subscription is either a clone subscription or a reusable subscription (eg RAS). The type of subscription may be determined based on the information in the request, such as the type of subscription, the type of use, and / or one or more requirements. The type of subscription determined for the requested service can be used to determine the subscriptions provided to the customer to enable access to the requested service.

1208で、第1のサービス(たとえば1204で要求されたサービス)にアクセスするためのサブスクリプションを顧客に提供する。このサブスクリプションは、1206で判断したサブスクリプションの種類に基づいて提供される。第1のサービスは、サービスインフラストラクチャシステムが提供するサービス(たとえばブロック1202で提供されるサービス)のうちの1つのサービスを用いて提供されてもよい。   At 1208, the customer is provided with a subscription to access the first service (eg, the service requested at 1204). This subscription is provided based on the type of subscription determined at 1206. The first service may be provided using one of the services provided by the service infrastructure system (eg, the service provided at block 1202).

一例において、生産環境の新たな特徴のテストまたは開発といった使用の種類を要求が示すときに、第1のサービスにアクセスするためのクローンサブスクリプションを顧客に提供してもよい。この例において、クローンサブスクリプションを選択し得る理由は、クローンサブスクリプションの確立のために使用されるベースサブスクリプションは顧客によるスペックに従って既に構成されていてもよく、クローンサブスクリプションはベースサブスクリプションのコンフィギュレーションに基づいてクローニングされるからである。再使用可能なサブスクリプションは提供しなくてもよい。なぜなら、再使用可能なサブスクリプションが提供するサービスのためにさらに他のコンフィギュレーションが必要となるかもしれないからである。クローンサブスクリプションは、要求されたサービスを構築するのに要する処理時間を短縮できる。なぜなら、顧客はクローンサブスクリプションを構成するための情報を提供しなくてもよいからである。再使用可能なサブスクリプションではなくクローンサブスクリプションを選択することにより、クローンサブスクリプションの管理のために実行する追加処理を減じてもよい。たとえば、クローンサブスクリプションのライフサイクルをベースサブスクリプションのライフサイクルに対応付けて、ベースサブスクリプションを管理するために実行されるオペレーションに基づいてクローンサブスクリプションを自動的に管理(たとえば更新または終了)してもよい。   In one example, when the request indicates a type of use, such as testing or developing new features of the production environment, a clone subscription may be provided to the customer to access the first service. In this example, the reason why the clone subscription can be selected is that the base subscription used for establishing the clone subscription may already be configured according to the specification by the customer, and the clone subscription is configured of the base subscription Because it is cloned based on the Reusable subscriptions may not be provided. This is because other configurations may be needed for services provided by reusable subscriptions. Clone subscriptions can reduce the processing time required to build the requested service. This is because the customer does not have to provide the information to configure the clone subscription. By selecting clone subscriptions rather than reusable subscriptions, the additional processing performed for managing clone subscriptions may be reduced. For example, the clone subscription life cycle is associated with the base subscription life cycle to automatically manage (eg, renew or terminate) the clone subscription based on the operations performed to manage the base subscription. May be

別の例において、第1のサービスの要求が、使用の種類としてテストを示しかつ要求するサービスの使用の時間制限を示すときは、再使用可能なサブスクリプションを顧客に提供してもよい。この例において、クローンサブスクリプションではなく再使用可能なサブスクリプションを提供し得る理由は、クローンサブスクリプションの作成の基礎とすることができるベースサブスクリプションを顧客がまだ持っていないことである場合がある。再使用可能なサブスクリプションは、顧客に提供するのに望ましいであろう。なぜなら、再使用可能なサブスクリプションのためのリソースが既にプロビジョニングされているであろうからである。さらに、再使用可能なサブスクリプションは、現在の顧客が再使用可能なサブスクリプションの使用を終了したときには他の顧客に再度割当ててもよい。再使用可能なサブスクリプションは、顧客が追加のコンフィギュレーションを必要としないときに顧客に提供すればよい。   In another example, a reusable subscription may be provided to the customer when the request for the first service indicates a test as a type of use and indicates a time limit of use of the requesting service. In this example, the reason why a reusable subscription can be provided rather than a clone subscription may be that the customer does not yet have a base subscription that can be the basis of creating a clone subscription . Reusable subscriptions may be desirable for providing to customers. Because resources for reusable subscriptions will already be provisioned. In addition, reusable subscriptions may be reassigned to other customers when the current customer has finished using the reusable subscription. Reusable subscriptions may be provided to the customer when the customer does not require additional configuration.

いくつかの実施形態において、サブスクリプションの種類がクローンサブスクリプションのとき、サブスクリプションを顧客に提供することは、第1のサービス(たとえば既存のサービス)に対する第1のサブスクリプションに基づいて第1のクローンサブスクリプションを確立することと、第1のクローンサブスクリプションを、一組の規則に基づいて第1のサブスクリプションに対応付けることを含む。第1のクローンサブスクリプションは第2のサービスへのアクセスを提供し得る。第1のクローンサブスクリプションは、サブスクリプションとして顧客に提供してもよい。   In some embodiments, when the type of subscription is a clone subscription, providing the subscription to the customer is determined based on the first subscription to the first service (eg, an existing service). Establishing a clone subscription and associating the first clone subscription with the first subscription based on a set of rules. The first clone subscription may provide access to a second service. The first clone subscription may be provided to the customer as a subscription.

第1のクローンサブスクリプションを第1のサブスクリプションに対応付けることは、第1のクローンサブスクリプションのライフサイクルを第1のサブスクリプションのライフサイクルに対応付けることと含み得る。第2のサービスへのアクセスは、第1のクローンサブスクリプションおよび第1のサブスクリプションのライフサイクルの対応関係に基づいて、第1のサービスへのアクセスが終了したときに終了してもよい。いくつかの実施形態において、第1のクローンサブスクリプションのライフサイクルと第1のサブスクリプションのライフサイクルを相互に対応付けた場合、第2のサービスへのアクセスは、顧客からの要求に基づいた第1のサービスへのアクセスの更新に基づいて修正してもよい。   Associating the first clone subscription with the first subscription may include associating the first clone subscription life cycle with the first subscription life cycle. The access to the second service may end when the access to the first service is terminated based on the correspondence between the first clone subscription and the life cycle of the first subscription. In some embodiments, when the life cycle of the first clone subscription and the life cycle of the first subscription are associated with each other, access to the second service is based on a request from the customer. It may be corrected based on the update of access to one service.

いくつかの実施形態において、一組の規則を用いることにより、第1のクローンサブスクリプションと第1のサブスクリプションの対応関係を管理してもよい。一組の規則は、第1のサービスのクローンとしての第2のサービスの用途を示していてもよい。一組の規則は、第2のサービスへのアクセスの期間を示していてもよい。一組の規則は、第2のサービスへのアクセスが許可されるユーザの数を示していてもよい。第2のサービスへのアクセスが許可されるユーザの数は、第1のサービスへのアクセスが許可されるユーザの数と異なっていてもよい。一組の規則は、第2のサービスのコンフィギュレーションを示していてもよい。第2のサービスのコンフィギュレーションは第1のサービスのコンフィギュレーションと異なっていてもよい。   In some embodiments, the correspondence between the first clone subscription and the first subscription may be managed by using a set of rules. The set of rules may indicate the use of the second service as a clone of the first service. One set of rules may indicate the duration of access to the second service. One set of rules may indicate the number of users authorized to access the second service. The number of users authorized to access the second service may be different from the number of users authorized to access the first service. One set of rules may indicate the configuration of the second service. The configuration of the second service may be different from the configuration of the first service.

いくつかの実施形態において、サブスクリプションの種類が再使用可能なサブスクリプションであるとき、サブスクリプションを第1の顧客に提供することは、サービスインフラストラクチャシステム内のサービスプールにおいて第1のサービスがプロビジョニングされていると判断することと、第1のサービスのための第1のサブスクリプションをサービスのためのサブスクリプションとして顧客に割当てることとを含む。第1のサブスクリプションを割当てることは、サービスプールから顧客に第1のサービスを割当てることを含み得る。第1のサービスを顧客に割当てることは、第1のサービスをサービスプールから削除することを含み得る。第1のサービスについて、特定顧客向けデータを顧客に対応付けてもよい。特定顧客向けデータは、第1のサービスに対応する特定サービス向けデータに対応付けてもよい。   In some embodiments, providing the subscription to the first customer when the type of subscription is a reusable subscription is provision of the first service in a service pool in the service infrastructure system. Determining that it has been done and assigning the first subscription for the first service to the customer as a subscription for the service. Assigning the first subscription may include assigning the first service to the customer from the service pool. Assigning the first service to the customer may include removing the first service from the service pool. For the first service, data for a specific customer may be associated with the customer. The data for specific customer may be associated with the data for specific service corresponding to the first service.

ブロック1210において、第1の顧客に提供したサブスクリプションを管理してもよい。サブスクリプションの種類がクローンサブスクリプションのとき、サブスクリプションを管理することは、第1のサービスの変更に応じて、サブスクリプションによる要求されたサービスへのアクセスを決定することを含み得る。サービスへのアクセスは、一組の規則を用いて決定してもよい。サブスクリプションの種類が再使用可能なサブスクリプションであるとき、サブスクリプションを管理することは、サブスクリプションが終了したときに第1のサービスを顧客からサービスプールに割当てることを含み得る。第1のサービスをサービスプールに割当てることは、特定顧客向けデータと第1のサービスに対応する特定サービス向けデータとの対応関係を解消することを含み得る。第1のサービスがサービスプールに戻されると、第1のサービスをサービスプールから1以上の他の顧客に再度割当ててもよい。   At block 1210, subscriptions provided to the first customer may be managed. When the type of subscription is a clone subscription, managing the subscription may include, in response to a change of the first service, determining access to the requested service by the subscription. Access to services may be determined using a set of rules. When the type of subscription is a reusable subscription, managing the subscription may include assigning a first service from the customer to the service pool when the subscription is terminated. Assigning the first service to the service pool may include resolving the correspondence between the data for specific customer and the data for specific service corresponding to the first service. Once the first service is returned to the service pool, the first service may be reassigned from the service pool to one or more other customers.

フローチャート1200は、ブロック1212で終了する。
図13は、本発明の実施形態に従う、テナント環境の提供に関わるさまざまなインタラクションの高レベルの全体像を示す。
The flowchart 1200 ends at block 1212.
FIG. 13 shows a high level overview of various interactions involved in providing a tenant environment, in accordance with an embodiment of the present invention.

(1)で、Javaサービスに対するテナント要求がTAS204からSDI206に送られる。SDI206は、要求されたJavaサービスを、再使用可能な匿名サブスクリプションのプールからプロビジョニングする。SDI206はSDIコネクタ612を含む。SDIコネクタ612は、Nuviaqコネクタ620、IDMコネクタ622、DBコネクタ614、およびアセンブリビルダ624を含む。   At (1), a tenant request for a Java service is sent from TAS 204 to SDI 206. The SDI 206 provisions the requested Java service from the pool of reusable anonymous subscriptions. SDI 206 includes an SDI connector 612. SDI connector 612 includes Nuviaq connector 620, IDM connector 622, DB connector 614, and assembly builder 624.

上記のように、テナント要求を受ける前に、SDI206は1つ以上の再使用可能な匿名サブスクリプションの1つ以上のプールをプロビジョニングする。たとえば、SDI206が新たなJavaサブスクリプションのプロビジョニングを必要とするとき、(2)で、匿名アセンブリに対する要求が、SDIコネクタ612のアセンブリビルダコネクタ624からアセンブリビルダ502に送られる。(3)で、仮想マシンOVM1302を通して匿名アセンブリがアセンブリビルダ502によってデプロイされる。(4)で、アセンブリビルダ502は匿名アセンブリの結果をアセンブリビルダコネクタ624に返す。   As noted above, before receiving a tenant request, SDI 206 provisions one or more pools of one or more reusable anonymous subscriptions. For example, when the SDI 206 requires provisioning of a new Java subscription, at (2), a request for anonymous assembly is sent from the assembly builder connector 624 of the SDI connector 612 to the assembly builder 502. At (3), the anonymous assembly is deployed by the assembly builder 502 through the virtual machine OVM 1302. At (4), the assembly builder 502 returns the result of the anonymous assembly to the assembly builder connector 624.

(5)で、IDMスライス作成のコマンドがIDMコネクタ622からIDM200に送られる。(6)で、IDMコーディネートがIDM200からIDMコネクタ622に返送される。(7)で、DBコネクタ614はDB504を通してDBスライスの作成を命令する。(8)で、DBコーディネートがDB504からDBコネクタ614に返送される。   At (5), an IDM slice creation command is sent from the IDM connector 622 to the IDM 200. At (6), the IDM coordinates are returned from the IDM 200 to the IDM connector 622. At (7), the DB connector 614 instructs creation of a DB slice through the DB 504. At (8), the DB coordination is returned from the DB 504 to the DB connector 614.

(9)で、所与のIDM、DB、およびEMエージェント(適用できる場合)コーディネートによるJavaサービスの構成の要求が、Nuviaqコネクタ620からNuviaqデータベースアプリケーション1304に送られる。(10)で、Nuviaqデータベースアプリケーション1304は、すべてのサービスインスタンスデータを格納する。(11)で、EMエージェントの起動を含むJavaサービスインスタンスが構成される。ライトウェイトディレクトリアクセスプロトコル(lightweight directory access protocol)(LDAP)ATN資格証明、ノードマネージャパスワード、および埋込まれたLDAPパスワードが、OVM1302が利用できる次世代暗号化標準(advanced encryption standard)(AES)におけるconfig.xml fileに格納される。種類が異なるサービスを含む、Javaサービス以外の他のサービスは、SDIモジュールを用いて作成できる。   At (9), a request for configuration of Java services with given IDM, DB, and EM agent (if applicable) coordination is sent from Nuviaq connector 620 to Nuviaq database application 1304. At (10), the Nuviaq database application 1304 stores all service instance data. In (11), a Java service instance including activation of the EM agent is configured. Lightweight directory access protocol (LDAP) ATN credentials, node manager password, and embedded LDAP password can be configured in the advanced encryption standard (AES) available to the OVM 1302 It is stored in .xml file. Other services besides Java services, including services of different types, can be created using the SDI module.

コンピュータネットワーククラウドインフラストラクチャシステムでは複数のサービスを提供することができる。このようなサービスは、単純な、サービスとしてのインフラストラクチャ(IAAS)サービス、サービスとしてのプラットフォーム(PAAS)サービス、およびサービスとしてのソフトウェア(SAAS)サービスを含み得る。IAAS、PAAS、およびSAASサービスは種類が互いに異なるサービスである。   A computer network cloud infrastructure system can provide multiple services. Such services may include simple infrastructure as services (IAAS) services, platform as services (PAAS) services, and software as services (SAAS) services. IAAS, PAAS, and SAAS services are different types of services.

IAASサービスは単純なストレージソリューションを含み得る。ストレージソリューションは、インターネットからアクセス可能なディスクドライブの遠隔セットまたはその他のメモリデバイスを含み得る。これらはまた、ファイル転送プロトコル(FTP)、仮想プライベートネットワーク(VPN)、またはディスクドライブ上に保存されているデータのアップロード、ダウンロード、およびトラッキングのための他のサービスを含み得る。IAASストレージソリューションは、冗長性およびバックアップサービス等の、単なる保存を超えた機能を含み得る。IAASサービスはまた、処理能力、地球の他の部分への帯域幅、およびその他のコンピュータリソースを含み得る。   The IAAS service may include a simple storage solution. The storage solution may include a remote set of disk drives accessible from the Internet or other memory devices. These may also include file transfer protocol (FTP), virtual private network (VPN), or other services for uploading, downloading, and tracking data stored on disk drives. IAAS storage solutions may include functionality beyond mere storage, such as redundancy and backup services. IAAS services may also include processing power, bandwidth to other parts of the earth, and other computer resources.

PAASサービスは、データベースクラウドサービス、ミドルウェアクラウドサービス、Javaクラウドサービス、および、一般的にソフトウェアプラットフォームとして提供されるその他のサービスを含み得る。データベースサービスは、SQLデータベースエンジン等のリレーショナルデータベースエンジンへのアクセスを含み得る。テーブルおよびその他のデータベーススキーマをユーザがクラウド上で設計し実現することができ、データベース管理エンジンをユーザが使用してデータベースからデータを入力およびエクスポートすることができる。同様に、ユーザがJavaまたはその他のプログラミング言語を用いてクラウドシステム上にカスタムアプリケーションを作成しその後クラウドシステム上で実行することができる。クラウドサーバから離れた場所のユーザが、カスタムユーザインターフェイスおよびデータ構造をサポートするその他のミドルウェアアプリケーションを設計して実行することができる。   PAAS services may include database cloud services, middleware cloud services, Java cloud services, and other services commonly provided as software platforms. Database services may include access to relational database engines such as SQL database engines. Tables and other database schemas can be designed and implemented by the user on the cloud, and the database management engine can be used by the user to input and export data from the database. Similarly, a user can create a custom application on the cloud system using Java or other programming language and then execute it on the cloud system. Users at a distance from the cloud server can design and execute other middleware applications that support custom user interfaces and data structures.

SAASサービスは、顧客関係管理(CRM)サービスを含み得る。これらのサービスは、販売員がリードをトラッキングをするのを補助することができ、従業員が顧客のアカウントを維持するのをサポートすることができ、顧客自身が顧客自身のアカウントを見るのをサポートすることができる。人的資源管理(HCM)および人材サービスは、雇用者が被雇用者および独立した契約者に関する情報を保管するのを補助することができる。このようなサービスによって、労働時間追跡、資産検査、ならびに従業員名簿追跡および支払を提供できる。   SAAS services may include customer relationship management (CRM) services. These services can help salespeople track leads, help employees maintain customer accounts, and help customers view their own accounts can do. Human resource management (HCM) and human resources services can help employers store information about employees and independent contractors. Such services can provide working time tracking, asset inspection, and employee directory tracking and payment.

サービスのためのクラウドリソースのプロビジョニングは、非同期で発生する可能性がある。たとえば、方法または機能は、コールバックアドレスを含む引数変数を用いてアプリケーションプログラミングインターフェイス(API)を通して呼出すことができる。モジュール呼出し方法が、呼出された方法が続行前に終了するのを待つのではなく、呼出された方法が、終了時にモジュールにメッセージを送ることができる。呼出された方法はまた、ステータス更新をモジュールに送ることができる。SAASサービス等のいくつかのサービスのためのプロビジョニングには何時間または何日も要する場合があり、IAASサービス等のその他のサービスのためのプロビジョニングに要する時間は数分である場合があるので、この非同期のAPIコールは、最短起動期間サービスが、たとえ起動時間がより長い他のサービスとともにプロビジョニングされるときでも、後ではなく先にプロビジョニングされることを保証するのに役立ち得る。   Provisioning of cloud resources for services may occur asynchronously. For example, a method or function can be invoked through an application programming interface (API) using argument variables including a callback address. Rather than waiting for the called method to finish before the called method continues, the called method can send a message to the module upon exit. The invoked method can also send status updates to the module. Because provisioning for some services, such as SAAS services, can take hours or days, and provisioning time for other services, such as IAAS services, can be several minutes, Asynchronous API calls may help to ensure that the minimum activation period service is provisioned first rather than later, even when it is provisioned with other services with longer activation times.

結論
図14は、ある実施形態を実現するための分散システム1400の簡略化した図を示す。示されている実施形態において、分散システム1400は、1つ以上のネットワーク1410上でウェブブラウザ、プロプライエタリクライアント(たとえばOracle Forms)等のクライアントアプリケーションを実行および操作するように構成された1つ以上のクライアント演算装置1402、1404、1406、および1408を含む。サーバ1412は、ネットワーク1410を介して遠隔のクライアント演算装置1402、1404、1406、および1408と通信可能に連結し得る。
Conclusion FIG. 14 shows a simplified diagram of a distributed system 1400 for implementing certain embodiments. In the illustrated embodiment, distributed system 1400 is configured to execute and manipulate client applications, such as web browsers, proprietary clients (eg, Oracle Forms), etc., on one or more networks 1410. Arithmetic units 1402, 1404, 1406 and 1408 are included. Server 1412 may be communicatively coupled to remote client computing devices 1402, 1404, 1406, and 1408 via network 1410.

さまざまな実施形態において、サーバ1412は、クラウドインフラストラクチャシステムによってプロビジョニングされた既存のサービスを用いてサービスへのアクセスをユーザに提供するためのサービスおよびアプリケーション等の1つ以上のサービスまたはソフトウェアアプリケーションを実行するように構成し得る。特定の実施形態において、サーバ1412はまた、非仮想および仮想環境を含み得るその他のサービスまたはソフトウェアアプリケーションを提供し得る。いくつかの実施形態において、これらのサービスは、クライアント演算装置1402、1404、1406、および/または1408のユーザに対して、ウェブベースのまたはクラウドサービスとしてまたはサービスとしてのソフトウェア(SaaS)モデルのもとで提供し得る。クライアント演算装置1402、1404、1406、および/または1408を操作するユーザは、1つ以上のクライアントアプリケーションを利用してサーバ1412と対話することによりこれらのコンポーネントが提供するサービスを利用し得る。   In various embodiments, server 1412 executes one or more services or software applications such as services and applications to provide users with access to services using existing services provisioned by the cloud infrastructure system. Can be configured to In particular embodiments, server 1412 may also provide other services or software applications that may include non-virtual and virtual environments. In some embodiments, these services may be based on a software (SaaS) model as a web-based or as a cloud service or as a service to users of client computing devices 1402, 1404, 1406, and / or 1408. Can be provided by A user operating client computing devices 1402, 1404, 1406, and / or 1408 may utilize services provided by these components by interacting with server 1412 utilizing one or more client applications.

図14に示される構成において、システム1400のソフトウェアコンポーネント1418、1420、および1422は、サーバ1412上に実装されるものとして示されている。他の実施形態において、システム1400の上記コンポーネントおよび/またはこれらのコンポーネントが提供するサービスのうちの1つ以上が、クライアント演算装置1402、1404、1406、および/または1408のうちの1つ以上によって実装されてもよい。そうすると、クライアント演算装置を操作するユーザは、クライアントアプリケーションのうちの1つ以上を用いて、これらのコンポーネントが提供するサービスを利用することができる。これらのコンポーネントは、ハードウェア、ファームウェア、ソフトウェア、またはこれらの組合わせにおいて実装されてもよい。なお、分散システム1400とは異なり得る多種多様なシステムコンフィギュレーションが可能である。図14に示される実施形態はしたがって、ある実施形態のシステムを実現するための分散システムであって、限定を意図したものではない。   In the configuration shown in FIG. 14, software components 1418, 1420, and 1422 of system 1400 are shown as being implemented on server 1412. In other embodiments, one or more of the above components of system 1400 and / or the services provided by these components are implemented by one or more of client computing devices 1402, 1404, 1406, and / or 1408. It may be done. Then, a user operating the client computing device can use one or more of the client applications to use the service provided by these components. These components may be implemented in hardware, firmware, software, or a combination of these. Note that a wide variety of system configurations are possible, which may differ from the distributed system 1400. The embodiment shown in FIG. 14 is thus a distributed system for implementing the system of an embodiment and is not intended to be limiting.

クライアント演算装置1402、1404、1406、および/または1408は、さまざまな種類の演算システムを含み得る。たとえば、クライアント装置は、Microsoft Windows Mobile(登録商標)等のソフトウェア、および/またはiOS、Windows Phone、Android(登録商標)、BlackBerry(登録商標) 10、Palm OS等のさまざまなモバイルオペレーティングシステムを実行する、ポータブルハンドヘルドデバイス(たとえばiPhone(登録商標)、携帯電話、iPad(登録商標)、計算タブレット、携帯情報端末(PDA))またはウェアラブルデバイス(たとえばGoogle Glass(登録商標)ヘッドマウントディスプレイ)を含み得る。これらの装置は、さまざまなインターネット関連アプリケーション、電子メール、ショートメッセージサービス(SMS)アプリケーション等のさまざまなアプリケーションをサポートし得るものであり、かつその他のさまざまな通信プロトコルを使用し得る。また、クライアント演算装置は、例として、さまざまなバージョンのMicrosoft Windows(登録商標)、Apple Macintosh(登録商標)および/またはLinux(登録商標)オペレーティングシステムを実行するパーソナルコンピュータおよび/またはラップトップコンピュータを含む、汎用パーソナルコンピュータを含み得る。クライアント演算装置は、たとえばGoogle Chrome OS等の、さまざまなGNU/Linuxオペレーティングシステムを含むがこれらに限定されないさまざまな市販のUNIX(登録商標)またはUNIXのようなオペレーティングシステムのうちのいずれかを実行するワークステーションコンピュータであってもよい。また、クライアント演算装置は、ネットワーク1410上で通信可能な、シンクライアントコンピュータ、インターネット接続可能なゲームシステム(たとえばKinect(登録商標)ジェスチャー入力装置を備えたまたは備えていないMicrosoft Xboxゲーム機)、および/またはパーソナルメッセージングデバイス等の電子機器を含み得る。   Client computing devices 1402, 1404, 1406, and / or 1408 may include various types of computing systems. For example, the client device runs software such as Microsoft Windows Mobile® and / or various mobile operating systems such as iOS, Windows Phone, Android®, BlackBerry® 10, Palm OS, etc. , Portable handheld devices (e.g., iPhone (R), mobile phones, iPad (R), computing tablets, personal digital assistants (PDAs)) or wearable devices (e.g., Google Glass (R) head mounted display). These devices may support various applications such as various Internet related applications, email, short message service (SMS) applications, and may use various other communication protocols. Also, client computing devices include, by way of example, personal computers and / or laptop computers running various versions of Microsoft Windows®, Apple Macintosh® and / or Linux® operating systems. , A general purpose personal computer. The client computing device may run any of a variety of commercially available operating systems, such as, but not limited to, various GNU / Linux operating systems, such as the Google Chrome OS It may be a workstation computer. In addition, the client computing device may be a thin client computer capable of communicating on the network 1410, an Internet connectable gaming system (e.g., a Microsoft Xbox gaming machine with or without a Kinect.RTM. Gesture input device), and / or Or may include an electronic device such as a personal messaging device.

図14の分散システム1400は4つのクライアント演算装置とともに示されているが、任意の数のクライアント演算装置をサポートし得る。センサ等を有する装置といったその他の装置がサーバ1412と対話してもよい。   Although distributed system 1400 of FIG. 14 is shown with four client computing devices, it may support any number of client computing devices. Other devices, such as devices having sensors or the like may interact with server 1412.

分散システム1400内のネットワーク1410は、TCP/IP(伝送制御プロトコル/インターネットプロトコル)、SNA(システムネットワークアーキテクチャ)、IPX(インターネットパケット交換)、Apple Talk等を含むがこれらに限定されない、利用可能なさまざまなプロトコルのうちのいずれかを用いて、データ通信をサポートすることができる、当業者にはよく知られているいずれかの種類のネットワークであればよい。ほんの一例として、ネットワーク1410は、ローカルエリアネットワーク(LAN)、イーサネット(登録商標)に基づくネットワーク、トークンリング、広域ネットワーク、インターネット、仮想ネットワーク、仮想プライベートネットワーク(VPN)、イントラネット、エクストラネット、公衆交換電話網(PSTN),赤外線ネットワーク、無線ネットワーク(たとえば、米国電気電子技術者協会(IEEE)802.11プロトコルスイートのうちのいずれか、Bluetooth(登録商標)、および/またはその他いずれかの無線プロトコルのもとで機能するネットワーク)、および/またはこれらの組合わせ、および/またはその他のネットワークであってもよい。   A variety of networks 1410 in distributed system 1400 may be used, including but not limited to TCP / IP (Transmission Control Protocol / Internet Protocol), SNA (Systems Network Architecture), IPX (Internet Packet Switching), Apple Talk, etc. Any type of network well known to those skilled in the art that can support data communication using any of the above protocols. By way of example only, network 1410 may be a local area network (LAN), Ethernet based network, token ring, wide area network, Internet, virtual network, virtual private network (VPN), intranet, extranet, public switched telephone Network (PSTN), infrared network, wireless network (eg, one of the Institute of Electrical and Electronics Engineers (IEEE) 802.11 protocol suite, Bluetooth, and / or any other wireless protocol) And / or combinations thereof and / or other networks.

サーバ1412は、1つ以上の汎用コンピュータ、専用サーバコンピュータ(例として、PC(パーソナルコンピュータ)サーバ、UNIX(登録商標)サーバ、ミッドレンジサーバ、メインフレームコンピュータ、ラックマウント式サーバ等を含む)、サーバファーム、サーバクラスタ、またはその他いずれかの適切な構成および/または組合わせで構成されていてもよい。サーバ1412は、仮想オペレーティングシステムまたは仮想化を伴うその他の計算アーキテクチャを実行する1つ以上の仮想マシンを含み得る。論理記憶装置の1つ以上のフレキシブルプールを仮想化することによって、サーバのための仮想記憶装置を維持することができる。仮想ネットワークは、サーバ1412がソフトウェア定義ネットワーキングを用いて制御することができる。さまざまな実施形態において、サーバ1412は、これまでの開示において説明した1つ以上のサービスまたはソフトウェアアプリケーションを実行するように構成されていてもよい。たとえば、サーバ1412は、本開示のある実施形態に従う上記処理を実行するためのサーバに対応していてもよい。   The server 1412 includes one or more general-purpose computers, a dedicated server computer (for example, a PC (personal computer) server, a UNIX (registered trademark) server, a midrange server, a mainframe computer, a rack mount server, etc.), a server It may be configured with a farm, server cluster, or any other suitable configuration and / or combination. Server 1412 may include one or more virtual machines running virtual operating systems or other computing architectures with virtualization. By virtualizing one or more flexible pools of logical storage, virtual storage for the server can be maintained. The virtual network can be controlled by server 1412 using software defined networking. In various embodiments, server 1412 may be configured to execute one or more services or software applications described in the previous disclosures. For example, server 1412 may correspond to a server for performing the above-described processing in accordance with certain embodiments of the present disclosure.

サーバ1412は、上記のうちのいずれかを含むオペレーティングシステムおよび市販のいずれかのサーバオペレーティングシステムを実行し得る。サーバ1412はまた、HTTP(ハイパーテキストトランスポートプロトコル)サーバ、FTP(ファイル転送プロトコル)サーバ、CGI(コモンゲートウェイインターフェイス)サーバ、JAVA(登録商標)サーバ、データベースサーバ等を含む、さまざまなその他のサーバアプリケーションおよび/またはミッドティアアプリケーションのうちのいずれかを実行し得る。代表的なデータベースサーバは、Oracle、Microsoft、Sybase、IBM(International Business Machines)等から市販されているものを含むが、これらに限定されるものではない。   The server 1412 may execute an operating system including any of the above and any commercially available server operating system. Server 1412 may also include various other server applications, including HTTP (hypertext transport protocol) servers, FTP (file transfer protocol) servers, CGI (common gateway interface) servers, JAVA servers, database servers, etc. And / or any of the mid-tier applications may be run. Representative database servers include, but are not limited to, those commercially available from Oracle, Microsoft, Sybase, IBM (International Business Machines) and the like.

いくつかの実装例において、サーバ1412は、クライアント演算装置1402、1404、1406、および1408のユーザから受けたデータフィードおよび/またはイベントアップデートを分析し統合するための1つ以上のアプリケーションを含み得る。一例として、データフィードおよび/またはイベントアップデートは、センサデータアプリケーション、株式相場表示機、ネットワーク性能測定ツール(たとえばネットワークモニタリングおよびトラフィック管理アプリケーション)、クリックストリーム分析ツール、自動車交通量モニタリング等に関連するリアルタイムイベントを含み得る、1つ以上の第三者情報源および連続データストリームから受けた、Twitter(登録商標)フィード、Facebook(登録商標)アップデートまたはリアルタイムアップデートを含むが、これらに限定されるものではない。また、サーバ1412は、クライアント演算装置1402、1404、1406、および1408の1つ以上の表示装置を介してデータフィードおよび/またはリアルタイムイベントを表示するための1つ以上のアプリケーションを含み得る。   In some implementations, server 1412 may include one or more applications for analyzing and integrating data feeds and / or event updates received from users of client computing devices 1402, 1404, 1406, and 1408. As an example, data feeds and / or event updates may be real-time events related to sensor data applications, stock tickers, network performance measurement tools (eg network monitoring and traffic management applications), clickstream analysis tools, automotive traffic monitoring etc. , Including, but not limited to, Twitter® feeds, Facebook® updates, or real-time updates, received from one or more third party sources and continuous data streams, which may include, Also, server 1412 may include one or more applications for displaying data feeds and / or real-time events via one or more displays of client computing devices 1402, 1404, 1406, and 1408.

分散システム1400はまた、1つ以上のデータベース1414および1416を含み得る。これらのデータベースは、本発明の実施形態によって使用されるユーザインタラクション情報、使用パターン情報、適合規則情報、およびその他の情報等の情報を格納するためのメカニズムを提供し得る。データベース1414および1416はさまざまな場所に存在し得る。例として、データベース1414および1416のうちの1つ以上が、サーバ1412にローカルな(および/または存在する)非一時的な記憶媒体上にあってもよい。これに代えて、データベース1414および1416は、サーバ1412から遠隔の場所にあってネットワークベースのまたは専用接続を介してサーバ1412と通信してもよい。一組の実施形態において、データベース1414および1416は、ストレージエリアネットワーク(SAN)にあってもよい。同様に、サーバ1412から発生する機能を実行するために必要なファイルは、適宜サーバ1412にローカルに格納されていてもよくおよび/または遠隔場所に格納されていてもよい。一組の実施形態において、データベース1414および1416は、SQLフォーマットのコマンドに応じてデータを格納、更新、および取出すように構成された、Oracleが提供するデータベース等のリレーショナルデータベースを含み得る。   Distributed system 1400 may also include one or more databases 1414 and 1416. These databases may provide a mechanism for storing information such as user interaction information, usage pattern information, conformance rule information, and other information used by embodiments of the present invention. Databases 1414 and 1416 may exist in various places. As an example, one or more of databases 1414 and 1416 may reside on non-transitory storage media local to (and / or present at) server 1412. Alternatively, databases 1414 and 1416 may be remote from server 1412 and communicate with server 1412 via a network-based or dedicated connection. In one set of embodiments, databases 1414 and 1416 may be in a storage area network (SAN). Similarly, files needed to perform functions originating from server 1412 may optionally be stored locally at server 1412 and / or stored remotely. In one set of embodiments, databases 1414 and 1416 may include a relational database, such as an Oracle-provided database, configured to store, update, and retrieve data in response to commands in SQL format.

図15は、本発明の実施形態を実現するために使用し得る典型的なコンピュータシステム1500を示す。いくつかの実施形態において、コンピュータシステム1500を用いて上記さまざまなサーバおよびコンピュータシステムのうちのいずれかを実現してもよい。図15に示されるように、コンピュータシステム1500は、バスサブシステム1502を介して多数の周辺サブシステムと通信する処理ユニット1504を含むさまざまなサブシステムを含む。これらの周辺サブシステムは、処理加速ユニット1506、I/Oサブシステム1508、記憶サブシステム1518、および通信サブシステム1524を含み得る。記憶サブシステム1518は、有形のコンピュータ読取可能記憶媒体1522およびシステムメモリ1510を含み得る。   FIG. 15 shows an exemplary computer system 1500 that may be used to implement an embodiment of the present invention. In some embodiments, computer system 1500 may be used to implement any of the various servers and computer systems described above. As shown in FIG. 15, computer system 1500 includes various subsystems including processing unit 1504 that communicates with a number of peripheral subsystems via bus subsystem 1502. These peripheral subsystems may include processing acceleration unit 1506, I / O subsystem 1508, storage subsystem 1518, and communication subsystem 1524. Storage subsystem 1518 may include tangible computer readable storage media 1522 and system memory 1510.

バスサブシステム1502は、コンピュータシステム1500のさまざまなコンポーネントおよびサブシステムを目的に応じて互いに通信させるためのメカニズムを提供する。バスサブシステム1502は単一のバスとして概略的に示されているが、バスサブシステムの代替の実施形態は複数のバスを利用し得る。バスサブシステム1502は、さまざまなバスアーキテクチャのうちのいずれかを用いる、メモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含む、さまざまな種類のバス構造のうちのいずれかであればよい。たとえば、このようなアーキテクチャは、IEEE P1386.1規格に従って製造されたメザニン(Mezzanine)バス等として実現できる、業界標準アーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、エンハンストISA(EISA)バス、ビデオエレクトロニクス標準協会(VESA)ローカルバス、および周辺コンポーネントインターコネクト(PCI)バスを含み得る。   Bus subsystem 1502 provides a mechanism for letting the various components and subsystems of computer system 1500 communicate with one another as desired. Although bus subsystem 1502 is schematically illustrated as a single bus, alternative embodiments of the bus subsystem may utilize multiple buses. Bus subsystem 1502 may be any of various types of bus structures, including a memory bus or memory controller, a peripheral bus, and a local bus, using any of a variety of bus architectures. For example, such an architecture may be implemented as an industry standard architecture (ISA) bus, a microchannel architecture (MCA) bus, an enhanced ISA (EISA) bus, which may be implemented as a Mezzanine bus etc. manufactured according to the IEEE P1386.1 standard. It may include a Video Electronics Standards Association (VESA) local bus, and a peripheral component interconnect (PCI) bus.

処理サブシステム1504は、コンピュータシステム1500のオペレーションを制御し、かつ、1つ以上の処理ユニット1532、1534等と含み得る。処理ユニットは、シングルコアもしくはマルチコアプロセッサ、プロセッサの1つ以上のコア、またはこれらの組合わせを含む、1つ以上のプロセッサを含み得る。いくつかの実施形態において、処理サブシステム1504は、グラフィックプロセッサ、デジタル信号プロセッサ(DSP)等といった1つ以上の専用コプロセッサを含み得る。いくつかの実施形態において、処理サブシステム1504の処理ユニットのうちのいくつかまたはすべてを、特定用途向け集積回路(ASIC)またはフィールドプログラマブルゲートアレイ(FPGA)等のカスタマイズされた回路を用いて実現してもよい。   Processing subsystem 1504 controls the operation of computer system 1500 and may include one or more processing units 1532 1534, and so on. The processing unit may include one or more processors, including single or multi-core processors, one or more cores of processors, or a combination thereof. In some embodiments, processing subsystem 1504 may include one or more dedicated co-processors, such as graphic processors, digital signal processors (DSPs), and the like. In some embodiments, some or all of the processing units of processing subsystem 1504 are implemented using customized circuits such as application specific integrated circuits (ASICs) or field programmable gate arrays (FPGAs). May be

いくつかの実施形態において、処理サブシステム1504内の処理ユニットは、システムメモリ1510にまたはコンピュータ読取可能記憶媒体1522上に格納されている命令を実行することができる。さまざまな実施形態において、処理ユニットは、さまざまなプログラムまたはコード命令を実行することができ、かつ、同時に実行される複数のプログラムまたはプロセスを維持することができる。所定の時間に、実行すべきプログラムコードのうちのいくつかまたはすべてが、場合によっては1つ以上の記憶装置を含むシステムメモリ1510におよび/またはコンピュータ読取可能記憶媒体1522上にあってもよい。適切なプログラミングを通して、処理サブシステム1504は、クラウドインフラストラクチャシステムによってプロビジョニングされた既存のサービスを用いてサービスへのアクセスをユーザに提供するための上記さまざまな機能を提供することができる。   In some embodiments, a processing unit within processing subsystem 1504 can execute instructions stored in system memory 1510 or on computer readable storage medium 1522. In various embodiments, a processing unit may execute various program or code instructions and may maintain multiple programs or processes executing simultaneously. At a given time, some or all of the program code to be executed may be in system memory 1510 and / or on computer readable storage medium 1522, possibly including one or more storage devices. Through appropriate programming, the processing subsystem 1504 can provide the various capabilities described above to provide users with access to services using existing services provisioned by the cloud infrastructure system.

特定の実施形態において、コンピュータシステム1500が実行する処理全体を加速することを目的として、カスタマイズされた処理を実行するためまたは処理サブシステム1504が実行する処理のうちの一部をオフロードするために、処理加速ユニット1506を設けてもよい。   In particular embodiments, to accelerate the overall process performed by computer system 1500, to perform a customized process, or to offload some of the processes performed by processing subsystem 1504. A processing acceleration unit 1506 may be provided.

I/Oサブシステム1508は、情報をコンピュータシステム1500に入力するためおよび/または情報をコンピュータシステム1500からもしくはコンピュータシステム1500を介して出力するための装置およびメカニズムを含み得る。一般的に、「入力装置」という用語の使用は、情報をコンピュータシステム1500に入力するための、可能なすべての種類の装置およびメカニズムを含むことを意図している。ユーザインターフェイス入力装置は、たとえば、キーボード、マウスまたはトラックボール等のポインティングデバイス、ディスプレイに組込まれたタッチパッドまたはタッチスクリーン、スクロールホイール、クリックホイール、ダイヤル、ボタン、スイッチ、キーパッド、音声コマンド認識システムを備えた音声入力装置、マイク、およびその他の種類の入力装置を含み得る。ユーザインターフェイス入力装置はまた、ユーザが入力装置を制御し入力装置と対話できるようにするMicrosoft Kinect(登録商標)モーションセンサ、Microsoft Xbox(登録商標) 360ゲームコントローラ、ジェスチャーおよび発話コマンドを用いた入力を受けるためのインターフェイスを提供する装置等の、モーション検知および/またはジェスチャー認識装置を含み得る。ユーザインターフェイス入力装置はまた、ユーザから目の動き(たとえば写真撮影時および/またはメニュー選択時の「まばたき」)を受けて目のジェスチャーを入力装置(たとえばGoogle Glass(登録商標))への入力として変換するGoogle Glass(登録商標)まばたき検出器等のアイジェスチャー認識装置を含み得る。加えて、ユーザインターフェイス入力装置は、ユーザが音声コマンドを通して音声認識システム(たとえばSiri(登録商標)ナビゲータ)と対話できるようにする音声認識検知装置を含み得る。   I / O subsystem 1508 may include devices and mechanisms for entering information into computer system 1500 and / or outputting information from or through computer system 1500. In general, use of the term “input device” is intended to include all possible types of devices and mechanisms for inputting information into computer system 1500. The user interface input device may be, for example, a keyboard, a pointing device such as a mouse or a trackball, a touch pad or touch screen incorporated in a display, a scroll wheel, a click wheel, a dial, a button, a switch, a keypad, a voice command recognition system It may include a built-in voice input device, a microphone, and other types of input devices. The user interface input device also allows the user to control the input device and interact with the input device Microsoft Kinect® motion sensor, Microsoft Xbox® 360 game controller, input using gestures and speech commands A motion sensing and / or gesture recognition device may be included, such as a device providing an interface to receive. The user interface input device may also receive eye movements from the user (e.g. "blink" when taking a picture and / or when selecting a menu) and input eye gestures as input to the input device (e.g. Google Glass (R)) It may include an eye gesture recognizer such as a Google Glass® blink detector to convert. In addition, the user interface input device may include a speech recognition detection device that allows the user to interact with the speech recognition system (eg, Siri® navigator) through speech commands.

ユーザインターフェイス入力装置のその他の例は、三次元(3D)マウス、ジョイスティックまたはポインティングスティック、ゲームパッドおよびグラフィックタブレット、ならびに、スピーカ、デジタルカメラ、デジタルカムコーダ、ポータブルメディアプレイヤー、ウェブカメラ、画像スキャナ、指紋スキャナ、バーコードリーダ3Dスキャナ、3Dプリンタ、レーザレンジファインダー、および視線トラッキング装置等のオーディオ/ビジュアル装置を含むが、これらに限定されるものではない。加えて、ユーザインターフェイス入力装置は、たとえば、コンピュータ断層撮影、磁気共鳴撮像、ポジトロン断層撮影、超音波検査装置等の、医療用撮像入力装置を含み得る。ユーザインターフェイス入力装置はまた、たとえば、MIDIキーボード、デジタル音楽機器等といった音声入力装置を含み得る。   Other examples of user interface input devices are three-dimensional (3D) mice, joysticks or pointing sticks, game pads and graphic tablets, and speakers, digital cameras, digital camcorders, portable media players, webcams, image scanners, fingerprint scanners And audio / visual devices such as, but not limited to, barcode readers 3D scanners, 3D printers, laser range finders, and eye tracking devices. In addition, the user interface input device may include, for example, medical imaging input devices such as computed tomography, magnetic resonance imaging, positron emission tomography, echography and the like. The user interface input device may also include an audio input device such as, for example, a MIDI keyboard, digital music equipment, and the like.

ユーザインターフェイス出力装置は、ディスプレイサブシステム、インジケータライト、または音声出力装置といった非ビジュアルディスプレイなどを含み得る。ディスプレイサブシステムは、陰極線管(CRT)、たとえば液晶ディスプレイ(LCD)またはプラズマディスプレイを用いるフラットパネル装置、投射装置、タッチスクリーン等であってもよい。一般的に、「出力装置」という用語の使用は、情報をコンピュータシステム1500からユーザまたはその他のコンピュータに出力するための可能なすべての種類の装置およびメカニズムを含むことを意図している。たとえば、ユーザインターフェイス出力装置は、モニタ、プリンタ、スピーカ、ヘッドフォン、自動車ナビゲーションシステム、作図装置、音声出力装置、およびモデムといった、テキスト、グラフィックおよびオーディオ/ビデオ情報を視覚的に伝えるさまざまな表示装置を含み得るが、これらに限定されるものではない。   The user interface output device may include a display subsystem, an indicator light, or a non-visual display such as an audio output device. The display subsystem may be a cathode ray tube (CRT), eg a flat panel device using a liquid crystal display (LCD) or a plasma display, a projection device, a touch screen etc. In general, use of the term "output device" is intended to include all possible types of devices and mechanisms for outputting information from computer system 1500 to a user or other computer. For example, user interface output devices include various display devices that visually convey text, graphic and audio / video information, such as monitors, printers, speakers, headphones, car navigation systems, plotters, audio output devices, and modems. But not limited thereto.

記憶サブシステム1518は、コンピュータシステム1500が使用する情報を格納するためのリポジトリまたはデータ記憶装置を提供する。記憶サブシステム1518は、いくつかの実施形態の機能を提供する基本的なプログラミングおよびデータ構造を格納するための有形の非一時的なコンピュータ読取可能記憶媒体を提供する。処理サブシステム1504によって実行されたときに上記機能を提供するソフトウェア(プログラム、コードモジュール、命令)は、記憶サブシステム1518に格納されていてもよい。ソフトウェアは、処理サブシステム1504の1つ以上の処理ユニットによって実行されてもよい。記憶サブシステム1518はまた、本発明に従って使用されるデータを格納するためのリポジトリを提供し得る。   Storage subsystem 1518 provides a repository or data storage device for storing information for use by computer system 1500. Storage subsystem 1518 provides a tangible non-transitory computer readable storage medium for storing basic programming and data structures that provide the functionality of some embodiments. Software (programs, code modules, instructions) that provide the above functionality when executed by processing subsystem 1504 may be stored in storage subsystem 1518. The software may be executed by one or more processing units of processing subsystem 1504. Storage subsystem 1518 may also provide a repository for storing data used in accordance with the present invention.

記憶サブシステム1518は、揮発性および不揮発性メモリデバイスを含む1つ以上の非一時的なメモリデバイスを含み得る。図15に示されるように、記憶サブシステム1518は、システムメモリ1510およびコンピュータ読取可能記憶媒体1522を含む。システムメモリ1510は、プログラム実行中に命令とデータを格納するための揮発性メインランダムアクセスメモリ(RAM)および固定命令が格納されている不揮発性読取専用メモリ(ROM)またはフラッシュメモリを含む、多数のメモリを含み得る。いくつかの実装例において、たとえば起動中のコンピュータシステム1500内の要素間の情報転送を補助する基本的なルーチンを含む基本的な入力/出力システム(BIOS)は、一般的にはROMに格納される。RAMは一般的に、処理サブシステム1504が現在操作および実行しているデータおよび/またはプログラムモジュールを含む。いくつかの実装例において、システムメモリ1510は、スタティックランダムアクセスメモリ(SRAM)またはダイナミックランダムアクセスメモリ(DRAM)等の種類が異なる複数のメモリを含み得る。   Storage subsystem 1518 may include one or more non-transitory memory devices, including volatile and non-volatile memory devices. As shown in FIG. 15, storage subsystem 1518 includes system memory 1510 and computer readable storage media 1522. The system memory 1510 includes a number of volatile main random access memory (RAM) for storing instructions and data during program execution and a non-volatile read only memory (ROM) or flash memory where fixed instructions are stored. It may include memory. In some implementations, for example, a basic input / output system (BIOS), which includes basic routines to assist information transfer between elements within the booting computer system 1500, is generally stored in ROM. Ru. The RAM typically includes data and / or program modules that the processing subsystem 1504 is currently operating and executing. In some implementations, system memory 1510 may include multiple memories of different types, such as static random access memory (SRAM) or dynamic random access memory (DRAM).

限定ではなく一例として、図15に示されるように、システムメモリ1510は、クライアントアプリケーション、ウェブブラウザ、ミッドティアアプリケーション、リレーショナルエータベース管理システム(RDBMS)等を含み得るアプリケーションプログラム1512と、プログラムデータ1514と、オペレーティングシステム1516とを格納し得る。一例として、オペレーティングシステム1516は、さまざまなバージョンのMicrosoft Windows(登録商標)、Apple Macintosh(登録商標)、および/またはLinux(登録商標)オペレーティングシステム、さまざまな市販のUNIX(登録商標)またはUNIXのようなオペレーティングシステム(さまざまなGNU/Linuxオペレーティングシステム、Google Chrome(登録商標)OS等を含むがこれらに限定されるものではない)および/または、iOS、Windows(登録商標)Phone、Android(登録商標)OS、BlackBerry(登録商標) 10 OS、およびPalm(登録商標)OSオペレーティングシステム等のさまざまなモバイルオペレーティングシステムを含み得る。   By way of example and not limitation, as shown in FIG. 15, system memory 1510 may include an application program 1512 that may include a client application, a web browser, a mid-tier application, a Relationalator-based management system (RDBMS), etc. , Operating system 1516 may be stored. As an example, operating system 1516 may be various versions of Microsoft Windows®, Apple Macintosh®, and / or Linux® operating systems, various commercial UNIX® or UNIX-like. Operating systems (including but not limited to various GNU / Linux operating systems, Google Chrome (R) OS etc) and / or iOS, Windows (R) Phone, Android (R) Various mobile operating systems may be included, such as OS, BlackBerry® 10 OS, and Palm® OS operating system.

コンピュータ読取可能記憶媒体1522は、いくつかの実施形態の機能を提供するプログラミングおよびデータ構造を格納し得る。処理サブシステム1504のプロセッサによって実行されたときに上記機能を提供するソフトウェア(プログラム、コードモジュール、命令)は、記憶サブシステム1518に格納されてもよい。一例として、コンピュータ読取可能な記憶媒体1522は、ハードディスクドライブ、磁気ディスクドライブ、CD ROM、DVD、Blu-Ray(登録商標)ディスク、またはその他の光媒体等の光ディスクドライブといった、不揮発性メモリを含み得る。コンピュータ読取可能記憶媒体1522は、Zip(登録商標)ドライブ、フラッシュメモリカード、ユニバーサルシリアルバス(USB)フラッシュドライブ、セキュアデジタル(SD)カード、DVDディスク、デジタルビデオテープ等を含み得るが、これらに限定されるものではない。コンピュータ読取可能記憶媒体1522はまた、フラッシュメモリベースのSSD、エンタープライズフラッシュドライブ、ソリッドステートROM等といった不揮発性メモリに基づくソリッドステートドライブ(SSD)、ソリッドステートRAM、ダイナミックRAM、スタティックRAM等といった揮発性メモリに基づくSSD、DRAMとフラッシュメモリベースのSSDを組合わせたものを用いる、DRAMベースのSSD、磁気抵抗RAM(MRAM)SSD、およびハイブリッドSSDを含み得る。コンピュータ読取可能媒体1522は、コンピュータ読取可能な命令、データ構造、プログラムモジュール、およびコンピュータシステム1500のためのその他のデータの記憶域を提供し得る。   Computer readable storage medium 1522 may store programming and data structures that provide the functionality of some embodiments. Software (programs, code modules, instructions) that provide the above functionality when executed by the processor of processing subsystem 1504 may be stored in storage subsystem 1518. By way of example, computer readable storage medium 1522 may include non-volatile memory such as an optical disk drive such as a hard disk drive, a magnetic disk drive, a CD ROM, a DVD, a Blu-Ray® disk, or other optical media. . Computer readable storage media 1522 may include, but is not limited to, Zip® drive, flash memory card, Universal Serial Bus (USB) flash drive, Secure Digital (SD) card, DVD disc, digital video tape, etc. It is not something to be done. The computer readable storage medium 1522 may also be volatile memory such as solid state drive (SSD) based on non-volatile memory such as flash memory based SSD, enterprise flash drive, solid state ROM etc, solid state RAM, dynamic RAM, static RAM etc , A DRAM based SSD, a magnetoresistive RAM (MRAM) SSD, and a hybrid SSD, using a combination of SSD based, DRAM combined with flash memory based SSD. Computer readable media 1522 may provide storage for computer readable instructions, data structures, program modules, and other data for computer system 1500.

特定の実施形態において、記憶サブシステム1500はまた、コンピュータ読取可能記憶媒体1522にさらに接続することができるコンピュータ読取可能記憶媒体リーダ1520を含み得る。システムメモリ1510とともに、また、任意でシステムメモリ1510と組合されて、コンピュータ読取可能記憶媒体1522は、コンピュータ読取可能な情報を格納するための、遠隔、ローカル、固定、および/またはリムーバブル記憶装置プラス記憶媒体を、包括的に代表し得る。   In particular embodiments, storage subsystem 1500 may also include a computer readable storage medium reader 1520 that may be further connected to computer readable storage medium 1522. Computer readable storage medium 1522, in conjunction with, and optionally in combination with, system memory 1510 is remote, local, fixed and / or removable storage plus storage for storing computer readable information. The medium can be represented generically.

特定の実施形態において、コンピュータシステム1500は、1つ以上の仮想マシンを実行するためのサポートを提供し得る。コンピュータシステム1500は、仮想マシンの構成および管理を容易にするためのハイパーバイザといったプログラムを実行し得る。各仮想マシンに、メモリ、計算(たとえばプロセッサ、コア)、I/O、およびネットワーキングリソースが割当てられていてもよい。各仮想マシンは、一般的に、コンピュータシステム1500が実行するその他の仮想マシンによって実行されるオペレーティングシステムと同じでも異なっていてもよい、自身のオペレーティングシステムを実行する。したがって、場合によっては複数のオペレーティングシステムがコンピュータシステム1500によって同時に実行されるであろう。一般的に、各仮想マシンはその他の仮想マシンから独立して実行される。   In particular embodiments, computer system 1500 may provide support for running one or more virtual machines. Computer system 1500 may execute programs, such as a hypervisor, to facilitate configuration and management of virtual machines. Each virtual machine may be assigned memory, computing (e.g., processor, core), I / O, and networking resources. Each virtual machine typically runs its own operating system, which may be the same as or different from the operating systems run by other virtual machines that computer system 1500 executes. Thus, in some cases, multiple operating systems may be concurrently executed by computer system 1500. In general, each virtual machine runs independently of the other virtual machines.

通信サブシステム1524は、その他のコンピュータシステムおよびネットワークに対するインターフェイスを提供する。通信サブシステム1524は、コンピュータシステム1500以外のシステムからデータを受信しコンピュータシステム1500以外のシステムにデータを送信するためのインターフェイスの役割を果たす。たとえば、通信サブシステム1524によって、コンピュータシステム1500は、情報をクライアント装置から受信しかつ情報をクライアント装置に送信するために1つ以上のクライアント装置へのインターネットを介した通信チャネルを確立することができるであろう。   Communications subsystem 1524 provides an interface to other computer systems and networks. Communication subsystem 1524 serves as an interface for receiving data from systems other than computer system 1500 and transmitting data to systems other than computer system 1500. For example, communication subsystem 1524 allows computer system 1500 to establish a communication channel over the Internet to one or more client devices to receive information from the client device and transmit information to the client device. Will.

通信サブシステム1524は、有線通信プロトコルおよび/または無線通信プロトコル双方をサポートし得る。たとえば、特定の実施形態において、通信サブシステム1524は、(たとえば携帯電話技術、3G、4GまたはEDGE(グローバル進化型高速データレート)等の高度データネットワーク技術、WiFi(IEEE802.11ファミリー規格、またはその他のモバイル通信技術、またはそれらの任意の組合わせ)を用いて)無線音声および/またはデータネットワークにアクセスするための無線周波数(RF)トランシーバコンポーネント、グローバルポジショニングシステム(GPS)レシーバコンポーネント、および/またはその他のコンポーネントを含み得る。いくつかの実施形態の通信サブシステム1524は、無線インターフェイスに加えてまたはその代わりに有線ネットワーク接続(たとえばイーサネット)を提供することができる。   Communication subsystem 1524 may support both wired and / or wireless communication protocols. For example, in particular embodiments, communications subsystem 1524 may be an advanced data network technology (eg, cellular technology, 3G, 4G or EDGE (Global Evolved High Data Rate), WiFi (IEEE 802.11 family standard, or others), etc. Mobile radio technology (or any combination thereof)) radio frequency (RF) transceiver components for accessing wireless voice and / or data networks, global positioning system (GPS) receiver components, and / or other Components of the The communications subsystem 1524 of some embodiments may provide a wired network connection (eg, Ethernet) in addition to or in place of the wireless interface.

通信サブシステム1524は、さまざまな形態のデータを受信し送信することができる。たとえば、いくつかの実施形態において、通信サブシステム1524は、構造化されたおよび/または構造化されていないデータフィード1526、イベントストリーム1528、イベントアップデート1530等の形態の入力通信を受信し得る。たとえば、通信サブシステム1524は、ソーシャルメディアネットワークおよび/またはその他の通信サービスのユーザから、リアルタイムで、Twitter(登録商標)フィード、Facebook(登録商標)アップデート、リッチサイトサマリー(RSS)フィード等のウェブフィード、および/または1以上の第三者情報源からからのリアルタイムアップデート等のデータフィード1526を、受信(または送信)するように構成されてもよい。   Communications subsystem 1524 can receive and transmit various forms of data. For example, in some embodiments, communications subsystem 1524 may receive input communications in the form of structured and / or unstructured data feeds 1526, event streams 1528, event updates 1530, etc. For example, the communication subsystem 1524 may be a web feed such as Twitter (R) feed, Facebook (R) update, rich site summary (RSS) feed, etc. in real time from users of social media networks and / or other communication services. And / or may be configured to receive (or transmit) data feeds 1526, such as real-time updates from one or more third party sources.

特定の実施形態において、通信サブシステム1524は、本質的に連続しているまたは無限であり明確な終わりがない場合がある、リアルタイムイベントのイベントストリーム1528および/またはイベントアップデート1530を含み得る、連続データストリームの形態のデータを受信するように構成されてもよい。連続データを生成するアプリケーションの例は、たとえば、センサデータアプリケーション、株式相場表示機、ネットワーク性能測定ツール(たとえばネットワークモニタリングおよびトラフィック管理アプリケーション)、クリックストリーム分析ツール、自動車交通量モニタリング等を含み得る。   In particular embodiments, communications subsystem 1524 may include continuous streams of real-time events, which may be event streams 1528 and / or event updates 1530, which may be essentially continuous or infinite and without a definite end. It may be configured to receive data in the form of a stream. Examples of applications that generate continuous data may include, for example, sensor data applications, stock tickers, network performance measurement tools (eg, network monitoring and traffic management applications), click stream analysis tools, automotive traffic monitoring, etc.

通信サブシステム1524はまた、構造化されたおよび/または構造化されていないデータフィード1526、イベントストリーム1528、イベントアップデート1530等を、コンピュータシステム1500に連結されている1つ以上のストリーミングデータソースコンピュータと通信し得る1つ以上のデータベースに出力するように構成されてもよい。   Communications subsystem 1524 may also include structured and / or unstructured data feeds 1526, event streams 1528, event updates 1530, etc., with one or more streaming data source computers coupled to computer system 1500. It may be configured to output to one or more databases that may communicate.

コンピュータシステム1500は、ハンドヘルドポータブルデバイス(たとえばiPhone(登録商標)携帯電話、iPad(登録商標)計算タブレット、PDA)、ウェアラブルデバイス(たとえばGoogle Glass(登録商標)ヘッドマウントディスプレイ)、パーソナルコンピュータ、ワークステーション、メインフレーム、キオスク、サーバラック、またはその他のデータ処理システムを含む、さまざまな種類のうちの1つであればよい。   Computer system 1500 may be a handheld portable device (e.g., an iPhone mobile phone, an iPad® computing tablet, a PDA), a wearable device (e.g., a Google Glass® head mounted display), a personal computer, a workstation, It may be one of a variety of types, including mainframes, kiosks, server racks, or other data processing systems.

コンピュータおよびネットワークは常に変化しているという性質のものであるので、図15に示されるコンピュータシステム1500の説明は、専ら特定の例を意図している。図15に示されるシステムよりもコンポーネントが多いまたは少ないその他多数の構成が可能である。本明細書が提供する開示と教示に基づいて、当業者はさまざまな実施形態を実現するためのその他のやり方および/または方法を理解するであろう。   Because computers and networks are of a constantly changing nature, the description of computer system 1500 shown in FIG. 15 is intended for the specific example only. Many other configurations are possible, with more or fewer components than the system shown in FIG. Based on the disclosures and teachings provided herein, one of ordinary skill in the art will understand other ways and / or methods of implementing various embodiments.

図16は、本発明の実施形態を実現するために使用し得る典型的なサービスインフラストラクチャシステム1600を示す。図16に示されるように、サービスインフラストラクチャシステム1600は、処理サブシステム1602と通信サブシステム1604とを含む。たとえば、処理サブシステム1602および通信サブシステム1604はそれぞれ、図15に示される処理サブシステム1504および通信サブシステム1524であってもよい。処理サブシステム1602は、サービスインフラストラクチャシステムに複数のサービスを提供するように構成され、通信サブシステム1604は、サービスインフラストラクチャシステムが提供するサービスへのアクセスの、第1の顧客による要求を受けるように構成される。処理サブシステム1602はさらに、
第1の顧客によって要求されたサービスに基づいてサブスクリプションの種類を決定するように構成され、サブスクリプションの種類はクローンサブスクリプションまたは再使用可能なサブスクリプションのうちの一方であり、
上記サービスにアクセスするためのサブスクリプションを第1の顧客に提供するように構成され、サブスクリプションは、サブスクリプションの種類に基づいて提供されかつ複数のサービスのうちの第1のサービスを用いて提供され、
第1の顧客に提供されたサブスクリプションを管理するように構成される。
FIG. 16 shows an exemplary service infrastructure system 1600 that may be used to implement an embodiment of the present invention. As shown in FIG. 16, service infrastructure system 1600 includes a processing subsystem 1602 and a communication subsystem 1604. For example, processing subsystem 1602 and communication subsystem 1604 may be processing subsystem 1504 and communication subsystem 1524 shown in FIG. 15, respectively. The processing subsystem 1602 is configured to provide a plurality of services to the service infrastructure system, and the communication subsystem 1604 receives a request by the first customer for access to the service provided by the service infrastructure system. Configured Further, processing subsystem 1602
Configured to determine the type of subscription based on the service requested by the first customer, the type of subscription being either a clone subscription or a reusable subscription,
A subscription for accessing the service is configured to be provided to a first customer, the subscription being provided based on the type of subscription and provided using a first service of the plurality of services And
It is configured to manage the subscription provided to the first customer.

特定の実施形態において、第1の顧客による要求は、顧客によるサービスの使用の種類を示し、サブスクリプションの種類は、要求によって示される使用の種類に基づいて決定される。   In certain embodiments, the first customer request indicates the type of use of the service by the customer, and the type of subscription is determined based on the type of use indicated by the request.

特定の実施形態において、サブスクリプションの種類がクローンサブスクリプションであるとき、サブスクリプションを第1の顧客に提供することは、
第1のサービスに対する第1のサブスクリプションに基づいて第1のクローンサブスクリプションを確立することを含み、第1のクローンサブスクリプションは、第1の顧客へのサブスクリプションとして提供され、
一組の規則に基づいて第1のクローンサブスクリプションを第1のサブスクリプションに対応付けることを含む。
In certain embodiments, providing the subscription to the first customer when the type of subscription is a clone subscription is:
Establishing a first clone subscription based on a first subscription to a first service, the first clone subscription being provided as a subscription to a first customer,
Including associating the first clone subscription with the first subscription based on a set of rules.

特定の実施形態において、第1のクローンサブスクリプションを第1のサブスクリプションに対応付けることは、第1のクローンサブスクリプションのライフサイクルを第1のサブスクリプションのライフサイクルに対応付けることを含む。   In certain embodiments, associating the first clone subscription with the first subscription includes associating the first clone subscription life cycle with the first subscription life cycle.

特定の実施形態において、第1のクローンサブスクリプションは、第2のサービスへのアクセスを提供し、顧客による第2のサービスへのアクセスは、顧客による第1のサービスへのアクセスが終了したときに終了する。   In certain embodiments, the first clone subscription provides access to the second service, and access by the customer to the second service is when the customer has finished accessing the first service. finish.

特定の実施形態において、処理サブシステム1602はさらに、顧客からの要求に基づいて第1のサービスへのアクセスを更新するように、かつ、第1のサービスへの更新されたアクセスに基づいて第2のサービスへのアクセスを修正するように構成される。   In certain embodiments, the processing subsystem 1602 is further configured to update access to the first service based on a request from the customer, and based on the updated access to the first service. Configured to correct access to the service of.

特定の実施形態において、第1のクローンサブスクリプションは、第2のサービスへのアクセスを提供し、一組の規則は、第1のサービスのクローンとしての第2のサービスの使用を示す。   In certain embodiments, the first clone subscription provides access to a second service, and the set of rules indicates the use of the second service as a clone of the first service.

特定の実施形態において、一組の規則は、第2のサービスへのアクセスの期間を示す。
特定の実施形態において、一組の規則は、第2のサービスへのアクセスが許可されたユーザの数を示し、第2のサービスへのアクセスが許可されたユーザの数は、第1のサービスへのアクセスが許可されたユーザの数と異なる。
In certain embodiments, a set of rules indicates a duration of access to a second service.
In a particular embodiment, the set of rules indicates the number of users authorized to access the second service, and the number of users authorized to access the second service is the number of users to the first service. Different from the number of users authorized to access.

特定の実施形態において、一組の規則は第2のサービスのコンフィギュレーションを示し、第2のサービスのコンフィギュレーションは第1のサービスのコンフィギュレーションと異なる。   In a particular embodiment, the set of rules indicates the configuration of the second service, and the configuration of the second service is different than the configuration of the first service.

特定の実施形態において、サブスクリプションを管理することは、第1のサービスの変更に応じて、サブスクリプションによる要求されたサービスへのアクセスを決定することを含み、要求されたサービスへのアクセスは、一組の規則を用いて決定される。   In certain embodiments, managing the subscription comprises determining access to the requested service by the subscription in response to the change of the first service, wherein access to the requested service is: It is determined using a set of rules.

特定の実施形態において、サブスクリプションの種類が再使用可能なサブスクリプションであるとき、サブスクリプションを第1の顧客に提供することは、
サービスインフラストラクチャシステム内のサービスプールにおいて第1のサービスがプロビジョニングされていると判断することと、
サービスプールにおいてサブスクリプションに対する第1のサービスがプロビジョニングされていないと判断したときは、サービスプールにおいて第1のサブスクリプションに対する第1のサービスをプロビジョニングすることと、
第1のサービスのための第1のサブスクリプションをサービスのためのサブスクリプションとして顧客に割当てることとを含み、第1のサブスクリプションを割当てることは、第1のサービスをサービスプールから顧客に割当てることを含み、第1のサービスを顧客に割当てることは、第1のサービスをサービスプールから削除することを含む。
In certain embodiments, providing the subscription to the first customer when the subscription type is a reusable subscription is:
Determining that a first service is provisioned in a service pool in the service infrastructure system;
Provisioning the first service for the first subscription in the service pool when it is determined that the first service for the subscription is not provisioned in the service pool;
Assigning a first subscription for the first service to the customer as a subscription for the service, and assigning the first subscription comprises assigning the first service to the customer from the service pool Assigning the first service to the customer includes deleting the first service from the service pool.

特定の実施形態において、処理サブシステム1602はさらに、特定顧客向けデータを、第1のサービスに対応する特定サービス向けデータに対応付けるように構成され、特定顧客向けデータは、第1のサービスについて顧客に対応付けられる。   In particular embodiments, processing subsystem 1602 is further configured to associate customer-specific data with service-specific data corresponding to the first service, wherein customer-specific data is transmitted to the customer for the first service. It is matched.

特定の実施形態において、サービスにアクセスするためのサブスクリプションを管理することは、サブスクリプションが終了したときに第1のサービスを顧客からサービスプールに割当てることを含み、第1のサービスを割当てることは、特定顧客向けデータと、第1のサービスに対応する特定サービス向けデータとの対応関係を解除することを含み、第1のサービスは、サービスプールから1以上の他の顧客に再度割当て可能である。   In certain embodiments, managing a subscription for accessing a service includes assigning a first service from a customer to a service pool when the subscription is terminated, assigning the first service , Removing the correspondence between the data for specific customer and the data for specific service corresponding to the first service, wherein the first service can be reassigned from the service pool to one or more other customers. .

特定の実施形態において、通信サブシステム1604はさらに、複数のサービスのうちの第2のサービスへのアクセスの、第2の顧客による要求を受けるように構成され、処理サブシステム1602はさらに、
第2のサービスが第1のサービスに類似しているという判断に基づいて、サービスプールにおいて第2のサービスが利用可能であると判断するように構成され、
サービスプール内の第1のサブスクリプションを第2の顧客に割当てるように構成され、第1のサブスクリプションを第2の顧客に割当てることは、第1のサブスクリプションをサービスプールから削除することを含み、
第2の顧客に対応する特定顧客向けデータを、第1のサービスに対応する特定サービス向けデータに対応付けるように構成される。
In particular embodiments, communication subsystem 1604 is further configured to receive a request by a second customer of access to a second service of the plurality of services, and processing subsystem 1602 is further configured to:
Configured to determine that the second service is available in the service pool based on the determination that the second service is similar to the first service,
Assigning a first subscription in the service pool to a second customer, and assigning the first subscription to a second customer includes deleting the first subscription from the service pool ,
The data for specific customer corresponding to the second customer is configured to correspond to the data for specific service corresponding to the first service.

特定の実施形態において、第1の顧客に対応付けられた特定顧客向けデータは、顧客による第1のサービスの使用に関連するデータを含む。   In particular embodiments, the customer-specific data associated with the first customer includes data related to the use of the first service by the customer.

特定の実施形態において、複数のサービスのうちの各サービスは特定サービス向けデータに対応付けられ、サービスに対応する特定サービス向けデータは当該サービスのコンフィギュレーションを示し、当該コンフィギュレーションは、このサービスを提供するために割当てられた1つ以上のリソースを含む。   In particular embodiments, each service of the plurality of services is associated with data for a particular service, the data for a particular service corresponding to the service indicates the configuration of the service, and the configuration provides the service. Include one or more resources assigned to

特定の実施形態において、サービスを提供することは、第1の顧客による要求を受ける前に、クラウドインフラストラクチャシステムにおいてサービスをプロビジョニングすることを含み、サービスは、サービスインフラストラクチャシステムのオペレーションに対応付けられた1つ以上のメトリックに基づいてプロビジョニングされる。   In certain embodiments, providing the service includes provisioning the service in the cloud infrastructure system prior to receiving a request from the first customer, the service being associated with the operation of the service infrastructure system Provisioned based on one or more metrics.

特定の実施形態において、サービスを提供することは、第1の顧客による要求を受ける前にサービスをプロビジョニングすることを含み、サービスは、サービスに対する需要に対応付けられた1つ以上のメトリックに基づいてプロビジョニングされる。   In certain embodiments, providing the service includes provisioning the service prior to receiving a request by the first customer, the service being based on one or more metrics associated with the demand for the service. Provisioned

特定の実施形態において、サービスを提供することは、第1の顧客による要求を受ける前にサービスをプロビジョニングすることを含み、サービスは、サービスの種類に対応付けられた1つ以上のメトリックに基づいてプロビジョニングされる。   In certain embodiments, providing the service includes provisioning the service prior to receiving a request by the first customer, the service being based on one or more metrics associated with the type of service. Provisioned

特定の実施形態において、サービスインフラストラクチャシステム1600はマルチテナント環境を含む。   In particular embodiments, service infrastructure system 1600 includes a multi-tenant environment.

特定の実施形態において、サービスは、Java(登録商標)サービス、顧客関係管理(CRM)サービス、または人的資源管理(HCM)サービスを含む。   In particular embodiments, services include Java services, customer relationship management (CRM) services, or human resource management (HCM) services.

本発明の特定の実施形態について説明してきたが、さまざまな変形例、変更例、代替的な構成および等価物も本発明の範囲内に包含される。本発明の実施形態は、特定の具体的なデータ処理環境内での動作に限定されるものではなく、複数のデータ処理環境内で自由に動作できる。さらに、特定の一連のトランザクションおよびステップを使用して本発明の実施形態について説明してきたが、本発明の範囲が、記載されている一連のトランザクションおよびステップに限定されるものではないということが当業者に明らかであるべきである。   While particular embodiments of the present invention have been described, various alternatives, modifications, alternative constructions and equivalents are also included within the scope of the present invention. Embodiments of the present invention are not limited to operating within a particular specific data processing environment, but can operate freely within multiple data processing environments. Furthermore, while the embodiments of the invention have been described using a particular set 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. It should be clear to the trader.

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

したがって、明細書および図面は、限定的な意味ではなく例示的な意味で考えられるべきである。しかし、特許請求の範囲に記載されているより広範な精神および範囲から逸脱することなく、追加、削減、削除ならびに他の変形および変更がそれに対してなされてもよいということは明白であろう。このように、特定の発明の実施形態を記載してきたが、これらは制限するようには意図されるものではない。さまざまな変更例および同等例は添付の特許請求の範囲内にある。   Therefore, the specification and drawings should be considered in an illustrative 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 as set forth in the claims. Thus, although specific inventive embodiments have been described, these are not intended to be limiting. Various modifications and equivalents are within the scope of the following claims.

Claims (24)

コンピュータにより実現される方法であって、
複数のサービスをサービスインフラストラクチャシステムに提供するステップと、
前記サービスインフラストラクチャシステムによって提供されるサービスへのアクセスの、第1の顧客による要求を、前記サービスインフラストラクチャシステムが受けるステップと、
前記要求に基づいて、アクセスが要求された前記サービスの使用の種類を前記サービスインフラストラクチャシステムが決定するステップと、
前記第1の顧客によって要求された前記サービスの使用の種類に基づいてサブスクリプションの種類を前記サービスインフラストラクチャシステムが決定するステップとを含み、前記サブスクリプションの種類はクローンサブスクリプションまたは再使用可能なサブスクリプションのうちの一方であり、前記サブスクリプションの種類は、前記サービスへのアクセスを、前記サービスが要求される前にプロビジョニングされた、前記複数のサービスのうちの1つのサービスに基づいて可能にし、第1のサービスは前記複数のサービスのうちの1つであり、前記再使用可能なサブスクリプションは、前記サービスへのアクセスを、前記複数のサービスのうちの1つのサービスを、前記第1の顧客によって要求されたサービスとして構成することに基づいて可能にし、前記クローンサブスクリプションは、前記サービスへのアクセスを、前記サービスが要求される前にプロビジョニングされた前記1つのサービスのコンフィギュレーションに従って前記サービスをプロビジョニングすることに基づいて可能にし、
前記サブスクリプションの種類に基づいて、前記使用の種類の前記要求されたサービスを提供するように構成可能な、前記複数のサービスのうちの前記第1のサービスを、前記サービスインフラストラクチャシステムが特定するステップと、
前記サービスにアクセスするためのサブスクリプションを前記サービスインフラストラクチャシステムが前記第1の顧客に提供するステップを含み、前記サービスにアクセスするためのサブスクリプションは、前記サブスクリプションの種類が前記再使用可能なサブスクリプションであるという判断に基づいて、前記第1のサービスを前記サービスとして構成することによって提供され、前記サブスクリプションの種類が前記クローンサブスクリプションであるという判断に基づいて、前記サービスにアクセスするためのサブスクリプションは、前記サービスのための1つ以上のリソースをプロビジョニングし前記サービスを前記第1のサービスのコンフィギュレーションに従って構成することによって提供され、
前記第1の顧客に提供された前記サブスクリプションを前記サービスインフラストラクチャシステムが管理するステップを含む、方法。
A computer-implemented method,
Providing multiple services to the service infrastructure system;
The service infrastructure system receives a request by a first customer of access to a service provided by the service infrastructure system;
The service infrastructure system determining, based on the request, a type of use of the service for which access is requested;
The service infrastructure system determines the type of subscription based on the type of use of the service requested by the first customer, the type of subscription being a clone subscription or reusable One of the subscriptions, wherein the type of subscription enables access to the service based on one of the plurality of services provisioned before the service is requested The first service is one of the plurality of services, and the reusable subscription is configured to access the service, the service of the one of the plurality of services, and the first service. Be configured as a service requested by the customer Based on possible, the clones subscription access to the service, to allow on the basis that provision the service in accordance with the configuration of provisioned said one service before the service is requested,
The service infrastructure system identifies the first service of the plurality of services that is configurable to provide the requested service of the type of use based on the type of subscription. Step and
The service infrastructure system provides the first customer with a subscription for accessing the service, wherein the subscription for accessing the service is such that the type of subscription is reusable Provided by configuring the first service as the service based on the determination that it is a subscription, and for accessing the service based on the determination that the type of the subscription is the clone subscription Subscription is provided by provisioning one or more resources for the service and configuring the service according to the configuration of the first service,
A method wherein the service infrastructure system manages the subscription provided to the first customer.
前記複数のサービスのうちの前記第1のサービスは、前記サービスインフラストラクチャシステムによってサービスプール内においてすでにプロビジョニングされているものとして特定される、請求項1に記載のコンピュータにより実現される方法。   The computer-implemented method of claim 1, wherein the first service of the plurality of services is identified as already provisioned in a service pool by the service infrastructure system. 前記サブスクリプションの種類が前記クローンサブスクリプションであるとき、前記サブスクリプションを前記第1の顧客に提供するステップは、
前記第1のサービスに対する第1のサブスクリプションに基づいて第1のクローンサブスクリプションを確立するステップを含み、前記第1のクローンサブスクリプションは、前記第1の顧客へのサブスクリプションとして提供され、
一組の規則に基づいて前記第1のクローンサブスクリプションを前記第1のサブスクリプションに対応付けるステップを含む、請求項1または2に記載のコンピュータにより実現される方法。
Providing the subscription to the first customer when the type of subscription is the clone subscription:
Establishing a first clone subscription based on a first subscription to the first service, the first clone subscription being provided as a subscription to the first customer,
The computer-implemented method of claim 1 or 2, including the step of associating the first clone subscription with the first subscription based on a set of rules.
前記第1のクローンサブスクリプションを前記第1のサブスクリプションに対応付けるステップは、前記第1のクローンサブスクリプションのライフサイクルを前記第1のサブスクリプションのライフサイクルに対応付けるステップを含む、請求項3に記載のコンピュータにより実現される方法。   The method according to claim 3, wherein the step of associating the first clone subscription with the first subscription includes the step of associating the life cycle of the first clone subscription with the life cycle of the first subscription. Computer-implemented method. 前記第1のクローンサブスクリプションによって可能にされるサービスは、前記第1のサービスと異なる第2のサービスであり、前記第2のサービスは前記複数のサービスのうちの1つであり、前記第1の顧客による前記第2のサービスへのアクセスは、前記第1の顧客による前記第1のサービスへのアクセスが終了したときに終了する、請求項4に記載のコンピュータにより実現される方法。   The service enabled by the first clone subscription is a second service different from the first service, the second service is one of the plurality of services, the first 5. The computer-implemented method of claim 4, wherein access to the second service by a customer of is terminated when access to the first service by the first customer is terminated. 前記第1の顧客からの要求に基づいて前記第1のサービスへのアクセスを更新するステップと、
前記第1のサービスへの更新された前記アクセスに基づいて前記第2のサービスへのアクセスを修正するステップとをさらに含む、請求項5に記載のコンピュータにより実現される方法。
Updating access to the first service based on a request from the first customer;
6. The computer-implemented method of claim 5, further comprising: modifying access to the second service based on the updated access to the first service.
前記第1のクローンサブスクリプションは、第2のサービスへのアクセスを提供し、前記第2のサービスは前記複数のサービスのうちの1つであり、前記一組の規則は、前記第1のサービスのクローンとしての前記第2のサービスの使用を示す、請求項3に記載のコンピュータにより実現される方法。   The first clone subscription provides access to a second service, the second service is one of the plurality of services, and the set of rules includes the first service. The computer-implemented method of claim 3, which illustrates the use of the second service as a clone of. 前記複数のサービスのうちの前記第1のサービスは、前記サービスインフラストラクチャシステムによってサービスプール内においてすでにプロビジョニングされているものとして特定され、
前記複数のサービスのうちの前記第2のサービスへのアクセスの、第2の顧客による要求を受けるステップと、
前記第2のサービスが前記第1のサービスに類似しているという判断に基づいて、前記サービスプールにおいて前記第2のサービスが利用可能であると判断するステップと、
前記サービスプール内の前記第1のサブスクリプションを前記第2の顧客に割当てるステップとを含み、前記第1のサブスクリプションを前記第2の顧客に割当てるステップは、前記第1のサブスクリプションを前記サービスプールから削除するステップを含み、
前記第2の顧客に対応する特定顧客向けデータを、前記第1のサービスに対応する特定サービス向けデータに対応付けるステップを含む、請求項5または7に記載のコンピュータにより実現される方法。
The first service of the plurality of services is identified as already provisioned in a service pool by the service infrastructure system,
Receiving a request by a second customer of access to the second service of the plurality of services;
Determining that the second service is available in the service pool based on the determination that the second service is similar to the first service;
Assigning the first subscription in the service pool to the second customer, the step of assigning the first subscription to the second customer comprising the step of assigning the first subscription to the service. Including the step of removing from the pool,
The computer-implemented method according to claim 5 or 7, including the step of associating specific customer data corresponding to the second customer with specific service data corresponding to the first service.
前記一組の規則は、前記第2のサービスへのアクセスの期間を示す、請求項7に記載のコンピュータにより実現される方法。   The computer-implemented method of claim 7, wherein the set of rules indicates a duration of access to the second service. 前記一組の規則は、前記第2のサービスへのアクセスが許可されたユーザの数を示し、前記第2のサービスへのアクセスが許可されたユーザの数は、前記第1のサービスへのアクセスが許可されたユーザの数と異なる、請求項7に記載のコンピュータにより実現される方法。   The set of rules indicates the number of users authorized to access the second service, and the number of users authorized to access the second service is the access to the first service The computer-implemented method of claim 7, wherein is different from the number of authorized users. 前記一組の規則は前記第2のサービスのコンフィギュレーションを示し、前記第2のサービスの前記コンフィギュレーションは前記第1のサービスの前記コンフィギュレーションと異なる、請求項7に記載のコンピュータにより実現される方法。   The computer-implemented computer program of claim 7, wherein the set of rules indicates a configuration of the second service, and the configuration of the second service is different than the configuration of the first service. Method. 前記サブスクリプションを管理するステップは、前記第1のサービスの変更に応じて、前記サブスクリプションによる前記要求されたサービスへのアクセスを決定することを含み、前記要求されたサービスへのアクセスは、前記一組の規則を用いて決定される、請求項3に記載のコンピュータにより実現される方法。   The step of managing the subscription includes determining access to the requested service by the subscription in response to a change of the first service, the access to the requested service comprising: The computer-implemented method of claim 3, wherein the method is determined using a set of rules. 前記サブスクリプションの種類が前記再使用可能なサブスクリプションであるとき、前記サブスクリプションを前記第1の顧客に提供するステップは、
前記サービスインフラストラクチャシステム内のサービスプールにおいて前記第1のサービスがプロビジョニングされていると判断するステップと、
前記第1のサービスのための第1のサブスクリプションを前記サービスのためのサブスクリプションとして前記第1の顧客に割当てるステップとを含み、前記第1のサブスクリプションを割当てるステップは、前記第1のサービスを前記サービスプールから前記第1の顧客に割当てるステップを含み、前記第1のサービスを前記第1の顧客に割当てるステップは、前記第1のサービスを前記サービスプールから削除するステップを含む、請求項112のいずれか一項に記載のコンピュータにより実現される方法。
Providing the subscription to the first customer when the type of subscription is the reusable subscription:
Determining that the first service is provisioned in a service pool in the service infrastructure system;
Assigning a first subscription for the first service to the first customer as a subscription for the service, the step of assigning the first subscription comprising: Assigning the first service to the first customer from the service pool, and assigning the first service to the first customer includes deleting the first service from the service pool. the method implemented by a computer according to any one of 1 to 12.
特定顧客向けデータを、前記第1のサービスに対応する特定サービス向けデータに対応付けるステップをさらに含み、前記特定顧客向けデータは、前記第1のサービスの前記第1の顧客に対応付けられる、請求項13に記載のコンピュータにより実現される方法。   The method according to claim 1, further comprising the step of associating data for specific customer with data for specific service corresponding to the first service, wherein the data for specific customer is corresponded to the first customer of the first service. The computer-implemented method according to claim 13. 前記サービスにアクセスするための前記サブスクリプションを管理するステップは、前記サブスクリプションが終了したときに前記第1のサービスを前記第1の顧客から前記サービスプールに割当てるステップを含み、前記第1のサービスを割当てるステップは、前記特定顧客向けデータと、前記第1のサービスに対応する特定サービス向けデータとの対応関係を解除するステップを含み、前記第1のサービスは、前記サービスプールから1以上の他の顧客に再度割当て可能である、請求項14に記載のコンピュータにより実現される方法。   Managing the subscription for accessing the service includes assigning the first service from the first customer to the service pool when the subscription is terminated, the first service The step of assigning a request includes releasing the correspondence between the data for specific customer and the data for specific service corresponding to the first service, wherein the first service includes at least one other from the service pool. The computer-implemented method of claim 14, wherein the computer-implemented method is reassignable to a customer of 前記第1の顧客に対応付けられた前記特定顧客向けデータは、前記第1の顧客による前記第1のサービスの使用に関連するデータを含む、請求項14または15記載のコンピュータにより実現される方法。 The specific customer data associated with the first customer, including data relating to use of the first service by the first customer is realized by a computer according to claim 14 or 15 Method. 前記複数のサービスのうちの各サービスは特定サービス向けデータに対応付けられ、サービスに対応する前記特定サービス向けデータは、前記サービスのコンフィギュレーションを示し、前記コンフィギュレーションは、前記サービスを提供するために割当てられた1つ以上のリソースを含む、請求項1〜16のいずれか一項に記載のコンピュータにより実現される方法。   Each service of the plurality of services is associated with data for specific service, the data for specific service corresponding to the service indicates a configuration of the service, and the configuration is for providing the service. A computer-implemented method according to any one of the preceding claims, comprising one or more allocated resources. 前記サービスを提供するステップは、前記第1の顧客による要求を受ける前に、前記サービスインフラストラクチャシステムにおいてサービスをプロビジョニングするステップを含み、前記サービスは、前記サービスインフラストラクチャシステムのオペレーションに対応付けられた1つ以上のメトリックに基づいてプロビジョニングされる、請求項1〜17のいずれか一項に記載のコンピュータにより実現される方法。   The step of providing the service includes the step of provisioning a service in the service infrastructure system before receiving a request from the first customer, wherein the service is associated with the operation of the service infrastructure system 18. The computer-implemented method of any of the preceding claims, wherein the method is provisioned based on one or more metrics. 前記サービスを提供するステップは、前記第1の顧客による要求を受ける前に前記サービスをプロビジョニングするステップを含み、サービスは、前記サービスに対する需要に対応付けられた1つ以上のメトリックに基づいてプロビジョニングされる、請求項1〜18のいずれか一項に記載のコンピュータにより実現される方法。   Providing the service includes provisioning the service prior to receiving a request from the first customer, wherein the service is provisioned based on one or more metrics associated with the demand for the service. A computer-implemented method according to any one of the preceding claims. 前記サービスを提供するステップは、前記第1の顧客による要求を受ける前に前記サービスをプロビジョニングするステップを含み、サービスは、前記サービスの種類に対応付けられた1つ以上のメトリックに基づいてプロビジョニングされる、請求項1〜18のいずれか一項に記載のコンピュータにより実現される方法。   Providing the service includes provisioning the service before receiving a request from the first customer, the service being provisioned based on one or more metrics associated with the type of service A computer-implemented method according to any one of the preceding claims. 前記サービスインフラストラクチャシステムはマルチテナント環境を含む、請求項1〜20のいずれか一項に記載のコンピュータにより実現される方法。   The computer-implemented method of any one of the preceding claims, wherein the service infrastructure system comprises a multi-tenant environment. 前記サービスは、Java(登録商標)サービス、顧客関係管理(CRM)サービス、または人的資源管理(HCM)サービスを含む、請求項1〜21のいずれか一項に記載のコンピュータにより実現される方法。   22. The computer-implemented method of any of the preceding claims, wherein the service comprises a Java service, a customer relationship management (CRM) service, or a human resource management (HCM) service. . システムであって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに対して機能的に結合されたメモリとを含み、前記少なくとも1つのプロセッサは、前記メモリに格納されているコンピュータコードを実行することにより、
複数のサービスをサービスインフラストラクチャシステムに提供し、
前記サービスインフラストラクチャシステムによって提供されるサービスへのアクセスの、第1の顧客による要求を受け、
前記要求に基づいて、アクセスが要求された前記サービスの使用の種類を決定し、
前記第1の顧客によって要求された前記サービスの使用の種類に基づいてサブスクリプションの種類を決定し、前記サブスクリプションの種類はクローンサブスクリプションまたは再使用可能なサブスクリプションのうちの一方であり、前記サブスクリプションの種類は、前記サービスへのアクセスを、前記サービスが要求される前にプロビジョニングされた、前記複数のサービスのうちの1つのサービスに基づいて可能にし、第1のサービスは前記複数のサービスのうちの1つであり、前記再使用可能なサブスクリプションは、前記サービスへのアクセスを、前記複数のサービスのうちの1つのサービスを、前記第1の顧客によって要求されたサービスとして構成することに基づいて可能にし、前記クローンサブスクリプションは、前記サービスへのアクセスを、前記サービスが要求される前にプロビジョニングされた前記1つのサービスのコンフィギュレーションに従ってサービスをプロビジョニングすることに基づいて可能にし、
前記サブスクリプションの種類に基づいて、前記使用の種類の前記要求されたサービスを提供するように構成可能な、前記複数のサービスのうちの前記第1のサービスを、特定し、
前記サービスにアクセスするためのサブスクリプションを前記第1の顧客に提供し、前記サービスにアクセスするためのサブスクリプションは、前記サブスクリプションの種類が前記再使用可能なサブスクリプションであるという判断に基づいて、前記第1のサービスを前記サービスとして構成することによって提供され、前記サブスクリプションの種類が前記クローンサブスクリプションであるという判断に基づいて、前記サービスにアクセスするためのサブスクリプションは、前記サービスのための1つ以上のリソースをプロビジョニングし前記サービスを前記第1のサービスのコンフィギュレーションに従って構成することによって提供され、
前記第1の顧客に提供された前記サブスクリプションを管理する、システム。
A system,
At least one processor,
A memory operatively coupled to the at least one processor, the at least one processor executing computer code stored in the memory;
Provide multiple services to the service infrastructure system,
Receiving a request by a first customer of access to services provided by the service infrastructure system,
Determine the type of use of the service for which access is requested, based on the request;
Determining a type of subscription based on the type of use of the service requested by the first customer, the type of subscription being one of a clone subscription or a reusable subscription, The type of subscription enables access to the service based on a service of the plurality of services provisioned before the service is requested, a first service being the plurality of services Wherein the reusable subscription configures access to the service as a service requested by the first customer from one of the plurality of services. Enabling the clone subscription based on the Access to screws allows based on provisioning a service in accordance with configuration of provisioned said one service before the service is requested,
Identifying the first service of the plurality of services configurable based on the type of subscription to provide the requested service of the type of use;
Providing the first customer with a subscription for accessing the service, the subscription for accessing the service being based on the determination that the type of subscription is the reusable subscription A subscription for accessing the service based on the determination that the first service is configured as the service, and the type of subscription is the clone subscription; Provisioning one or more resources and configuring the service according to the configuration of the first service,
A system for managing the subscription provided to the first customer.
請求項1〜22のいずれかに記載の方法をコンピュータに実行させるためのプログラム。   A program for causing a computer to execute the method according to any one of claims 1 to 22.
JP2016572454A 2014-06-11 2015-02-17 Providing subscriptions for services using existing subscriptions Active JP6541694B2 (en)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201462010617P 2014-06-11 2014-06-11
US62/010,617 2014-06-11
US201462011400P 2014-06-12 2014-06-12
US62/011,400 2014-06-12
US14/624,364 US20150363724A1 (en) 2012-09-07 2015-02-17 Reusable anonymous subscription
US14/624,356 2015-02-17
US14/624,364 2015-02-17
US14/624,356 US10148530B2 (en) 2012-09-07 2015-02-17 Rule based subscription cloning
PCT/US2015/016214 WO2015191119A1 (en) 2014-06-11 2015-02-17 Providing a subscription for a service using an existing subscription

Publications (3)

Publication Number Publication Date
JP2017526038A JP2017526038A (en) 2017-09-07
JP2017526038A5 JP2017526038A5 (en) 2018-03-15
JP6541694B2 true JP6541694B2 (en) 2019-07-10

Family

ID=58091940

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016572454A Active JP6541694B2 (en) 2014-06-11 2015-02-17 Providing subscriptions for services using existing subscriptions

Country Status (2)

Country Link
JP (1) JP6541694B2 (en)
CN (1) CN106462891B (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9667470B2 (en) 2012-09-07 2017-05-30 Oracle International Corporation Failure handling in the execution flow of provisioning operations in a cloud environment
CN107453922B (en) * 2017-09-08 2020-10-02 北京寄云鼎城科技有限公司 Basic service configuration method, client and server
CN109803279B (en) * 2017-11-16 2021-06-25 大唐移动通信设备有限公司 Slice management method, base station and terminal
CN110324372A (en) * 2018-03-29 2019-10-11 中国移动通信有限公司研究院 A kind of service calling method, device, medium, equipment and system
US10623202B1 (en) * 2018-10-25 2020-04-14 GM Global Technology Operations LLC System and method of controlling network traffic for a network with in a device
CN110377421B (en) * 2019-06-26 2021-06-29 联动优势科技有限公司 Data source access method and device based on single data item label
CN112653563B (en) * 2019-10-09 2022-07-05 北京金山云网络技术有限公司 Cloud resource creating method and device, client and server
CN113141387B (en) * 2020-01-19 2023-05-26 中国石油天然气股份有限公司 Service subscription method, device and system
CN113419946B (en) * 2021-05-31 2023-03-28 西南电子技术研究所(中国电子科技集团公司第十研究所) Ice interface test case and test script automatic generation method

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE175281T1 (en) * 1991-05-08 1999-01-15 Digital Equipment Corp LICENSE MANAGEMENT SYSTEM
US20100114618A1 (en) * 2008-10-30 2010-05-06 Hewlett-Packard Development Company, L.P. Management of Variants of Model of Service
JP5859193B2 (en) * 2010-07-14 2016-02-10 デンカ株式会社 Multilayer adhesive sheet and method for manufacturing electronic component
CN102376064A (en) * 2010-08-12 2012-03-14 威睿公司 Elastic permission of software in cloud environment
US9043445B2 (en) * 2010-09-22 2015-05-26 International Business Machines Corporation Linking instances within a cloud computing environment
WO2012039053A1 (en) * 2010-09-24 2012-03-29 株式会社日立製作所 Method of managing computer system operations, computer system and computer-readable medium storing program
US9059944B2 (en) * 2010-11-25 2015-06-16 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement for enabling service delivery in a telecommunications network
CN103023762A (en) * 2011-09-27 2013-04-03 阿尔卡特朗讯公司 Cloud computing access gateway and method for providing access to cloud provider for user terminal
CN103763117A (en) * 2011-12-31 2014-04-30 华茂云天科技(北京)有限公司 Service and operation management system
JP6181185B2 (en) * 2012-09-07 2017-08-16 オラクル・インターナショナル・コーポレイション LDAP-based multi-customer in-cloud identity management system
US20140074659A1 (en) * 2012-09-07 2014-03-13 Oracle International Corporation Ramped ordering for cloud services

Also Published As

Publication number Publication date
CN106462891B (en) 2020-08-04
JP2017526038A (en) 2017-09-07
CN106462891A (en) 2017-02-22

Similar Documents

Publication Publication Date Title
US10778542B2 (en) Rule based subscription cloning
EP3155576B1 (en) Providing a subscription for a service using an existing subscription
US11520635B2 (en) Techniques for resolving application updates
US20150363724A1 (en) Reusable anonymous subscription
JP6541694B2 (en) Providing subscriptions for services using existing subscriptions
US10164901B2 (en) Intelligent data center selection
US20140074540A1 (en) Role assignments in a cloud infrastructure
US9391972B2 (en) Multi-tenant application using hierarchical bean factory container
EP4094149B1 (en) Updating code in distributed version control system
JP2023511113A (en) Techniques for deploying infrastructure resources using declarative provisioning tools
WO2021150435A1 (en) Techniques for utilizing directed acyclic graphs for deployment instructions
JP7553576B2 (en) Techniques for Detecting Drift in Deployment Orchestrators
JP2023511535A (en) User interface technology for infrastructure orchestration services

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180129

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181211

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190409

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190611

R150 Certificate of patent or registration of utility model

Ref document number: 6541694

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