JP2017526038A - Provision of service subscriptions using existing subscriptions - Google Patents

Provision of service subscriptions using existing subscriptions Download PDF

Info

Publication number
JP2017526038A
JP2017526038A JP2016572454A JP2016572454A JP2017526038A JP 2017526038 A JP2017526038 A JP 2017526038A JP 2016572454 A JP2016572454 A JP 2016572454A JP 2016572454 A JP2016572454 A JP 2016572454A JP 2017526038 A JP2017526038 A JP 2017526038A
Authority
JP
Japan
Prior art keywords
service
subscription
customer
clone
access
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.)
Granted
Application number
JP2016572454A
Other languages
Japanese (ja)
Other versions
JP6541694B2 (en
JP2017526038A5 (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 PCT/US2015/016214 external-priority patent/WO2015191119A1/en
Priority claimed from US14/624,364 external-priority patent/US20150363724A1/en
Priority claimed from US14/624,356 external-priority patent/US10148530B2/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)

Abstract

本開示の局面は、クラウドインフラストラクチャシステムによってプロビジョニングされている既存のサービスを用いて、サービスへのアクセスをユーザに提供するための技術に関する。クラウドインフラストラクチャシステムは、クラウドインフラストラクチャシステムが提供する既存のサービスのためのサブスクリプションに基づいてクローンサブスクリプションを作成することにより、サービスをユーザに提供し得る。クローンサブスクリプションは、既存のサービスに基づいてサービスへのアクセスをユーザに提供し得る。クラウドインフラストラクチャシステムは、クラウドインフラストラクチャシステムがプロビジョニングしたサービスを、さまざまなユーザが匿名で再使用することを可能にする技術を実現し得る。クラウドシステムにサブスクライブすると、サービスを、予めプロビジョニングされたサービスの既存のプールから構成できる。サービスを解除するときは、そのリソースを再使用のためにプールに戻す。このようにして、新たなリソースのプロビジョニングに要する時間を最短にするとともにリソースの使用量を最大にする。An aspect of the present disclosure relates to a technique for providing a user with access to a service using an existing service that is provisioned by a cloud infrastructure system. The cloud infrastructure system may provide services to users by creating clone subscriptions based on subscriptions for existing services that the cloud infrastructure system provides. Clone subscriptions can provide users with access to services based on existing services. A cloud infrastructure system may implement a technology that allows various users to anonymously reuse services provisioned by the cloud infrastructure system. When subscribed to a cloud system, a service can be composed of an existing pool of pre-provisioned services. When releasing a service, the resource is returned to the pool for reuse. In this way, the time required to provision a new resource is minimized and the amount of resource usage is maximized.

Description

関連出願の相互参照
本願は、以下の出願に関連し、これらの内容全体を、すべての目的のために本明細書に引用により援用する。
This application is related to the following applications, the entire contents of which are hereby incorporated 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 September 7, 2012, entitled “Tenant Automation System” (2), filed 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 and entitled “Cloud Infrastructure” (5) United States Provisional Application No. 61 filed on March 15, 2013 and entitled “Service Association Model” This application is hereby incorporated by reference in its entirety for purposes of US Provisional Application No. 61 / 698,463, filed September 7, 2012 and entitled “Shared Identify Management Architecture”. 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 was filed on Feb. 17, 2015 and claims priority and benefit based on US Provisional Application No. 62 / 010,617, filed June 11, 2014, entitled “REUSABLE ANONYMOUS SUBSCRIPTION”. Claims 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号に基づく優先権と利益を主張する。   This application was filed on February 7, 2015 and claims priority and benefit based on US Provisional Application No. 62 / 011,400 filed June 12, 2014 and entitled “RULE BASED SUBSCRIPTION CLONING”. Claims priority and interest under US Non-Provisional Application No. 14 / 624,356 entitled “RULE BASED SUBSCRIPTION CLONING”.

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

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

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

消費者および事業者は、コンピュータネットワーククラウドベースのサービスの使用のオーダーおよびスタートがシームレスであることを期待する。しかしながら、多くのクラウドサービスは、共有し得るリソースのプロビジョニングが必要なので、スタートアップが難しい。たとえば、サーバファーム内のサーバは多数の顧客に対するクラウドサービスを一挙に実行する場合があり、別の顧客を追加するためにはリソースを移す必要があるかもしれない。ユーザが使用を希望するサービスは、ユーザごとに異なり得る。たとえば、クラウド上の生の記憶域だけを希望するユーザもあれば、高度なデータベース記憶域の使用を希望するユーザもある。また、その従業員または顧客向けにクラウド上で実行されるグラフィカルユーザインターフェイス(GUI)ソフトウェアの使用を希望する他のユーザもある。   Consumers and operators expect the order and start of use of computer network cloud-based services to be seamless. However, many cloud services are difficult to start up because they require provisioning of resources that can be shared. For example, servers in a server farm may perform cloud services for many customers at once, and may need to move resources to add another customer. The service that the user desires to use can vary from user to user. For example, some users want only raw storage on the cloud, while others want to use advanced database storage. There are also other users who wish 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 new features or components using an existing computing environment (eg, a production system). However, these business owners may not be able to test new features by implementing another environment using the existing computing environment. As a result, the operator may consume resources to implement another environment that includes additional configuration and computing resources. In addition, the realization of additional systems can involve management procedures for contracting with service providers for more computing resources. The construction of an additional computing environment may require prohibitive costs and a great deal of time depending on the operator.

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

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

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

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

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

いくつかの実施形態において、クラウドインフラストラクチャシステムは、クラウドインフラストラクチャシステムがプロビジョニングしたサービスをさまざまなユーザが匿名で再使用できるようにする技術を実現し得る。このシステムは「再使用可能な匿名サブスクリプション(reusable anonymous subscription)」(RAS)と呼ばれるサブスクリプションを構成し得る。RASは、サービスに対する正規サブスクリプションの取得前に、システムが提供するこのサービスへのアクセスを、ユーザに提供し得る。RASがアクセスできるサービスは既にプロビジョニングされていてもよい。クラウドインフラストラクチャシステムは、RASの1つ以上のプールを構成し得る。各RASは、予めプロビジョニングされたサービスに対する再使用可能なサブスクリプションを提供する。サービスがユーザから要求されると、このサービスに対するRASをプールからユーザに割当ててこのサービスにアクセスできるようにしてもよい。   In some embodiments, the cloud infrastructure system may implement a technology that allows various users to anonymously reuse services provisioned by the cloud infrastructure system. The system may constitute 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 regular subscription for the service. Services that the RAS can access may already be provisioned. A cloud infrastructure system may constitute one or more pools of RAS. Each RAS provides a reusable subscription for pre-provisioned services. When a service is requested by a user, a RAS for this service may be assigned to the user from the pool 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 regular subscription, the RAS is returned to the pool for reuse of services provisioned for this RAS. Services provisioned for this RAS remain provisioned when the RAS is returned to the pool, minimizing the time required to provision new resources for this service and maximizing resource usage. To. The RAS may be reassigned to another user if the previous user does not convert the RAS into 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 may not be returned to the pool. The RAS may be converted to a regular subscription using a lightweight conversion process. Since the services provided by RAS are already provisioned, the conversion process is lightweight and there will be no need to re-provision the services. The conversion process may establish an account that is assigned a regular subscription for the use of services already provisioned for the RAS. In some embodiments, the customer specific data generated during use of a service provided by RAS may be separated from the service specific data associated with this service. When the RAS is converted into a regular subscription, data for a specific customer may be held and associated with the regular subscription. For this reason, the user provided with the regular subscription may continue to use the service using the existing customer-specific data created while using the service through the RAS.

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

いくつかの実施形態において、サブスクリプションの種類がクローンサブスクリプションであるとき、サブスクリプションを第1の顧客に提供することは、第1のサービスに対する第1のサブスクリプションに基づいて第1のクローンサブスクリプションを確立することを含み、第1のクローンサブスクリプションは、第1の顧客へのサブスクリプションとして提供され、サブスクリプションを第1の顧客に提供することは、一組の規則に基づいて第1のクローンサブスクリプションを第1のサブスクリプションに対応付けることを含む。   In some embodiments, when the subscription type is a clone subscription, providing the subscription to the first customer is 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. Associating the clone subscription with the first subscription.

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

いくつかの実施形態において、サブスクリプションの種類がクローンサブスクリプションであるとき、第1のクローンサブスクリプションは、第2のサービスへのアクセスを提供してもよく、一組の規則は、第1のサービスのクローンとしての第2のサービスの使用を示していてもよい。一組の規則は、第2のサービスへのアクセスの期間を示していてもよい。一組の規則は、第2のサービスへのアクセスが許可されたユーザの数を示していてもよく、第2のサービスへのアクセスが許可されたユーザの数は、第1のサービスへのアクセスが許可されたユーザの数と異なっていてもよい。一組の規則は第2のサービスのコンフィギュレーションを示していてもよく、第2のサービスのコンフィギュレーションは第1のサービスのコンフィギュレーションと異なっていてもよい。   In some embodiments, when the subscription type is a clone subscription, the first clone subscription may provide access to the second service, and the set of rules may include the first rule It may indicate the use of the second service as a clone of the service. The set of rules may indicate a period of access to the second service. The set of rules may indicate the number of users authorized to access the second service, where the number of users authorized to access the second service May be different from the number of authorized users. The set of rules may indicate a 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 subscription type is a clone subscription, managing the subscription determines access to the requested service by the subscription in response to a change in the first service. Can include. 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, when the subscription type is a reusable subscription, providing the subscription to the first customer means that the first service is provisioned in a service pool within the service infrastructure system. Determining that the first service for the subscription is not provisioned in the service pool, provisioning the first service for the first subscription in the service pool; Assigning a first subscription for one service to a 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 can include deleting 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 subscription type is a reusable subscription, the method may include associating the customer specific data with the service specific data corresponding to the first service. The customer specific data associated with the first customer may include data related to the use of the first service by the customer. When the subscription type 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 the specific customer and the data for the specific service corresponding to the first service. The first service may be reassignable from the service pool to one or more other customers. In some embodiments, when the subscription type is a reusable subscription, the method receives a request by a second customer to access a 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; and determining the first subscription in the service pool Assigning to the second customer, assigning the first subscription to the second customer includes deleting the first subscription from the service pool, and the method further includes: The data for the specific customer corresponding to is associated with the data for the 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 by the first customer. A service may be provisioned based on one or more metrics associated with demand for the service. A service may be provisioned based on one or more metrics associated with a service type.

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

いくつかの実施形態において、第1の顧客による要求は、顧客によるサービスの使用の種類を示していてもよく、サブスクリプションの種類を、上記要求が示す使用の種類に基づいて決定してもよい。   In some embodiments, the request by the first customer 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 subscription type is a clone subscription, providing the subscription to the first customer is 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. Associating the subscription with the first subscription.

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

いくつかの実施形態において、サブスクリプションの種類がクローンサブスクリプションであるとき、第1のクローンサブスクリプションは第2のサービスへのアクセスを提供してもよく、一組の規則は、第2のサービスを第1のサービスのクローンとして使用することを示していてもよい。一組の規則は、第2のサービスへのアクセスの期間を示していてもよい。一組の規則は、第2のサービスへのアクセスが許可されたユーザの数を示していてもよく、第2のサービスへのアクセスが許可されたユーザの数は、第1のサービスへのアクセスが許可されたユーザの数と異なっていてもよい。一組の規則は第2のサービスのコンフィギュレーションを示していてもよく、第2のサービスのコンフィギュレーションは第1のサービスのコンフィギュレーションと異なっていてもよい。   In some embodiments, when the subscription type is a clone subscription, the first clone subscription may provide access to the second service, and the set of rules may include the second service May be used as a clone of the first service. The set of rules may indicate a period of access to the second service. The set of rules may indicate the number of users authorized to access the second service, where the number of users authorized to access the second service May be different from the number of authorized users. The set of rules may indicate a 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 subscription type is a clone subscription, managing the subscription determines access to the requested service by the subscription in response to a change in the first service. Can include. 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, when the subscription type is a reusable subscription, providing the subscription to the first customer means that the first service is provisioned in a service pool within the service infrastructure system. Determining that the first service for the subscription is not provisioned in the service pool, provisioning the first service for the first subscription in the service pool, and Assigning a first subscription for a service to a customer as a service subscription. Assigning a first subscription may include assigning a first service from a service pool to a customer. Assigning the first service to the customer can include deleting 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 subscription type is a reusable subscription, the at least one processor executes the computer code stored in memory to obtain customer specific data. Correspond to data for a specific service corresponding to one service. The data for the specific customer is associated with the customer of the first service. The customer specific data associated with the first customer may include data related to the use of the first service by the customer. When the subscription type 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 ends. obtain. Assigning the first service may include releasing the correspondence between the data for the specific customer and the data for the specific service corresponding to the first service. The first service may be reassignable from the service pool to one or more other customers. In some embodiments, when the subscription type is a reusable subscription, the at least one processor executes a computer code stored in memory to thereby execute a first of a plurality of services. The second service is available in the service pool based on a determination by the second customer to request access to the second service and 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. Including data for a specific customer corresponding to the second customer and data for the 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 by the first customer. A service 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 before receiving a request by the first customer. A service may be provisioned based on one or more metrics associated with demand for the service.

少なくとも1つの実施形態において、クラウドインフラストラクチャシステムによってプロビジョニングされた既存のサービスを用いてサービスへのアクセスをユーザに提供するための技術が開示される。ある技術は、コンピュータシステムのプロセッサによって実行可能な命令を格納する非一時的なコンピュータ読取可能な媒体である。この非一時的なコンピュータ読取可能な媒体は、サービスインフラストラクチャシステムに含まれていてもよい。サービスインフラストラクチャシステムはマルチテナント環境を含み得る。非一時的なコンピュータ読取可能な媒体に格納されている命令は、サービスインフラストラクチャシステムに複数のサービスを提供するためにプロセッサによって実行可能である。サービスは、Java(登録商標)サービス、顧客関係管理(CRM)サービス、または人的資源管理(HCM)サービスを含み得る。これらのサービスのうちの各サービスは特定サービス向けデータに対応付けられてもよい。サービスに対応する特定サービス向けデータは、サービスについてのコンフィギュレーションを示していてもよく、コンフィギュレーションは、サービスを提供するために割当てられた1つ以上のリソースを含み得る。   In at least one embodiment, techniques are disclosed for providing users access to services using existing services provisioned by a cloud infrastructure system. One technique 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 the service infrastructure system. A 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 multiple services to the service infrastructure system. Services may include Java® services, customer relationship management (CRM) services, or human resource management (HCM) services. Each 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 allocated to provide the service.

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

いくつかの実施形態において、第1の顧客による要求は、顧客によるサービスの使用の種類を示していてもよく、サブスクリプションの種類は、要求が示す使用の種類に基づいて判断してもよい。   In some embodiments, the request by the first customer 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 subscription type is a clone subscription, providing the subscription to the first customer is 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. Associating the clone subscription with the first subscription.

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

いくつかの実施形態において、サブスクリプションの種類がクローンサブスクリプションであるとき、第1のクローンサブスクリプションは第2のサービスへのアクセスを提供してもよく、一組の規則は、第2のサービスを第1のサービスのクローンとして使用することを示していてもよい。一組の規則は、第2のサービスへのアクセスの期間を示していてもよい。一組の規則は、第2のサービスへのアクセスが許可されたユーザの数を示していてもよく、第2のサービスへのアクセスが許可されたユーザの数は、第1のサービスへのアクセスが許可されたユーザの数と異なっていてもよい。一組の規則は第2のサービスのコンフィギュレーションを示していてもよく、第2のサービスのコンフィギュレーションは第1のサービスのコンフィギュレーションと異なっていてもよい。   In some embodiments, when the subscription type is a clone subscription, the first clone subscription may provide access to the second service, and the set of rules may include the second service May be used as a clone of the first service. The set of rules may indicate a period of access to the second service. The set of rules may indicate the number of users authorized to access the second service, where the number of users authorized to access the second service May be different from the number of authorized users. The set of rules may indicate a 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 subscription type is a clone subscription, managing the subscription determines access to the requested service by the subscription in response to a change in the first service. Can include. 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, when the subscription type is a reusable subscription, providing the subscription to the first customer means that the first service is provisioned in a service pool within the service infrastructure system. Determining that the first service for the subscription is not provisioned in the service pool, provisioning the first service for the first subscription in the service pool; Assigning a first subscription for a service to a 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 can include deleting 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 subscription type is a reusable subscription, the processor executes instructions stored in a non-transitory computer readable medium to store customer specific data. Correspond to data for a specific service corresponding to one service. The data for the specific customer is associated with the customer of the first service. The customer specific data associated with the first customer may include data related to the use of the first service by the customer. When the subscription type 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 ends. obtain. Assigning the first service may include releasing the correspondence between the data for the specific customer and the data for the specific service corresponding to the first service. The first service may be reassignable from the service pool to one or more other customers. In some embodiments, when the subscription type is a reusable subscription, the processor executes instructions stored in the non-transitory computer readable medium to cause a first of the plurality of services. The second service is available in the service pool based on a determination by the second customer to request access to the second service and 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 removing the first subscription from the service pool. , Data for specific customers corresponding to the second customer corresponds to data for specific services corresponding to the first service 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 by the first customer. A service 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 before receiving a request by the first customer. A service may be provisioned based on one or more metrics associated with demand for the service.

さらに他の実施形態は、動作を実行するための命令および/またはコードを使用または格納して本明細書に記載の技術を実現する、システムおよびマシン読取可能な有形の記憶媒体に関する。   Still other embodiments relate to systems and machine-readable tangible storage media that use or store instructions and / or code to perform 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 alone 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 the appropriate portion of each claim.

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

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

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

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

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

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

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

特定の実施形態において、クラウドインフラストラクチャシステムが提供するサービスは、クラウドインフラストラクチャシステムのユーザがオンデマンドで利用できるようにされる多数のサービスを含み得る。これらのサービスは、オンラインデータ記憶およびバックアップソリューション、ウェブベースの電子メールサービス、ホストされているオフィスソフトウェアパッケージおよび文書コラボレーションサービス、データベース処理、管理された技術サポートサービス等である。クラウドインフラストラクチャシステムが提供するサービスは、そのユーザのニーズを満たすよう動的に調整できる。クラウドインフラストラクチャシステムが提供するサービスを具体化したものを、本明細書ではサービスインスタンスと呼ぶ。一般的に、クラウドサービスプロバイダのシステムからインターネット等の通信ネットワークを介してユーザが利用できるようにされるサービスは、クラウドサービスと呼ばれる。典型的には、パブリッククラウド環境において、クラウドサービスプロバイダのシステムを構成するサーバおよびシステムは、顧客自身の構内サーバおよびシステムとは異なる。たとえば、クラウドサービスプロバイダのシステムはアプリケーションをホストしている場合があり、ユーザはインターネット等の通信ネットワークを介してオンデマンドでアプリケーションをオーダーおよび使用することができる。   In certain embodiments, the services provided by the cloud infrastructure system may include a number of services that are made available on demand to users of the cloud infrastructure system. 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 the like. Services provided by the cloud infrastructure system can be dynamically adjusted to meet the needs of the users. A materialized service provided by the cloud infrastructure system is referred to as a service instance in this specification. Generally, a service that can be used by a user from a cloud service provider 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 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 a computer network cloud infrastructure include protected computer network access to storage, hosted databases, hosted web servers, software applications, or other services provided to users by cloud vendors, or Includes other services known in the art. For example, a service may include password protected access to remote storage on the cloud through the Internet. As another example, a service may include a web service-based hosted relational database and scripting language middleware engine for private use by networked developers. As another example, a service may include access to an email software application hosted on a cloud vendor's website.

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

クラウドインフラストラクチャシステム100は、クラウドサービスをさまざまなデプロイメントモデルを介して提供し得る。たとえば、サービスはパブリッククラウドモデルで提供し得る。パブリッククラウドモデルでは、クラウドインフラストラクチャシステム100を、組織販売クラウドサービスが所有(たとえばOracle社が所有)し、サービスは、一般的なパブリックまたはさまざまな産業界の企業が利用できるようにされる。別の例として、サービスはプライベートクラウドモデルで提供し得る。プライベートクラウドモデルでは、クラウドインフラストラクチャシステム100を1つの組織のためにのみ運用し、その組織内の1以上のエンティティにサービスを提供することができる。クラウドサービスは、コミュニティクラウドモデルでも提供し得る。コミュニティクラウドモデルでは、クラウドインフラストラクチャシステム100およびこのシステムが提供するサービスを、関係するコミュニティ内のいくつかの組織が共有する。クラウドサービスは、2つ以上の異なるモデルを組合わせたものであるハイブリッドクラウドモデルでも提供し得る。   The cloud infrastructure system 100 can provide cloud services via various deployment models. For example, the service may be provided in a public cloud model. In the public cloud model, the cloud infrastructure system 100 is owned by an organization-sold cloud service (eg, owned by Oracle), and the service is made available to general public or companies from various industries. As another example, the service may be provided in a private cloud model. In the private cloud model, the cloud infrastructure system 100 can operate only for one organization and provide services to one or more entities within that organization. Cloud services can also be provided by a 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 community concerned. Cloud services can also be provided in a hybrid cloud model that is a combination of two or more different models.

図1Aに示されるように、クラウドインフラストラクチャシステム100は、連携して作業しクラウドインフラストラクチャシステム100が提供するサービスのプロビジョニングを可能にする複数のコンポーネントを含み得る。図1Aに示される実施形態において、クラウドインフラストラクチャシステム100は、SaaSプラットフォーム102と、PaaSプラットフォーム104と、IaaSプラットフォーム110と、インフラストラクチャリソース106と、クラウド管理機能108とを含む。これのコンポーネントは、ハードウェア、またはソフトウェア、またはこれらを組合わせたものによって実現し得る。   As shown in FIG. 1A, the cloud infrastructure system 100 may include multiple components that work together to enable provisioning of services provided by the cloud infrastructure system 100. In the embodiment shown in FIG. 1A, the cloud infrastructure system 100 includes a SaaS platform 102, a PaaS platform 104, an IaaS platform 110, infrastructure resources 106, and a cloud management function 108. These components may be realized by hardware, 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, the SaaS platform 102 may provide functionality for building and providing 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 for providing SaaS services. 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 get application services without purchasing separate licenses and support.

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

さまざまな異なる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 can be provided by the PaaS platform 104 in a standardized, shared and flexible scalable application development and deployment platform. The PaaS service example builds services that allow organizations (such as Oracle) to merge existing applications on a common shared architecture and new applications that enhance the shared services offered by this platform Functions may be included, but are not limited to these. The PaaS platform 104 can manage and control the software and infrastructure that are the basis for providing PaaS services. The customer can acquire the PaaS service 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 take advantage of programming languages and tools supported by the cloud infrastructure system 100 and can also control deployed services. In some embodiments, the PaaS service provided by the cloud infrastructure system 100 may include a database cloud service 114, a middleware cloud service (eg, Oracle Fusion middleware service) 116, and a Java cloud service 117. . In one embodiment, the database cloud service 114 may support a shared service deployment model that allows an organization to pool database resources and provide database as a service to customers in the form of a database cloud. The middleware cloud service 116 provides a platform for customers to develop and deploy various business applications, and the Java cloud service 117 provides a platform for customers to deploy Java applications in the cloud infrastructure system 100. To do. The components in SaaS platform 102 and PaaS platform 104 shown in FIG. 1A are shown for illustrative purposes only and are not intended to limit the scope of embodiments of the present invention. In alternative embodiments, the SaaS platform 102 and the PaaS platform 104 may include additional components for providing 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, network and other basic computing resources for customers utilizing services provided by the SaaS platform and the PaaS platform.

特定の実施形態では、クラウドインフラストラクチャシステム100は、クラウドインフラストラクチャシステム100の顧客にさまざまなサービスを提供するために使用されるリソースを提供するためのインフラストラクチャリソース106を含む。一実施形態では、インフラストラクチャリソース106は、PaaSプラットフォームおよびSaaSプラットフォームによって提供されるサービスを実行するために、サーバ、ストレージおよびネットワーキングリソースなどのハードウェアの予め統合された、最適化された組合わせを含む。   In certain embodiments, the cloud infrastructure system 100 includes infrastructure resources 106 for providing resources that are used to provide various services to customers of the cloud infrastructure system 100. In one embodiment, the infrastructure resource 106 is a pre-integrated, optimized combination of hardware such as server, 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 certain embodiments, the cloud management function 108 provides comprehensive management of cloud services (eg, SaaS, PaaS, IaaS services) in the cloud infrastructure system 100. In one embodiment, the cloud management function 108 includes functions for provisioning, managing and tracking customer subscriptions received by the cloud infrastructure system 100 and the like.

図1Bは、本発明の実施形態に係るクラウドインフラストラクチャシステム100を実現するために使用され得るハードウェア/ソフトウェアスタックの簡略ブロック図である。図1Bに示される実現例は、図1Bに示されるもの以外の他のコンポーネントを有していてもよいということが理解されるべきである。さらに、図1Bに示される実施形態は、本発明の実施形態を組込むことができるクラウドインフラストラクチャシステムの一例に過ぎない。いくつかの他の実施形態では、クラウドインフラストラクチャシステム100は、図1Bに示されるものよりも多くのまたは少ないコンポーネントを有していてもよく、2つ以上のコンポーネントを組合わせてもよく、またはコンポーネントの異なる構成もしくは配置を有していてもよい。特定の実施形態では、最適な性能を提供する垂直統合を提供するようにハードウェアおよびソフトウェアコンポーネントが積層される。   FIG. 1B is a simplified block diagram of a hardware / software stack that can be used to implement a cloud infrastructure system 100 according to an embodiment of the present invention. It should be understood that the implementation shown in FIG. 1B may have other components than those shown in FIG. 1B. Further, the embodiment shown in FIG. 1B is only one example of a cloud infrastructure system that can incorporate embodiments of the present invention. In some other embodiments, the cloud infrastructure system 100 may have more or fewer components than those shown in FIG. 1B, 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 the cloud infrastructure system 100. These users may include end users 150 that may interact with the cloud infrastructure system 100 using various client devices such as desktops, mobile devices, tablets, and the like. In addition, the user can use a command line interface (CLI), an application programming interface (CLI), through various integrated development environments (IDE) and through other applications. An API) may be included to include a developer / programmer 152 that can interact with the cloud infrastructure system 100. The user may also include an operation staff 154. These may include staff of cloud service providers or staff of other users.

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

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

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

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

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

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

ネットワーク232は、クライアント224,226および228とクラウドインフラストラクチャシステム100との間でのデータの通信および交換を容易にし得る。ネットワーク232は、TCP/IP、SNA、IPX、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. The network 232 is well known to those skilled in the art that can support data communication using any of a variety of commercially available protocols including but not limited to TCP / IP, SNA, IPX, Apple Talk, etc. Any type of network may be used. By way of example only, the network 232 includes, but is not limited to, an Ethernet network, a local area network (LAN) such as a token ring network, a wide area network, or a virtual private network (VPN). Virtual network, Internet, intranet, extranet, public switched telephone network (PSTN), infrared network, wireless network (eg IEEE 802.1X series of protocols, Bluetooth known in the art) Network operating under any of the (registered trademark) protocol 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 is 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 any suitable configuration and / or combination. The computing devices making up the cloud infrastructure system 100 execute any of the operating system or various additional server applications and / or middle tier applications, including HTTP servers, FTP servers, CGI servers, Java servers, database servers, etc. Can do. Typical database servers include, but are not limited to, those commercially available from Oracle, Microsoft, Sybase, IBM, and the like.

さまざまな実施形態では、クラウドインフラストラクチャシステム100は、クラウドインフラストラクチャシステム100によって提供されるサービスへの顧客のサブスクリプションを自動的にプロビジョニング、管理および追跡するように適合され得る。一実施形態では、図2に示されるように、クラウドインフラストラクチャシステム100におけるコンポーネントは、アイデンティティ管理(Identity Management:IDM)モジュール200と、サービスモジュール202と、テナント自動化システム(Tenant Automation System:TAS)モジュール204と、サービスデプロイメントインフラストラクチャ(Service Deployment Infrastructure:SDI)モジュール206と、エンタープライズマネージャ(Enterprise Manager:EM)モジュール208と、ストアユーザインターフェース(user interface:UI)210、クラウドユーザインターフェース(UI)212およびサポートユーザインターフェース(UI)216などの1つ以上のフロントエンドウェブインターフェースと、オーダー管理モジュール214と、販売スタッフ218と、オペレータスタッフ220と、オーダーデータベース222とを含む。これらのモジュールは、汎用コンピュータ、特化サーバコンピュータ、サーバファーム、サーバクラスタ、またはその他の適切な配置および/もしくは組合わせであってもよい1つ以上のコンピュータおよび/またはサーバを含んでいてもよく、またはそれらを使用して提供されてもよい。一実施形態では、これらのモジュールのうちの1つ以上は、クラウドインフラストラクチャシステム100におけるクラウド管理機能108またはIaaSプラットフォーム110によって提供され得る。図2に示されるクラウドインフラストラクチャシステム100のさまざまなモジュールは、単に例示の目的で示されており、本発明の実施形態の範囲を限定することを意図したものではない。代替的な実施形態は、図2に示されるものよりも多くのまたは少ないモジュールを含んでいてもよい。   In various embodiments, the cloud infrastructure system 100 may be adapted to automatically provision, manage and track customer subscriptions to services provided by the cloud infrastructure system 100. In one embodiment, as shown in FIG. 2, the components in the cloud infrastructure system 100 include an identity management (IDM) module 200, a service module 202, and a tenant automation system (TAS) module. 204, Service Deployment Infrastructure (SDI) module 206, Enterprise Manager (EM) module 208, store user interface (UI) 210, cloud user interface (UI) 212 and support. One or more front-end web interfaces, such as a user interface (UI) 216, and an order management module 214 , Including the sales staff 218, the operator staff 220, and the order database 222. These modules may include one or more computers and / or servers that may be general purpose computers, specialized server computers, server farms, server clusters, or other suitable arrangements and / or combinations. Or may be provided using them. In one embodiment, one or more of these modules may be provided by the cloud management function 108 or the IaaS platform 110 in the cloud infrastructure system 100. The various modules of the cloud infrastructure system 100 shown in FIG. 2 are shown for illustrative purposes only and are not intended to limit the scope of embodiments of the present invention. Alternative embodiments may include more or fewer modules than those shown in FIG.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

特定の実施形態では、TASモジュール204は、TASモジュール204がクラウドインフラストラクチャシステム100における他のモジュールと対話し、他のモジュールがTASモジュール204と対話することを可能にする1つ以上のTASアプリケーションプログラミングインターフェース(Application Programming Interface:API)318を提供し得る。たとえば、TAS APIは、顧客のサブスクリプションオーダーのためのリソースをプロビジョニングするために、非同期シンプル・オブジェクト・アクセス・プロトコル(Simple Object Access Protocol:SOAP)ベースのウェブサービスコールを介してSDIモジュール206と対話するシステムプロビジョニングAPIを含んでいてもよい。一実施形態では、TASモジュール204は、システムおよびサービスインスタンスの作成および削除を達成し、サービスインスタンスを向上したサービスレベルに切替え、サービスインスタンスを関連付けるためにも、システムプロビジョニングAPIを利用し得る。この一例は、安全なウェブサービス通信を可能にするためのフュージョンアプリケーションサービスインスタンスへのJavaサービスインスタンスの関連付けである。また、TAS APIは、処理されたオーダーを顧客に通知するためにサービスモジュール202と対話する通知APIも含んでいてもよい。特定の実施形態では、TASモジュール204は、サブスクリプション情報、機能停止および通知(たとえば計画されたダウンタイム)もサービスコンポーネント202に定期的に伝える。   In certain embodiments, the TAS module 204 may include one or more TAS application programming that allows the TAS module 204 to interact with other modules in the cloud infrastructure system 100 and allow other modules to interact with the TAS module 204. An interface (Application Programming Interface: API) 318 may be provided. For example, the TAS API interacts with the SDI module 206 via an asynchronous Simple Object Access Protocol (SOAP) based web service call to provision resources for customer subscription orders. A system provisioning API to be included. In one embodiment, the TAS module 204 may also utilize the system provisioning API to accomplish 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 certain embodiments, the TAS module 204 also periodically communicates subscription information, outages and notifications (eg, planned downtime) to the service component 202.

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

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

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

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

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

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

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

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

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

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

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

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

一実施形態では、SDIモジュール206におけるモジュールは、クラウドインフラストラクチャシステム100内のSaaSプラットフォーム102およびPaaSプラットフォーム104における1つ以上のモジュールを含んでいてもよい。さまざまなサービスのためのリソースのプロビジョニングを行なうために、SDIモジュール206は、各々が特定のタイプのサービスのためのリソースのプロビジョニングに役立つようにカスタマイズされるさまざまな他のモジュールと対話し得る。たとえば、図5に示されるように、SDIモジュール206は、JavaクラウドサービスをプロビジョニングするためにJavaサービスプロビジョニング制御モジュール500と対話し得る。一実施形態では、Javaサービスプロビジョニング制御コンポーネント500は、Javaクラウドサービスをプロビジョニングするために実行される一組のタスクを含むSDIモジュール206によって規定されるJavaクラウドサービス(Java Cloud Service:JCS)アセンブリをデプロイし得る。次いで、インフラストラクチャリソース106は、Javaクラウドサービスをプロビジョニングするために必要なリソースを決定する。   In one embodiment, the modules in SDI module 206 may include one or more modules in SaaS platform 102 and PaaS platform 104 in cloud infrastructure system 100. In order to provision resources for various services, the SDI module 206 may interact with various other modules, each customized to help provision resources for a particular type of service. For example, as shown in FIG. 5, the SDI module 206 may interact with a Java service provisioning control module 500 to provision a Java cloud service. In one embodiment, the Java service provisioning control component 500 deploys a Java Cloud Service (JCS) assembly defined by the SDI module 206 that includes a set of tasks performed to provision a Java cloud service. Can do. The infrastructure resource 106 then determines the resources needed to provision the Java cloud service.

他の例として、SDIモジュール206は、バーチャル・アセンブリ・ビルダ(Virtual Assembly Builder:VAB)モジュール502、アプリケーション・エクスプレス(Application Express:APEX)デプロイヤモジュール504、仮想マシン(Virtual Machine:VM)モジュール506、IDMモジュール200およびデータベースマシンモジュール118などの1つ以上のモジュールと対話し得る。VABモジュール502は、完全な複数層アプリケーション環境を構成およびプロビジョニングするための機能を含む。一実施形態では、VABモジュール502は、VMモジュール506によって提供されるサービスを使用してクラウドインフラストラクチャシステム100においてミドルウェア(Middleware:MW)サービスをプロビジョニングするために、SDIモジュール206によって規定されるMWサービスアセンブリをデプロイする。APEXデプロイヤモジュール504は、データベースサービスを構成およびプロビジョニングするための機能を含む。一実施形態では、APEXデプロイヤモジュール504は、インフラストラクチャリソース106によって提供されるリソースを使用してクラウドインフラストラクチャシステム100においてデータベースサービスをプロビジョニングするために、SDIモジュール206によって規定されるデータベースサービスアセンブリをデプロイする。SDIモジュール206は、クラウドインフラストラクチャシステム100において複数のアプリケーションにまたがるアクセス管理などのアイデンティティサービスを提供するためにIDMモジュール200と対話する。   As another example, the SDI module 206 includes a virtual assembly builder (VAB) module 502, an application express (APEX) deployer module 504, a virtual machine (VM) module 506, and an IDM. One or more modules such as module 200 and database machine module 118 may interact. VAB module 502 includes functionality for configuring and provisioning a complete multi-tier application environment. In one embodiment, the VAB module 502 is a MW service defined by the SDI module 206 for provisioning a middleware (MW) service in the cloud infrastructure system 100 using the service provided by the VM module 506. Deploy the assembly. The APEX deployer module 504 includes functionality for configuring and provisioning database services. In one embodiment, the APEX deployer module 504 deploys a database service assembly defined by the SDI module 206 to provision a database service in the cloud infrastructure system 100 using the resources provided by the infrastructure resource 106. To do. The SDI module 206 interacts with the IDM module 200 to provide identity services such as access management across multiple applications in the cloud infrastructure system 100.

図6は、本発明の実施形態に係るSDIモジュールのサブモジュールの簡略化された高レベル図を示す。図6に示される実施形態では、SDIモジュール206は、SDI−ウェブサービス(Web Service:WS)モジュール600と、SDI要求コントローラモジュール602と、SDIタスクマネージャモジュール604と、SDIモニタリングモジュール606と、SDIデータアクセスモジュール608と、SDI共通ライブラリモジュール610と、SDIコネクタモジュール612とを含む。これらのモジュールは、ハードウェアまたはソフトウェアまたはそれらの組合わせで実現されてもよい。図6に示されるSDIモジュール206およびそのさまざまなモジュールは、単に例示の目的で示されており、本発明の実施形態の範囲を限定することを意図したものではない。代替的な実施形態は、図6に示されるものよりも多くのまたは少ないモジュールを有していてもよい。これらのモジュールおよびそれらの機能については、以下で詳細に説明する。   FIG. 6 shows a simplified high-level diagram of submodules of an SDI module according to an embodiment of the present invention. In the embodiment shown in FIG. 6, the SDI module 206 includes an SDI-Web Service (WS) module 600, an SDI request controller module 602, an SDI task manager module 604, an SDI monitoring module 606, and SDI data. The access module 608 includes an SDI common library module 610 and an SDI connector module 612. These modules may be implemented in hardware or software or a combination thereof. The SDI module 206 and its various modules shown in FIG. 6 are shown for illustrative purposes only and are not intended to limit the scope of embodiments of the present invention. Alternative embodiments may have more or fewer modules than those shown in FIG. These modules and their functions are described in detail below.

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

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

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

特定の実施形態では、SDIタスクマネージャモジュール604は、SDIコネクタモジュール612のサービスを利用することによって、ビジネスプロセスにおいて規定された各ステップを一連のタスクに変換する。SDIコネクタモジュール612は、オーダー要求に関連する1つ以上のサービスをプロビジョニングするために、SDIタスクマネージャモジュール604によって規定されるタスクのデプロイメントに対処するための1つ以上のコネクタを含む。特定の実施形態では、コネクタのうちの1つ以上は、特定のサービスタイプに特有のタスクに対処することができ、他のコネクタは、さまざまなサービスタイプにわたって共通のタスクに対処することができる。一実施形態では、SDIコネクタモジュール612は、オーダー要求に関連するサービスおよびリソースをプロビジョニングするためにクラウドインフラストラクチャシステム100における外部モジュール(図5に図示)のうちの1つ以上と遣り取りする一組のコネクタ(ラッパーAPI)を含む。たとえば、アプリケーション・エクスプレス(APEX)コネクタ614は、データベースサービスをプロビジョニングするために、APEXデプロイヤモジュール504と遣り取りする。ウェブセンタコネクタ616(Web Center Connector:WCC)は、ウェブサービスをプロビジョニングするために、クラウドインフラストラクチャシステム100におけるウェブセンタモジュールと遣り取りする。ウェブセンタモジュールは、ユーザエンゲージメントプラットフォームであり、クラウドインフラストラクチャシステム100において人々と情報とのコネクティビティを与えるための機能を含む。   In certain embodiments, the SDI task manager module 604 transforms each step defined in the business process into a series of tasks by utilizing the services of the SDI connector module 612. The SDI connector module 612 includes one or more connectors for addressing the deployment of tasks defined by the SDI task manager module 604 to provision one or more services associated with order requests. In certain embodiments, one or more of the connectors can handle tasks that are specific to a particular service type, and other connectors can handle tasks that are common across various service types. In one embodiment, the SDI connector module 612 interacts with one or more of the external modules (shown in FIG. 5) in the cloud infrastructure system 100 to provision services and resources related to order requests. Includes connector (wrapper API). For example, Application Express (APEX) connector 614 interacts with APEX deployer module 504 to provision database services. A web center connector 616 (Web Center Connector: WCC) interacts with a web center module in the cloud infrastructure system 100 to provision web services. The web center module is a user engagement platform, and includes a function for providing connectivity between people and information in the cloud infrastructure system 100.

特定の実施形態では、ミドルウェアアプリケーション(Middleware Application:MA)コネクタ618は、ミドルウェアアプリケーションサービスをプロビジョニングするために、クラウドインフラストラクチャシステム100におけるVABモジュール502と遣り取りする。NUVIAQコネクタ620は、Javaサービスをプロビジョニングするために、VABモジュール502と遣り取りする。IDMコネクタ622は、クラウドインフラストラクチャシステム100においてサービスおよびリソースにサブスクライブするユーザにアイデンティティおよびアクセス管理を提供するために、IDMモジュール200と遣り取りする。バーチャル・アセンブリ・ビルダ(VAB)コネクタ624は、完全な複数層アプリケーション環境を構成およびプロビジョニングするために、クラウドインフラストラクチャシステム100におけるVABモジュール502と遣り取りする。プラグインコネクタ626は、クラウドインフラストラクチャシステム100におけるコンポーネントを管理およびモニタリングするために、EMモジュール208と遣り取りする。HTTPサーバコネクタ628は、クラウドインフラストラクチャシステム100においてユーザに接続サービスを提供するために、PaaSプラットフォームにおける1つ以上のウェブサーバと遣り取りする。   In certain embodiments, a Middleware Application (MA) connector 618 interacts with the VAB module 502 in the cloud infrastructure system 100 to provision middleware application services. NUVIAQ connector 620 interacts with VAB module 502 to provision Java services. The IDM connector 622 interacts with the IDM module 200 to provide identity and access management to users who subscribe to services and resources in the cloud infrastructure system 100. Virtual assembly builder (VAB) connector 624 interacts with VAB module 502 in cloud infrastructure system 100 to configure and provision a complete multi-tier application environment. Plug-in connector 626 interacts with EM module 208 to manage and monitor components in cloud infrastructure system 100. The HTTP server connector 628 interacts with one or more web servers in the PaaS platform to provide connection services to users in the cloud infrastructure system 100.

SDIモジュール206におけるSDIモニタリングモジュール606は、Java管理拡張(Java Management Extensions:JMX)要求を受取るためのインバウンドインターフェースを提供する。また、SDIモニタリングモジュール606は、クラウドインフラストラクチャシステム100においてアプリケーション、システムオブジェクトおよび装置を管理およびモニタリングするためのツールも提供する。SDIデータアクセスモジュール608は、Javaデータベースコネクティビティ(Java Database Connectivity:JDBC)要求を受取るためのインバウンドインターフェースを提供する。SDIデータアクセスモジュール608は、クラウドインフラストラクチャシステム100において、データアクセスをサポートし、オブジェクト関係マッピング、javaトランザクションAPIサービス、データアクセスオブジェクトおよび接続プーリングを提供する。SDI共通ライブラリモジュール610は、SDIモジュール206におけるモジュールのための構成サポートを提供する。   The SDI monitoring module 606 in the SDI module 206 provides an inbound interface for receiving Java Management Extensions (JMX) requests. The SDI monitoring module 606 also provides tools for managing and monitoring applications, system objects and devices in the cloud infrastructure system 100. The SDI data access module 608 provides an inbound interface for receiving Java Database Connectivity (JDBC) requests. The SDI data access module 608 supports data access in the cloud infrastructure system 100 and provides object relationship mapping, Java transaction API service, data access object and connection pooling. The SDI common library module 610 provides configuration support for modules in the SDI module 206.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

次に図8A〜図8Cを参照して、本実施形態のいくつかの実施形態に従うRASを顧客に提供するためのさまざまな実施形態が示されている。図8Aは、本発明のいくつかの実施形態に従う再使用可能な匿名サブスクリプションを提供するためのシステム環境800の簡略化したブロック図を示す。図8Bは、本発明のいくつかの実施形態に従う再使用可能な匿名サブスクリプションを実現するためのデータ構造の一例を示す。図8Cは、さまざまな実施形態に従う再使用可能な匿名サブスクリプションのライフサイクルを管理するためのプロセスのフローチャートである。   8A-8C, various embodiments for providing a RAS to a customer according to some embodiments of the present embodiment are shown. FIG. 8A shows a simplified block diagram of a system environment 800 for providing a reusable anonymous subscription in accordance with some embodiments of the present invention. FIG. 8B shows an example of a data structure for implementing a reusable anonymous subscription according to some embodiments of the present invention. FIG. 8C is a flowchart of a process for managing the lifecycle of a reusable anonymous subscription according to 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を提供することにより、既にプロビジョニングされているサービスへのアクセスを可能にしてもよい。   FIG. 8A illustrates several customers, such as customer 1, customer 2, and customer 3, that are associated with client device 224, client device 226, and client device 228, respectively, for communication with cloud infrastructure system 100. A system environment 800 is also shown. The 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 RAS, such as RAS 812 (“RAS 1”), RAS 814 (“RAS 2”), and RAS 816 (“RAS 3”), each available for assignment to a customer. In some embodiments, access to already provisioned services may be enabled by creating one or more service pools (eg, RAS pools) and providing RAS.

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

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

一局面において、サービスプールを定めるために使用されるテンプレートは、クラウドインフラストラクチャシステム100のさまざまなコンポーネントが提供するフィードバックに基づいて決定してもよい。たとえば、顧客がオーダーを出すレートを判断しプールに割当てられるサブスクリプションの数に反映させるために使用してもよい。別の例において、サービスの種類を用いて第1の種類に対してはX個のサブスクリプションを割当て第2の種類に対してはそれとは異なる数のサブスクリプションを割当ててもよい。他の実績、マーケティング、および顧客関連のメトリックを用いて利用できるサブスクリプションの数を求めこれらのサブスクリプションを如何にして再度割当てるか判断することができる。さらに、クラウドインフラストラクチャシステム100は、クラウドインフラストラクチャシステム100が判断するフィードバックの分析に基づいてサービスプール内の利用できるRASの数を動的に増減することができる。   In one aspect, the template 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 reflect this in the number of subscriptions assigned to the pool. In another example, the service type 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 RAS available in the service pool based on the analysis of feedback determined by the cloud infrastructure system 100.

いくつかの実施形態において、RASを、顧客のニーズに基づいて構成した特定顧客向けプロダクトテンプレートに基づいて作成することもできる。特定顧客向けRASは、1以上の顧客に対して指定されたサービスプール内に格納してもよい。いくつかの実施形態において、特定顧客向けRASを、特定顧客向けRASによって満たされるニーズがある他の顧客が再使用してもよい。いくつかの実施形態において、サービスプールを、特定顧客向けRASのように構成されたサービスのために作成してもよい。同様の構成で特定顧客向けRASとして作成された他のRASをサービスプールに追加してもよい。特定顧客向けRASを、この特定顧客向けRASを構成した顧客のために設計されたサービスプールに格納してもよい。   In some embodiments, a RAS may be created based on a customer-specific product template configured based on customer needs. The RAS for specific customers 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 needs that are met by the customer specific RAS. In some embodiments, a service pool may be created for services configured like a customer specific RAS. Another RAS created as a specific customer RAS with the same configuration may be added to the service pool. The specific customer RAS may be stored in a service pool designed for the customers who have configured this specific customer 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 processing for processing subscription orders based on customer requests for services. In some embodiments, the TAS module 204 may determine whether a request for a service (eg, request 802) that the RAS may provide access has been made. The TAS module 204 may build an environment for the requested service based on the type of usage indicated by the customer request. The TAS module 204 can determine that a RAS has been requested based on an explicit request for the RAS indicated by the request received from the customer.

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

いくつかの実施形態において、要求は、要求するサービスに関する1つ以上の必要条件を示していてもよい。この必要条件は、料金制約(たとえば最低料金および/または最高料金)、要求するサービスの使用の時間制限、このサービスを使用するユーザの量、所望のサービスサポートの種類、サービスの使用に関連するその他の必要条件、またはこれらの組合わせを含み得る。クラウドインフラストラクチャシステム100は、顧客からの要求が示す必要条件に基づいて、要求されたサービスへのアクセスを可能にするために顧客に提供するサブスクリプションを決定してもよい。顧客に提供するサブスクリプションの少なくとも1つの例がRASであってもよい。   In some embodiments, the request may indicate one or more requirements for the requested service. This requirement includes rate constraints (eg minimum and / or maximum fees), time limit for using requested service, amount of users using this service, desired type of service support, other related to use of service Or a combination thereof. The cloud infrastructure system 100 may determine a subscription to provide to the customer to allow access to the requested service based on the requirements indicated by the customer request. 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 for establishing a RAS that allows access to the requested service. In the example shown in FIG. 8A, the cloud infrastructure system 100 may determine whether a requested service has been provisioned for a RAS in one or more service pools (eg, service pool 810). Whether the available subscription provides 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. A service pool may include multiple RASes. Each RAS can be assigned to a customer when this RAS is available. By examining each RAS, the resources and / or services that this RAS provides may be determined. Subscriptions such as RAS are based in part on 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 thereof) May be specified in the service pool.

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

顧客の要求に一致するRASを発見できないときは、顧客の要求に基づいて新たなRASをプロビジョニングすればよい。新たにプロビジョニングされたRASを適切なサービスプールに追加すればよい。サービスプールを拡大して新たなRASを含むようにすることで、顧客の需要に合うようにしてもよい。次に、新たなRASを顧客に割当てることができる。   If a RAS that matches the customer's request cannot be found, a new RAS may be provisioned based on the customer's request. The newly provisioned RAS may be added to an appropriate service pool. The service pool may be expanded to include a new RAS to meet customer demand. A 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, RAS may not be added to a service pool when an 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 the service pool classification. An RAS in an existing service pool may be configured for a subscription type or usage type that does not match the new RAS configuration. In one example, the provisioned RAS is a product configuration of the RAS. 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 different from the existing RAS product configuration because the new RAS product configuration is different from the RAS product configuration of each existing service pool. 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 specific to a customer, and the service pool may include a RAS configured according to a custom template for a customer. In this embodiment, a RAS in such a service pool may be assigned only to the specific customer designated for this service pool.

いくつかの実施形態において、要求されたサービスがプロビジョニングされたか否かを判断することは、サービスプールの種類に対応するサービスプールを決定することを含み得る。サービスプールの種類は、顧客からの要求が示す情報に基づいて識別すればよい。たとえば、サービスプールの種類は、要求されたサービス、顧客によって要求されたサブスクリプションの種類(たとえばRASサブスクリプション)、要求されたサービスの使用の種類、またはこれらを組合わせたものを含み得るが、要求はこれらのうちのいずれかまたはすべてを示し得る。   In some embodiments, determining whether a requested service has been provisioned can include determining a service pool corresponding to a service pool type. The type of service pool may be identified based on information indicated by a request from a customer. For example, the service pool type may include the requested service, the type of subscription requested by the customer (eg, a RAS subscription), the type of usage of the requested service, or a combination thereof, 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 performs operations 824 for assigning a first RAS (eg, RAS2 814) to customer 1 for the first service 822 and assigning a second RAS (eg, RAS3 816) to 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, specific customer data associated with a service accessed using RAS may be stored in association with data associated with that service (eg, specific service data). An example of a data structure for storing a subscription will be 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 return it to the service pool when the customer has finished using this RAS. In some embodiments, a RAS may be associated with 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 period for allowing access to a service. The RAS may be returned to the service pool when the RAS requirements are met. For example, RAS 3 816 may return 826 to service pool 810. Data for specific services associated with RAS3 816 may be stored in the storage area, while data for specific customers generated by customer 1 using RAS3 816 may be discarded. Returning the RAS may include assigning this 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 be returned to a different service pool based on the allocation 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を参照しながら以下でさらに説明する。   The cloud infrastructure system 100 may convert the assigned RAS into a regular subscription (RS). The RAS may not be returned to the service pool when 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 to allow the client device to give priority to the client device to prompt the customer to convert RAS to RS. The RS may allow the customer to continue using services accessed using 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. The conversion of 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 as or different from the customer previously assigned RAS. In the previous example described with reference to FIG. 8A, once RAS3 816 has been returned to the service pool 810, RAS3 816 can be assigned 828 to another customer (eg, customer 2). The subscription assigned to customer 2 such as subscription 850 (“customer 2 subscription”) may be held in a storage area associated with this customer. The data for a specific service associated with RAS3 816 is: RAS3 816 may be retained after being returned to service pool 810 and assigned to customer 2. The customer specific data generated based on access to the service using RAS3 816 is associated with RAS3 816. The RAS3 816 may be returned to the service pool 816 or converted to RS in the example of Fig. 8A, or the RAS3 816 may be converted to RS1 856. Good 854. In this case, RAS3 816 is returned to the service pool 810. RAS3 816 cannot be used to re-assign to customers because by converting RAS3 816 to RS1 856, customer specific data generated by Customer 2 is retained for use with RS1 856. Also good.

次に図8Bを参照して、本発明のいくつかの実施形態に従う再使用可能な匿名サブスクリプションを実現するためのデータ構造の一例が示されている。1つ以上のデータ構造をクラウドインフラストラクチャシステム100によって実現することにより、サブスクリプションに関連するデータを格納し得る。データ構造の例は、連結リスト、テーブル、アレイ、ハッシュテーブル、グラフ等を含むが、これらに限定されるものではない。   Now referring to FIG. 8B, an example of a data structure for implementing a reusable anonymous subscription according to some embodiments of the present invention is shown. One or more data structures may be implemented by the cloud infrastructure system 100 to store data associated with the subscription. 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 RAS-related information. 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 RASes. Implementing one or more data structures for RAS in a modular fashion may facilitate a lightweight conversion process that allows multiple customers to use RAS.

RAS870は、RASに対してプロビジョニングされたサービスに対応するデータ(たとえば特定サービス向けデータ872)を含み得る。特定サービス向けデータ872は、RASに対して可能にされたサービスの提供に関連するデータを含み得る。特定サービス向けデータ872は、さまざまな顧客が再使用できるよう、顧客中立でもよい。たとえば、特定サービス向けデータ872は、RAS870に対応するRASが提供するプロダクト(たとえばサービスまたはコンポーネント)に関連する特定プロダクト向けメタデータを含み得る。   The RAS 870 may include data (eg, service specific data 872) corresponding to services provisioned for the RAS. Specific service specific data 872 may include data related to providing services enabled for RAS. The service specific data 872 may be customer neutral so that various customers can reuse it. For example, the service specific data 872 may include product specific metadata related to a product (eg, service or 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 a service provided for the subscription (eg, the physical configuration of the resource). 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 a template for a service or a product type associated with the service. In some embodiments, this configuration may be based on a comprehensive product template, unlike regular subscription configurations (eg, purchased configurations) that may be based on customer preferences.

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

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

いくつかの実施形態において、特定サービス向けデータ872は、RASを用いて実行し得るオペレーションを示していてもよい。たとえば、特定サービス向けデータ872は、RASを用いてテストを実行することによってRASが提供するサービスが顧客のワークフローをサポートできるか否かを判断できることを示していてもよい。これに加えてまたはこれに代えて、RASは、顧客がサービスを実演するおよび/または顧客がサービスを1以上の競合者が提供する同様のサービスと比較することを可能にするといった他の用途を提供してもよい。   In some embodiments, service specific data 872 may indicate operations that may be performed using RAS. For example, the service specific data 872 may indicate that a service provided by the RAS can determine whether the service provided by the RAS can support the customer workflow by executing a test using the RAS. In addition or alternatively, RAS may have other uses such as allowing a customer to demonstrate a service and / or allow a customer to compare the service with 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 to the customer 840, the cloud infrastructure system 100 may maintain the data structure 874 (assigned RAS). RAS 870 may be stored as 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, the assigned RAS 874 may include a reference to RAS 870 in storage. In some embodiments, the assigned RAS 874 may be implemented as a different data structure that includes the data in RAS 870. In some embodiments, a reference to each assigned RAS 874 associated with a customer may be stored by implementing a data structure (eg, a mapping table or hash table) in addition to RAS 874.

顧客に割当てられているが、割当てられたRAS870内の特定顧客向けデータ872は、RASサブスクリプションがまだ変換されていないので、匿名の顧客アイデンティティを含み得る。たとえば、特定サービス向けデータ872は、ゲストに関するアイデンティティ情報を格納しているデータ構造864に対するリファレンス(ゲスト顧客アイデンティティオブジェクト)を示し得る。いくつかの実施形態において、ゲスト顧客アイデンティティオブジェクト864は、ゲストの名前、コンタクト情報等のゲストに関する情報を含み得る。   Although assigned to a customer, the customer specific data 872 in the assigned RAS 870 may include an anonymous customer identity since the RAS subscription has not yet been converted. For example, service specific data 872 may indicate a reference (guest customer identity object) to a data structure 864 that stores identity information about the guest. In some embodiments, the 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 use of services 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 to a service. In another example, customer specific data 876 may include a table generated through the use of a database service. In another example, customer specific data 876 may include storage objects for an object storage service accessed using RAS. In some embodiments, the 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 service-specific repository. May be.

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

変換プロセス842は、顧客に割当てられたサブスクリプションを変換したサブスクリプション(たとえば正規サブスクリプション)のアカウント情報(たとえばアカウントフットプリント)を決定することを含み得る。たとえば、クラウドインフラストラクチャシステム100のオーダー管理モジュール214は、顧客のアカウント情報を決定してもよい。アカウント情報を決定することは、顧客のアカントを作成することを含み得る。アカウントは、顧客のアイデンティティ情報に基づいて既存のアカウントが発見されないときに作成されてもよい。既存のアカウントが発見されたときは、既存のアカウントを更新して変換後のサブスクリプションへのアクセスを可能にしてもよい。よって、変換されたサブスクリプションに対応するアカウント情報を用いてRS878内の特定サービス向けデータ872を更新してもよい。   The conversion process 842 may include determining account information (eg, account footprint) for a subscription (eg, regular subscription) that converted the subscription assigned to the customer. For example, the order management module 214 of the cloud infrastructure system 100 may determine customer account information. Determining account information may include creating a customer account. An account may be created when no existing account is found based on customer identity information. When an existing account is discovered, the existing account may be updated to allow access to the converted subscription. Therefore, the data 872 for the specific service in the RS878 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 RS878 (eg, injecting personality information). RS878 may be associated with or referenced to customer identity information of the customer associated with the assigned RAS874. In the cloud infrastructure system 100, information regarding customer identities may be stored in a data structure 866 (customer identity object). In the example shown in FIG. 8B, RS878 may indicate a reference to a customer identity object 866 that identifies the customer associated with the assigned RAS874. Other subscriptions associated with the customer (eg, other RAS) may store a reference to the customer identity object 866. A customer identity object (eg, customer identity object 866) may include data that indicates information about the customer. This data may indicate a customer identity (eg, name or user identifier), customer contact information, customer billing information, other customer related information, or a combination thereof.

いくつかの実施形態において、変換プロセス842は、ゲスト顧客アイデンティティオブジェクト864を、顧客アイデンティティオブジェクト866内の情報で更新することを含み得る。オブジェクトに対するリファレンスを用いることによって顧客のアイデンティティに関する情報を象徴的に格納してRASからRSへの変換に要する処理時間を短縮してもよい。これに代えて、特定サービス向けデータ872からゲスト顧客アイデンティティオブジェクト864に対するリファレンスを更新することにより、顧客アイデンティティオブジェクト866に対するリファレンスを示してもよい。   In some embodiments, the conversion process 842 may include updating the guest customer identity object 864 with information in the customer identity object 866. By using a reference to the object, information regarding the customer's identity may be stored symbolically to reduce the processing time required for the conversion from RAS to RS. Alternatively, the reference to the customer identity object 866 may be indicated 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 a contract for a regular subscription (eg, RS878) converted from a RAS (eg, assigned RAS874) for the customer. For example, the order management module 214 may determine a contract for the type of subscription provided by RS878 by performing the process. Determining a contract may include determining credentials regarding a subscription period and one or more entitlements provided by RS878. This contract may subject the customer to terms and conditions that can be associated with a regular subscription, such as entitle the customer to regular product support. The above conditions may indicate the usage period of the service that matches the paid subscription. Regular subscriptions converted from RAS may provide a customer with a usage quota that is greater than the quota 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. By providing the support system with account information regarding a regular subscription (eg, RS878) assigned to the customer, the customer may receive support provided by the regular subscription (eg, regular product support).

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

図8Cは、さまざまな実施形態に従う再使用可能な匿名サブスクリプションのライフサイクルを管理するプロセスのフローチャート880である。いくつかの実施形態において、フローチャート880が示すプロセスは、サービスインフラストラクチャシステム(たとえばクラウドインフラストラクチャシステム100)のすべてまたは一部によって実現し得る。   FIG. 8C is a flowchart 880 of a process for managing the lifecycle of a reusable anonymous subscription according to 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 processing described with reference to FIG. 8C may be implemented by software (eg, code, instructions, program) executed by one or more processors, hardware, or a combination thereof. The software may be stored in memory (eg, on a memory device, non-transitory computer readable storage medium). The particular series of processing steps shown in FIG. 8C is not intended to be limiting. Other sequences of steps may be performed in accordance with alternative embodiments. For example, alternative embodiments of the invention may perform the steps outlined above in other orders. In addition, the individual steps shown in FIG. 8C may include multiple sub-steps that may be performed in various sequences as appropriate depending on the individual steps. Furthermore, other steps may be added or deleted depending on the specific application. Those skilled in the art will recognize numerous 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 the service infrastructure system (eg, cloud infrastructure system 100 of FIG. 1). A 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 a specific service (for example, data 872 for a specific service in FIG. 8B) may be associated with each of the provisioned services. Data for a specific service corresponding to a certain service may indicate the configuration of this service. This configuration may include one or more resources allocated to provide the service.

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

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

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

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

ブロック886で、処理を実行することにより、要求されたサービスが、サービスインフラストラクチャシステムのサービスプール(たとえばサービスプール810)内のサブスクリプションに対してプロビジョニングされているか否かを判断する。処理を実行することにより、1つ以上のサービスプール内の利用できるサブスクリプション(たとえばRAS)を分析し、利用できるサブスクリプションが要求されたサービスへのおアクセスを提供するか否かを判断してもよい。上述のように、サービスプールは複数のRASを含み得る。各RASは、このRASが利用できる場合に顧客に割当てることができる。各RASを検査することにより、このRASが提供するリソースおよび/またはサービスを判断してもよい。RAS等のサブスクリプションは、要求から判断される情報(たとえば、顧客が要求するサブスクリプションの種類、要求されたサービスの使用の種類、要求されたサービスの期間、またはこれらを組合わせたもの)に一部基づいて、サービスプール内で特定できる。サービスプール内の各サブスクリプションに対応する特定サービス向けデータを処理することにより、顧客によって要求されたサービスのためのサブスクリプションの種類(たとえばRASサブスクリプション)のサブスクリプションを特定してもよい。   At block 886, processing is performed to determine whether the requested service is provisioned for a subscription in a service infrastructure system 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. Also good. As described above, a service pool can include multiple RASes. 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. A subscription such as RAS is information that is 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 thereof). Can be identified within the service pool based in part. By processing the service specific data corresponding to each subscription in the service pool, a subscription type (eg, RAS subscription) subscription for the service requested by the customer may be identified.

要求されたサービスがプロビジョニングされたと判断することは、要求されたサービス等のサービスのためのサブスクリプションと提供する複数のサービスプールから1つのサービスプールを決定することを含み得る。いくつかの実施形態において、サービスプールを指定することにより、ある種類のサービスのための1つ以上のサブスクリプション(たとえば1つ以上のRAS)を提供してもよい。このため、サービスプールを決定することは、要求されたサービスにアクセスするためのRASを提供し得るサービスプールを特定することを含み得る。特定されたサービスプールを検査することにより、これらのサービスプール内のいずれかのRASが、要求されたサービスへのアクセスを有効にするか否かを判断してもよい。   Determining that a requested service has been provisioned may include determining a service pool from a subscription for a service, such as a requested service, and a plurality of service pools to provide. In some embodiments, specifying a service pool may provide one or more subscriptions (eg, one or more RAS) for a type of service. Thus, determining a service pool can include identifying a service pool that can provide a RAS to access the requested service. By examining the identified service pools, any RAS in these service pools may determine whether to 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 the at least one service pool of subscriptions for services 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 information indicated by a request from the customer (eg, the request received at block 884). For example, determining the type of service pool based on the requested service, the type of subscription requested by the customer (eg, RAS subscription), the type of usage of the requested service, or a combination thereof 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 in FIG. 8A may be assigned 824 to customer 1. When a subscription such as an RAS subscription is assigned to a customer, data related to the subscription, for example, data for a specific service included in the RAS, is stored in association with information related to the subscription assigned to the customer. May be. For example, RAS 870 of FIG. 8B may be assigned to a customer who has been assigned RAS 874. In this example, service specific data 872 may be stored with the assigned RAS 874 stored for the assigned RAS subscription. Assigning a subscription for a requested service from a service pool to a customer may include deleting the subscription from the service pool.

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

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

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

処理を実行することにより、顧客のためのサブスクリプション(たとえばRASサブスクリプション)を変換するか否かを判断する。サブスクリプションは、図8Bを参照しながら説明した変換プロセス842等の変換プロセス(たとえば軽量パーソナリティ注入プロセス)によって変換してもよい。この変換プロセスは、サブスクリプション(たとえばブロック888で割当てられたサブスクリプション)が前に提供したサービスにアクセスするために顧客に割当てられるサブスクリプションの種類を変更することを含み得る。たとえば、サブスクリプションを正規サブスクリプションに変換してもよい。正規サブスクリプションは、サービスプールから割当てられるサブスクリプションの条件と異なる条件でサービスへのアクセスを提供し得るサブスクリプションである。   By performing the process, it is determined whether or not to convert a subscription for the customer (eg, RAS subscription). The subscription 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 assigned to the customer to access the service previously provided by the subscription (eg, the subscription assigned at block 888). For example, a subscription may be converted to a regular subscription. A regular subscription is a subscription that can provide access to a service under conditions that are different from the terms 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 wish to purchase a subscription to use the service for a period of time. In another example, a customer may state that he wants 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 for a customer may be based on input received from the customer. For example, the cloud infrastructure system 100 may require input from a customer indicating a decision as to whether to convert the subscription. The customer may provide an input stating whether or not 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 subscriptions, such as fees, service types, support types, or other criteria related to subscription types. 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 decision whether to convert a subscription for a customer. The service infrastructure system may determine whether to convert the subscription to another type of subscription based on 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 can be made based on various factors. These factors can be metrics related to 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 service type, or Including, but not limited to, combinations of these. Metrics may be defined by rules provided by the customer.

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

ブロック894で、顧客に対するサブスクリプション(たとえばブロック888で顧客に割当てられるサブスクリプション)を変換してもよい。ブロック898で、フローチャート888が示すプロセスは終了する。   At block 894, the subscription for 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 for a customer may be converted by changing the type of subscription assigned to the customer for access to services previously provided by the subscription. For example, if the subscription is a RAS subscription with a period of service (eg, a trial period), the subscription type for this service is a different type of subscription with a different service period than the subscription assigned at block 888. (For example, regular subscription). By converting subscriptions to different types of subscriptions, customers can access longer or shorter periods of service, depending on their service needs. In one example, when the subscription is a RAS subscription defined by a trial period, the customer may wish to convert from a RAS subscription to a regular subscription (eg, a production subscription). Regular subscriptions will allow customers to create a production environment.

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

変換プロセスが完了すると、サービスプールから割当てたサブスクリプションをサービスプールから削除する。サブスクリプションをサービスプールから削除することによって、サブスクリプションが別の顧客に割当てられることはなくなるであろう。   When the conversion process is complete, the subscription assigned from the service pool is deleted from the service pool. By removing a 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以上の他の顧客(たとえば同じ顧客または別の顧客)に割当てられてもよい。   Returning to block 892, if it is decided not to convert the subscription for the customer, 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, the subscription assigned to the customer at block 888 may now be returned to the service pool by assigning it 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 (eg, the same customer or another customer).

サブスクリプションをサービスプールに戻すことは、特定顧客向けデータと、サブスクリプションによってアクセスが可能なサービスに対応する特定サービス向けデータとの対応関係を解消することを含み得る。説明のための一例において、顧客が、割当てられたサブスクリプションが提供するサービスを購入しないことに決めた場合、特定顧客向けデータを、サブスクリプションをサービスプールに割当てる前に、サブスクリプションから削除する。特定顧客向けデータを、サブスクリプションをサービスプールに割当てる前にこのサブスクリプションから削除することにより、このサブスクリプションを再度割当てることができ、故に他の顧客によって再使用できる。いくつかの実施形態において、特定顧客向けデータを、顧客のアイデンティティに対応付けて格納してもよい。特定顧客向けデータを顧客のアイデンティティに対応付けて格納することにより、特定顧客向けデータを、RASをサービスプールに戻す前に、簡単に削除することができる。   Returning the subscription to the service pool may include breaking the correspondence between the customer specific data and the service specific data corresponding to the services accessible by the subscription. In one illustrative example, if the customer decides not to purchase the service provided by the assigned subscription, the customer specific data is removed from the subscription before assigning the subscription to the service pool. By removing the customer specific data from this subscription before assigning the subscription to the service pool, this subscription can be reassigned and therefore reused by other customers. In some embodiments, customer specific data may be stored in association with the customer identity. By storing the specific customer data in association with the customer identity, the specific customer data 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 a deallocation process. The deallocation process may be performed based on the type of service provided by the subscription. In one example, the deallocation process for a provided service that is a database as a service (DBAAS) may include deleting one or more users created by a customer of the service provided by the subscription assigned at block 888. In another example, a service deallocation process that is an object storage service may include deleting a storage object created by a customer when the subscription is a RAS subscription. In some embodiments, the deallocation process re-initializes resource usage statistics for a subscription (eg, a RAS subscription) so that another customer to whom the subscription is assigned is offered for this subscription. Making available a resource of a quota.

ブロック898で、フローチャート880が示すプロセスは終了する。
サブスクリプションのクローニング
特定の実施形態において、クラウドインフラストラクチャシステム100は、その他のインスタンスプロビジョニングを可能にし得る。その他のインスタンスプロビジョニングは、顧客が使用するためのその他の環境を提供するサービスを構築し得る。サービスの種類の例は、サービスとしてのソフトウェア(SaaS)カテゴリ、サービスとしてのプラットフォーム(PaaS)カテゴリ、サービスとしてのインフラストラクチャ(IaaS)カテゴリ、またはハイブリッドサービスを含むその他のサービスのカテゴリを含むが、これらに限定されるものではない。
At block 898, the process illustrated by flowchart 880 ends.
Subscription Cloning In certain embodiments, the cloud infrastructure system 100 may allow other instance provisioning. Other instance provisioning may build services that provide other environments for use by customers. Examples of service types 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, the 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. A clone subscription is one that a customer can use 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 an existing service of the base subscription. Services provided by clone subscriptions may provide additional computing environments for customers that are separate from those provided by base subscriptions.

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

一例において、顧客は、新たな特徴を、この特徴を生産環境にデプロイする前にクローン環境においてテストするまたはプロトタイピングするために生産環境のクローン環境を実現すべくクローンサブスクリプションを要求する場合がある。新たな特徴を、生産に適用する前にクローン環境でテストまたはプロトタイピングする機能によって、顧客は、プロダクトをテストし実現することができるであろう。プロトタイピングによって、顧客は、提案したプロダクト/特徴に対するフィードバックを、クローンサブスクリプションのために提供された環境を用いてこれらをホストすることにより、ベースサブスクリプションが提供するサービスを用いて実現された既存の生産環境に影響を与えることなく、受けることができるであろう。クローン環境においてプロトタイピングおよびテストされる特徴は、生産環境とは異なり得る。なぜなら、顧客はこれらの特徴を生産環境で実現することを、その準備ができるまでは、望まないであろうからである。   In one example, a customer may require a clone subscription to implement a production environment clone environment to test or prototyping a new feature in a clone environment before deploying the feature to the production environment. . The ability to test or prototype new features in a clone environment before applying them to production will allow customers to test and implement the product. Prototyping allows customers to provide feedback on proposed products / features using the services provided by the base subscription by hosting them using the environment provided for the clone subscription. It will be possible to receive without affecting the production environment. Features that are prototyped and tested in a clonal environment may differ from those in a production environment. This is 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 the clone environment and only mission critical workflows can be executed in the production environment. As a result, the load on the production environment is reduced, and the performance of the mission critical workflow can be improved.

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

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

クローンサブスクリプションを、このクローンサブスクリプションの作成のもとになったサブスクリプションに対応付けてもよい。クローンサブスクリプションを、このクローンサブスクリプションを作成するもとになったサブスクリプションに対応付けるとき、サブスクリプションのライフサイクルとクローンサブスクリプションのライフサイクルを互いに対応付けてもよい。いくつかの実施形態において、クローンサブスクリプションをベースサブスクリプションに対応付けるとき、ベースサブスクリプションに対してなされた変更を、対応付けられたクローンサブスクリプションに反映させてもよい。この変更は1つ以上の規則に基づいて適用してもよい。クローンサブスクリプションの管理の例を以下において図9A〜図9Cおよび図10を参照しながら説明する。   The clone subscription may be associated with the subscription from which the clone subscription was created. When a clone subscription is associated with the subscription from which the clone subscription was created, the life cycle of the subscription and the life cycle of the clone subscription may be associated with each other. In some embodiments, when a clone subscription is associated 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 managing a clone subscription will be described below with reference to FIGS. 9A to 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. Examples of adjusting the configuration of a clone subscription include adjusting the user count, which is the number of users that can be accessed using this clone subscription, adjusting the components that are enabled / disabled for this service, and / or clone subscription Adjustment of the period of time. Clone configuration changes may be requested at the time of clone creation or later through operations on the clone subscription configuration. An example of changing the clone configuration will be described with reference to FIGS. 9C and 10.

次に図9A〜図9Cを参照して、本実施形態のいくつかの実施形態に従うクローンサブスクリプションを提供するためのさまざまな実施形態が示されている。図9Aは、いくつかの実施形態に従うクローンサブスクリプションを提供するためのシステム環境の簡略化したブロック図を示す。図9Bは、いくつかの実施形態に従うサブスクリプションのデータ構造の一例を示す。図9Cは、クローンサブスクリプションをしかるべく管理するための規則の例を示す。クローンサブスクリプションは、規則に従いサブスクリプションとの対応関係に基づいて管理してもよい。   Referring now to FIGS. 9A-9C, various embodiments for providing clone subscriptions according to some embodiments of the present embodiment are shown. FIG. 9A shows a simplified block diagram of a system environment for providing a clone subscription in accordance with some embodiments. FIG. 9B illustrates an example of a subscription data structure in accordance with some embodiments. FIG. 9C shows an example of 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を参照しながら説明する。   FIG. 9A illustrates several customers, such as customer 1, customer 2, and customer 3, that 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 (eg, subscription 910) for a customer. Subscription 910 may include data corresponding to one or more subscriptions created for access to one or more services provided by 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”). The cloud infrastructure system 100 may have assigned one of the 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 the customer. An example of a data structure for storing a subscription will be 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 a service 904 from the cloud infrastructure system 100. Service 904 may include a clone service. Access to a 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 request 902 by customer 1 operating client device 224. In various aspects, customers can be presented with various options when ordering services. The customer may choose to fully 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 determine whether to advance the subscription order to provisioning. Act as an orchestration component to determine. The TAS module 204 handles the process of processing a subscription order based on a request for service from a customer. In some embodiments, the TAS module 204 can determine whether a request for a clone service (eg, request 902) has been made based on an existing subscription. The TAS module 204 may build a clone environment for the clone service 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 a request explicitly made for the clone subscription.

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

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

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

クローンサブスクリプションを確立すると、TASモジュール204は、クローンサブスクリプションC1 940およびC2 942各々に対するクローンサービスのプロビジョニングの要求を、SDIモジュール206に送ってもよい。クローンサービスをプロビジョニングすることは、リソースを割当てることと、サブスクリプションオーダーを満たすのに必要なこれらのリソースを構成することによってクローンサービスを提供することを含み得る。クローニングプロセスは、ベースサブスクリプションに対して有効にされたサービスについてプロビジョニングされたリソースを複製することを含み得る。クローニングプロセスは、クローンサービスを、ベースサブスクリプションに対して提供されたサービスの構成に類似する(たとえばクローン)ように構成することを含み得る。図9Aの例について、C1 940およびC2 942に対するクローンサービスは、ベースサブスクリプションS3 934についてプロビジョニングされたサービスに基づいてクローンとしてプロビジョニングしてもよい。   Once the clone subscription is established, the TAS module 204 may send a request to the SDI module 206 to provision a clone service for each of the clone subscriptions C1 940 and C2 942. Provisioning a clone service can include allocating resources and providing the clone service by configuring these resources as needed to satisfy a subscription order. The cloning process may include replicating resources provisioned for services enabled for the base subscription. The cloning process may include configuring the clone service to be similar (eg, clone) to 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 service provisioned 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. The cloud infrastructure system 100 may store data related to a subscription by 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 established by the cloud infrastructure system 100 (“base subscription”). 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 about one or more subscriptions corresponding to any number of customers.

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

サブスクリプション944は、サブスクリプション944に対応するベースサブスクリプションがアクセスできるサービスに対応するデータ(たとえば特定サービス向けデータ954)を含み得る。特定サービス向けデータ954は、サブスクリプションについて有効にされたサービスを提供することに関連するデータを含み得る。たとえば、特定サービス向けデータ954は、サブスクリプション944に対応するベースサブスクリプションによって提供されたプロダクト(たとえばサービスまたはコンポーネント)に関連する特定プロダクト向けメタデータを含み得る。いくつかの実施形態において、特定サービス向けデータ954は、ベースサブスクリプションに対して提供されたサービスのコンフィギュレーション(たとえばリソースの物理的コンフィギュレーション)を示していてもよい。コンフィギュレーションは、サービスに対して有効または無効にされる1つ以上のコンポーネント(たとえば特徴)等のリソース制約を示していてもよい。   Subscription 944 may include data (eg, service specific data 954) corresponding to a service that a base subscription corresponding to subscription 944 can access. Service specific data 954 may include data related to providing services enabled for a subscription. For example, product specific data 954 may include product specific metadata associated with a product (eg, service or component) provided by a base subscription corresponding to subscription 944. In some embodiments, service specific data 954 may indicate the configuration of a service (eg, physical configuration of resources) provided for a base subscription. 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 service specific data 954. Subscription data 956 may include account information for an account established for a subscription corresponding to subscription 944. The account information may be associated with the customer identity. Information about customer identity (eg, user identity, password, contact information, etc.) may be stored in a customer identity data structure (eg, customer identity object). Subscription data 944 may include subscription contract information regarding the contract associated with the subscription and the qualifications 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 that indicates information regarding one or more clone subscriptions associated with the subscription identified by subscription data 956. The clone subscription data 958 may include information indicating a correspondence relationship between a base subscription corresponding to the subscription 944 and one or more clone subscriptions. For example, clone subscription 958 may show a correspondence 982 between a base subscription and a clone subscription corresponding to data structure 960 (eg, “clone subscription 1”. In another example, clone subscription 958 may include: A base subscription corresponding to subscription 944 and a clone subscription corresponding to data structure 970 (“clone subscription 2”) may occupy 984. Both clone subscriptions 1 and 2 are subscriptions 944. Can be established based on a base subscription corresponding to.

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

いくつかの実施形態において、ベースサブスクリプションのライフサイクルとクローンサブスクリプションのライフサイクルの対応関係は、1つ以上の規則に基づいていてもよい。規則は、ベースサブスクリプションを基準として定めてもよい。サブスクリプション944は、クローンサブスクリプション1およびクローンサブスクリプション2それぞれとの対応関係982および984のライフサイクルを管理するための1つ以上の規則を示す規則データ972を含み得る。以下では規則の例を図9Cを参照しながら説明する。いくつかの実施形態において、クローンサブスクリプションが提供するサービスへのアクセスおよびベースサブスクリプションが提供するサービスへのアクセスを、クローンサブスクリプションとベースサブスクリプションの間の対応関係に基づく規則によって管理してもよい。   In some embodiments, the correspondence between the life cycle of the base subscription and the life cycle of the clone subscription may be based on one or more rules. Rules may be established on the basis of a base subscription. Subscription 944 may include rule data 972 indicating one or more rules for managing the life cycle of correspondences 982 and 984 with clone subscription 1 and clone subscription 2 respectively. Hereinafter, an example of the rules will be described with reference to FIG. 9C. In some embodiments, access to services provided by a clone subscription and access to services provided by a base subscription may be governed 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つ以上のクローンサブスクリプションに関する情報を格納し得る。   The clone subscription 960 and the clone subscription 970 are examples of data structures for storing information related to the clone subscription established by the 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 in FIG. 9A) and clone subscription 2 (eg, C2 942). With corresponding data. A data structure for a clone subscription may store information about 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 customer specific data (eg customer specific data 962). Customer specific data for a clone subscription may include data corresponding to the use of a service accessed using the clone subscription.

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

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

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

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

クローンサブスクリプションは、ベースコンフィギュレーションとの比較におけるクローンコンフィギュレーションの調整に基づいてプロビジョニングしてもよい。クローンコンフィギュレーションは、クローンサブスクリプションが割当てられた顧客のニーズの変化に基づいてプロビジョニング後に調整してもよい。   The clone subscription may be provisioned based on the adjustment of the clone configuration in comparison with the base configuration. The clone configuration may be adjusted after provisioning based on the changing needs of the customer to whom 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 configurations. This rule can be determined based on the rule data stored for the clone subscription (eg, rule data 966) or stored for the base subscription from which the clone subscription was established Can be determined based on the rule data (for example, rule data 972).

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

いくつかの実施形態において、クローンサブスクリプションのためのクローンコンフィギュレーションをベースサブスクリプションから構築するために、スキーマを作成してもよい。スキーマは、サービスの種類、特定のサービス、特定のプロダクト商品、サービスのサブスクリプションに対する他の種類のカテゴリ、またはこれらの組合わせに対して規定することができる。よって、スキーマは、このスキーマに基づいてクローンサブスクリプションを決定するために使用できる規則990等の規則を示し得る。   In some embodiments, a schema may be created to build a clone configuration for a clone subscription from a base subscription. Schemas can be defined for service types, specific services, specific product products, other types of categories for service subscriptions, or combinations thereof. Thus, the schema may indicate a rule, such as rule 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 (eg, correspondence 982) between the clone subscription (eg, clone subscription 1) and the base subscription. May be included. An example of rule data will be described below with reference to FIG. 9C.

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

図9Cは、さまざまな実施形態に従うクローンサブスクリプションを管理するための規則990の例を示す。規則990は、一組の規則等の1つ以上の規則に対応する情報を含み得る。規則990は、クラウドインフラストラクチャシステムが予め定めたものであってもよく、顧客が定めたものであってもよく、または、これらを組合わせたものであってもよい。規則990は、データファイル(たとえば拡張マークアップ言語(XML)ファイル)において定めてもよく、または、クライアント装置を介して顧客から受けた入力に基づいていてもよい。   FIG. 9C shows an example of a rule 990 for managing clone subscriptions according to various embodiments. Rule 990 may include information corresponding to one or more rules, such as a set of rules. Rule 990 may be predetermined by the cloud infrastructure system, may be determined by the customer, or may be a combination thereof. 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 the rules at the customer level or at the subscription level. Customer level rules may be defined on the basis of subscriptions created by the customer (eg, clone subscriptions). In some embodiments, customer level rules may be defined based on a clone of a specific product created by the customer. Subscription level rules may be defined such that, with respect to the base subscription, the subscription level rules apply to clone subscriptions established from the base subscription for which the rule is defined. These types of rules may be applied at the start of the subscription or 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 a 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 under rule 990. For example, a change in the configuration of the base subscription may be applied as a change in the clone configuration of a clone subscription created based on the base subscription. As explained above, the clone configuration may be changed from the base configuration.

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

・ベースサブスクリプションを更新するとき、現在ベースサブスクリプションに対応付けられているすべてのクローンもそれぞれの現在の期間にわたって更新しなければならない。   When renewing a base subscription, all clones currently associated with the base subscription must also be renewed over their 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, rule 990 may be based on one or more conditions 992. Condition 992 can be defined based on one or more criteria. For example, the condition 992 is based on one or more metrics (eg, metrics related to operations within the 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 condition may also be based on the operation being performed on the base subscription. Examples of base subscription operations are “onboard clone” (eg clone subscription created based on base subscription), “add component”, “delete component”, “increase user count”, and “user count” Reduction ”may be included, but is not limited to these. In some embodiments, the condition is a logical relationship with logical operators such as logical sum, logical product, negation (eg, “user clone subscription count” <100 AND base subscription operation = “add component”). Can be expressed as A rule can be satisfied when each condition of the rule is satisfied.

別の例において、規則990は1つ以上の手順994を含み得る。たとえば、手順994は1つ以上のクラス996に基づいていてもよい。クラス996は、クローンサブスクリプションに適用される一種のオペランドであってもよい。オペランドの種類の例は、ベースサブスクリプションに対して実行される直接的なオペレーションに関して先に述べたものである。別の例において、オペランドは、「オンボードクローン」(すなわちペアレントサブスクリプションに基づいてクローンを作成)等のオペレーションに対応し得る。その他のオペランドは、「拡張」、「更新」、「終了」および「延長」を含み得る。拡張は、ユーザカウントの増大および低減等のオペレーションを含み得る。終了は、クローンサブスクリプションの終了等のオペレーションを含み得る。更新は、1つ以上のコンポーネントをクローンサブスクリプションに追加することまたは削除すること等のオペレーションを含み得る。延長は、クローンサブスクリプションの期間の延長等のオペレーションを含み得る。規則を満たすと、クローンコンフィギュレーションはこの規則に基づいて修正してもよい。   In another example, the rules 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 kind of operand that applies to clone subscriptions. Examples of operand types are those described above for direct operations performed on a base subscription. In another example, operands may correspond to operations such as “onboard clone” (ie, clone based on parent subscription). Other operands may include “extend”, “update”, “end” and “extend”. Expansion may include operations such as increasing and decreasing user counts. Termination can include operations such as termination of a clone subscription. An update may include operations such as adding or deleting one or more components to a clone subscription. Extending may include operations such as extending the duration of a clone subscription. If the rule is met, 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 may be defined based on one or more operations that can be performed on the clone subscription (“clone subscription operation”). Some examples of clone subscription operations are: "Clone all data", "Don't clone data", "Clone selected data", "Add components", "If in specified list" “Add component”, “Delete component”, and “Delete component if specified”. The clone subscription may be modified based on the class 966 operand type and the specified operation of action 998.

いくつかの実施形態において、規則を、1つ以上の条件992、1つ以上の手順994、1つ以上のアクション998、またはこれらの組合わせによって定めてもよい。規則は、その規則に対して定められた1つ以上の基準が満たされたことで満たされてもよい。規則が満たされると、クローンコンフィギュレーションを、規則によって示された変更に基づいて変更してもよい。   In some embodiments, the 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 if one or more criteria defined for that rule are satisfied. 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 flowchart of a process for managing the life cycle of a clone subscription according to various embodiments. Specifically, the process illustrated by flowchart 1000 can provide a clone subscription for a service to a customer and manage the life cycle of the clone subscription based on a set of rules (eg, rule 990). Can do. 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 processing described with reference to FIG. 19 may be implemented by software (eg, code, instructions, program) executed by one or more processors, hardware, or a combination thereof. The software may be stored in memory (eg, on a memory device, non-transitory computer readable storage medium). The particular series of processing steps shown in FIG. 10 is not intended to be limiting. Other sequences of steps may be performed in accordance with alternative embodiments. For example, alternative embodiments of the invention may perform the steps outlined above in other orders. In addition, the individual steps shown in FIG. 10 may include a plurality of sub-steps that may be performed in various sequences as appropriate depending on the individual steps. Furthermore, other steps may be added or deleted depending on the specific application. Those skilled in the art will recognize numerous 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). A 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 a service infrastructure system prior to receiving a request for access to one of the services from a customer. Including that. A service may be provisioned based on one or more criteria. For example, a service may be provisioned based on one or more metrics associated with the operation of a service infrastructure system. In another example, a service may be provisioned based on one or more metrics associated with demand for the service. In other examples, a service may be provisioned based on one or more metrics associated with a service type.

ブロック1004において、顧客がサービスにアクセスできるようにしてもよい。サービスにアクセスできるようにすることは、サブスクリプション(たとえばベースサブスクリプション)をユーザに提供することを含み得る。たとえば、図9Aを参照して、顧客(「顧客1」)に、サブスクリプションS2 932およびサブスクリプションS3 934を提供してもよい。サブスクリプションは、サービスに付与されたアクセスを示していてもよい。いくつかの実施形態において、クライアント装置(たとえばクライアント装置224、226、228のうちのいずれか1つ)は、ユーザインターフェイスを提供することによってユーザがサービスにアクセスできるようにしてもよい。サービスへのアクセスを可能にするサブスクリプションに関する情報は、ユーザインターフェイスを介して顧客に示してもよい。   At block 1004, the customer may be allowed access to 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 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 a service by providing a user interface. Information about 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 customer request is received at block 1006. For example, request 902 may be received from client device 224. The request may be to access another service as a clone (eg, a clone service) based on the service enabled for the customer at block 1004. In some embodiments, the other services may be requested by a customer for an application that differs from the service application enabled in block 1004. For example, using the other services described above, a new feature may be tested before enabling this feature on the production system. On the other hand, the services enabled in block 904 may be used for the realization of the production system. The other service may be similar to or related to 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. The other services may be provided to the customer by subscription as a clone of a 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 a clone service based on the service provided by S3 934. Thus, a clone subscription may be created to construct a clone of the service. Clone subscriptions may 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"). 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 for a service (eg, a base subscription) (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 life cycle of the subscription with a life cycle of the clone subscription. In this way, the life cycle of the base subscription is associated with the life cycle of the clone subscription. In some embodiments, associating services enabled for base subscriptions with clone services built for clone subscriptions may include associating the lifecycles of these services. As explained above, when two subscriptions are associated 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 customer's access to the clone service 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 in FIG. 9C). All or part of the set of rules may be predetermined or based on a default according to the subscription. For example, the set of rules may be based on a product (eg, service) provided by the base subscription. The customer gives input and modifies a predetermined set of rules or creates 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 a customer may take on a 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 according to changes to the base service. As described above with reference to FIG. 9C, one or more rules may be used to manage the life cycle of a clone subscription and thus access to the clone service provided for the clone subscription. Good. For example, access to the clone service may end when the base service associated with the clone service ends.

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

図11は、さまざまな実施形態に従うサブスクリプションのクローニングのプロセスのフローチャート1100である。いくつかの実施形態において、サービスインフラストラクチャシステム(たとえば図1のクラウドインフラストラクチャシステム100)のすべてまたは一部が、図11に示すプロセスを実現してもよい。   FIG. 11 is a flowchart 1100 of a process for cloning a subscription according to 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 a customer to modify a clone subscription based on the subscription from which the clone subscription was established. The modification 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 explained earlier, modification of a clone subscription may include configuration modifications related to services provided for the clone subscription, and may also include modification of the subscription configuration. Good.

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

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

ブロック1104で、サブスクリプション(たとえばブロック1102で提供されたサブスクリプション)をクローニングするためのコンフィギュレーション(たとえばクローンコンフィギュレーション)を決定してもよい。先に説明したように、クローンコンフィギュレーションは、既存のサブスクリプションに基づいてクローニングされるサブスクリプションを構成するための1つ以上の基準を示していてもよい。たとえば、クローンコンフィギュレーションは、クローンサービスの使用期間(たとえばベースサブスクリプションに対応するサービスの期間よりも短い)を示していてもよい。別の例において、クローンコンフィギュレーションは、クローンサブスクリプションに対して提供されるサービスのために有効/無効にするコンポーネントを示していてもよい。   At block 1104, a configuration (eg, a clone configuration) for cloning a subscription (eg, the subscription provided at block 1102) may be determined. As explained above, a 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 (eg, shorter than the period of service corresponding to the base subscription). In another example, a clone configuration may indicate a component that is enabled / disabled for services provided for clone subscriptions.

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

ブロック1108で、1つ以上のオペレーションを実行することによりクローンサブスクリプション(たとえばブロック1106で作成されたクローンサブスクリプション)を管理してもよい。この(これらの)オペレーションは、クローンサブスクリプションのライフサイクル中に実行してもよい。オペレーションを、クローンサブスクリプションに対して直接実行することにより、クローンサブスクリプションに対して提供されるクローンサービスを修正することができる。フローチャート1100はブロック1110で終了する。   At block 1108, clone subscriptions (eg, clone subscriptions created at block 1106) may be managed by performing one or more operations. This (these) operations may be performed during the life cycle of the clone subscription. By performing the operations 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, the direct operation may include modifying the clone configuration corresponding to the clone subscription. The clone configuration may be modified based on input received from the customer, or may be modified based on information determined by the service infrastructure system. It would be useful to allow a customer to modify a clone subscription based on the customer's needs. Direct operations may include, but are not limited to, operations performed on a clone service corresponding to a clone subscription. This operation enables / disables components provided for the clone service, or adjusts the resizing of users authorized to access the clone service (eg, increasing / decreasing user count) ).

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

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

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

別の局面において、クラウドインフラストラクチャシステム100は、既存のサービスに基づいてクラウドサービスへのアクセスを顧客に提供することができる。既存のサービスに基づいたサービスを、既存のサービスのための既存のサブスクリプション(たとえばベースサブスクリプション)に基づいてサブスクリプション(たとえば「クローンサブスクリプション」)を作成することによって、提供してもよい。クラウドインフラストラクチャシステム100は、ベースサブスクリプションによって提供されるサービスのコンフィギュレーションに基づいてクラウドサービスを準備することができる。このようにして、要求されたサービスに対するサブスクリプションを確立するのに要する処理期間を、ベースサブスクリプションのコンフィギュレーションに従ってクローンサービスを構成することにより、短縮することができる。顧客は、クローンサービスを、ベースサブスクリプションによって提供される計算環境とは別の、追加の環境として使用してもよい。先に説明したように、クローンサブスクリプションは、ベースサブスクリプションによって提供されるサービスに対応する使用の種類とは異なり得る使用の種類に対して指定するまたはそれを意図することができる。   In another aspect, the 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. The cloud infrastructure system 100 can prepare a cloud service based on the configuration of the service provided by the base subscription. In this way, the processing period required to establish a subscription for the requested service can be shortened by configuring the clone service according to the base subscription configuration. The customer may use the clone service as an additional environment, separate from the computing environment provided by the base subscription. As explained above, a clone subscription can be specified or intended for a type of use that can differ 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 using an existing subscription according to various embodiments. In particular, the process illustrated by flowchart 1200 may provide subscriptions to customers based on services that have already been provisioned. The subscription may be either a reusable anonymous subscription or a clone 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 processing described with reference to FIG. 12 may be implemented by software (eg, code, instructions, program) executed by one or more processors, hardware, or a combination thereof. The software may be stored in memory (eg, on a memory device, non-transitory computer readable storage medium). The particular series of processing steps shown in FIG. 12 is not intended to be limiting. Other sequences of steps may be performed in accordance with alternative embodiments. For example, alternative embodiments of the 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 steps. Furthermore, other steps may be added or deleted depending on the specific application. Those skilled in the art will recognize numerous 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). A 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 include one of these services in the service infrastructure system before receiving a request for access to one of these services from a customer. Including provisioning of the above. A service may be provisioned based on one or more criteria. For example, a service may be provisioned based on one or more metrics associated with the operation of a service infrastructure system. In another example, a service may be provisioned based on one or more metrics associated with demand for the service. In other examples, a service may be provisioned based on one or more metrics associated with a service type.

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

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

1208で、第1のサービス(たとえば1204で要求されたサービス)にアクセスするためのサブスクリプションを顧客に提供する。このサブスクリプションは、1206で判断したサブスクリプションの種類に基づいて提供される。第1のサービスは、サービスインフラストラクチャシステムが提供するサービス(たとえばブロック1202で提供されるサービス)のうちの1つのサービスを用いて提供されてもよい。   At 1208, the customer is provided with a subscription to access a first service (eg, the service requested at 1204). This subscription is provided based on the type of subscription determined in 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, a clone subscription to access the first service may be provided to the customer when the request indicates a type of use, such as testing or developing a new feature of the production environment. In this example, a clone subscription may be chosen because the base subscription used to establish the clone subscription may already be configured according to customer specifications, and the clone subscription This is because cloning is performed based on the application. Reusable subscriptions may not be offered. This is because additional configurations may be required 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 information for configuring a clone subscription. By selecting a clone subscription rather than a reusable subscription, additional processing performed for managing clone subscriptions may be reduced. For example, you can associate a clone subscription life cycle with a base subscription life cycle to automatically manage (for example, renew or terminate) a 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 the type of use and indicates a time limit for the use of the requested service. In this example, the reason that a reusable subscription can be provided instead of a clone subscription may be that the customer does not yet have a base subscription that can be the basis for creating a clone subscription . A reusable subscription would be desirable to provide to customers. This is because resources for reusable subscriptions will already be provisioned. Further, reusable subscriptions may be reassigned to other customers when the current customer has finished using the reusable subscription. A reusable subscription 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 subscription type is a clone subscription, providing the subscription to the customer is based on a first subscription to a 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 the 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 life cycle of the first clone subscription with the life cycle of the first subscription. The access to the second service may be terminated when the access to the first service is terminated based on the correspondence relationship 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 correlated, access to the second service is based on a request from the customer. Modifications may be made based on an update of access to one service.

いくつかの実施形態において、一組の規則を用いることにより、第1のクローンサブスクリプションと第1のサブスクリプションの対応関係を管理してもよい。一組の規則は、第1のサービスのクローンとしての第2のサービスの用途を示していてもよい。一組の規則は、第2のサービスへのアクセスの期間を示していてもよい。一組の規則は、第2のサービスへのアクセスが許可されるユーザの数を示していてもよい。第2のサービスへのアクセスが許可されるユーザの数は、第1のサービスへのアクセスが許可されるユーザの数と異なっていてもよい。一組の規則は、第2のサービスのコンフィギュレーションを示していてもよい。第2のサービスのコンフィギュレーションは第1のサービスのコンフィギュレーションと異なっていてもよい。   In some embodiments, a set of rules may be used to manage the correspondence between the first clone subscription and the first subscription. The set of rules may indicate the use of the second service as a clone of the first service. The set of rules may indicate a period of access to the second service. A set of rules may indicate the number of users allowed to access the second service. The number of users permitted to access the second service may be different from the number of users permitted to access the first service. The set of rules may indicate a configuration for 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, when the subscription type is a reusable subscription, providing the subscription to the first customer means that the first service is provisioned in a service pool within the service infrastructure system. And determining that the first subscription for the first service is assigned 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 can include deleting 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 customers may be associated with the data for specific services corresponding to the first service.

ブロック1210において、第1の顧客に提供したサブスクリプションを管理してもよい。サブスクリプションの種類がクローンサブスクリプションのとき、サブスクリプションを管理することは、第1のサービスの変更に応じて、サブスクリプションによる要求されたサービスへのアクセスを決定することを含み得る。サービスへのアクセスは、一組の規則を用いて決定してもよい。サブスクリプションの種類が再使用可能なサブスクリプションであるとき、サブスクリプションを管理することは、サブスクリプションが終了したときに第1のサービスを顧客からサービスプールに割当てることを含み得る。第1のサービスをサービスプールに割当てることは、特定顧客向けデータと第1のサービスに対応する特定サービス向けデータとの対応関係を解消することを含み得る。第1のサービスがサービスプールに戻されると、第1のサービスをサービスプールから1以上の他の顧客に再度割当ててもよい。   At block 1210, the subscription provided to the first customer may be managed. When the subscription type is a clone subscription, managing the subscription may include determining access to the requested service by the subscription in response to a change in the first service. Access to the service may be determined using a set of rules. When the subscription type 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 eliminating the correspondence between the specific customer data and the specific service data corresponding to the first service. When 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 the various interactions involved in providing a tenant environment according to an embodiment of the present invention.

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

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

(5)で、IDMスライス作成のコマンドがIDMコネクタ622からIDM200に送られる。(6)で、IDMコーディネートがIDM200からIDMコネクタ622に返送される。(7)で、DBコネクタ614はDB504を通してDBスライスの作成を命令する。(8)で、DBコーディネートがDB504からDBコネクタ614に返送される。   In (5), an IDM slice creation command is sent from the IDM connector 622 to the IDM 200. In (6), the IDM coordinates are returned from the IDM 200 to the IDM connector 622. In (7), the DB connector 614 commands the creation of a DB slice through the DB 504. At (8), the DB coordinate 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 a Java service with a given IDM, DB, and EM agent (if applicable) coordination is sent from Nuviaq connector 620 to Nuviaq database application 1304. In (10), the Nuviaq database application 1304 stores all service instance data. In (11), a Java service instance including EM agent activation is configured. Lightweight Directory Access Protocol (LDAP) ATN credentials, node manager password, and embedded LDAP password are configurable in the next generation encryption standard (AES) that OVM 1302 can use. Stored in .xml file. Other services other than the Java service, including different types of services, 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 a service (IAAS) service, platform as a service (PAAS) service, and software as a service (SAAS) service. The IAAS, PAAS, and SAAS services are different types of services.

IAASサービスは単純なストレージソリューションを含み得る。ストレージソリューションは、インターネットからアクセス可能なディスクドライブの遠隔セットまたはその他のメモリデバイスを含み得る。これらはまた、ファイル転送プロトコル(FTP)、仮想プライベートネットワーク(VPN)、またはディスクドライブ上に保存されているデータのアップロード、ダウンロード、およびトラッキングのための他のサービスを含み得る。IAASストレージソリューションは、冗長性およびバックアップサービス等の、単なる保存を超えた機能を含み得る。IAASサービスはまた、処理能力、地球の他の部分への帯域幅、およびその他のコンピュータリソースを含み得る。   The IAAS service may include a simple storage solution. A storage solution may include a remote set of disk drives or other memory devices accessible from the Internet. 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. An IAAS storage solution may include functions beyond simple storage, such as redundancy and backup services. An IAAS service 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 typically provided as software platforms. A database service may include access to a relational database engine, such as an SQL database engine. 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 enter 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 away from the cloud server can design and run 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 see 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 cloud resources for services can occur asynchronously. For example, a method or function can be invoked through an application programming interface (API) using an argument variable that includes 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 completion. The called 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 for other services, such as IAAS services, can take minutes. Asynchronous API calls can help ensure that the shortest startup period service is provisioned first, not later, even when provisioned with other services with longer startup 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 an embodiment. In the illustrated embodiment, distributed system 1400 includes one or more clients configured to run and operate client applications such as web browsers, proprietary clients (eg, Oracle Forms) on one or more networks 1410. Computing devices 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, the server 1412 executes one or more services or software applications such as services and applications for providing users with access to services using existing services provisioned by the cloud infrastructure system. Can be configured to. In certain embodiments, the server 1412 may also provide other services or software applications that may include non-virtual and virtual environments. In some embodiments, these services are provided to users of client computing devices 1402, 1404, 1406, and / or 1408 under a software (SaaS) model as a web-based or cloud service or as a service. Can be offered at. A user operating client computing devices 1402, 1404, 1406, and / or 1408 may utilize services provided by these components by interacting with server 1412 using 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 services provided by these components are implemented by one or more of client computing devices 1402, 1404, 1406, and / or 1408. May be. Then, a user who operates the client computing device can use services provided by these components by using one or more of the client applications. These components may be implemented in hardware, firmware, software, or a combination thereof. Note that a wide variety of system configurations that can be different from the distributed system 1400 are possible. The embodiment shown in FIG. 14 is therefore 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 (eg, iPhone®, mobile phone, iPad®, computing tablet, personal digital assistant (PDA)) or wearable devices (eg, Google Glass® head mounted display). These devices can support various applications such as various Internet related applications, electronic mail, short message service (SMS) applications, and can use various other communication protocols. Client computing devices also 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 may be included. The client computing device runs any of a variety of commercially available UNIX or UNIX-like operating systems, including but not limited to various GNU / Linux operating systems such as Google Chrome OS. It may be a workstation computer. The client computing device may also be a thin client computer, an internet connectable game system (eg, a Microsoft Xbox game machine with or without a Kinect® gesture input device), and / or a communicable on the network 1410, and / or Or it may include an electronic device such as a personal messaging device.

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

分散システム1400内のネットワーク1410は、TCP/IP(伝送制御プロトコル/インターネットプロトコル)、SNA(システムネットワークアーキテクチャ)、IPX(インターネットパケット交換)、Apple Talk等を含むがこれらに限定されない、利用可能なさまざまなプロトコルのうちのいずれかを用いて、データ通信をサポートすることができる、当業者にはよく知られているいずれかの種類のネットワークであればよい。ほんの一例として、ネットワーク1410は、ローカルエリアネットワーク(LAN)、イーサネット(登録商標)に基づくネットワーク、トークンリング、広域ネットワーク、インターネット、仮想ネットワーク、仮想プライベートネットワーク(VPN)、イントラネット、エクストラネット、公衆交換電話網(PSTN),赤外線ネットワーク、無線ネットワーク(たとえば、米国電気電子技術者協会(IEEE)802.11プロトコルスイートのうちのいずれか、Bluetooth(登録商標)、および/またはその他いずれかの無線プロトコルのもとで機能するネットワーク)、および/またはこれらの組合わせ、および/またはその他のネットワークであってもよい。   The network 1410 in the distributed system 1400 may be a variety of available including, but not limited to, TCP / IP (Transmission Control Protocol / Internet Protocol), SNA (System Network Architecture), IPX (Internet Packet Exchange), Apple Talk, etc. Any type of network well known to those skilled in the art that can support data communication using any of the various protocols. By way of example only, network 1410 may be a local area network (LAN), an Ethernet-based network, a token ring, a wide area network, the Internet, a virtual network, a virtual private network (VPN), an intranet, an extranet, a public switched telephone. Network (PSTN), infrared network, wireless network (eg, any of the American 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, dedicated server computers (including, for example, PC (personal computer) servers, UNIX (registered trademark) servers, mid-range servers, mainframe computers, rack mount servers, etc.), servers It may be configured in a farm, server cluster, or any other suitable configuration and / or combination. Server 1412 may include one or more virtual machines running a virtual operating system or other computing architecture with virtualization. By virtualizing one or more flexible pools of logical storage devices, a virtual storage device for the server can be maintained. The virtual network can be controlled by server 1412 using software-defined networking. In various embodiments, the server 1412 may be configured to execute one or more services or software applications described in the previous disclosure. For example, the server 1412 may correspond to a server for executing the above process according to an embodiment of the present disclosure.

サーバ1412は、上記のうちのいずれかを含むオペレーティングシステムおよび市販のいずれかのサーバオペレーティングシステムを実行し得る。サーバ1412はまた、HTTP(ハイパーテキストトランスポートプロトコル)サーバ、FTP(ファイル転送プロトコル)サーバ、CGI(コモンゲートウェイインターフェイス)サーバ、JAVA(登録商標)サーバ、データベースサーバ等を含む、さまざまなその他のサーバアプリケーションおよび/またはミッドティアアプリケーションのうちのいずれかを実行し得る。代表的なデータベースサーバは、Oracle、Microsoft、Sybase、IBM(International Business Machines)等から市販されているものを含むが、これらに限定されるものではない。   Server 1412 may execute an operating system including any of the above and any commercially available server operating system. Server 1412 also includes various other server applications including HTTP (Hypertext Transport Protocol) server, FTP (File Transfer Protocol) server, CGI (Common Gateway Interface) server, JAVA server, database server, etc. And / or any of the mid-tier applications may be executed. Typical 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, the server 1412 may include one or more applications for analyzing and integrating data feeds and / or event updates received from users of the client computing devices 1402, 1404, 1406, and 1408. As an example, data feeds and / or event updates may include real-time events related to sensor data applications, stock quotes, network performance measurement tools (eg, network monitoring and traffic management applications), clickstream analysis tools, vehicle 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. Server 1412 may also include one or more applications for displaying data feeds and / or real-time events via one or more display devices 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, matching rule information, and other information used by embodiments of the present invention. Databases 1414 and 1416 may exist at various locations. By way of example, one or more of databases 1414 and 1416 may be on a non-transitory storage medium that is local to (and / or resides on) 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, the databases 1414 and 1416 may be in a storage area network (SAN). Similarly, files necessary to perform functions originating from server 1412 may be stored locally on server 1412 and / or stored remotely as appropriate. In one set of embodiments, the 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 SQL format commands.

図15は、本発明の実施形態を実現するために使用し得る典型的なコンピュータシステム1500を示す。いくつかの実施形態において、コンピュータシステム1500を用いて上記さまざまなサーバおよびコンピュータシステムのうちのいずれかを実現してもよい。図15に示されるように、コンピュータシステム1500は、バスサブシステム1502を介して多数の周辺サブシステムと通信する処理ユニット1504を含むさまざまなサブシステムを含む。これらの周辺サブシステムは、処理加速ユニット1506、I/Oサブシステム1508、記憶サブシステム1518、および通信サブシステム1524を含み得る。記憶サブシステム1518は、有形のコンピュータ読取可能記憶媒体1522およびシステムメモリ1510を含み得る。   FIG. 15 illustrates a typical computer system 1500 that can be used to implement embodiments of the present invention. In some embodiments, the 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 a processing unit 1504 that communicates with a number of peripheral subsystems via a bus subsystem 1502. These peripheral subsystems may include a processing acceleration unit 1506, an I / O subsystem 1508, a storage subsystem 1518, and a communications subsystem 1524. Storage subsystem 1518 may include a tangible computer readable storage medium 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 causing the various components and subsystems of computer system 1500 to communicate with one another as desired. Although the bus subsystem 1502 is shown schematically as a single bus, alternative embodiments of the bus subsystem may utilize multiple buses. Bus subsystem 1502 may be any of a variety of 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 can be implemented as a mezzanine bus manufactured according to the IEEE P1386.1 standard, etc., an industry standard architecture (ISA) bus, a microchannel architecture (MCA) bus, an enhanced ISA (EISA) bus, It may include Video Electronics Standards Association (VESA) local bus and Peripheral Component Interconnect (PCI) bus.

処理サブシステム1504は、コンピュータシステム1500のオペレーションを制御し、かつ、1つ以上の処理ユニット1532、1534等と含み得る。処理ユニットは、シングルコアもしくはマルチコアプロセッサ、プロセッサの1つ以上のコア、またはこれらの組合わせを含む、1つ以上のプロセッサを含み得る。いくつかの実施形態において、処理サブシステム1504は、グラフィックプロセッサ、デジタル信号プロセッサ(DSP)等といった1つ以上の専用コプロセッサを含み得る。いくつかの実施形態において、処理サブシステム1504の処理ユニットのうちのいくつかまたはすべてを、特定用途向け集積回路(ASIC)またはフィールドプログラマブルゲートアレイ(FPGA)等のカスタマイズされた回路を用いて実現してもよい。   The processing subsystem 1504 controls the operation of the computer system 1500 and may include one or more processing units 1532, 1534, etc. The processing unit may include one or more processors including a single core or multi-core processor, one or more cores of the processor, or a combination thereof. In some embodiments, the processing subsystem 1504 may include one or more dedicated coprocessors such as a graphics processor, a digital signal processor (DSP), and the like. In some embodiments, some or all of the processing units of processing subsystem 1504 are implemented using customized circuitry 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, processing units within processing subsystem 1504 may execute instructions stored in system memory 1510 or on computer readable storage medium 1522. In various embodiments, a processing unit can execute various programs or code instructions and can maintain multiple programs or processes that are executed simultaneously. At any given time, some or all of the program code to be executed may reside 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 functions described above for providing users access to services using existing services provisioned by the cloud infrastructure system.

特定の実施形態において、コンピュータシステム1500が実行する処理全体を加速することを目的として、カスタマイズされた処理を実行するためまたは処理サブシステム1504が実行する処理のうちの一部をオフロードするために、処理加速ユニット1506を設けてもよい。   In certain embodiments, in order to accelerate the overall processing performed by computer system 1500, to perform customized processing or to offload some of the processing 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(登録商標)ナビゲータ)と対話できるようにする音声認識検知装置を含み得る。   The I / O subsystem 1508 may include devices and mechanisms for inputting information into the computer system 1500 and / or outputting information from or through the computer system 1500. In general, use of the term “input device” is intended to include all possible types of devices and mechanisms for entering information into computer system 1500. User interface input devices include, for example, keyboards, pointing devices such as mice or trackballs, touch pads or touch screens built into displays, scroll wheels, click wheels, dials, buttons, switches, keypads, voice command recognition systems It may include voice input devices, microphones, and other types of input devices. The user interface input device also provides input using Microsoft Kinect (R) motion sensors, Microsoft Xbox (R) 360 game controllers, gestures and speech commands that allow the user to control and interact with the input device. It may include a motion detection and / or gesture recognition device, such as a device that provides an interface for receiving. The user interface input device also receives an eye movement from the user (eg, “blinks” when taking a picture and / or menu selection) and uses the eye gesture as an input to the input device (eg, Google Glass®). It may include an eye gesture recognition device such as Google Glass® blink detector to convert. In addition, the user interface input device may include a voice recognition detection device that allows a user to interact with a voice recognition system (eg, a Siri® navigator) through voice commands.

ユーザインターフェイス入力装置のその他の例は、三次元(3D)マウス、ジョイスティックまたはポインティングスティック、ゲームパッドおよびグラフィックタブレット、ならびに、スピーカ、デジタルカメラ、デジタルカムコーダ、ポータブルメディアプレイヤー、ウェブカメラ、画像スキャナ、指紋スキャナ、バーコードリーダ3Dスキャナ、3Dプリンタ、レーザレンジファインダー、および視線トラッキング装置等のオーディオ/ビジュアル装置を含むが、これらに限定されるものではない。加えて、ユーザインターフェイス入力装置は、たとえば、コンピュータ断層撮影、磁気共鳴撮像、ポジトロン断層撮影、超音波検査装置等の、医療用撮像入力装置を含み得る。ユーザインターフェイス入力装置はまた、たとえば、MIDIキーボード、デジタル音楽機器等といった音声入力装置を含み得る。   Other examples of user interface input devices include 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 Audio / visual devices such as, but not limited to, barcode reader 3D scanners, 3D printers, laser range finders, and eye tracking devices. In addition, user interface input devices can include medical imaging input devices such as, for example, computed tomography, magnetic resonance imaging, positron tomography, and ultrasound examination devices. User interface input devices may also include voice input devices such as, for example, MIDI keyboards, digital music devices, and the like.

ユーザインターフェイス出力装置は、ディスプレイサブシステム、インジケータライト、または音声出力装置といった非ビジュアルディスプレイなどを含み得る。ディスプレイサブシステムは、陰極線管(CRT)、たとえば液晶ディスプレイ(LCD)またはプラズマディスプレイを用いるフラットパネル装置、投射装置、タッチスクリーン等であってもよい。一般的に、「出力装置」という用語の使用は、情報をコンピュータシステム1500からユーザまたはその他のコンピュータに出力するための可能なすべての種類の装置およびメカニズムを含むことを意図している。たとえば、ユーザインターフェイス出力装置は、モニタ、プリンタ、スピーカ、ヘッドフォン、自動車ナビゲーションシステム、作図装置、音声出力装置、およびモデムといった、テキスト、グラフィックおよびオーディオ/ビデオ情報を視覚的に伝えるさまざまな表示装置を含み得るが、これらに限定されるものではない。   User interface output devices may include non-visual displays such as display subsystems, indicator lights, or audio output devices. The display subsystem may be a cathode ray tube (CRT), such as a flat panel device using a liquid crystal display (LCD) or plasma display, a projection device, a touch screen, or the like. 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, graphics, and audio / video information such as monitors, printers, speakers, headphones, car navigation systems, plotters, audio output devices, and modems. However, it is not limited to these.

記憶サブシステム1518は、コンピュータシステム1500が使用する情報を格納するためのリポジトリまたはデータ記憶装置を提供する。記憶サブシステム1518は、いくつかの実施形態の機能を提供する基本的なプログラミングおよびデータ構造を格納するための有形の非一時的なコンピュータ読取可能記憶媒体を提供する。処理サブシステム1504によって実行されたときに上記機能を提供するソフトウェア(プログラム、コードモジュール、命令)は、記憶サブシステム1518に格納されていてもよい。ソフトウェアは、処理サブシステム1504の1つ以上の処理ユニットによって実行されてもよい。記憶サブシステム1518はまた、本発明に従って使用されるデータを格納するためのリポジトリを提供し得る。   Storage subsystem 1518 provides a repository or data storage device for storing information used 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 functions when executed by the processing subsystem 1504 may be stored in the 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, the storage subsystem 1518 includes a system memory 1510 and a computer readable storage medium 1522. The system memory 1510 includes a number of volatile main random access memories (RAM) for storing instructions and data during program execution, and non-volatile read only memory (ROM) or flash memory in which fixed instructions are stored. Memory may be included. In some implementations, for example, a basic input / output system (BIOS) that includes basic routines that assist in transferring information between elements within a running computer system 1500 is typically stored in ROM. The The RAM typically contains data and / or program modules that the processing subsystem 1504 is currently operating and executing. In some implementations, the system memory 1510 may include multiple different types of memory, 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 includes application programs 1512 that may include client applications, web browsers, mid-tier applications, relational agent-based management systems (RDBMSs), and program data 1514. Operating system 1516. By way of example, operating system 1516 may be a variety of versions of Microsoft Windows®, Apple Macintosh®, and / or Linux® operating systems, such as various commercially available UNIX® or UNIX. 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 an OS, a BlackBerry® 10 OS, and a 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 media 1522 may store programming and data structures that provide the functionality of some embodiments. Software (programs, code modules, instructions) that provide the above functions when executed by the processor of the processing subsystem 1504 may be stored in the 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, magnetic disk drive, CD ROM, DVD, Blu-Ray® disk, or other optical medium. . Computer readable storage media 1522 may include, but are not limited to, Zip® drives, flash memory cards, universal serial bus (USB) flash drives, secure digital (SD) cards, DVD disks, digital video tapes, and the like. Is not to be done. The computer readable storage medium 1522 also includes 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. SSD based on DRAM, DRAM based SSD, magnetoresistive RAM (MRAM) SSD, and hybrid SSD using a combination of DRAM and 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 certain embodiments, the storage subsystem 1500 may also include a computer readable storage media reader 1520 that may be further connected to a computer readable storage medium 1522. Along with system memory 1510, and optionally in combination with system memory 1510, computer readable storage medium 1522 provides 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 certain embodiments, the 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 allocated memory, computation (eg, 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 system executed by other virtual machines that the computer system 1500 executes. Thus, in some cases, multiple operating systems will be executed simultaneously by computer system 1500. Generally, each virtual machine is executed independently of other virtual machines.

通信サブシステム1524は、その他のコンピュータシステムおよびネットワークに対するインターフェイスを提供する。通信サブシステム1524は、コンピュータシステム1500以外のシステムからデータを受信しコンピュータシステム1500以外のシステムにデータを送信するためのインターフェイスの役割を果たす。たとえば、通信サブシステム1524によって、コンピュータシステム1500は、情報をクライアント装置から受信しかつ情報をクライアント装置に送信するために1つ以上のクライアント装置へのインターネットを介した通信チャネルを確立することができるであろう。   Communication subsystem 1524 provides an interface to other computer systems and networks. The communication subsystem 1524 serves as an interface for receiving data from a system other than the computer system 1500 and transmitting data to a system other than the computer system 1500. For example, the communication subsystem 1524 allows the computer system 1500 to establish a communication channel over the Internet to one or more client devices to receive information from the client devices and send information to the client devices. 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 certain embodiments, the communication subsystem 1524 may include advanced data network technologies such as mobile phone technology, 3G, 4G or EDGE (Global Evolution High Speed Data Rate), WiFi (IEEE 802.11 family standards, or others). Radio frequency (RF) transceiver component, global positioning system (GPS) receiver component, and / or other) for accessing a wireless voice and / or data network (using any mobile communication technology, or any combination thereof) Of components. The communication subsystem 1524 of some embodiments may provide a wired network connection (eg, Ethernet) in addition to or instead of the wireless interface.

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

特定の実施形態において、通信サブシステム1524は、本質的に連続しているまたは無限であり明確な終わりがない場合がある、リアルタイムイベントのイベントストリーム1528および/またはイベントアップデート1530を含み得る、連続データストリームの形態のデータを受信するように構成されてもよい。連続データを生成するアプリケーションの例は、たとえば、センサデータアプリケーション、株式相場表示機、ネットワーク性能測定ツール(たとえばネットワークモニタリングおよびトラフィック管理アプリケーション)、クリックストリーム分析ツール、自動車交通量モニタリング等を含み得る。   In certain embodiments, the communication subsystem 1524 may include continuous data that may include an event stream 1528 and / or an event update 1530 of real-time events that may be essentially continuous or endless and without a clear 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 quotes, network performance measurement tools (eg, network monitoring and traffic management applications), clickstream analysis tools, vehicle traffic monitoring, and the like.

通信サブシステム1524はまた、構造化されたおよび/または構造化されていないデータフィード1526、イベントストリーム1528、イベントアップデート1530等を、コンピュータシステム1500に連結されている1つ以上のストリーミングデータソースコンピュータと通信し得る1つ以上のデータベースに出力するように構成されてもよい。   Communication subsystem 1524 may also include structured and / or unstructured data feed 1526, event stream 1528, event update 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 can communicate.

コンピュータシステム1500は、ハンドヘルドポータブルデバイス(たとえばiPhone(登録商標)携帯電話、iPad(登録商標)計算タブレット、PDA)、ウェアラブルデバイス(たとえばGoogle Glass(登録商標)ヘッドマウントディスプレイ)、パーソナルコンピュータ、ワークステーション、メインフレーム、キオスク、サーバラック、またはその他のデータ処理システムを含む、さまざまな種類のうちの1つであればよい。   The computer system 1500 includes handheld portable devices (eg, iPhone® mobile phones, iPad® computing tablets, PDAs), wearable devices (eg, Google Glass® head mounted displays), personal computers, workstations, 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 constantly changing in nature, the description of computer system 1500 shown in FIG. 15 is intended solely for a specific example. Many other configurations with more or fewer components than the system shown in FIG. 15 are possible. Based on the disclosure and teachings provided herein, one of ordinary skill in the art will appreciate other ways and / or methods to implement various embodiments.

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

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

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

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

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

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

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

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

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

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

特定の実施形態において、第1の顧客に対応付けられた特定顧客向けデータは、顧客による第1のサービスの使用に関連するデータを含む。   In certain 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 a specific embodiment, each service of a plurality of services is associated with data for a specific service, the data for a specific service corresponding to the service indicates a configuration of the service, and the configuration provides the service One or more resources allocated to do so.

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

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

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

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

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

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

Claims (53)

コンピュータにより実現される方法であって、
複数のサービスをサービスインフラストラクチャシステムに提供するステップと、
前記サービスインフラストラクチャシステムによって提供されるサービスへのアクセスの、第1の顧客による要求を、前記サービスインフラストラクチャシステムが受けるステップと、
前記第1の顧客によって要求された前記サービスに基づいてサブスクリプションの種類を前記サービスインフラストラクチャシステムが決定するステップとを含み、前記サブスクリプションの種類はクローンサブスクリプションまたは再使用可能なサブスクリプションのうちの一方であり、
前記サービスにアクセスするためのサブスクリプションを前記サービスインフラストラクチャシステムが前記第1の顧客に提供するステップを含み、前記サブスクリプションは、前記サブスクリプションの種類に基づいて提供されかつ前記複数のサービスのうちの第1のサービスを用いて提供され、
前記第1の顧客に提供された前記サブスクリプションを前記サービスインフラストラクチャシステムが管理するステップを含む、方法。
A computer-implemented method comprising:
Providing multiple services to a service infrastructure system;
The service infrastructure system receiving a request by a first customer to access a service provided by the service infrastructure system;
The service infrastructure system determining a subscription type based on the service requested by the first customer, the subscription type being a clone subscription or a reusable subscription On the other hand,
The service infrastructure system providing the first customer with a subscription to access the service, the subscription being provided based on the type of subscription and of the plurality of services Provided with the first service of
A method comprising the service infrastructure system managing the subscription provided to the first customer.
前記第1の顧客による要求は、前記顧客によるサービスの使用の種類を示し、前記サブスクリプションの種類は、前記要求によって示される使用の種類に基づいて決定される、請求項1に記載のコンピュータにより実現される方法。   The computer of claim 1, wherein the request by the first customer indicates a type of service usage by the customer, and the subscription type is determined based on a type of usage indicated by the request. The way that is realized. 前記サブスクリプションの種類がクローンサブスクリプションであるとき、前記サブスクリプションを前記第1の顧客に提供するステップは、
前記第1のサービスに対する第1のサブスクリプションに基づいて第1のクローンサブスクリプションを確立するステップを含み、前記第1のクローンサブスクリプションは、前記第1の顧客へのサブスクリプションとして提供され、
一組の規則に基づいて前記第1のクローンサブスクリプションを前記第1のサブスクリプションに対応付けるステップを含む、請求項1または2に記載のコンピュータにより実現される方法。
When the subscription type is a clone subscription, providing the subscription to the first customer comprises:
Establishing a first clone subscription based on a first subscription for 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, comprising the step of associating the first clone subscription with the first subscription based on a set of rules.
前記第1のクローンサブスクリプションを前記第1のサブスクリプションに対応付けるステップは、前記第1のクローンサブスクリプションのライフサイクルを前記第1のサブスクリプションのライフサイクルに対応付けるステップを含む、請求項3に記載のコンピュータにより実現される方法。   4. The step of associating the first clone subscription with the first subscription comprises associating a life cycle of the first clone subscription with a life cycle of the first subscription. A method realized by a computer. 前記第1のクローンサブスクリプションは、第2のサービスへのアクセスを提供し、前記顧客による前記第2のサービスへのアクセスは、前記顧客による前記第1のサービスへのアクセスが終了したときに終了する、請求項4に記載のコンピュータにより実現される方法。   The first clone subscription provides access to a second service, and access to the second service by the customer ends when access to the first service by the customer ends. A computer-implemented method according to claim 4. 前記顧客からの要求に基づいて前記第1のサービスへのアクセスを更新するステップと、
前記第1のサービスへの更新された前記アクセスに基づいて前記第2のサービスへのアクセスを修正するステップとをさらに含む、請求項4または5に記載のコンピュータにより実現される方法。
Updating access to the first service based on a request from the customer;
6. The computer-implemented method of claim 4 or 5, further comprising modifying access to the second service based on the updated access to the first service.
前記第1のクローンサブスクリプションは、第2のサービスへのアクセスを提供し、前記一組の規則は、前記第1のサービスのクローンとしての前記第2のサービスの使用を示す、請求項3に記載のコンピュータにより実現される方法。   4. The first clone subscription provides access to a second service, and the set of rules indicates use of the second service as a clone of the first service. A computer-implemented method as described. 前記一組の規則は、前記第2のサービスへのアクセスの期間を示す、請求項7に記載のコンピュータにより実現される方法。   The computer-implemented method of claim 7, wherein the set of rules indicates a period 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 defined as the number of users authorized to access the second service. The computer-implemented method of claim 7, wherein is different from the number of authorized users. 前記一組の規則は前記第2のサービスのコンフィギュレーションを示し、前記第2のサービスの前記コンフィギュレーションは前記第1のサービスのコンフィギュレーションと異なる、請求項7に記載のコンピュータにより実現される方法。   8. The computer-implemented method of claim 7, wherein the set of rules indicates a configuration of the second service, and the configuration of the second service is different from a configuration of the first service. . 前記サブスクリプションを管理するステップは、前記第1のサービスの変更に応じて、前記サブスクリプションによる前記要求されたサービスへのアクセスを決定することを含み、前記要求されたサービスへのアクセスは、前記一組の規則を用いて決定される、請求項3に記載のコンピュータにより実現される方法。   Managing the subscription includes determining access to the requested service by the subscription in response to a change in the first service, wherein the access to the requested service is the The computer-implemented method of claim 3, wherein the computer-implemented method is determined using a set of rules. 前記サブスクリプションの種類が再使用可能なサブスクリプションであるとき、前記サブスクリプションを前記第1の顧客に提供するステップは、
前記サービスインフラストラクチャシステム内のサービスプールにおいて前記第1のサービスがプロビジョニングされていると判断するステップと、
前記第1のサービスのための第1のサブスクリプションを前記サービスのためのサブスクリプションとして前記顧客に割当てるステップとを含み、前記第1のサブスクリプションを割当てるステップは、前記第1のサービスを前記サービスプールから前記顧客に割当てるステップを含み、前記第1のサービスを前記顧客に割当てるステップは、前記第1のサービスを前記サービスプールから削除するステップを含む、請求項1〜11のいずれか一項に記載のコンピュータにより実現される方法。
When the subscription type is a reusable subscription, providing the subscription to the first customer comprises:
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 customer as a subscription for the service, the step of assigning the first subscription comprising assigning the first service to the service 12. The method of any one of claims 1-11, comprising: assigning the customer to a customer from a pool, wherein assigning the first service to the customer comprises deleting the first service from the service pool. A computer-implemented method as described.
特定顧客向けデータを、前記第1のサービスに対応する特定サービス向けデータに対応付けるステップをさらに含み、前記特定顧客向けデータは、前記第1のサービスの前記顧客に対応付けられる、請求項12に記載のコンピュータにより実現される方法。   13. The method of claim 12, further comprising associating specific customer data with specific service data corresponding to the first service, wherein the specific customer data is associated with the customer of the first service. A method realized by a computer. 前記サービスにアクセスするための前記サブスクリプションを管理するステップは、前記サブスクリプションが終了したときに前記第1のサービスを前記顧客から前記サービスプールに割当てるステップを含み、前記第1のサービスを割当てるステップは、前記特定顧客向けデータと、前記第1のサービスに対応する特定サービス向けデータとの対応関係を解除するステップを含み、前記第1のサービスは、前記サービスプールから1以上の他の顧客に再度割当て可能である、請求項13に記載のコンピュータにより実現される方法。   Managing the subscription to access the service includes allocating the first service from the customer to the service pool when the subscription is terminated, and allocating the first service. Includes a step of releasing the correspondence between the data for the specific customer and the data for the specific service corresponding to the first service, and the first service is sent to the one or more other customers from the service pool. The computer-implemented method of claim 13, wherein the computer-implemented method is reassignable. 前記複数のサービスのうちの第2のサービスへのアクセスの、第2の顧客による要求を受けるステップと、
前記第2のサービスが前記第1のサービスに類似しているという判断に基づいて、前記サービスプールにおいて前記第2のサービスが利用可能であると判断するステップと、
前記サービスプール内の前記第1のサブスクリプションを前記第2の顧客に割当てるステップとを含み、前記第1のサブスクリプションを前記第2の顧客に割当てるステップは、前記第1のサブスクリプションを前記サービスプールから削除するステップを含み、
前記第2の顧客に対応する特定顧客向けデータを、前記第1のサービスに対応する特定サービス向けデータに対応付けるステップを含む、請求項14に記載のコンピュータにより実現される方法。
Receiving a request by a second customer to access a second service of the plurality of services;
Determining that the second service is available in the service pool based on a 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 comprises assigning the first subscription to the service Including removing from the pool,
15. The computer-implemented method of claim 14, comprising the step of associating specific customer specific data corresponding to the second customer with specific service specific data corresponding to the first service.
前記第1の顧客に対応付けられた前記特定顧客向けデータは、前記顧客による前記第1のサービスの使用に関連するデータを含む、請求項13〜15のいずれか一項に記載のコンピュータにより実現される方法。   The said customer specific data matched with the said 1st customer is implement | achieved by the computer as described in any one of Claims 13-15 containing the data relevant to use of the said 1st service by the said customer How to be. 前記複数のサービスのうちの各サービスは特定サービス向けデータに対応付けられ、サービスに対応する前記特定サービス向けデータは、前記サービスのコンフィギュレーションを示し、前記コンフィギュレーションは、前記サービスを提供するために割当てられた1つ以上のリソースを含む、請求項1〜16のいずれか一項に記載のコンピュータにより実現される方法。   Each service of the plurality of services is associated with data for a specific service, the data for the specific service corresponding to the service indicates a configuration of the service, and the configuration is for providing the service. The computer-implemented method of any one of claims 1 to 16, comprising one or more allocated resources. 前記サービスを提供するステップは、前記第1の顧客による要求を受ける前に、前記クラウドインフラストラクチャシステムにおいてサービスをプロビジョニングするステップを含み、前記サービスは、前記サービスインフラストラクチャシステムのオペレーションに対応付けられた1つ以上のメトリックに基づいてプロビジョニングされる、請求項1〜17のいずれか一項に記載のコンピュータにより実現される方法。   Providing the service includes provisioning a service in the cloud infrastructure system prior to receiving a request by the first customer, the service associated with an operation of the service infrastructure system. The computer-implemented method of any one of claims 1 to 17, provisioned based on one or more metrics. 前記サービスを提供するステップは、前記第1の顧客による要求を受ける前に前記サービスをプロビジョニングするステップを含み、サービスは、前記サービスに対する需要に対応付けられた1つ以上のメトリックに基づいてプロビジョニングされる、請求項1〜18のいずれか一項に記載のコンピュータにより実現される方法。   Providing the service includes provisioning the service before receiving a request by the first customer, the service being provisioned based on one or more metrics associated with demand for the service. 19. A computer-implemented method according to any one of claims 1-18. 前記サービスを提供するステップは、前記第1の顧客による要求を受ける前に前記サービスをプロビジョニングするステップを含み、サービスは、前記サービスの前記種類に対応付けられた1つ以上のメトリックに基づいてプロビジョニングされる、請求項1〜18のいずれか一項に記載のコンピュータにより実現される方法。   Providing the service includes provisioning the service before receiving a request by the first customer, wherein the service is provisioned based on one or more metrics associated with the type of the service. A computer-implemented method according to any one of the preceding claims. 前記サービスインフラストラクチャシステムはマルチテナント環境を含む、請求項1〜20のいずれか一項に記載のコンピュータにより実現される方法。   21. The computer-implemented method of any one of claims 1 to 20, wherein the service infrastructure system includes a multi-tenant environment. 前記サービスは、Java(登録商標)サービス、顧客関係管理(CRM)サービス、または人的資源管理(HCM)サービスを含む、請求項1〜21のいずれか一項に記載のコンピュータにより実現される方法。   The computer-implemented method of any one of claims 1 to 21, 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の顧客に提供された前記サブスクリプションを管理する、システム。
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,
Providing multiple services to the service infrastructure system,
Receiving a request by a first customer to access a service provided by the service infrastructure system;
Determining a subscription type based on the service requested by the first customer, wherein the subscription type is one of a clone subscription or a reusable subscription;
Providing the first customer with a subscription to access the service, the subscription being provided based on a type of the subscription and using a first service of the plurality of services; And
A system for managing the subscription provided to the first customer.
前記第1の顧客による要求は、前記顧客によるサービスの使用の種類を示し、前記サブスクリプションの種類は、前記要求によって示される使用の種類に基づいて決定される、請求項23に記載のシステム。   24. The system of claim 23, wherein the request by the first customer indicates a type of service usage by the customer, and the subscription type is determined based on the type of usage indicated by the request. 前記サブスクリプションの種類がクローンサブスクリプションであるとき、前記サブスクリプションを前記第1の顧客に提供することは、
前記第1のサービスに対する第1のサブスクリプションに基づいて第1のクローンサブスクリプションを確立することを含み、前記第1のクローンサブスクリプションは、前記第1の顧客へのサブスクリプションとして提供され、
一組の規則に基づいて前記第1のクローンサブスクリプションを前記第1のサブスクリプションに対応付けることを含む、請求項23または24に記載のシステム。
Providing the first customer with the subscription when the subscription type is a clone subscription;
Establishing a first clone subscription based on a first subscription to the first service, wherein the first clone subscription is provided as a subscription to the first customer;
25. The system of claim 23 or 24, comprising associating the first clone subscription with the first subscription based on a set of rules.
前記第1のクローンサブスクリプションを前記第1のサブスクリプションに対応付けることは、前記第1のクローンサブスクリプションのライフサイクルを前記第1のサブスクリプションのライフサイクルに対応付けることを含む、請求項25に記載のシステム。   26. The method of claim 25, wherein associating the first clone subscription with the first subscription includes associating a life cycle of the first clone subscription with a life cycle of the first subscription. System. 前記第1のクローンサブスクリプションは、第2のサービスへのアクセスを提供し、前記顧客による前記第2のサービスへのアクセスは、前記顧客による前記第1のサービスへのアクセスが終了したときに終了する、請求項26に記載のシステム。   The first clone subscription provides access to a second service, and access to the second service by the customer ends when access to the first service by the customer ends. 27. The system of claim 26. 前記少なくとも1つのプロセッサはさらに、前記メモリに格納されているコンピュータコードを実行することにより、
前記顧客からの要求に基づいて前記第1のサービスへのアクセスを更新し、
前記第1のサービスへの更新された前記アクセスに基づいて前記第2のサービスへのアクセスを修正する、請求項26または27に記載のシステム。
The at least one processor is further configured to execute computer code stored in the memory,
Updating access to the first service based on a request from the customer;
28. A system according to claim 26 or 27, wherein the system modifies access to the second service based on the updated access to the first service.
前記第1のクローンサブスクリプションは、第2のサービスへのアクセスを提供し、前記一組の規則は、前記第1のサービスのクローンとしての前記第2のサービスの使用を示す、請求項25に記載のシステム。   The first clone subscription provides access to a second service, and the set of rules indicates use of the second service as a clone of the first service. The described system. 前記一組の規則は、前記第2のサービスへのアクセスの期間を示す、請求項29に記載のシステム。   30. The system of claim 29, wherein the set of rules indicates a period of access to the second service. 前記一組の規則は、前記第2のサービスへのアクセスが許可されたユーザの数を示し、前記第2のサービスへのアクセスが許可されたユーザの数は、前記第1のサービスへのアクセスが許可されたユーザの数と異なる、請求項29に記載のシステム。   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 defined as the number of users authorized to access the second service. 30. The system of claim 29, wherein is different from the number of authorized users. 前記一組の規則は前記第2のサービスのコンフィギュレーションを示し、前記第2のサービスの前記コンフィギュレーションは前記第1のサービスのコンフィギュレーションと異なる、請求項29に記載のシステム。   30. The system of claim 29, wherein the set of rules indicates a configuration of the second service, and the configuration of the second service is different from a configuration of the first service. 前記サブスクリプションを管理することは、前記第1のサービスの変更に応じて、前記サブスクリプションによる前記要求されたサービスへのアクセスを決定することを含み、前記要求されたサービスへのアクセスは、前記一組の規則を用いて決定される、請求項25に記載のシステム。   Managing the subscription includes determining access to the requested service by the subscription in response to a change in the first service, wherein the access to the requested service is the 26. The system of claim 25, determined using a set of rules. 前記サブスクリプションの種類が再使用可能なサブスクリプションであるとき、前記サブスクリプションを前記第1の顧客に提供することは、
前記サービスインフラストラクチャシステム内のサービスプールにおいて前記第1のサービスがプロビジョニングされていると判断することと、
前記第1のサービスのための第1のサブスクリプションを前記サービスのためのサブスクリプションとして前記顧客に割当てることとを含み、前記第1のサブスクリプションを割当てることは、前記第1のサービスを前記サービスプールから前記顧客に割当てることを含み、前記第1のサービスを前記顧客に割当てることは、前記第1のサービスを前記サービスプールから削除することを含み、
特定顧客向けデータを、前記第1のサービスに対応する特定サービス向けデータに対応付けることを含み、前記特定顧客向けデータは、前記第1のサービスの前記顧客に対応付けられ、前記第1の顧客に対応付けられた前記特定顧客向けデータは、前記顧客による前記第1のサービスの使用に関連するデータを含む、請求項23〜33のいずれか一項に記載のシステム。
Providing the subscription to the first customer when the subscription type is a reusable subscription;
Determining that the first service is provisioned in a service pool in the service infrastructure system;
Assigning the first subscription for the first service to the customer as a subscription for the service, wherein assigning the first subscription comprises assigning the first service to the service Allocating to the customer from a pool, allocating the first service to the customer includes deleting the first service from the service pool;
Including associating specific customer data with specific service data corresponding to the first service, wherein the specific customer data is associated with the customer of the first service, 34. The system according to any one of claims 23 to 33, wherein the associated customer specific data includes data relating to use of the first service by the customer.
前記サービスにアクセスするための前記サブスクリプションを管理することは、前記サブスクリプションが終了したときに前記第1のサービスを前記顧客から前記サービスプールに割当てることを含み、前記第1のサービスを割当てることは、前記特定顧客向けデータと、前記第1のサービスに対応する特定サービス向けデータとの対応関係を解除することを含み、前記第1のサービスは、前記サービスプールから1以上の他の顧客に再度割当て可能である、請求項34に記載のシステム。   Managing the subscription to access the service includes allocating the first service from the customer to the service pool when the subscription is terminated, and allocating the first service. Includes releasing the correspondence between the data for the specific customer and the data for the specific service corresponding to the first service, and the first service is sent to the one or more other customers from the service pool. 35. The system of claim 34, wherein the system is reassignable. 前記少なくとも1つのプロセッサはさらに、前記メモリに格納されているコンピュータコードを実行することにより、
前記複数のサービスのうちの第2のサービスへのアクセスの、第2の顧客による要求を受け、
前記第2のサービスが前記第1のサービスに類似しているという判断に基づいて、前記サービスプールにおいて前記第2のサービスが利用可能であると判断し、
前記サービスプール内の前記第1のサブスクリプションを前記第2の顧客に割当て、前記第1のサブスクリプションを前記第2の顧客に割当てることは、前記第1のサブスクリプションを前記サービスプールから削除することを含み、
前記第2の顧客に対応する特定顧客向けデータを、前記第1のサービスに対応する特定サービス向けデータに対応付け、
前記複数のサービスのうちの各サービスは特定サービス向けデータに対応付けられ、サービスに対応する前記特定サービス向けデータは、前記サービスのコンフィギュレーションを示し、前記コンフィギュレーションは、前記サービスを提供するために割当てられた1つ以上のリソースを含む、請求項35に記載のシステム。
The at least one processor is further configured to execute computer code stored in the memory,
Receiving a request by a second customer to access a second service of the plurality of services;
Determining that the second service is available in the service pool based on a determination that the second service is similar to the first service;
Assigning the first subscription in the service pool to the second customer and assigning the first subscription to the second customer removes the first subscription from the service pool. Including
Associating data for a specific customer corresponding to the second customer with data for a specific service corresponding to the first service;
Each service of the plurality of services is associated with data for a specific service, the data for the specific service corresponding to the service indicates a configuration of the service, and the configuration is for providing the service. 36. The system of claim 35, comprising one or more allocated resources.
前記サービスを提供することは、前記第1の顧客による要求を受ける前に、前記クラウドインフラストラクチャシステムにおいてサービスをプロビジョニングすることを含み、前記サービスは、前記サービスインフラストラクチャシステムのオペレーションに対応付けられた1つ以上のメトリックに基づいてプロビジョニングされる、請求項36に記載のシステム。   Providing the service includes provisioning a service in the cloud infrastructure system prior to receiving a request by the first customer, the service associated with an operation of the service infrastructure system. 38. The system of claim 36, provisioned based on one or more metrics. 前記少なくとも1つのプロセッサはさらに、前記メモリに格納されているコンピュータコードを実行することにより、
サブスクリプションに対する前記第1のサービスが前記サービスプールにおいてプロビジョニングされていないと判断したときに、前記第1のサブスクリプションに対する前記第1のサービスを前記サービスプールにおいてプロビジョニングする、請求項34に記載のシステム。
The at least one processor is further configured to execute computer code stored in the memory,
35. The system of claim 34, wherein the first service for the first subscription is provisioned in the service pool when it is determined that the first service for a subscription is not provisioned in the service pool. .
コンピュータシステムのプロセッサにより実行可能な命令が格納された非一時的なコンピュータ読取可能媒体であって、前記命令が前記プロセッサによって実行されることにより、
複数のサービスをサービスインフラストラクチャシステムに提供し、
前記サービスインフラストラクチャシステムによって提供されるサービスへのアクセスの、第1の顧客による要求を前記サービスインフラストラクチャシステムが受け、
前記第1の顧客によって要求された前記サービスに基づいてサブスクリプションの種類を前記サービスインフラストラクチャシステムが決定し、前記サブスクリプションの種類はクローンサブスクリプションまたは再使用可能なサブスクリプションのうちの一方であり、
前記サービスにアクセスするためのサブスクリプションを前記第1の顧客に前記サービスインフラストラクチャシステムが提供し、前記サブスクリプションは、前記サブスクリプションの種類に基づいて提供されかつ前記複数のサービスのうちの第1のサービスを用いて提供され、
前記第1の顧客に提供された前記サブスクリプションを前記サービスインフラストラクチャシステムが管理する、非一時的なコンピュータ読取可能媒体。
A non-transitory computer readable medium storing instructions executable by a processor of a computer system, wherein the instructions are executed by the processor,
Providing multiple services to the service infrastructure system,
The service infrastructure system receives a request by a first customer to access a service provided by the service infrastructure system;
The service infrastructure system determines a subscription type based on the service requested by the first customer, the subscription type being one of a clone subscription or a reusable subscription ,
The service infrastructure system provides the first customer with a subscription to access the service, the subscription being provided based on the type of subscription and a first of the plurality of services. Provided using
A non-transitory computer readable medium in which the service infrastructure system manages the subscription provided to the first customer.
前記第1の顧客による要求は、前記顧客によるサービスの使用の種類を示し、前記サブスクリプションの種類は、前記要求によって示される使用の種類に基づいて決定される、請求項39に記載の非一時的なコンピュータ読取可能媒体。   40. The non-temporary of claim 39, wherein the request by the first customer indicates a type of use of service by the customer, and the type of subscription is determined based on a type of use indicated by the request. Computer readable medium. 前記サブスクリプションの種類がクローンサブスクリプションであるとき、前記サブスクリプションを前記第1の顧客に提供することは、
前記第1のサービスに対する第1のサブスクリプションに基づいて第1のクローンサブスクリプションを確立することを含み、前記第1のクローンサブスクリプションは、前記第1の顧客へのサブスクリプションとして提供され、
一組の規則に基づいて前記第1のクローンサブスクリプションを前記第1のサブスクリプションに対応付けることを含む、請求項39または40に記載の非一時的なコンピュータ読取可能媒体。
Providing the first customer with the subscription when the subscription type is a clone subscription;
Establishing a first clone subscription based on a first subscription to the first service, wherein the first clone subscription is provided as a subscription to the first customer;
41. A non-transitory computer readable medium according to claim 39 or 40, comprising associating the first clone subscription with the first subscription based on a set of rules.
前記第1のクローンサブスクリプションを前記第1のサブスクリプションに対応付けることは、前記第1のクローンサブスクリプションのライフサイクルを前記第1のサブスクリプションのライフサイクルに対応付けることを含む、請求項41に記載の非一時的なコンピュータ読取可能媒体。   42. Associating the first clone subscription with the first subscription includes associating a life cycle of the first clone subscription with a life cycle of the first subscription. Non-transitory computer readable medium. 前記第1のクローンサブスクリプションは、第2のサービスへのアクセスを提供し、前記顧客による前記第2のサービスへのアクセスは、前記顧客による前記第1のサービスへのアクセスが終了したときに終了する、請求項42に記載の非一時的なコンピュータ読取可能媒体。   The first clone subscription provides access to a second service, and access to the second service by the customer ends when access to the first service by the customer ends. 43. The non-transitory computer readable medium of claim 42. 前記命令がさらに前記プロセッサによって実行されることにより、
前記顧客からの要求に基づいて前記第1のサービスへのアクセスを更新し、
前記第1のサービスへの更新された前記アクセスに基づいて前記第2のサービスへのアクセスを修正する、請求項42または43に記載の非一時的なコンピュータ読取可能媒体。
The instructions are further executed by the processor;
Updating access to the first service based on a request from the customer;
44. The non-transitory computer readable medium of claim 42 or 43, wherein the non-transitory computer readable medium modifies access to the second service based on the updated access to the first service.
前記第1のクローンサブスクリプションは、第2のサービスへのアクセスを提供し、前記一組の規則は、前記第1のサービスのクローンとしての前記第2のサービスの使用を示す、請求項41に記載の非一時的なコンピュータ読取可能媒体。   43. The first clone subscription provides access to a second service, and the set of rules indicates use of the second service as a clone of the first service. A non-transitory computer readable medium as described. 前記一組の規則は、前記第2のサービスへのアクセスの期間を示す、請求項45に記載の非一時的なコンピュータ読取可能媒体。   46. The non-transitory computer readable medium of claim 45, wherein the set of rules indicates a period of access to the second service. 前記一組の規則は、前記第2のサービスへのアクセスが許可されたユーザの数を示し、前記第2のサービスへのアクセスが許可されたユーザの数は、前記第1のサービスへのアクセスが許可されたユーザの数と異なる、請求項45に記載の非一時的なコンピュータ読取可能媒体。   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 defined as the number of users authorized to access the second service. 46. The non-transitory computer readable medium of claim 45, wherein is different from the number of authorized users. 前記一組の規則は前記第2のサービスのコンフィギュレーションを示し、前記第2のサービスの前記コンフィギュレーションは前記第1のサービスのコンフィギュレーションと異なる、請求項45に記載の非一時的なコンピュータ読取可能媒体。   46. The non-transitory computer readable medium of claim 45, wherein the set of rules indicates a configuration of the second service, and the configuration of the second service is different from a configuration of the first service. Possible medium. 前記サブスクリプションを管理することは、前記第1のサービスの変更に応じて、前記サブスクリプションによる前記要求されたサービスへのアクセスを決定することを含み、前記要求されたサービスへのアクセスは、前記一組の規則を用いて決定される、請求項41に記載の非一時的なコンピュータ読取可能媒体。   Managing the subscription includes determining access to the requested service by the subscription in response to a change in the first service, wherein the access to the requested service is the 42. The non-transitory computer readable medium of claim 41, determined using a set of rules. 前記サブスクリプションの種類が再使用可能なサブスクリプションであるとき、前記サブスクリプションを前記第1の顧客に提供することは、
前記サービスインフラストラクチャシステム内のサービスプールにおいて前記第1のサービスがプロビジョニングされていると判断することと、
前記第1のサービスのための第1のサブスクリプションを前記サービスのためのサブスクリプションとして前記顧客に割当てることとを含み、前記第1のサブスクリプションを割当てることは、前記第1のサービスを前記サービスプールから前記顧客に割当てることを含み、前記第1のサービスを前記顧客に割当てることは、前記第1のサービスを前記サービスプールから削除することを含み、
特定顧客向けデータを、前記第1のサービスに対応する特定サービス向けデータに対応付けることを含み、前記特定顧客向けデータは、前記第1のサービスの前記顧客に対応付けられ、前記第1の顧客に対応付けられた前記特定顧客向けデータは、前記顧客による前記第1のサービスの使用に関連するデータを含む、請求項39〜49のいずれか一項に記載の非一時的なコンピュータ読取可能媒体。
Providing the subscription to the first customer when the subscription type is a reusable subscription;
Determining that the first service is provisioned in a service pool in the service infrastructure system;
Assigning the first subscription for the first service to the customer as a subscription for the service, wherein assigning the first subscription comprises assigning the first service to the service Allocating to the customer from a pool, allocating the first service to the customer includes deleting the first service from the service pool;
Including associating specific customer data with specific service data corresponding to the first service, wherein the specific customer data is associated with the customer of the first service, 50. The non-transitory computer readable medium according to any one of claims 39 to 49, wherein the associated customer specific data includes data relating to use of the first service by the customer.
前記サービスにアクセスするための前記サブスクリプションを管理することは、前記サブスクリプションが終了したときに前記第1のサービスを前記顧客から前記サービスプールに割当てることを含み、前記第1のサービスを割当てることは、前記特定顧客向けデータと、前記第1のサービスに対応する特定サービス向けデータとの対応関係を解除することを含み、前記第1のサービスは、前記サービスプールから1以上の他の顧客に再度割当て可能である、請求項50に記載の非一時的なコンピュータ読取可能媒体。   Managing the subscription to access the service includes allocating the first service from the customer to the service pool when the subscription is terminated, and allocating the first service. Includes releasing the correspondence between the data for the specific customer and the data for the specific service corresponding to the first service, and the first service is sent to the one or more other customers from the service pool. 51. The non-transitory computer readable medium of claim 50, wherein the non-transitory computer readable medium is reassignable. 前記命令がさらに前記プロセッサによって実行されることにより、
前記複数のサービスのうちの第2のサービスへのアクセスの、第2の顧客による要求を受け、
前記第2のサービスが前記第1のサービスに類似しているという判断に基づいて、前記サービスプールにおいて前記第2のサービスが利用可能であると判断し、
前記サービスプール内の前記第1のサブスクリプションを前記第2の顧客に割当て、前記第1のサブスクリプションを前記第2の顧客に割当てることは、前記第1のサブスクリプションを前記サービスプールから削除することを含み、
前記第2の顧客に対応する特定顧客向けデータを、前記第1のサービスに対応する特定サービス向けデータに対応付け、
前記複数のサービスのうちの各サービスは特定サービス向けデータに対応付けられ、サービスに対応する前記特定サービス向けデータは、前記サービスのコンフィギュレーションを示し、前記コンフィギュレーションは、前記サービスを提供するために割当てられた1つ以上のリソースを含む、請求項51に記載の非一時的なコンピュータ読取可能媒体。
The instructions are further executed by the processor;
Receiving a request by a second customer to access a second service of the plurality of services;
Determining that the second service is available in the service pool based on a determination that the second service is similar to the first service;
Assigning the first subscription in the service pool to the second customer and assigning the first subscription to the second customer removes the first subscription from the service pool. Including
Associating data for a specific customer corresponding to the second customer with data for a specific service corresponding to the first service;
Each service of the plurality of services is associated with data for a specific service, the data for the specific service corresponding to the service indicates a configuration of the service, and the configuration is for providing the service. 52. The non-transitory computer readable medium of claim 51, comprising one or more allocated resources.
前記サービスを提供することは、前記第1の顧客による要求を受ける前に、前記クラウドインフラストラクチャシステムにおいてサービスをプロビジョニングすることを含み、前記サービスは、前記サービスインフラストラクチャシステムのオペレーションに対応付けられた1つ以上のメトリックに基づいてプロビジョニングされる、請求項52のいずれか一項に記載の非一時的なコンピュータ読取可能媒体。   Providing the service includes provisioning a service in the cloud infrastructure system prior to receiving a request by the first customer, the service associated with an operation of the service infrastructure system. 53. A non-transitory computer readable medium according to any one of claims 52, provisioned based on one or more metrics.
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 2015-02-17
US14/624,356 2015-02-17
PCT/US2015/016214 WO2015191119A1 (en) 2014-06-11 2015-02-17 Providing a subscription for a service using an existing subscription
US14/624,364 US20150363724A1 (en) 2012-09-07 2015-02-17 Reusable anonymous subscription
US14/624,356 US10148530B2 (en) 2012-09-07 2015-02-17 Rule based subscription cloning

Publications (3)

Publication Number Publication Date
JP2017526038A true JP2017526038A (en) 2017-09-07
JP2017526038A5 JP2017526038A5 (en) 2018-03-15
JP6541694B2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113141387A (en) * 2020-01-19 2021-07-20 中国石油天然气股份有限公司 Service subscription method, device and system

Families Citing this family (8)

* 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
CN113419946B (en) * 2021-05-31 2023-03-28 西南电子技术研究所(中国电子科技集团公司第十研究所) Ice interface test case and test script automatic generation method

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100114618A1 (en) * 2008-10-30 2010-05-06 Hewlett-Packard Development Company, L.P. Management of Variants of Model of Service
US20120041844A1 (en) * 2010-08-12 2012-02-16 Vmware, Inc. Elastic licensing of software in a cloud environment
JP2012039053A (en) * 2010-07-14 2012-02-23 Denki Kagaku Kogyo Kk Multilayer adhesive sheet and method of manufacturing electronic component
WO2012070993A1 (en) * 2010-11-25 2012-05-31 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for enabling service delivery in a telecommunications network
US20130227144A1 (en) * 2010-09-24 2013-08-29 Hitachi, Ltd. Operation managing method for computer system, computer system and computer-readable storage medium having program thereon
WO2014039918A1 (en) * 2012-09-07 2014-03-13 Oracle International Corporation Ldap-based multi-customer in-cloud identity management system
US20140074540A1 (en) * 2012-09-07 2014-03-13 Oracle International Corporation Role assignments in a cloud infrastructure

Family Cites Families (4)

* 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
US9043445B2 (en) * 2010-09-22 2015-05-26 International Business Machines Corporation Linking instances within a cloud computing environment
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100114618A1 (en) * 2008-10-30 2010-05-06 Hewlett-Packard Development Company, L.P. Management of Variants of Model of Service
JP2012039053A (en) * 2010-07-14 2012-02-23 Denki Kagaku Kogyo Kk Multilayer adhesive sheet and method of manufacturing electronic component
US20120041844A1 (en) * 2010-08-12 2012-02-16 Vmware, Inc. Elastic licensing of software in a cloud environment
US20130227144A1 (en) * 2010-09-24 2013-08-29 Hitachi, Ltd. Operation managing method for computer system, computer system and computer-readable storage medium having program thereon
WO2012070993A1 (en) * 2010-11-25 2012-05-31 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for enabling service delivery in a telecommunications network
WO2014039918A1 (en) * 2012-09-07 2014-03-13 Oracle International Corporation Ldap-based multi-customer in-cloud identity management system
US20140074540A1 (en) * 2012-09-07 2014-03-13 Oracle International Corporation Role assignments in a cloud infrastructure

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SENGUPUTA, SUBHADEEP, DELIVERING DATABASE AS A SERVICE (DBAAS) USING ORACLE ENTERPRISE MANAGER 12C, ORACLE WHITE PAPERS, JPN6018048560, March 2013 (2013-03-01), pages Whole Document *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113141387A (en) * 2020-01-19 2021-07-20 中国石油天然气股份有限公司 Service subscription method, device and system
CN113141387B (en) * 2020-01-19 2023-05-26 中国石油天然气股份有限公司 Service subscription method, device and system

Also Published As

Publication number Publication date
CN106462891A (en) 2017-02-22
CN106462891B (en) 2020-08-04
JP6541694B2 (en) 2019-07-10

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
JP6605019B2 (en) Policy-based resource management and allocation system
JP6541694B2 (en) Providing subscriptions for services using existing subscriptions
US10164901B2 (en) Intelligent data center selection
US9467355B2 (en) Service association model
JP6181185B2 (en) LDAP-based multi-customer in-cloud identity management system
US9838370B2 (en) Business attribute driven sizing algorithms
JP2017529593A (en) Placement policy-based allocation of computing resources
US10182107B2 (en) Multi-tenant application using hierarchical bean factory container
US20140074659A1 (en) Ramped ordering for cloud services
JP2019522846A (en) Resource allocation for database provisioning
US10521746B2 (en) Recovery workflow for processing subscription orders in a computing infrastructure system
JP2023511113A (en) Techniques for deploying infrastructure resources using declarative provisioning tools
WO2016022925A2 (en) Policy based resource management and allocation system
JP2023511117A (en) Updating code in a distributed version control system
JP2023511111A (en) Techniques for Detecting Drift in Deployment Orchestrators
EP4085331A1 (en) Autonomous terraforming on cloud infrastructures
EP4094148A1 (en) User interface techniques for an infrastructure orchestration service

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