利用现有订阅为服务提供订阅的制作方法

文档序号:12288238阅读:195来源:国知局
利用现有订阅为服务提供订阅的制作方法与工艺

本申请涉及以下申请,其全部内容通过引用被结合于此,用于所有目的:

(1)于2012年9月7日提交的标题为“Tenant Automation System”的美国临时申请No.61/698,413;

(2)于2012年9月7日提交的标题为“Service Development Infrastructure”的美国临时申请No.61/698,459;

(3)于2013年3月14日提交的标题为“Cloud Infrastructure”的美国临时申请No.61/785,299;

(4)于2013年3月15日提交的标题为“Cloud Infrastructure”的美国临时申请No.61/794,427;

(5)于2013年3月15日提交的标题为“Service Association Model”的美国临时申请No.61/799,461。

本申请通过引用将于2012年9月7日提交的标题为“Shared Identity Management Architecture”的美国临时申请No.61/698,463的全部内容结合于此,用于所有目的。

本申请要求于2015年2月17日提交的标题为“REUSABLE ANONYMOUS SUBSCRIPTION”的美国非临时申请No.14/624,364的优先权和权益,其中该美国非临时申请要求于2014年6月11日提交的标题为“REUSABLE ANONYMOUS SUBSCRIPTION”的美国临时申请No.62/010,617的优先权和权益。

本申请要求于2015年2月17日提交的标题为“RULE BASED SUBSCRIPTION CLONING”的美国非临时申请No.14/624,356的优先权和权益,其中该美国非临时申请要求于2014年6月12日提交的标题为“RULE BASED SUBSCRIPTION CLONING”的美国临时申请No.62/011,400的优先权和权益。

上述非临时和临时专利申请的全部内容通过引用被结合于此,用于所有目的。



背景技术:

本公开内容涉及计算机系统和软件,并且更具体地,涉及用于促进和自动化云环境中的服务的供应的技术。

云计算是用于实现对可配置计算资源(例如,网络、服务器、存储、应用和服务)的共享池的方便、按需的网络访问的模型。通过云(或网络)提供或访问的服务被称为云服务。云服务提供商需要执行许多处理以使云服务对订阅客户可用。由于其复杂性,大部分这种处理仍然是手动完成。例如,为提供这种云服务的资源供应会是非常劳动密集的过程。

客户和企业期望订购和开始使用基于计算机网络云的服务是无缝的。但是,许多云服务难以启动,需要供应可能被共享的资源。例如,服务器场中的服务器可能为许多客户同时运行云服务,并且添加另一个客户可能需要围绕资源进行转移。不同的用户可能希望采用不同的服务。例如,一些用户可能只想要云上的原始存储,而其他用户可能想要使用复杂的数据库存储。还有一些其他用户可能想要使用在云上运行的图形用户界面(GUI)软件应用,用于其员工或客户。

在一些情况下,企业想利用现有的计算环境(例如,生产系统)来尝试新的特征或构件。但是,这些企业可能无法使用现有的计算环境来实现单独的环境来测试新特征。这可能导致企业花费资源来实现涉及附加配置和计算资源的单独环境。此外,附加系统的实现会涉及与服务提供商建立协议以寻求更多计算资源的管理规程。创建附加的计算环境对于一些企业来说可能是成本高昂并且耗时的。

一些企业想尝试基于云的服务来确定其是否适合他们的需要。但是,企业可能不情愿测试服务,因为在对服务的访问可通过订阅被启用之前,为那个服务建立常规订阅可能涉及包括配置资源的附加的繁重过程。如果购买常规订阅,则附加过程会对企业对服务的进一步使用造成延迟。另外,在服务已被测试之后,在服务测试期间创建的客户数据在常规订阅下不会被保留用于服务的后续使用。企业可能负担花费时间和金钱来实现在测试服务时使用的环境,以基于常规订阅重新生成客户数据用于后续使用。这些挑战不能向一些企业提供在购买对服务的订阅之前尝试服务的灵活性。云服务的提供商会失去获得附加客户的机会,这些客户在订阅服务之前不愿意尝试服务。每当不同的企业希望尝试服务时,提供商可能会负担为服务重新供应资源的任务。客户和服务提供商将受益于减少用于供应资源以启用服务的时间和保留与那些服务的使用相关的客户数据的技术。

本领域存在对更快、更便宜和更容易使用的、基于云的计算机系统的需要。



技术实现要素:

一般而言,本公开内容的各方面涉及用于利用已经由云基础设施系统供应的现有服务向用户提供对服务的访问的技术。更具体而言,可以基于现有订阅向用户提供访问服务的订阅。服务类型的例子包括但不限于,软件即服务(SaaS)类别、平台即服务(PaaS)类别、基础设施即服务(IaaS)类别、或包括混合服务的其它类别的服务。

云基础设施系统可以利用本文描述的各种技术基于现有服务来向用户提供对服务的访问。这种技术可以减少为所请求服务供应资源的处理时间,从而提高向客户提供对服务的访问的处理效率。云基础设施系统可以基于来自用户的请求确定服务类型,并且可以利用针对现有服务确定的供应提供使得能够访问那个服务的订阅。

在一些实施例中,云基础设施系统可以通过基于对由云基础设施系统提供的对现有服务的现有订阅(例如,基本订阅)创建订阅(例如,“克隆订阅”)来向用户提供服务。克隆订阅基于现有服务向用户提供对服务的访问。可以基于基本订阅创建多个克隆订阅,其中每个克隆订阅提供基于基本订阅的现有服务的对服务的订阅。克隆订阅可以与从其创建克隆订阅的订阅相关联。当克隆订阅与从其创建克隆订阅的订阅相关联时,订阅和克隆订阅的生命周期可以彼此相关联。

在至少一个说明性例子中,对由克隆订阅提供的服务的访问可以被提供,以支持用于由用户所指示的一种使用类型的附加环境。由附加环境所支持的使用类型可以与对应于根据其建立克隆订阅的现有订阅的使用类型不同。例如,用户可以请求由基本订阅提供的生产环境的克隆订阅,以建立基于生产环境(例如,的克隆)的测试环境。可以请求用于克隆订阅的测试环境,使得在将新特征部署到其生产环境之前可以在克隆环境中测试新特征。

在一些实施例中,云基础设施系统可以实现使由云基础设施系统供应的服务能够由不同用户匿名重用的技术。系统可以配置被称为“可重用匿名订阅”(RAS)的订阅,其可以在获得对服务的常规订阅之前向用户提供对由系统提供的服务的访问。能够由RAS访问的服务可能已经被供应。云基础设施系统可以配置一个或多个RAS池,每个RAS向预先供应的服务提供可重用的订阅。在用户请求服务时,可以从池中向用户分配用于该服务的RAS,以访问该服务。

当用户决定不将RAS转换为常规订阅时,RAS被返还到池,以便重用为那个RAS供应的服务。当RAS被返还到池时,为RAS供应的服务将保持被供应,从而最小化为服务供应新资源的时间以及最大化资源使用。如果先前用户没有将RAS转换为常规订阅,则RAS可以被重新分配给另一个用户。

当用户决定将RAS转换为常规订阅时,RAS可以不被返还到池。可以利用轻量级转换过程将RAS转换为常规订阅。由于由RAS提供的服务已经被供应,因此转换过程会是轻量级的,使得该服务不需要被再次供应。转换过程可以建立被分配用于使用已经为RAS供应的服务的常规订阅的帐户。在一些实施例中,在使用由RAS提供的服务期间生成的特定于客户的数据可以与和服务相关的特定于服务的数据分离。当RAS被转换为常规订阅时,特定于客户的数据可以被保留并且与常规订阅相关联。这样,提供有常规订阅的用户可以继续利用在通过RAS使用服务期间创建的现有特定于客户的数据使用该服务。

至少一种实施例,公开了用于利用已经由云基础设施系统供应的现有服务向用户提供对服务的访问的技术。一种技术是可以由计算系统实现的方法。计算系统可以被包括在服务基础设施系统中。服务基础设施系统可以由云基础设施系统实现。服务基础设施系统可以包括多租户环境。该方法可以包括在服务基础设施系统中提供多个服务。服务可以包括服务、客户关系管理(CRM)服务、或人力资本管理(HCM)服务。这些服务中的每个服务可以与特定于服务的数据相关联。与服务对应的特定于服务的数据可以指示用于该服务的配置,并且配置可以包括被分配以提供该服务的一个或多个资源。该方法可以包括在服务基础设施系统中提供多个服务。该方法可以包括接收第一客户对由服务基础设施系统提供的服务的访问的请求。该方法可以包括基于由第一客户请求的服务确定订阅类型。订阅类型可以是克隆订阅或可重用订阅之一。该方法可以包括向第一客户提供访问服务的订阅。订阅可以基于订阅类型来提供,并且可以利用多个服务中的第一服务来提供。该方法可以包括管理提供给第一客户的订阅。

在一些实施例中,第一客户的请求可以指示客户对服务的使用类型,并且订阅类型可以基于由请求所指示的使用类型来确定。

在一些实施例中,当订阅类型是克隆订阅时,向第一客户提供订阅包括:基于对第一服务的第一订阅建立第一克隆订阅,其中第一克隆订阅作为给第一客户的订阅被提供;以及基于一组规则将第一克隆订阅与第一订阅相关联。

在一些实施例中,当订阅类型是克隆订阅时,将第一克隆订阅与第一订阅相关联可以包括将第一克隆订阅的生命周期与第一订阅的生命周期相关联。克隆订阅可以提供对第二服务的访问,并且当客户对第一服务的访问被终止时,客户对第二服务的访问可以被终止。当订阅类型是克隆订阅时,该方法还可以包括基于来自客户的请求更新对第一服务的访问,以及基于更新的对第一服务的访问修改对第二服务的访问。

在一些实施例中,当订阅类型是克隆订阅时,第一克隆订阅可以提供对第二服务的访问,并且所述一组规则可以指示将第二服务用作第一服务的克隆。该组规则可以指示对第二服务的访问的持续时间。该组规则可以指示被允许访问第二服务的用户的计数,并且被允许访问第二服务的用户的计数可以与被允许访问第一服务的用户的计数不同。该组规则可以指示第二服务的配置,并且第二服务的配置可以与第一服务的配置不同。

在一些实施例中,当订阅类型是克隆订阅时,管理订阅可以包括响应于第一服务的改变来确定订阅对所请求服务的访问。可以利用该组规则来确定对所请求服务的访问。

在一些实施例中,当订阅类型是可重用订阅时,向第一客户提供订阅包括:确定第一服务已在服务基础设施系统中的服务池中被供应;当确定在服务池中还没有供应第一服务用于订阅时,在服务池中供应第一服务用于第一订阅;以及将对第一服务的第一订阅分配给客户作为对服务的订阅。分配第一订阅可以包括从服务池中向客户分配第一服务,并且向客户分配第一服务可以包括从服务池中去除第一服务。

在一些实施例中,当订阅类型是可重用订阅时,该方法可以包括将特定于客户的数据与对应于第一服务的特定于服务的数据相关联,其中特定于客户的数据与第一服务的客户相关联。与第一客户相关联的特定于客户的数据可以包括与客户对第一服务的使用相关的数据。当订阅类型是可重用订阅时,管理访问服务的订阅可以包括当订阅已终止时将第一服务从客户分配给服务池。分配第一服务可以包括去除特定于客户的数据和对应于第一服务的特定于服务的数据之间的关联,其中第一服务可以从服务池重新分配给一个或多个附加客户。在一些实施例中,当订阅类型是可重用订阅时,该方法可以包括:接收第二客户访问多个服务中的第二服务的请求;基于确定第二服务类似于第一服务,确定第二服务在服务池中可用;将服务池中的第一订阅分配给第二客户,其中将第一订阅分配给第二客户包括从服务池中去除第一订阅;以及将对应于第二客户的特定于客户的数据与对应于第一服务的特定于服务的数据相关联。

在一些实施例中,提供服务可以包括在接收第一客户的请求之前在云基础设施系统中供应服务。服务可以基于与服务基础设施系统的操作相关联的一个或多个度量来供应。提供服务可以包括在接收第一客户的请求之前供应服务。服务可以基于与对服务的需求相关联的一个或多个度量来提供。服务可以基于与服务类型相关联的一个或多个度量来提供。

至少一种实施例,公开了用于利用已经由云基础设施系统供应的现有服务向用户提供对服务的访问的技术。一种技术是包括至少一个处理器和与该至少一个处理器可操作地耦合的存储器的系统。该系统可以被包括在服务基础设施系统中。服务基础设施系统可以由云基础设施系统实现。服务基础设施系统可以包括多租户环境。存储器可以存储计算机代码。计算机代码可以由系统的所述至少一个处理器执行,用于在服务基础设施系统中提供多个服务。服务可以包括服务、客户关系管理(CRM)服务、或人力资本管理(HCM)服务。这些服务中的每个服务可以与特定于服务的数据相关联。与服务对应的特定于服务的数据可以指示用于该服务的配置,并且配置可以包括被分配以提供服务的一个或多个资源。

所述至少一个处理器执行存储在存储器中的计算机代码,用于接收第一客户对由服务基础设施系统提供的服务的访问的请求。所述至少一个处理器执行存储在存储器中的计算机代码,用于基于由第一客户请求的服务确定订阅类型。订阅类型可以是克隆订阅或可重用订阅之一。所述至少一个处理器执行存储在存储器中的计算机代码,用于向第一客户提供访问服务的订阅。订阅可以基于订阅类型来提供,并且可以使用多个服务中的第一服务来提供。所述至少一个处理器执行存储在存储器中的计算机代码,用于管理提供给第一客户的订阅。

在一些实施例中,第一客户的请求可以指示客户对服务的使用类型,并且订阅类型可以基于请求所指示的使用类型来确定。

在一些实施例中,当订阅类型是克隆订阅时,向第一客户提供订阅包括:基于对第一服务的第一订阅建立第一克隆订阅,其中第一克隆订阅作为给第一客户的订阅被提供;以及基于一组规则将第一克隆订阅与第一订阅相关联。

在一些实施例中,当订阅类型是克隆订阅时,将第一克隆订阅与第一订阅相关联可以包括将第一克隆订阅的生命周期与第一订阅的生命周期相关联。克隆订阅可以提供对第二服务的访问,并且当客户对第一服务的访问被终止时,客户对第二服务的访问可以被终止。当订阅类型是克隆订阅时,所述至少一个处理器执行存储在存储器中的计算机代码,用于基于来自客户的请求更新对第一服务的访问,以及基于更新的对第一服务的访问修改对第二服务的访问。

在一些实施例中,当订阅类型是克隆订阅时,第一克隆订阅可以提供对第二服务的访问,并且所述一组规则可以指示将第二服务用作第一服务的克隆。该组规则可以指示对第二服务的访问的持续时间。该组规则可以指示被允许访问第二服务的用户的计数,并且被允许访问第二服务的用户的计数可以与被允许访问第一服务的用户的计数不同。该组规则可以指示第二服务的配置,并且第二服务的配置可以与第一服务的配置不同。

在一些实施例中,当订阅类型是克隆订阅时,管理订阅可以包括响应于第一服务的改变来确定订阅对所请求服务的访问。可以利用该组规则来确定对所请求服务的访问。

在一些实施例中,当订阅类型是可重用订阅时,向第一客户提供订阅包括:确定第一服务已在服务基础设施系统中的服务池中被供应;当确定在服务池中还没有供应第一服务用于订阅时,在服务池中供应第一服务用于第一订阅;以及将对第一服务的第一订阅分配给客户作为对服务的订阅。分配第一订阅可以包括从服务池向客户分配第一服务,并且向客户分配第一服务可以包括从服务池中去除第一服务。

在一些实施例中,当订阅类型是可重用订阅时,所述至少一个处理器执行存储在存储器中的计算机代码,用于将特定于客户的数据与对应于第一服务的特定于服务的数据相关联,其中特定于客户的数据与第一服务的客户相关联。与第一客户相关联的特定于客户的数据可以包括与客户对第一服务的使用相关的数据。当订阅类型是可重用订阅时,管理访问服务的订阅可以包括当订阅已终止时将第一服务从客户分配给服务池。分配第一服务可以包括去除特定于客户的数据和对应于第一服务的特定于服务的数据之间的关联,其中第一服务可以从服务池重新分配给一个或多个附加客户。在一些实施例中,当订阅类型是可重用订阅时,所述至少一个处理器执行存储在存储器中的计算机代码,用于:接收第二客户访问多个服务中的第二服务的请求;基于确定第二服务类似于第一服务,确定第二服务在服务池中可用;将服务池中的第一订阅分配给第二客户,其中将第一订阅分配给第二客户包括从服务池中去除第一订阅;以及将对应于第二客户的特定于客户的数据与对应于第一服务的特定于服务的数据相关联。

在一些实施例中,提供服务可以包括在接收第一客户的请求之前在云基础设施系统中供应服务。服务可以基于与服务基础设施系统的操作相关联的一个或多个度量来供应。提供服务可以包括在接收第一客户的请求之前供应服务。服务可以基于与对服务的需求相关联的一个或多个度量来提供。服务可以基于与服务类型相关联的一个或多个度量来提供。

至少一种实施例,公开了用于利用已经由云基础设施系统供应的现有服务向用户提供对服务的访问的技术。一种技术是存储能够由计算机系统的处理器执行的指令的非瞬时性计算机可读介质。非瞬时性计算机可读介质可以被包括在服务基础设施系统中。服务基础设施系统可以由云基础设施系统实现。服务基础设施系统可以包括多租户环境。由非瞬时性计算机可读介质存储的指令能够由处理器执行,用于在服务基础设施系统中提供多个服务。服务可以包括服务、客户关系管理(CRM)服务、或人力资本管理(HCM)服务。这些服务中的每个服务可以与特定于服务的数据相关联。与服务对应的特定于服务的数据可以指示用于该服务的配置,并且配置可以包括被分配以提供服务的一个或多个资源。

由非瞬时性计算机可读介质存储的指令能够由处理器执行,用于接收第一客户对由服务基础设施系统提供的服务的访问的请求。由非瞬时性计算机可读介质存储的指令能够由处理器执行,用于基于由第一客户请求的服务确定订阅类型。订阅类型可以是克隆订阅或可重用订阅之一。由非瞬时性计算机可读介质存储的指令能够由处理器执行,用于向第一客户提供访问服务的订阅。订阅可以基于订阅类型来提供,并且可以使用多个服务中的第一服务来提供。由非瞬时性计算机可读介质存储的指令能够由处理器执行,用于管理提供给第一客户的订阅。

在一些实施例中,第一客户的请求可以指示客户对服务的使用类型,并且订阅类型可以基于请求所指示的使用类型来确定。

在一些实施例中,当订阅类型是克隆订阅时,向第一客户提供订阅包括:基于对第一服务的第一订阅建立第一克隆订阅,其中第一克隆订阅作为订阅被提供给第一客户;以及基于一组规则将第一克隆订阅与第一订阅相关联。

在一些实施例中,当订阅类型是克隆订阅时,将第一克隆订阅与第一订阅相关联可以包括将第一克隆订阅的生命周期与第一订阅的生命周期相关联。克隆订阅可以提供对第二服务的访问,并且当客户对第一服务的访问被终止时,客户对第二服务的访问可以被终止。当订阅类型是克隆订阅时,由非瞬时性计算机可读介质存储的指令能够由处理器执行,用于基于来自客户的请求更新对第一服务的访问,以及基于更新的对第一服务的访问修改对第二服务的访问。

在一些实施例中,当订阅类型是克隆订阅时,第一克隆订阅可以提供对第二服务的访问,并且所述一组规则可以指示使用第二服务作为第一服务的克隆。该组规则可以指示对第二服务的访问的持续时间。该组规则可以指示被允许访问第二服务的用户的计数,并且被允许访问第二服务的用户的计数可以与被允许访问第一服务的用户的计数不同。该组规则可以指示第二服务的配置,并且第二服务的配置可以与第一服务的配置不同。

在一些实施例中,当订阅类型是克隆订阅时,管理订阅可以包括响应于第一服务的改变来确定订阅对所请求服务的访问。可以利用该组规则来确定对所请求服务的访问。

在一些实施例中,当订阅类型是可重用订阅时,向第一客户提供订阅包括:确定第一服务已在服务基础设施系统中的服务池中被供应;当确定在服务池中还没有供应第一服务用于订阅时,在服务池中供应第一服务用于第一订阅;以及将对第一服务的第一订阅分配给客户作为对服务的订阅。分配第一订阅可以包括从服务池向客户分配第一服务,并且向客户分配第一服务可以包括从服务池中去除第一服务。

在一些实施例中,当订阅类型是可重用订阅时,由非瞬时性计算机可读介质存储的指令能够由处理器执行,用于将特定于客户的数据与对应于第一服务的特定于服务的数据相关联,其中特定于客户的数据与第一服务的客户相关联。与第一客户相关联的特定于客户的数据可以包括与客户对第一服务的使用相关的数据。当订阅类型是可重用订阅时,管理访问服务的订阅可以包括当订阅已终止时将第一服务从客户分配给服务池。分配第一服务可以包括去除特定于客户的数据和对应于第一服务的特定于服务的数据之间的关联,其中第一服务可以从服务池重新分配给一个或多个附加客户。在一些实施例中,当订阅类型是可重用订阅时,由非瞬时性计算机可读介质存储的指令能够由处理器执行,用于:接收第二客户访问多个服务中的第二服务的请求;基于确定第二服务类似于第一服务,确定第二服务在服务池中可用;将服务池中的第一订阅分配给第二客户,其中将第一订阅分配给第二客户包括从服务池中去除第一订阅;以及将对应于第二客户的特定于客户的数据与对应于第一服务的特定于服务的数据相关联。

在一些实施例中,提供服务可以包括在接收第一客户的请求之前在云基础设施系统中供应服务。服务可以基于与服务基础设施系统的操作相关联的一个或多个度量来提供。提供服务可以包括在接收第一客户的请求之前供应服务。服务可以基于与对服务的需求相关联的一个或多个度量来提供。服务可以基于与服务类型相关联的一个或多个度量来提供。

还有的其它实施例涉及采用或存储指令和/或代码来执行操作以实现本文所描述的技术的系统和机器可读有形存储介质。

本发明内容不旨在识别所要求保护主题的关键或必要特征,也不旨在被单独用于确定所要求保护主题的范围。应当通过参考本专利的整个说明书的适当部分、任何或全部附图以及每项权利要求来理解主题。

以下具体实施方式连同附图将提供对本发明的性质和优点的更好理解。

附图说明

下面参考以下附图详细描述本发明的说明性实施例:

图1A是根据本发明的一种实施例的云基础设施系统的逻辑视图。

图1B是根据本发明实施例的可用于实现云基础设施系统的硬件/软件栈的简化框图。

图2是用于实现图1所示的云基础设施系统的系统环境的简化框图。

图3A绘出了根据本发明实施例的、绘出可以由云基础设施系统中的TAS模块执行的处理的简化流程图300。

图3B绘出了根据本发明实施例的、云基础设施系统中的TAS模块中的一个或多个子模块的简化高层级图。

图4绘出了根据本发明实施例的TAS构件的示例性分布式部署。

图5是示出根据本发明实施例的、SDI模块与云基础设施系统中的一个或多个模块的交互的简化框图。

图6绘出了根据本发明实施例的SDI模块的子模块的简化高层级图。

图7A绘出了根据本发明实施例的、绘出可以由云基础设施系统中的SDI构件执行的处理的简化流程图。

图7B绘出了示出根据本发明实施例的、Nuviaq系统710的高层级体系架构及其与其它云基础设施构件的关系的简化框图。

图7C绘出了根据本发明实施例的、图示利用Nuviaq系统的供应过程的步骤的示例序列图。

图7D绘出了根据本发明实施例的、图示利用Nuviaq系统的部署过程的步骤的示例序列图。

图7E绘出了根据本发明实施例的、被供应用于数据库服务的数据库实例的例子。

图8A绘出了根据本发明的一些实施例的、用于提供可重用匿名订阅的系统环境的简化框图。

图8B绘出了根据本发明的一些实施例的、用于实现可重用匿名订阅的数据结构的例子。

图8C是根据各种实施例的、用于管理可重用匿名订阅的生命周期的过程的流程图。

图9A绘出了根据本发明的一些实施例的、用于提供克隆订阅的系统环境的简化框图。

图9B绘出了根据本发明的一些实施例的、用于订阅的数据结构的例子。

图9C绘出了根据各种实施例的、用于管理克隆订阅的示例规则。

图10是根据各种实施例的、用于管理克隆订阅的生命周期的过程的流程图。

图11是根据各种实施例的、用于订阅克隆的过程的流程图。

图12是根据各种实施例的、用于利用现有订阅来提供对服务的订阅的过程的流程图。

图13图示了根据本发明实施例的、提供租户环境涉及的各种交互的高层级概述。

图14绘出了用于实现实施例的分布式系统的简化图。

图15图示了可以用来实现本发明的实施例的示例性计算机系统。

图16图示了可以用来实现本发明的实施例的示例性服务基础设施系统。

具体实施方式

在以下描述中,为了说明的目的,阐述了具体细节以便提供对本发明的实施例的透彻理解。但是,显而易见,各种实施例可以在没有这些具体细节的情况下进行实践。附图和描述不旨在是限制性的。

本发明的某些实施例提供用于自动化供应、管理和跟踪由云基础设施系统提供的服务的技术。

介绍

在某些实施例中,云基础设施系统可以包括以自助服务、基于订阅、弹性可扩展的、可靠的,高度可用的和安全的方式交付给客户的应用、中间件和数据库服务供给的套件。这种云基础设施系统的例子是由本受让人提供的Oracle公共云。

云基础设施系统可以提供许多能力,包括但不限于,供应、管理和跟踪客户对云基础设施系统中的服务和资源的订阅、利用云基础设施系统中的服务向客户提供可预测的操作支出、在云基础设施系统中为客户的数据提供稳健的身份域分离和保护、为客户提供云基础设施系统的设计的透明的体系架构和控制、为客户提供有保障的数据保护并且符合数据隐私标准和规定、向客户提供用于在云基础设施系统中构建和部署服务的集成开发经验、以及向客户提供云基础设施系统中业务软件、中间件、数据库和基础设施服务之间的无缝集成。

在某些实施例中,由云基础设施系统提供的服务可以包括按需对云基础设施系统的用户可用的主机服务,诸如在线数据存储和备份解决方案、基于Web的电子邮件服务、托管的办公套件和文档协作服务、数据库处理、受管理的技术支持服务等。由云基础设施系统提供的服务可以动态扩展以满足其用户的需求。由云基础设施系统提供的服务的特定实例化在本文被称为服务实例。通常,经由诸如互联网的通信网络从云服务提供商的系统对用户可用的任何服务被称为云服务。通常,在公共云环境中,组成云服务提供商的系统的服务器和系统与客户自己的本地服务器和系统不同。例如,云服务提供商的系统可以托管应用并且用户可以经由诸如互联网的通信网络按需订购和使用该应用。

计算机网络云基础设施中的服务包括对存储装置、托管数据库、托管web服务器、软件应用或由云供应商向用户提供的其它服务的受保护的计算机网络访问,或者如以其它方式本领域已知的。例如,服务可以包括通过互联网对云上的远程存储装置的受密码保护的访问。作为另一个例子,服务可以包括用于由联网的开发人员私用的基于web服务的托管关系数据库和脚本语言中间件引擎。作为另一个例子,服务可以包括对在云供应商的网站上托管的电子邮件软件应用的访问。

图1A是根据本发明的一种实施例的云基础设施系统的逻辑视图。云基础设施系统100可以经由云或联网环境提供各种服务。这些服务可以包括根据软件即服务(SaaS)类别、平台即服务(PaaS)类别、基础设施即服务(IaaS)类别、或包括混合服务的其它服务类别提供的一个或多个服务。客户经由订阅订单可以订购由云基础设施系统100提供的一个或多个服务。云基础设施系统100然后执行处理,以提供客户的订阅订单中的服务。

云基础设施系统100可以经由不同的部署模型提供云服务。例如,服务可以根据公共云模型提供,其中公共云模型中,云基础设施系统100由销售云服务的组织拥有(例如,由Oracle拥有)并且服务对一般公众或不同工业企业可用。作为另一个例子,服务可以根据私有云模型提供,在私有云模型中,云基础设施系统100只为单个组织运营,并且可以为组织内的一个或多个实体提供服务。云服务也可以根据社区云模型提供,在社区云模型中,云基础设施系统100和由系统100提供的服务由相关社区中的若干组织共享。云服务也可以根据作为两个或更多个不同模型的组合的混合云模型提供。

如图1A所示,云基础设施系统100可以包括结合工作的多个构件,使得能够供应由云基础设施系统100提供的服务。在图1A所示的实施例中,云基础设施系统100包括SaaS平台102、PaaS平台104、IaaS平台110、基础设施资源106和云管理功能108。这些构件可以用硬件、软件或其组合来实现。

SaaS平台102被配置为提供落入SaaS类别的云服务。例如,SaaS平台102可以提供在集成开发和部署平台上构建和交付一组按需应用的能力。SaaS平台102可以管理和控制用于提供SaaS服务的底层软件和基础设施。通过利用由SaaS平台102提供的服务,客户可以利用在云基础设施系统100上执行的应用。客户可以获得应用服务,而无需客户购买单独的许可和支持。

可以提供各种不同的SaaS服务。例子包括但不限于提供用于销售业绩管理、大型组织的企业集成和业务灵活性等的解决方案的服务。在一种实施例中,SaaS服务可以包括客户关系管理(CRM)服务110(例如,由Oracle云提供的融合CRM服务)、人力资本管理(HCM)/人才管理服务112等。CRM服务110可以包括针对向客户报告和管理销售活动周期以及其它的服务。HCM/人才服务112可以包括针对向客户提供全球劳动力生命周期管理和人才管理服务的服务。

各种不同的PaaS服务可以由PaaS平台104在标准化、共享和弹性可扩展的应用开发和部署平台中提供。PaaS服务的例子可以包括但不限于使组织(诸如Oracle)能够在共享的公共体系架构上整合现有应用以及利用由平台提供的共享服务构建新应用的能力的服务。PaaS平台104可以管理和控制用于提供PaaS服务的底层软件和基础设施。客户可以获得由云基础设施系统100提供的PaaS服务,而无需客户购买单独的许可和支持。PaaS服务的例子包括但不限于Oracle Java云服务(JCS)、Oracle数据库云服务(DBCS)以及其它。

通过利用由PaaS平台104提供的服务,客户可以利用由云基础设施系统100支持的编程语言和工具并且还可以控制所部署的服务。在一些实施例中,由云基础设施系统100提供的PaaS服务可以包括数据库云服务114、中间件云服务(例如,Oracle融合中间件服务)116和Java云服务117。在一种实施例中,数据库云服务114可以支持共享服务部署模型,其使得组织能够汇集数据库资源并且以数据库云的形式向客户提供数据库即服务,中间件云服务116向客户提供开发和部署各种业务应用的平台并且Java云服务117在云基础设施系统100中向客户提供部署Java应用程序的平台。在图1A中所示的SaaS平台102和PaaS平台104中的构件仅用于说明性目的,并不旨在限制本发明的实施例的范围。在可替代的实施例中,SaaS平台102和PaaS平台104可以包括用于向云基础设施系统100的客户提供附加服务的附加构件。

可以由IaaS平台110提供各种不同的IaaS服务。IaaS服务便于诸如存储、网络和其它基础计算资源的底层计算资源的管理和控制,以便客户利用由SaaS平台和PaaS平台提供的服务。

在某些实施例中,云基础设施系统100包括用于提供资源的基础设施资源106,其中资源用来向云基础设施系统100的客户提供各种服务。在一种实施例中,基础设施资源106包括诸如服务器、存储装置和联网资源的硬件的预集成和优化组合,以执行由PaaS平台和SaaS平台提供的服务。

在某些实施例中,云管理功能108提供云基础设施系统100中云服务(例如,SaaS服务、PaaS服务、IaaS服务)的全面管理。在一种实施例中,云管理功能108包括供应、管理和跟踪由云基础设施系统100接收到的客户订阅等的能力。

图1B是根据本发明实施例的、可以用来实现云基础设施系统100的硬件/软件栈的简化框图。应当理解,图1B中绘出的实现方式可以具有除图1B中绘出的那些构件之外的其它构件。此外,图1B中示出的实施例只是可以结合本发明实施例的云基础设施系统的一个例子。在一些其它实施例中,云基础设施系统100可以具有比图1B中所示更多或更少的构件、可以合并两个或更多个构件、或者可以具有不同的构件配置或布置。在某些实施例中,硬件和软件构件被堆叠,以便提供提供最佳性能的垂直集成。

各种类型的用户可以与云基础设施系统100交互。这些用户可以包括例如可以利用诸如台式机、移动设备、平板电脑等各种客户端设备与云基础设施系统100交互的终端用户150。用户也可以包括可通过各种集成开发环境(IDE)以及经由其它应用利用命令行界面(CLI)、应用编程接口(API)与云基础设施系统100交互的开发人员/程序员152。用户也可以包括操作人员154。这些人员可以包括云服务提供商的人员或其他用户的人员。

应用服务层156识别可以由云基础设施系统100提供的各种云服务。这些服务可以经由服务集成和链接层158映射到相应的软件构件160(例如,用于提供Java服务的Oracle WebLogic服务器、用于提供数据库服务的oracle数据库等)或与其相关联。

在某些实施例中,可以提供由云基础设施系统100的不同构件或模块以及由云基础设施系统100提供的服务共享的多个内部服务162。这些内部共享服务可以包括但不限于:安全和身份服务、集成服务、企业储存库服务、企业管理器服务、病毒扫描和白名单服务、高可用性、备份和恢复服务、用于在IDE中启用云支持的服务、电子邮件服务、通知服务、文件传输服务等。

运行时基础设施层164表示在其上构建各种其它层和构件的硬件层。在某些实施例中,运行时基础设施层164可以包括用于提供存储、处理和联网资源的一个Oracle的Exadata机器。Exadata机器可以由各种数据库服务器、存储服务器、联网资源和用于托管云服务相关的软件层的其它构件组成。在某些实施例中,Exadata机器可以被设计成与Oracle Exalogic一起工作,其中Oracle Exalogic是提供存储、计算、网络和软件资源的集合(assemblage)的工程化系统。Exadata和Exalogic的组合提供了完整的硬件和软件工程化解决方案,该解决方案交付了用于提供云服务的高性能、高可用性、可扩展、安全和受管理的平台。

图2是根据本发明实施例的、用于实现图1A所示的云基础设施系统的系统环境的简化框图。在图示的实施例中,系统环境230包括可以被用户使用以与云基础设施系统100交互的一个或多个客户端计算设备224、226和228。客户端设备可以被配置为操作客户端应用,诸如web浏览器、专有客户端应用(例如,Oracle Forms)或一些其它应用,其可以被客户端设备的用户使用来与云基础设施系统100交互,以利用由云基础设施系统100提供的服务。

应当理解,图2中绘出的云基础设施系统100可以具有除在图2中绘出的那些构件之外的其它构件。此外,图2中示出的实施例只是可以结合本发明实施例的云基础设施系统的一个例子。在一些其它实施例中,云基础设施系统100可以具有比图2中所示更多或更少的构件、可以合并两个或更多个构件、或者可以具有不同的构件配置或布置。

客户端计算设备224、226和228可以是通用个人计算机(作为例子包括,运行各种版本的Microsoft Windows和/或Apple Macintosh操作系统的个人计算机和/或膝上型计算机)、蜂窝电话或PDA(运行诸如Microsoft Windows Mobile的软件并且启用互联网、电子邮件、SMS、黑莓或其它通信协议)、运行任何各种商用UNIX或类UNIX操作系统(包括但不限于各种GNU/Linux操作系统)的工作站计算机、或任何其它计算设备。例如,客户端计算设备224、226和228可以是能够经网络(例如,下面描述的网络232)通信的任何其它电子设备,诸如瘦客户端计算机、启用互联网的游戏系统和/或个人消息收发设备。虽然示例性系统环境230示出具有三个客户端计算设备,但是任何数量的客户端计算设备可以被支持。诸如具有传感器的设备等的其它设备可以与云基础设施系统100交互。

网络232可以促进客户端224、226和228与云基础设施系统100之间的数据的通信和交换。网络232可以是本领域技术人员熟悉的、可以利用包括但不限于TCP/IP、SNA、IPX、AppleTalk等的任何各种商用协议支持数据通信的任何类型的网络。仅仅作为例子,网络232可以是诸如以太网网络、令牌环网络等的局域网(LAN)、广域网、包括但不限于虚拟专用网络(VPN)的虚拟网络、互联网、内联网、外联网、公共交换电话网络(PSTN)、红外网络、无线网络(例如,根据IEEE 802.1X协议包中的任何一个操作的网络、本领域已知的蓝牙协议、和/或任何其它无线协议)、和/或这些和/或其它网络的任何组合。

云基础设施系统100可以包括一个或多个计算机和/或服务器,其可以是通用计算机、专用服务器计算机(作为例子,包括PC服务器、UNIX服务器、中档服务器、大型计算机、机架安装的服务器等)、服务器场、服务器集群或任何其它适当的布置和/或组合。组成云基础设施系统100的计算设备可以运行任何操作系统或各种附加服务器应用和/或中间层应用,包括HTTP服务器、FTP服务器、CGI服务器、Java服务器、数据库服务器等。示例性数据库服务器包括但不限于可从Oracle、Microsoft、Sybase、IBM等商业获得的那些。

在各种实施例中,云基础设施系统100可以适于自动供应、管理和跟踪客户对由云基础设施系统100提供的服务的订阅。在一种实施例中,如图2所绘出的,云基础设施系统100中的构件包括身份管理(IDM)模块200、服务模块202、租户自动化系统(TAS)模块204、服务部署基础设施(SDI)模块206、企业管理器(EM)模块208、诸如存储用户界面(UI)的一个或多个前端web界面210、云用户界面(UI)212、以及支持用户界面(UI)216、订单管理模块214、销售人员218、操作员人员220和订单数据库224。这些模块可以包括一个或多个计算机和/或服务器或者可以利用其来提供,其中计算机和/或服务器可以是通用计算机、专用服务器计算机、服务器场、服务器群集或任何其它适当的布置和/或组合。在一种实施例中,这些模块中的一个或多个可以由云基础设施系统100中的云管理功能108或IaaS平台110提供。图2中绘出的云基础设施系统100的各种模块仅用于说明性目的并且不旨在限制本发明的实施例的范围。可替代的实施例可以包括比图2所示的模块更多或更少的模块。

在示例性操作中,在(1)处,利用诸如客户端设备224或226的客户端设备的客户可以通过浏览由云基础设施系统100提供的各种服务并且发出用于对由云基础设施系统100提供的一个或多个服务的订阅的订单来与云基础设施系统100交互。在某些实施例中,客户可以访问商店UI 210或云UI 212,并且经由这些用户界面发出订阅订单。

响应于客户发出订单由云基础设施系统100接收到的订单信息可以包括识别客户和由云基础设施系统100提供的、客户想要订阅的一个或多个服务的信息。单个订单可以包括用于多个服务的订单。例如,客户可以登录到云UI 212并且在同一订单中请求对CRM服务和Java云服务的订阅。

此外,订单也可以包括用于订购的服务的一个或多个服务级别。如本文所使用的,并且如下面将更详细讨论的,用于服务的服务级别确定要被分配用于在订阅的上下文中提供所请求的服务的资源量,诸如存储量、计算资源量、数据传输设施等。例如,基本服务级别可以提供最低级别的存储、数据传输或用户数量,并且较高服务级别可以包括附加资源。

此外,在一些情况下,云基础设施系统100接收到的订单信息可以包括指示客户级别的信息以及期望服务的时间段。客户级别指定做出订阅请求的客户的优先级。在一个例子中,优先级可以基于如由客户和云服务的提供商之间协定的服务级别协议(SLA)所指定的云基础设施系统100保证或承诺客户的服务质量来确定。在一个例子中,不同客户级别包括基本级别、银级别和金级别。用于服务的时间段可以指定服务的开始日期和时间以及期望服务的时间段(例如,可以指定服务结束日期和时间)。

在一种实施例中,客户可以经由商店UI 210请求新订阅或经由云UI 212请求试用订阅。在某些实施例中,商店UI 210可以代表服务提供商的电子商务商店前端(例如,用于Oracle云服务的www.oracle.com/store)。云UI 212可以代表用于服务提供商的业务界面。客户可以浏览可用的服务并且通过云UI 212注册感兴趣的服务。云UI 212捕获订购由云基础设施系统100提供的试用订阅所需的用户输入。云UI 212也可以用来查看帐户特征和配置位于云基础设施系统100内的运行时环境。除了为新订阅发出订单之外,商店UI 210还可以使客户能够执行其它订阅相关的任务,诸如改变订阅的服务级别、延长订阅的期限、提高订阅的服务级别、终止现有订阅等。

在经(1)发出订单之后,在(2)处,经由商店UI 210或云UI212接收到的订单信息被存储在订单数据库224中,订单数据库224可以是由云基础设施系统100操作的若干数据库中的一个,并且可以与其它系统元件结合使用。虽然订单数据库224在图2中被逻辑地示为单个数据库,但是在实际实现中,这可以包括一个或多个数据库。

在(3)处,订单被转发到订单管理模块214。订单管理模块214被配置为执行与订单相关的计费和记账功能,诸如验证订单,并且在验证时,预订订单。在某些实施例中,订单管理模块214可以包括合同管理模块和安装基础模块。合同管理模块可以存储与客户的订阅订单相关联的合同信息,诸如客户与云基础设施系统100的服务级别协议(SLA)。安装基础模块可以包括客户订阅订单中的服务的详细描述。除了订单信息之外,安装基础模块可以跟踪与服务相关的安装细节、产品状态和与服务相关的支持服务历史。随着客户订购新服务或升级现有服务,安装基础模块可以自动添加新订单信息。

在(4)处,关于订单的信息被传送到TAS模块204。在一种实施例中,TAS模块204利用订单信息来为客户发出的订单编排服务和资源的供应。在(5)处,TAS构件204利用SDI模块206的服务来编排资源的供应以支持订阅的服务。在(6)处,TAS模块204向服务模块202提供与从SDI模块206接收到的供应订单相关的信息。在一些实施例中,在(7)处,SDI模块206也可以使用由服务模块202提供的服务来分配和配置履行客户订阅订单所需的资源。

在(8)处,服务模块202向客户端设备224、226和228上的客户发送关于订单状态的通知。

在某些实施例中,TAS模块204用作管理与每个订单相关联的业务过程并且应用业务逻辑来确定订单是否应该继续供应的编排构件。在一种实施例中,在接收到新订阅的订单时,TAS模块204向SDI模块206发送请求来分配资源和配置履行订阅订单所需的资源。SDI模块206使得能够为客户订购的服务分配资源。SDI模块206提供了在由云基础设施系统100提供的云服务和用于供应用于提供所请求服务的资源的物理实现层之间的抽象层。因此,TAS模块204可以与实现细节隔离,该实现细节诸如服务和资源是否实际上即时被供应或者预先被供应以及只在请求时被分配/指定。

在某些实施例中,用户可以使用商店UI 210与订单管理模块214直接交互,以执行与计费和记账相关的功能,诸如验证订单,并且在验证时,预订订单。在一些实施例中,不是客户发出订单,而是在(9)处,订单可以替代地由代表客户的销售人员218(诸如客户的服务代表或销售代表)发出。销售人员218可以经由订单管理模块214提供的、用于发出订单或用于为客户提供报价的用户界面(图2中未示出)与订单管理模块214直接交互。例如,这可以针对大客户来完成,其中订单可以由客户的销售代表通过订单管理模块214发出。销售代表可以代表客户设置订阅。

EM模块208被配置为监视与管理和跟踪云基础设施系统100中的客户订阅相关的活动。EM模块208收集订阅订单中服务的使用统计,诸如所使用的存储量、传送的数据量、用户的数量、以及系统运行时间和系统停机时间量。在(10)处,可以是云基础设施系统100的提供商的员工的主机操作员人员220可以经由企业管理器用户界面(图2中未示出)与EM模块208交互,以管理在云基础设施系统100内服务在其上被供应的系统和资源。

身份管理(IDM)模块200被配置为提供身份服务,诸如云基础设施系统100中的访问管理和授权服务。在一种实施例中,IDM模块200控制关于希望利用由云基础设施系统100提供的服务的客户的信息。这种信息可以包括认证这种客户的身份的信息和描述那些客户被授权相对于各种系统资源(例如,文件、目录、应用、通信端口、存储器段等)执行哪些动作的信息。IDM模块200也可以包括关于每个客户的描述性信息以及关于如何和由谁来访问和修改描述性信息的管理。

在一种实施例中,由身份管理模块200管理的信息可以被分割以创建单独的身份域。属于特定身份域的信息可以与所有其它身份域隔离。此外,身份域可以由多个单独的租户共享。每个这种租户可以是订阅云基础设施系统100中的服务的客户。在一些实施例中,客户可以具有一个或多个身份域,并且每个身份域可以与一个或多个订阅相关联,每个订阅具有一个或多个服务。例如,单个客户可以表示大实体,并且身份域可以为这个大实体内的分部/部门创建。EM模块208和IDM模块200又可以分别在(11)和(12)处与订单管理模块214交互,以管理和跟踪云基础设施系统100中客户的订阅。

在一种实施例中,在(13)处,服务也可以经由支持UI 216提供给客户。在一种实施例中,支持UI 216使得支持人员能够经由支持后端系统与订单管理模块214交互,以在(14)处执行支持服务。云基础设施系统100中的支持人员以及客户可以经由支持UI 216提交错误报告和检查这些报告的状态。

在图2中未示出的其它界面也可以由云基础设施系统100提供。例如,身份域管理员可以使用到IDM模块200的用户界面来配置域和用户身份。此外,客户可以登录到用于他们希望使用的每个服务的单独界面。在某些实施例中,希望订阅由云基础设施系统100提供的一个或多个服务的客户也可以被分配各种角色和职责。在一种实施例中,可以为客户分配的不同角色和职责可以包括购买者、帐户管理员、服务管理员、身份域管理员或利用由云基础设施系统100提供的服务和资源的用户的角色和职责。不同的角色和职责在下面图4中更充分地描述。

图3A绘出了根据本发明实施例的、绘出可以由云基础设施系统中的TAS模块执行的处理的简化流程图300。图3A中绘出的处理可以用由一个或多个处理器执行的软件(例如,代码、指令、程序)、硬件或其组合来实现。软件可以存储在存储器中(例如,在存储器设备上、在非瞬时性计算机可读存储介质上)。图3A中绘出的特定系列的处理步骤不旨在限制。也可以根据替代实施例执行其它步骤顺序。例如,本发明的替代实施例可以以不同顺序执行上述步骤。此外,图3A所示的各个步骤可以包括多个子步骤,这些子步骤可以以适于各个步骤的各种顺序执行。另外,取决于特定应用,可以添加或去除附加步骤。本领域普通技术人员将认识到许多变化、修改和替代。在一种实施例中,在图3A中绘出的处理可以由TAS构件204中的一个或多个构件执行,如将在图3B中进行详细描述的。

在302处,客户的订阅订单被处理。在一个例子中,该处理可以包括验证订单。验证订单包括确保客户已经为订阅付费,并且确保客户还没有具有相同名称的订阅或者客户没有试图在用于订阅类型的同一身份域中创建不允许的、相同类型的多个订阅(诸如,在CRM服务的情况下)。处理也可以包括对由云基础设施系统100正在处理的每个订单跟踪订单的状态。

在304处,与订单相关联的业务过程被识别。在一些情况下,可以为订单识别多个业务过程。每个业务过程识别用于处理订单的各个方面的一系列步骤。作为例子,第一业务过程可以识别与为订单供应物理资源相关的一个或多个步骤、第二业务过程可以识别与为订单创建身份域以及客户身份相关的一个或多个步骤、第三业务过程可以识别用于与执行后台功能相关的一个或多个步骤,诸如为用户创建客户记录、执行与订单相关的记账功能等。在某些实施例中,也可以识别用于处理订单中的不同服务的不同业务过程。例如,可以识别不同的业务过程,以处理CRM服务和数据库服务。

在306处,在304中为订单识别的业务过程被执行。执行与订单相关联的业务过程可以包括编排与在步骤304中识别的业务过程相关联的一系列步骤。例如,执行与为订单供应物理资源相关的业务过程可以包括向SDI模块206发送请求来分配资源并且配置履行订阅订单所需的那些资源。

在308处,关于供应的订单的状态的通知被发送给客户。与执行步骤302、304、306和308相关的附加描述在图3B中详细提供。

图3B绘出了根据本发明实施例的云基础设施系统中的TAS模块中的一个或多个子模块的简化高层级图。在一种实施例中,在图3B中绘出的模块执行在图3A中讨论的、在步骤302-308中描述的处理。在所示实施例中,TAS模块204包括订单处理模块310、业务过程标识符312、业务过程执行器316、超额部分(overage)框架322、工作流标识模块324、以及捆绑订阅生成器模块326。这些模块可以用硬件、或软件或其组合来实现。图3B中绘出的TAS模块的各种模块只是为了说明性目的,并不旨在限制本发明的实施例的范围。可替代的实施例可以包括比图3B所示的模块更多或更少的模块。

在一种实施例中,订单处理模块310从一个或多个输入源321接收来自客户的订单。例如,在一种实施例中,订单处理模块310可以经由云UI 212或商店UI 210直接接收订单。可替代地,订单处理模块310可以从订单管理模块214或订单数据库224接收订单。订单处理模块310然后处理订单。在某些实施例中,处理订单包括生成包括关于订单的信息的客户记录,关于订单的信息诸如服务类型、服务级别、客户级别、资源类型、要分配给服务实例的资源量、以及期望服务的时间段。作为处理的一部分,订单处理模块310还确定订单是否是有效订单。这包括确保客户还没有具有相同名称的订阅或者客户没有试图在用于订阅类型的同一身份域中创建不允许的、相同类型的多个订阅(诸如,在融合CRM服务的情况下)。

订单处理模块310还可以对订单执行附加处理。处理可以包括对由云基础设施系统100正在处理的每个订单跟踪订单的状态。在一种实施例中,订单处理模块310可以处理每个订单,以识别与订单有关的多个状态。在一个例子中,订单的不同状态可以是初始化状态、供应状态、活动状态、需要管理状态、错误状态等。初始化状态是指新订单的状态;供应状态是指在用于订单的服务和资源已被供应时订单的状态。当订单已被TAS模块204处理并且对该结果的通知已被交付给客户时,订单处于活动状态。当需要由管理员进行干预来解决问题时,订单处于需要管理状态。当订单不能被处理时,订单处于错误状态。除了维持订单进度状态之外,订单处理模块310还维护关于在过程执行期间遇到的任何故障的详细信息。在其它实施例中,并且如将在下面详细讨论的,由订单处理模块310执行的附加处理还可以包括改变订阅中用于服务的服务级别、改变订阅中包括的服务、延长订阅的时间段、以及取消订阅或者为订阅中的不同时间段指定不同的服务级别。

在订单已被订单处理模块310处理之后,业务逻辑被应用,以确定订单是否应该继续供应。在一种实施例中,作为编排订单的部分,业务过程标识符312从订单处理模块310接收处理后的订单并且应用业务逻辑来识别用于正在被处理的订单的特定业务过程。在一种实施例中,业务过程标识符312可以使用存储在服务目录314中的信息来确定要用于订单的特定业务过程。在一种实施例中,如在图3A中所讨论的,可以为订单识别多个业务过程,并且每个业务过程识别用于处理订单的各个方面的一系列步骤。在另一种实施例中,并且如上所述,可以为不同类型的服务或诸如CRM服务或数据库服务的服务组合定义不同的业务过程。在一种实施例中,服务目录314可以存储将订单映射到特定类型的业务过程的信息。业务过程标识符312可以使用该信息来识别用于正在被处理的订单的特定业务过程。

一旦业务过程被识别,业务过程标识符312就将要执行的特定业务过程传递到业务过程执行器316。然后,业务过程执行器316通过结合云基础设施系统100中的一个或多个模块操作来执行识别出的业务过程的步骤。在一些实施例中,业务过程执行器316充当用于执行与业务过程相关联的步骤的编排器。例如,业务过程执行器可以与订单处理模块310交互以执行识别与订单相关的工作流的业务过程中的步骤,确定订单中服务的超额部分或识别与订单相关的服务构件。

在一个例子中,业务过程执行器316与SDI模块206交互以执行业务过程中的步骤,用于分配和供应用于在订阅订单中请求的服务的资源。在这个例子中,对于业务过程中的每个步骤,业务过程执行器316可以向SDI构件206发送请求来分配资源和配置履行特定步骤所需的资源。SDI构件206负责资源的实际分配。一旦订单的业务过程的所有步骤都被执行,业务过程执行器316就可以通过利用服务构件202的服务向客户发送关于处理后的订单的通知。该通知可以包括向客户发送具有处理后的订单的详细信息的电子邮件通知。电子邮件通知也可以包括与订单相关的部署信息,以使客户能够访问订阅的服务。

在某些实施例中,TAS模块204可以提供使TAS模块204能够与云基础设施系统100中的其它模块交互和用于与TAS模块204交互的其它模块的一个或多个TAS应用编程接口(API)318。例如,TAS API可以包括系统供应API,其经由基于异步简单对象访问协议(Simple Object Access Protocol,SOAP)的web服务调用与SDI模块206交互,以供应用于客户的订阅订单的资源。在一种实施例中,TAS模块204也可以利用系统供应API来完成系统和服务实例创建和删除、将服务实例转换为提高的服务级别、以及关联服务实例。其例子是Java服务实例与融合应用服务实例的关联,以允许安全的web服务通信。TAS API也可以包括与服务模块202交互以通知客户关于处理后的订单的通知API。在某些实施例中,TAS模块204还定期地向服务构件202传播订阅信息、中断和通知(例如,计划的停机时间)。

在某些实施例中,TAS模块204定期地从EM模块208接收每个供应的服务的使用统计,诸如所使用的存储量、传输的数据量、用户的数量、以及系统运行时间和系统停机时间量。超额部分框架322利用使用统计来确定是否发生服务的过度使用,并且如果是,则确定对超额部分计费多少,并且将该信息提供给订单管理模块214。

在某些实施例中,TAS模块204包括订单工作流标识模块324,其被配置为识别与处理客户的订阅订单相关联的一个或多个工作流。在某些实施例中,TAS模块204可以包括订阅订单生成框架326,用于当客户发出对由云基础设施系统100提供的一个或多个服务的订阅订单时,为客户生成订阅订单。在一种实施例中,订阅订单包括负责提供订阅订单中由客户请求的服务的一个或多个服务构件。

此外,TAS模块204也可以与诸如租户信息系统(TIS)数据库320的一个或多个附加数据库交互,以使得能够在如果有可用于客户的历史信息的话,在考虑历史信息的同时,供应由客户订阅的一个或多个服务的资源。TIS数据库320可以包括与由客户订购的订单有关的历史订单信息和历史使用信息。

可以利用不同的部署模型来部署TAS模块204。在某些实施例中,部署包括与一个或多个分布式构件接口的中央构件。分布式构件可以例如被部署为各种数据中心并且相应地也可以被称为数据中心构件。中央构件包括在云基础设施系统100中处理订单和协调服务的能力,而数据中心构件提供用于供应和操作为订阅的服务提供资源的运行时系统的能力。

图4绘出了根据本发明实施例的TAS模块的示例性分布式部署。在图4绘出的实施例中,TAS模块204的分布式部署包括TAS中央构件400和一个或多个TAS数据中心(DC)构件402、404和406。这些构件可以用硬件、软件或其组合来实现。

在一种实施例中,TAS中央构件400的职责包括但不限于提供集中式构件,用于接收客户订单、执行诸如创建新订阅的订单相关的业务操作、改变订阅中的服务的服务级别、改变订阅中包括的服务、以及延长订阅的时间段、或取消订阅。TAS中央构件400的职责还可以包括维护和服务云基础设施系统100所需的订阅数据并且与订单管理模块214、支持UI 216、云UI 212和商店UI 210对接,以处理所有后台交互。

在一种实施例中,TAS DC 402、404和406的职责包括但不限于执行运行时操作,用于编排供应用于客户订购的一个或多个服务的资源。TAS DC 402、404和406还包括执行诸如锁定、解锁、启用或禁用订阅订单、收集与订单相关的度量、确定订单的状态以及发送与订单相关的通知事件的操作的能力。

在图4所示的分布式TAS系统的示例性操作中,TAS中央构件400最初经由云UI 212、商店UI 210、经由订单管理系统214或经由订单数据库224从客户接收订单。在一种实施例中,客户表示具有财务信息和授权以订购和/或更改订阅的购买者。在一种实施例中,订单信息包括识别客户的信息、客户希望订阅的服务的类型、以及将负责处理请求的帐户管理员。在某些实施例中,当客户发出对由云基础设施系统100提供的一个或多个服务的订阅的订单时,客户可以指定帐户管理员。基于订单信息,TAS中央构件400识别订单所源自的世界的数据区域,诸如美洲、EMEA或亚太,以及将被部署用于供应订单的特定TAS DC(例如,402、404或406)。在一种实施例中,将被部署用于供应订单的特定TAS DC(例如,来自DC 402、404或406当中)基于请求所源自的地理数据区域来确定。

TAS中央构件400然后将订单请求发送到为订单请求供应服务的特定TAS DC。在一种实施例中,TAS DC 402、404或406识别负责在特定TAS DC处处理订单请求的服务管理员和身份域管理员。服务管理员和身份管理员可以由在订阅订单中识别的帐户管理员指定。TAS DC 402、404或406与SDI模块204通信,以编排用于订单的物理资源的供应。在相应TAS DC 402、404或406中的SDI构件204分配资源并且配置履行订阅订单所需的那些资源。

在某些实施例中,TAS DC 402、404或406识别与订阅相关联的身份域。SDI构件206可以向IDM构件200(在图2中示出)提供身份域信息,用于识别现有身份域或创建新身份域。一旦订单由SDI模块在相应的TAS DC 402、404或406处被供应,TAS中央构件400就可以经由支持UI 216在支持系统中放置关于所供应的资源的信息。信息可以包括例如与服务相关的显示资源度量和服务的使用统计。

一旦在操作中,在每个数据中心处,EM模块208就定期地收集在那个数据中心供应的每个供应的服务的使用统计,诸如所使用的存储量、传输的数据量、用户的数量、以及系统运行时间和系统停机时间量。这些统计被提供给对EM模块208本地的TAS DC(即,在同一数据中心处)。在实施例中,TAS DC可以使用使用统计来确定是否发生服务的过度使用,并且如果是,则确定对超额部分计费多少,并且将计费信息提供给订单管理系统214。

图5是示出根据本发明实施例的、SDI模块与云基础设施系统中的一个或多个模块的交互的简化框图。在一种实施例中,SDI模块206与TAS模块204交互,以供应用于由TAS模块204接收到的订阅订单中的服务的资源。在某些实施例中,在图5中所示的模块中的一个或多个模块可以是云基础设施系统100内的模块。在其它实施例中,与SDI模块206交互的模块中的一个或多个模块可以在云基础设施系统100的外部。此外,可替代的实施例可以具有比图5所示的模块更多或更少的模块。这些模块可以用硬件、或软件或其组合来实现。

在一种实施例中,SDI模块206中的模块可以包括在云基础设施系统100中的SaaS平台102和PaaS平台104中的一个或多个模块。为了执行用于各种服务的资源的供应,SDI模块206可以与各种其它模块交互,每个模块被定制以帮助为特定类型的服务供应资源。例如,如图5所示,SDI模块206可以与Java服务供应控制模块500交互以供应Java云服务。在一种实施例中,Java服务供应控制构件500可以部署由SDI模块206指定的Java云服务(JCS)组件,其包括要被执行以供应Java云服务的一组任务。基础设施资源106然后确定供应Java云服务所需的资源。

作为其它例子,SDI模块206可以与诸如虚拟组件构建器(Virtual Assembly Builder,VAB)模块502、快速应用(Application Express,APEX)部署器模块504、虚拟机(VM)模块506、IDM模块200和数据库机器模块118的一个或多个模块交互。VAB模块502包括配置和供应完整的多层应用环境的能力。在一种实施例中,VAB模块502部署由SDI模块206指定的中间件(MW)服务组件,以利用由VM模块506提供的服务在云基础设施系统100中供应MW服务。APEX部署器模块504包括配置和供应数据库服务的能力。在一种实施例中,APEX部署器模块504部署由SDI模块206指定的数据库服务组件,以利用由基础设施资源106提供的资源在云基础设施系统100中供应数据库服务。SDI模块206与IDM模块200交互以提供身份服务,诸如跨云基础设施系统100中多个应用的访问管理。

图6绘出了根据本发明实施例的SDI模块的子模块的简化高层级图。在图6所绘出的实施例中,SDI模块206包括SDI-Web服务(WS)模块600、SDI请求控制器模块602、SDI任务管理器模块604、SDI监视模块606、SDI数据访问模块608、SDI公共库模块610、以及SDI连接器模块612。这些模块可以用硬件、软件或其组合来实现。在图6中绘出的SDI模块206及其各种模块只用于说明性目的并且不旨在限制本发明的实施例的范围。可替代的实施例可以具有比图6所示的模块更多或更少的模块。这些模块及其功能在下面进行详细描述。

SDI-WS模块600包括用于接收与来自TAS构件204的业务过程执行器316的订单相关联的业务中的步骤的能力。在一种实施例中,SDI-WS模块600解析业务过程的每个步骤并且将步骤转换为由SDI模块206使用的内部表示。在一种实施例中,与订单相关联的业务过程的每个步骤通过web服务处理层(例如,经由在图3B中讨论的系统供应API)以对SDI-WS模块600的SOAP请求的形式到达。

SDI请求控制器模块602是SDI模块206中的内部请求处理引擎,并且包括用于执行与订单请求相关的异步请求处理、并发请求处理、并发任务处理、容错和恢复以及插件支持的能力。在一种实施例中,SDI请求控制器模块602接受与来自SDI-WS模块600的订单相关联的业务过程的每个步骤,并且将该步骤提交给SDI任务管理器模块604。

SDI任务管理器模块604将在业务过程中指定的每个步骤转换为用于供应特定步骤的一系列任务。一旦用于特定步骤的一组任务被供应,SDI任务管理器模块604就利用操作结果响应TAS模块204中的业务过程执行器316,其中操作结果包括具有被供应以实现特定步骤的资源的详细信息的订单有效载荷。SDI任务管理器模块604重复这个过程,直到与订单相关联的特定业务过程的所有步骤完成。

在某些实施例中,SDI任务管理器模块604通过利用SDI连接器模块612的服务将在业务过程中指定的每个步骤转换为一系列任务。SDI连接器模块612包括用于处理由SDI任务管理器模块604指定的任务的部署以供应与订单请求相关的一个或多个服务的一个或多个连接器。在某些实施例中,连接器中的一个或多个可以处理特定于特定服务类型的任务,而其它连接器可以处理跨不同服务类型公共的任务。在一种实施例中,SDI连接器模块612包括与云基础设施系统100中的外部模块中的一个或多个(在图5中示出)对接以供应与订单请求相关的服务和资源的一组连接器(封装API)。例如,快速应用(APEX)连接器614与APEX部署器模块504对接以供应数据库服务。Web中央连接器616(WCC)与云基础设施系统100中的web中央模块对接以供应web服务。web中央模块是用户参与平台,并且包括用于在人和云基础设施系统100中的信息之间交付连接性的能力。

在某些实施例中,中间件应用(MA)连接器618与云基础设施系统100中的VAB模块502对接以供应中间件应用服务。NUVIAQ连接器620与VAB模块502对接以供应Java服务。IDM连接器622与IDM模块200对接以为订阅云基础设施系统100中的服务和资源的用户提供身份和访问管理。虚拟组件构建器(VAB)连接器624与云基础设施系统100中的VAB模块502对接以配置和供应完整的多层应用环境。插件连接器626与EM模块208对接以管理和监视云基础设施系统100中的构件。HTTP服务器连接器628与PaaS平台中的一个或多个web服务器对接,以向云基础设施系统100中的用户提供连接服务。

SDI模块206中的SDI监视模块606提供用于接收Java管理扩展(JMX)请求的入站接口。SDI监视模块606还提供用于管理和监视云基础设施系统100中的应用、系统对象和设备的工具。SDI数据访问模块608提供用于接收Java数据库连接(JDBC)请求的入站接口。SDI数据访问模块608支持数据访问并且在云基础设施系统100中提供对象关系映射、java事务API服务、数据访问对象和连接池。SDI-公共库模块610为SDI模块206中的模块提供配置支持。

以上讨论的图6的实施例描述了根据本发明实施例的SDI模块中的模块。图7A绘出了根据本发明实施例的、绘出可以由云基础设施系统中的SDI模块的模块执行的处理的简化流程图700。图7A中绘出的处理可以用由一个或多个处理器执行的软件(例如,代码、指令、程序)、硬件或其组合来实现。软件可以存储在存储器中(例如,在存储器设备上、在非瞬时性计算机可读存储介质上)。图7A中绘出的特定系列的处理步骤不旨在限制。也可以根据替代实施例执行其它步骤序列。例如,本发明的替代实施例可以以不同顺序执行上述步骤。此外,图7A所示的各个步骤可以包括多个子步骤,这些子步骤可以以适于各个步骤的各种序列执行。另外,取决于特定应用,可以添加或去除附加步骤。本领域普通技术人员将认识到许多变化、修改和替代。在一种实施例中,在图7A中绘出的处理可以由在图6中详细讨论的SDI模块206中的一个或多个模块执行。

在702处,与订阅订单相关联的业务过程被接收到。在一种实施例中,SDI模块206中的SDI-WS模块600从业务过程执行器316接收与订阅订单相关联的业务过程中的一个或多个步骤。在704处,业务过程中的每个步骤被转换为用于为订阅订单供应资源的一系列任务。在一种实施例中,SDI模块206中的SDI任务管理器模块604通过利用SDI连接器模块612的服务将业务过程中指定的每个步骤转换为一系列任务。在706处,基于该系列任务,订阅订单被供应。在一种实施例中,并且如图6所讨论的,SDI连接器模块612包括用于处理由SDI任务管理器模块604指定的任务的部署以供应用于订阅订单中的服务的资源的一个或多个连接器。

如以上关于图6所描述的,SDI任务管理器模块604通过利用SDI连接器模块612的服务将在业务过程中指定的每个步骤转换为一系列任务,其中SDI连接器模块612可以包括用于处理由SDI任务管理器模块604指定的任务的部署以供应与订单请求相关的一个或多个服务的一个或多个连接器。连接器中的一个或多个可以处理特定于特定服务类型的任务,而其它连接器可以处理跨不同服务类型公共的任务。在一种实施例中,SDI连接器模块612包括与云基础设施系统100中的外部模块中的一个或多个(在图5中示出)对接以供应与订单请求相关的服务和资源的一组连接器(封装API)。例如,NUVIAQ连接器620与VAB模块502接口以供应Java服务。

图7B绘出了根据本发明实施例的、示出Nuviaq系统710的高级体系架构及其与其它云基础设施组件的关系的简化框图。应当理解,在图7B中绘出的Nuviaq系统710可以具有除了图7B中绘出的那些构件之外的其它构件。另外,在图7B中示出的实施例只是可以结合本发明实施例的云基础设施系统的一个例子。在一些其它实施例中,Nuviaq系统710可以具有比图7B所示更多或更少的构件、可以合并两个或更多个构件、或者可以具有不同的构件配置或布置。

在某些实施例中,Nuviaq系统710可以被配置为提供用于编排PaaS操作的运行时引擎。Nuviaq系统710可以提供web服务API以便于与其它产品和服务的集成。Nuviaq系统710还提供对系统供应、应用部署和相关联的生命周期操作中的复杂工作流的支持,并且与管理和监视解决方案集成。

在图7B绘出的实施例中,Nuviaq系统710包括Nuviaq代理712、Nuviaq管理器714和Nuviaq数据库716。在某些实施例中,Nuviaq管理器714提供进入到Nuviaq系统710中的入口点,从而提供经由web服务API对PaaS操作的安全访问。在内部,它跟踪数据库中的系统状态并且控制工作流引擎上的作业执行。在公共云中,Nuviaq管理器714可以由租户供应系统(SDI 206)和租户控制台访问,以分别驱动供应和部署操作。

在一种实施例中,Nuviaq管理器714经由内部工作流引擎异步执行作业。作业可以是特定于给定PaaS工作流的一系列动作。动作可以按顺序执行,其中任何步骤中的失败导致整个作业的失败。许多工作流动作委派给与工作流相关的外部系统,诸如EM命令行界面(cli)。在一个实现中,Nuviaq管理器714应用可以被托管在具有相关联的HTTP服务器(例如,Oracle HTTP服务器或OHS)实例、运行在防火墙内部的2节点WebLogic集群中。

在某些实施例中,Nuviaq代理712是对Nuviaq API的公共访问点。在一种实施例中,只有公共API可以在此暴露。由代理712接收到的请求可以被转发到Nuviaq管理器714。在一种实施例中,Nuviaq代理712在防火墙外部运行,而管理器714在防火墙内部运行。在一个实现中,Nuviaq代理712应用在运行在防火墙外部的WebLogic集群上运行。

在某些实施例中,Nuviaq数据库716跟踪各种域实体,诸如但不限于,平台实例、部署计划、应用、WebLogic域、作业、警报等。在适当时,主键可以与服务数据库对齐。

在一种实施例中,平台实例718可以包含给定租户的WebLogic服务所需的所有资源。

Nuviaq系统710可以依赖云基础设施系统100的附加系统来执行WebLogic云服务使用的工作流。这些依赖可以包括对SDI 206、IDM 200、病毒扫描系统、服务数据库、CRM实例等的依赖。例如,Nuviaq系统710可以依赖于由SDI 206中的组件部署器执行的功能。在一种实施例中,组件部署器是管理与OVAB(Oracle虚拟组件构建器)和OVM(Oracle虚拟机)交互的系统。由Nuviaq系统710使用的组件部署器的能力可以包括但不限于,用于部署组件、解除部署组件、描述组件部署、缩放装置等的功能。在一个实现中,Nuviaq系统710经由web服务API访问组件部署器。

在某些实施例中,安全策略可能要求某些制造品(artifacts)在部署到应用之前进行病毒扫描。云基础设施系统100可以提供用于这种目的的、提供扫描作为用于公共云的多个构件的服务的病毒扫描系统。

在某些实施例中,公共云基础设施可以维护包含关于租户(例如,客户)及其服务订阅的信息的服务数据库。Nuviaq工作流可以访问该数据,以便将WebLogic服务正确地配置为租户也订阅的其它服务的客户端。

Nuviaq系统710可以依赖于IDM 200用于其安全集成。在某些实施例中,Java服务实例可以与CRM实例相关联。该关联允许部署到其Java服务实例的用户应用通过Web服务调用访问CRM实例。

各种实体可以使用由Nuviaq系统710提供的服务。Nuviaq系统710的这些客户端可以包括:租户控制台,其是客户可以访问以在他们的平台实例上管理他们的应用的基于管理服务器(例如,Oracle管理服务器)的用户界面;若干IDE,诸如已被扩展以提供对应用生命周期管理操作的访问的Oracle IDE(JDeveloper、NetBeans和OEPE);一个或多个命令行界面(CLI),其可用于访问平台实例上的生命周期操作。

Nuviaq系统710的供应用例-供应平台实例用例经由Nuviaq API的创建平台实例操作来实现。在云基础设施系统100的环境中,关于Nuviaq系统的服务实例对应于Nuviaq平台实例。平台实例被分配唯一标识符,其在与这个实例相关的所有后续操作中使用。提供给创建平台实例动作的平台部署描述符允许修改平台实例的配置以满足租户的订阅要求的属性被设置。这些属性可以包括例如:

属性#1:oracle.cloud.service.weblogic.size

值:BASIC,STANDARD,ENTERPRISE

说明:指定订阅类型。这会影响服务器的数量、数据库限制和服务质量设置。

属性#2:oracle.cloud.service.weblogic.trial

值:TRUE,FALSE

说明:指示这是否为试用订阅。

属性#3:oracle.cloud.service.weblogic.crm

值:CRM服务ID

说明:识别要与这个WebLogic服务实例关联的CRM服务。

图7C绘出了根据本发明实施例的、图示利用Nuviaq系统的供应过程的步骤的示例序列图。在图7C中绘出的序列图只是例子并且不旨在进行限制。

安装/更新应用用案-在验证应用存档满足公共云的安全要求之后,安装应用操作将应用部署到正在运行的WebLogic服务器。在一种实施例中,提供给安装应用动作的应用部署描述符允许修改应用的配置以满足租户的订阅要求的属性被设置。这些属性可以包括例如:

属性:oracle.cloud.service.weblogic.state

值:RUNNING,STOPPED

说明:指定部署后应用的初始状态。

图7D绘出了根据本发明实施例的、图示利用Nuviaq系统的部署过程的步骤的示例序列图。图7D中绘出的序列图只是例子并且不旨在进行限制。

返回参考图2,在某些实施例中,协同工作的TAS 204和SDI206负责从为由云基础设施系统100提供的一组服务中为客户订购的一个或多个服务供应资源。例如,在一种实施例中,为了供应数据库服务,自动化供应流程对于付费订阅可以如下:

(1)客户经由商店UI 210发出对服务的付费订阅的订单。

(2)TAS 204接收订阅订单。

(3)当服务可用时,TAS 204通过利用SDI 206的服务发起供应。TAS 204可以执行业务过程编排,其将执行相关的业务过程来完成订单的供应方面。在一种实施例中,TAS 204可以使用BPEL(Business Process Execution Language,业务过程执行语言)过程管理器来编排在供应和处理生命周期操作中涉及的步骤。

(4)在一种实施例中,为了供应数据库服务,SDI 206可以调用CLOUD_UI中的PLSQL API来关联用于请求客户的模式。

(5)在将模式成功地关联到客户之后,SDI信号TAS和TAS向客户发送通知,即数据库服务现在可供客户使用。

(6)客户可以登录到云基础设施系统100中(例如,利用诸如cloud.oracle.com的URAL)并且激活服务。

在一些实施例中,也可以允许客户基于试用订阅服务。例如,这种试用订单可以经由云UI 212(例如,利用cloud.oracle.com)被接收到。

在某些实施例中,云基础设施系统100使得底层硬件和服务实例能够在客户或租户之间共享。例如,在一种实施例中,数据库服务可以如在图7E中所示被供应。图7E绘出了多个Exadata计算节点730和732,每个计算节点提供为数据库服务供应的数据库实例。例如,计算节点730为数据库服务提供数据库实例734。每个Exadata计算节点可以具有多个数据库实例。

在某些实施例中,每个数据库实例可以包括多个模式,并且模式可以与不同的客户或租户相关联。例如,在图7E中,数据库实例734提供两个模式736和738,每个具有其自己的表。模式736可以与订阅数据库服务的第一客户或租户相关联,并且模式738可以与订阅数据库服务的第二客户或租户相关联。每个租户获得完全独立的模式。每个模式都像容器一样工作,可以为相关联的租户管理包括表、视图、存储的规程、触发器等的数据库对象。每个模式可以具有一个专用的表空间,每个表空间具有一个数据文件。

以这种方式,单个数据库实例可以向多个租户提供数据库服务。这不仅使得能够共享底层硬件资源,而且还能够在租户之间共享服务实例。

在某些实施例中,这种多租户系统受IDM 200促进,其有利地使得每个具有其自己单独身份域的多个单独的客户能够使用在云中共享的硬件和软件。因此,不需要每个客户具有其自己的专用硬件或软件资源,并且在一些情况下,在特定时刻没有被一些客户使用的资源可以被其他客户使用,从而防止浪费那些资源。例如,如图7E所绘出的,数据库实例可以服务多个客户,每个客户具有其各自的身份域。虽然每个这种数据库服务实例可以是在许多单独的身份域之间共享的单个物理多租户数据库系统的单独的抽象或视图,但是每个这种数据库服务实例可以具有单独的和与每个其它数据库服务实例所具有的潜在不同的模式。因此,多租户数据库系统可以存储客户指定的数据库模式和这些数据库模式所属的身份域之间的映射。多租户数据库系统可以使特定身份域的数据库服务实例使用映射到该特定身份域的模式。

多租户还可以被扩展到诸如Java服务的其它服务。例如,多个客户可以具有放置在其各自身份域内的JAVA服务实例。每个这种身份域可以具有JAVA虚拟机,其可以被视为是硬件的虚拟“切片(slice)”。在一种实施例中,作业监视服务(例如,Hudson)可以与云中的JAVA企业版平台(例如,Oracle WebLogic)组合,以使得每个单独的身份域能够具有其自己单独的JAVA企业版平台的虚拟“切片”。这种作业监视服务可以例如监视重复作业的执行,诸如构建由基于操作系统的时间的作业调度器运行的软件项目或作业。这种重复作业可以包括软件项目的连续构建和/或测试。附加地或替代地,这种重复作业可以包括监视操作系统运行作业的执行,该作业在远离作业监视服务在其上执行的机器的机器上执行。

可重用匿名订阅(RAS)

在某些实施例中,云基础设施系统100使得底层硬件和服务实例不仅能够在客户或租户之间共享,而且还能够使现有订阅被其他客户或租户重用,而无需完全供应新资源。在一个方面,可重用匿名订阅(RAS)是使得客户能够访问在请求访问服务之前已经被供应的服务的订阅类型。在一些实施例中,RAS可能已被不同的客户使用来访问服务。在使用RAS访问服务之后,RAS可以被重新分配给另一个客户。用于可利用RAS访问的服务的资源可以保持为该RAS供应,用于由被提供该RAS的不同客户重用。

在一些实施例中,RAS使得客户能够在购买对服务的订阅(例如,常规订阅)之前使用服务。由服务为RAS提供的访问可以与常规订阅的访问不同(例如,有限的)。例如,RAS可以使得客户能够在购买对服务的订阅之前作为客人访问服务用于临时使用(例如,测试或试用)。对于使客户能够尝试服务而无需实际上为服务支付,RAS可能是有用的。

在一些方面,RAS可以与常规订阅不同地配置,使得RAS的使用可以是尝试服务。在一些实施例中,RAS可以不提供对被分配常规订阅的客户可用的所有特征。在一个例子中,对RAS可以不支持更新和扩展操作,即,客户不能添加新特征或增加RAS的大小(例如,用户计数),而这些特征中的一些或全部对被分配常规订阅的客户可以是可访问的。在另一个例子中,诸如高可用性和灾难恢复特征的支持可以对分配RAS的客户不可用(例如,禁用)。在另一个例子中,RAS可以不允许由RAS的客户访问的服务的分阶段部署。在分阶段部署中,订阅配置基于预定义的部署计划被更改。在另一个例子中,RAS客户可以不被允许产生超额。在还有的另一个例子中,诸如与使用相关的警报的通知可以对被分配RAS的客户不可用。

当客户决定不将RAS转换为常规订阅时,RAS可以被重新分配给另一个客户以便RAS的重用。当RAS被客户返还时,为RAS供应的服务将保持供应,从而最小化为服务供应新资源的时间以及最大化资源使用。

如果客户同意获得对利用RAS访问的服务的常规订阅,则云基础设施系统100可以将RAS转换为常规订阅。在各种实施例中,云基础设施系统100可以实现转换过程(例如,轻量级个性注入过程),以将RAS转换为常规订阅。转换过程可以保留为RAS供应的资源,以防止为由RAS提供的服务重新供应资源。因此,RAS对利用重量级过程供应的复杂产品(例如,CRM系统)会是非常有用的。转换过程可以保留由客户利用经由RAS访问的服务生成的数据。保留的客户数据可以被客户使用,用于利用常规订阅访问的服务。通过保留客户数据,客户可以节省将被用于基于客户对服务的使用重新生成客户数据的时间和资源。

在另一方面,在使用由RAS提供的服务期间生成的特定于客户的数据可以与和由RAS提供的服务相关的特定于服务的数据分离。在一些实施例中,当RAS不被转换为常规订阅时,用于由该RAS提供的服务的特定于服务的数据可以与RAS相关联地维护,并且特定于客户的数据可以与RAS解除关联。当RAS被转换为常规订阅时,特定于客户的数据可以被保留并且与常规订阅相关联。这样,提供有常规订阅的用户可以继续利用当服务是利用RAS访问时生成的现有特定于客户的数据使用服务。RAS可以与通常不能由不同客户重用的试用订阅区分;而试用订阅在试用期结束时被解除。

现在转到图8A-8C,其中绘出了根据本实施例的一些实施例的、用于向客户提供RAS的各种实施例。图8A绘出了根据本发明的一些实施例的、用于提供可重用匿名订阅的系统环境800的简化框图。图8B绘出了根据本发明的一些实施例的、用于实现可重用匿名订阅的数据结构的例子。图8C是根据各种实施例的用于管理可重用匿名订阅的生命周期的过程的流程图。

在图8A中,系统环境800被示出具有若干客户,诸如分别与用于与云基础设施系统100通信的客户端设备224、客户端设备226和客户端设备228相关联的客户1、客户2和客户3。云基础设施系统100可以管理用于客户的RAS订阅的一个或多个服务池(例如,服务池810)。服务池810可以包括一个或多个RAS,诸如RAS 812(“RAS1”)、RAS 814(“RAS2”)和RAS 816(“RAS3”),其中每个RAS可用于分配给客户。在一些实施例中,可以创建一个或多个服务池(例如,RAS池)来提供RAS,以使得能够访问已经被供应的服务。

在各种实施例中,可以基于配置或模板(例如,产品模板)建立服务池。例如,可以为特定产品配置建立和维护服务池。如果客户需要对其没有RAS池存在的产品配置的RAS,则可以为该产品配置创建新服务池,并且将新RAS添加到服务池。如果将来为同一产品配置创建一个或多个附加RAS,则它们也可以被添加到那个服务池。模板可以引入强加于对产品(例如,服务)的访问的资源约束(例如,对用户数量的限制、对存储的限制等)。例如,一个服务池可以基于用于数据库即服务(DBAAS)产品的产品配置模板来配置,并且另一个服务池可以基于用于CRM服务产品的产品配置模板来配置。在一些实施例中,服务池可以包括附加池,每个附加池基于类别被进一步定义。在前面的例子中,用于DBAAS服务池的服务池可以具有单独的服务池,其中每个为DBAAS提供不同类型的RAS,诸如DBAAS基本、DBAAS标准和DBAAS企业。可替代地,可以为不同类型的订阅创建单独的池,用于相同或不同的产品。

在一些实施例中,服务池可以与一个或多个标准相关联或基于一个或多个标准分类。标准可以由用于配置服务池的模板指示。模板可以基于服务类型、为由服务池变得可用的服务供应的资源、订阅类型、订阅数量、资源的可用性等。与服务池中每个RAS对应的服务可以在为那个服务池中的服务处理订阅订单之前被供应。

在一个方面,可以基于由云基础设施系统100的各种构件提供的反馈来确定用于定义服务池的模板。例如,客户发出订单的速率可以被确定并且用于影响分配给池的订阅的数量。在另一个例子中,服务类型可以用于为第一类型分配X数量的订阅和为第二类型分配不同数量的订阅。其它执行、营销和客户相关的度量可以用于确定可用订阅的数量以及订阅如何被预分配。另外,云基础设施系统100可以基于由云基础设施系统100确定的反馈的分析来动态地增加或减少服务池中可用的RAS的数量。

在一些实施例中,还可以基于根据客户需要配置的特定于客户的产品模板来创建RAS。特定于客户的RAS可以存储在为一个或多个客户指定的服务池中。在一些实施例中,特定于客户的RAS可以被可能具有由特定于客户的RAS满足的需求的其他客户重用。在一些实施例中,可以为被配置为像特定于客户的RAS的服务创建服务池。利用与特定于客户的RAS类似的配置创建的其它RAS可以被添加到服务池。特定于客户的RAS可以存储在为客户指定的配置特定于客户的RAS的服务池中。

如上所述,云基础设施系统100的TAS模块204用作管理与每个订阅订单相关联的业务过程的编排组件,并且应用业务逻辑来确定订阅订单是否应当继续供应。TAS模块204处理基于客户对服务的请求来处理订阅订单的处理。在一些实施例中,TAS模块204可以确定已经对可以由RAS提供访问的服务做出请求(例如,请求802)。TAS模块204可以基于由来自客户的请求所指示的使用类型建立用于所请求服务的环境。TAS模块204可以基于由从客户接收到的请求指示的对RAS的显式请求来确定已请求RAS。

来自云基础设施系统100的对服务的请求(例如,请求802)可以包括可以用来提供服务的信息。具体而言,请求可以包括使得云基础设施系统100能够确定RAS以向客户提供所请求的服务的信息(例如,订单信息)。在一些实施例中,请求可以指示旨在用于所请求服务的服务类型或使用类型。使用类型的例子包括但不限于,开发、测试、培训、原型化、负载平衡、营销、销售、设计、生产等。

在一些实施例中,请求可以指示对所请求服务的一个或多个要求。要求可以包括费用约束(例如,最低费用和/或最大费用)、用于使用所请求服务的时间限制、将使用服务的用户的数量、期望的服务支持类型、与服务的使用相关的其它要求、或其组合。云基础设施系统100可以基于由来自客户的请求所指示的要求来确定提供给客户以使得能够访问所请求服务的订阅。提供给客户的订阅的至少一个例子可以是RAS。

TAS模块204可以实现建立RAS以使得能够访问所请求服务的操作。在图8A所示的例子中,云基础设施系统100可以确定所请求的服务是否已在一个或多个服务池(例如,服务池810)中为RAS供应。可以执行处理来分析一个或多个服务池中的可用订阅(例如,RAS),以确定可用订阅是否提供对所请求服务的访问。服务池可以包括多个RAS,当RAS可用时,每个RAS都可分配给客户。可以检查每个RAS以确定由RAS提供的资源和/或服务。诸如RAS的订阅可以部分地基于从请求确定的信息(例如,由客户请求的订阅类型、所请求服务的使用类型、所请求服务的持续时间或其组合)在服务池中被识别。

在一些实施例中,可以为特定地理位置(例如,地理区域)建立服务池。地理位置可以基于数据中心的地理位置来定义。可以由于法律和/或合规性原因为地理位置建立服务池。当还没有为地理位置建立服务池时,可以为该地理位置建立服务池。在一些实施例中,在地理位置中建立的服务池可以基于产品配置被进一步定义。例如,服务池可以被配置用于具有特定产品配置的RAS的地理位置。在这种实施例中,当在地理位置中没有现有服务池被定义用于新RAS的产品配置时,用于该地理位置的服务池可以为新RAS创建。

当匹配客户请求的RAS不能被找到时,新RAS可以基于客户请求来供应。新供应的RAS可以被添加到适当的服务池。服务池可以被扩展为包括新RAS以满足客户的需求。新RAS然后可以被分配给客户。

在一些实施例中,供应的RAS可以不被添加到现有服务池。例如,当由于资源容量现有服务池已满时,RAS不能被添加到服务池。在一些实施例中,当供应的RAS的产品配置不满足服务池的分类时,RAS不能被添加到服务池。现有服务池中的RAS可以被配置用于与新RAS的配置不匹配的订阅类型或使用类型。在一个例子中,当RAS的产品配置与现有服务池的产品配置不匹配时,供应的RAS不能被分配给现有服务池。在一些实施例中,新创建的RAS的产品配置可能不匹配每个现有服务池的产品配置,因为新RAS的产品配置与每个现有服务池中的RAS的产品配置不同。在这种情况下,新服务池可以按需建立。

在一些实施例中,服务池可以是特定于客户的,使得服务池包括根据用于客户的定制模板配置的RAS。在这个实施例中,在这种服务池中的RAS只可以被分配给为该服务池指定的特定客户。

在一些实施例中,确定所请求服务是否已被供应可以包括确定与服务池的类型对应的服务池。服务池的类型可以基于由来自客户的请求所指示的信息来识别。例如,服务池的类型可以基于所请求的服务、客户请求的订阅类型(例如,RAS订阅)、所请求服务的使用类型、或其组合来确定,其中的任何一个或全部可以通过请求来指示。

在图8A所示的一个例子中,TAS模块204可以确定服务池810中的一个或多个RAS(例如RAS2 814和RAS3 816)可用于被分配给客户(例如,客户1)用于一个或多个请求的服务。TAS模块204可以实现操作来向客户1分配822第一RAS(例如,RAS2 814)用于第一服务和向客户1分配824第二RAS(例如,RAS3 816)用于第二服务。分配给客户的订阅可以在与客户相关联的存储装置中维护,诸如订阅830(“客户1订阅”)。在一些实施例中,与利用RAS访问的服务相关联的特定于客户的数据可以与关于服务的数据(例如,特定于服务的数据)相关联地存储。用于存储订阅的数据结构的例子参考图8B进行描述。

当客户已完成使用RAS时,RAS可以被返还到服务池。在一些实施例中,RAS可以与和RAS的使用相关的一个或多个要求相关联。例如,要求可以与为RAS启用的资源的使用或者与用于启用对服务的访问的时间段相关。当RAS的要求被满足时,RAS可以被返还到服务池。例如,RAS3 816可以被返还826到服务池810。与RAS3816相关联的特定于服务的数据可以维护在存储装置中,而由客户1使用RAS3 816生成的特定于客户的数据可以被丢弃。返还RAS可以包括将RAS分配给服务池。在一些实施例中,RAS可以被返还到从其获得该RAS的服务池。但是,基于RAS到服务池的分配,RAS可以被返还到不同的服务池。

云基础设施系统100可以将分配的RAS转换为常规订阅(RS)。当RAS被转换为RS时,该RAS不能被返还到服务池。RAS可以基于从由客户操作的客户端设备接收到的输入被转换为RS。在一些实施例中,云基础设施系统100可以向客户端设备发送信息,以使客户端设备提示客户提供用于将RAS转换为RS的首选项。RS可以使得客户能够继续使用利用RAS访问的服务。在图8A所示的一个例子中,RAS2 814可以基于从由客户1操作的客户端设备接收到的输入被转换836为RS1 838。分配的RAS到RS的转换在下面参考图8B和8C进一步说明。

分配给客户并且返还到服务池的RAS可以被分配给客户用于所请求的服务。客户可以是先前被分配该RAS的同一客户或不同的客户。继续参考在图8A中描述的先前例子,一旦RAS3 816被返还到服务池810,RAS3 816就可以被分配828给另一个客户(例如,客户2)。分配给客户2的订阅可以在与该客户相关联的存储装置中维护,诸如订阅850(“客户2订阅”)。与RAS3 816相关联的特定于服务的数据可以在RAS3 816被返还到服务池810并分配给客户2之后被保留。基于利用RAS3 168访问服务生成的特定于客户的数据可以与和RAS3 816相关联的特定于服务的数据相关联地存储。RAS3 816可以被返还到服务池810或者可以被转换为RS。在图8A的例子中,RAS3 816可以被转换854为RS1 856。在这种情况下,RAS3 816不再可用于被重新分配给客户,因为RAS3 816没有被返还到服务池810。通过将RAS3 816转换为RS1 856,由客户2生成的特定于客户的数据可以被保留用于与RS1 856一起使用。

现在转到图8B,其绘出了根据本发明的一些实施例的用于实现可重用匿名订阅的数据结构的例子。一个或多个数据结构可以由云基础设施系统100实现以存储与订阅相关的数据。数据结构的例子包括但不限于链表、表、数组、哈希表、图形等。

RAS 870是可以存储关于RAS的信息的数据结构的例子。RAS870可以存储在为服务池分配的存储器中。在图8B的例子中,RAS870被示出具有关于单个RAS的数据。但是,RAS 870可以存储关于一个或多个RAS的信息。一个或多个数据结构可以以模块化方式为RAS实现,以便于启用用于多个客户的RAS的可重用性的轻量级转换过程。

RAS 870可以包括与为RAS供应的服务(例如,特定于服务的数据872)对应的数据。特定于服务的数据872可以包含与提供为RAS启用的服务相关的数据。特定于服务的数据872可以是客户无关的,使得它可以被不同客户重用。例如,特定于服务的数据872可以包括与由对应于RAS 870的RAS提供的产品(例如,服务或构件)相关的特定于产品的元数据。

在一些实施例中,特定于服务的数据872可以指示为订阅提供的服务的配置(例如,资源的物理配置)。配置可以指示资源约束,诸如对服务启用或禁用的一个或多个构件(例如,特征)。配置可以基于用于服务类型或与服务相关联的产品的模板来确定。在一些实施例中,与用于可以基于客户首选项的常规订阅的配置(例如,已被购买的配置)相比,该配置可以基于通用产品模板。

在一些实施例中,特定于服务的数据872可以包括与RAS相关的信息。在其它信息中,特定于服务的数据872可以识别订阅,诸如订阅的名称和/或订阅的标识符。特定于服务的数据872可以包括与匿名用户相关的客户信息。例如,特定于服务的数据872可以包括对数据结构(例如,客人客户身份对象864)的引用,该数据结构包括用于被分配RAS 870的客人的信息。特定于服务的数据872可以包括合同信息。RAS可能没有有效的开始日期和/或结束日期使得它可以跨客户重用。作为对照,常规订阅可以被分配有客户已为其购买常规订阅的有效开始日期和/或结束日期。

特定于服务的数据872可以指示对RAS的支持类型。由于RAS可以以有限的能力被使用,直到它被转换为常规订阅,因此RAS可以启用与常规订阅不同的支持级别。例如,可以向被分配RAS的客户提供通用支持级别,而可以向购买常规订阅的客户提供高级支持级别。

在一些实施例中,特定于服务的数据872可以指示可以利用RAS执行的操作。例如,特定于服务的数据872可以指示测试可以利用RAS来执行,以确定由RAS提供的服务是否可以支持客户的工作流。附加地或替代地,RAS可以提供其它用途,诸如使得客户能够演示服务和/或将服务与由一个或多个竞争者提供的类似服务进行比较。

当RAS 870被分配840给客户时,云基础设施系统100可以维护数据结构874(分配的RAS)。RAS 870可以被存储为分配的RAS 874。分配RAS可以包括将RAS 870的位置移动到与客户相关联的存储装置中的新位置。可替代地,分配的RAS 874可以包括存储装置中对RAS 870的引用。在一些实施例中,分配的RAS 874可以被实现为包括RAS 870中的数据的不同数据结构。在一些实施例中,除了RAS 874之外,数据结构(例如,映射表或哈希表)还可以被实现为存储对与客户相关联的每个分配的RAS 874的引用。

虽然被分配给客户,但是在分配的RAS 870中特定于服务的数据872会指示匿名客户身份,因为RAS订阅还没有被转换。例如,特定于服务的数据872可以指示对存储关于客人的身份信息的数据结构864(客人客户身份对象)的引用。在一些实施例中,客人客户身份对象864可以包括关于客人的信息,诸如客人的姓名、联系信息等。

分配的RAS 874可以被修改以存储用于被分配RAS 870的客户的特定于客户的数据876。特定于客户的数据876可以包括对应于利用对应于RAS 870的RAS访问的服务的使用的数据。特定于客户的数据876可以基于用来访问服务的应用。例如,特定于客户的数据876可以包括与由对服务的订阅访问的销售云服务对应的客户邮箱。在另一个例子中,特定于客户的数据876可以包括通过使用数据库服务生成的表。在另一个例子中,特定于客户的数据876可以包括用于利用RAS访问的对象存储服务的存储对象。在一些实施例中,实际的特定于客户的数据可以存储在单独的特定于服务的储存库中,并且特定于客户的数据876可以存储对存储在特定于服务的储存库中的该特定于客户的数据的引用。

云基础设施系统100可以实现转换过程842(例如,轻量级个性注入过程)将RAS转换为常规订阅(RS)。例如,与RAS 874对应的RAS可以被转换为由数据结构878表示的RS。转换过程842可以包括改变与分配的RAS 874对应的订阅类型。例如,除了作为常规订阅根据与对应于分配的RAS 874的RAS的期限不同的期限(例如,延长的时间段)之外,RS 878可以指示对由分配的RAS 874提供的相同服务的访问。转换过程842可以将分配的RAS 874中的信息存储到RS 878中。在一些实施例中,分配的RAS 874的存储可以被更新,以指示分配的RAS 874是RS,例如,RS 878。

转换过程842可以包括确定分配给客户的订阅被转换到其的订阅(例如,常规订阅)的帐户信息(例如,帐户痕迹(footprint))。例如,云基础设施系统100的订单管理模块214可以为客户确定帐户信息。确定帐户信息可以包括为客户创建帐户。当基于客户的身份信息没有找到客户的现有帐户时,可以创建帐户。当发现现有帐户时,现有帐户可以被更新,以便使得能够访问被转换的订阅。因此,RS878中特定于服务的数据872可以利用与转换的订阅对应的帐户信息来更新。

转换过程842可以包括与RS 878相关联存储客户信息(例如,注入个性信息)。RS 878可以与和分配的RAS 874相关联的客户的客户身份信息相关联,或者可以引用该信息。在云基础设施系统100中,关于客户身份的信息可以存储在数据结构866(客户身份对象)中。在图8B所示的例子中,RS 878可以指示对识别与分配的RAS874相关联的客户的客户身份对象866的引用。分配给客户的其它订阅(例如,其它RAS)可以存储对客户身份对象866的引用。客户身份对象(例如,客户身份对象866)可以包括指示关于客户的信息的数据。数据可以指示客户的身份(例如,姓名或用户标识符)、客户的联系信息、客户的计费信息、其它客户相关的信息或其组合。

在一些实施例中,转换过程842可以包括利用客户身份对象866中的信息来更新客人客户身份对象864。可以通过利用对对象的引用以符号方式存储关于客户身份的信息来减少用于将RAS转换为RS的处理时间。可替代地,从特定于服务的数据872到客人客户身份对象864的引用可以被更新,以指示对客户身份对象866的引用。

转换过程842可以包括确定用于客户的从RAS(例如,分配的RAS 874)转换的常规订阅(例如,RS 878)的合同。例如,订单管理模块214可以执行处理来确定用于由RS 878提供的订阅类型的合同。确定合同可以包括确定订阅持续时间和用于由RS 878提供的一个或多个权利的权利信息。合同可以使客户接受可能与常规订阅相关联的期限和条件,诸如授权客户获得常规产品支持。期限可以指示与已支付的订阅一致的服务的使用期限。从RAS转换的常规订阅可以向客户提供比由RAS提供的配额限制更大的使用配额限制。

转换过程842还可以包括在云基础设施系统100的支持系统217中建立支持信息。用于分配给客户的常规订阅(例如,RS 878)的帐户信息可以被提供给支持系统,以允许客户接收由常规订阅提供的支持(例如,常规产品支持)。

在一些实施例中,转换过程842可以包括将客户的帐户信息注入到TAS 204和物理供应层中。例如,TAS 204利用客户帐号标记订阅痕迹和身份域。

图8C是根据各种实施例的用于管理可重用匿名订阅的生命周期的过程的流程图880。在一些实施例中,由流程图880绘出的过程可以由服务基础设施系统(例如,云基础设施系统100)的全部或部分来实现。

参考图8C绘出的处理可以用由一个或多个处理器、硬件或其组合执行的软件(例如,代码、指令、程序)来实现。软件可以存储在存储器中(例如,在存储器设备上、在非瞬时性计算机可读存储介质上)。图8C中绘出的特定系列的处理步骤不旨在限制。也可以根据替代实施例执行其它步骤序列。例如,本发明的替代实施例可以以不同顺序执行上述步骤。另外,图8C所示的各个步骤可以包括多个子步骤,这些子步骤可以以适于各个步骤的各种序列执行。此外,取决于特定应用,可以添加或去除附加步骤。本领域普通技术人员将认识到许多变化、修改和替代。由流程图880绘出的过程在方框882处开始。

在方框882处,在服务基础设施系统(例如,图1的云基础设施系统100)中提供一个或多个服务。服务基础设施系统可以包括或实现多租户环境。服务的例子可以包括CRM服务、HCM服务、服务或其它计算服务。

供应的服务中的每个服务可以与特定于服务的数据(例如,图8B的特定于服务的数据872)相关联。与服务对应的特定于服务的数据可以指示用于服务的配置。配置可以包括被分配以提供服务的一个或多个资源。

在一些实施例中,提供一个或多个服务包括在接收客户访问其中一个服务的请求之前在服务基础设施系统中供应一个或多个服务。服务可以基于一个或多个标准来供应。例如,服务可以基于与服务基础设施系统的操作相关的一个或多个度量来供应。在另一个例子中,服务可以基于与对服务的需求相关联的一个或多个度量来供应。在还有的另一个例子中,服务可以基于与服务类型相关联的一个或多个度量来供应。

在一些实施例中,可以创建一个或多个服务池来提供对已被供应的服务的访问。如前所述,服务基础设施系统可以维护多个服务池。服务池可以包括多个订阅。多个订阅中的每一个可以与由服务基础设施系统提供的至少一个服务相关联。在一个例子中,服务池可以提供多个RAS订阅。在一些实施例中,服务池可以与服务类型、为由服务池变得可用的服务供应的资源、订阅类型等相关联或通过其分类。与服务池中的订阅对应的服务可能在对那个服务做出请求之前已由服务基础结构系统供应。

客户访问服务的请求在方框884处被接收到。例如,可以从客户端设备224接收请求802。请求可以指示对所请求服务的要求。例如,请求可以包括指示所请求服务的使用类型的信息。使用类型可以被服务基础设施系统使用,以确定客户请求的服务。

在各个方面中,可以当客户请求服务时在客户端设备的用户界面向客户呈现各种选项。一个选项可以包括选择所请求服务的全部或部分是否要被供应。另一个选项可以包括期望用于所请求服务的订阅类型(例如,RAS订阅或生产订阅)。

在方框886处,处理被执行以确定所请求服务已在服务基础设施系统中的服务池(例如,服务池810)中被供应用于订阅。处理可以被执行来分析一个或多个服务池中的可用订阅(例如,RAS),以确定可用订阅是否提供对所请求服务的访问。如上所述,服务池可以包括多个RAS,当RAS可用时,每个RAS可以是可分配给客户的。可以检查每个RAS以确定由RAS提供的资源和/或服务。诸如RAS的订阅可以部分地基于从请求确定的信息(例如,由客户请求的订阅类型、所请求服务的使用类型、所请求服务的持续时间、或其组合)在服务池中被识别。对应于服务池中每个订阅的特定于服务的数据可以被处理,以识别具有由客户请求的服务的订阅类型(例如,RAS订阅)的订阅。处理可以被执行,以确定服务池中的可用订阅是否可以提供对所请求服务的访问。

确定所请求服务已被供应可以包括从多个服务池中确定提供用于诸如所请求服务的服务的订阅的服务池。在一些实施例中,服务池可以被指定为提供用于某种服务类型的一个或多个订阅(例如,一个或多个RAS)。因此,确定服务池可以包括识别可以提供用于访问所请求服务的RAS的服务池。可以检查所识别的服务池来确定这些服务池中的任何RAS是否使得能够访问所请求的服务。

在一些实施例中,从多个服务池确定服务池可以基于在至少一个服务池中对由用户请求的服务的订阅的可用性。例如,可以基于服务池的类型从多个服务池中确定服务池。可以基于由来自客户的请求(例如,在方框884处接收到的请求)所指示的信息确定服务池的类型。例如,服务池的类型可以基于所请求的服务、客户请求的订阅类型(例如,RAS订阅)、所请求服务的使用类型、或其组合来确定,其中的任何一个或全部可以通过请求来指示。

在方框888处,用于访问所请求服务的订阅可以从服务池(例如,在方框886处确定的服务池)分配给客户。例如,图8A中的RAS3 816可以被分配给客户1。。当诸如RAS订阅的订阅被分配给客户时,与订阅相关的数据,例如,包括在RAS中特定于服务的数据,可以与关于分配给客户的订阅相关联地存储。例如,图8B的RAS 870可以作为分配的RAS 874分配给客户。在这个例子中,特定于服务的数据872可以与为分配的RAS订阅存储的分配的RAS874一起存储。从服务池向客户分配对所请求服务的订阅可以包括从服务池中去除该订阅。

在一些实施例中,服务池中订阅(例如,RAS订阅)的可用性可以基于来自客户的需求而改变。因此,当接收到请求时,访问所请求服务的订阅(例如,RAS订阅)可能不可用。在一些实施例中,当访问由客户请求的服务的订阅被返还到服务池时,该服务可以从确定的服务池分配给客户(例如,对该服务的订阅从客户被重新分配给服务池)。

在方框890处,对应于客户(例如,请求服务的客户)的特定于客户的数据可以与对应于所请求服务的特定于服务的数据相关联。如上所述,特定于客户的数据包括通过使用服务(例如,由订阅提供的服务)生成的数据。特定于客户的数据在被生成时可以与特定于服务的数据相关联地存储,其中特定于服务的数据用于提供对用来生成该数据的服务的访问的订阅。在至少一个例子中,与由对应于分配的RAS 874的订阅提供的服务的使用相关的特定于客户的数据876可以与分配的RAS 874中特定于服务的数据872相关联地存储。

通过与RAS的特定于服务的数据相关联地存储特定于客户的数据,如果和当RAS被转换为常规订阅时,特定于客户的数据可以为RAS提供的服务保留。此外,特定于客户的数据可以与特定于服务的数据相关联,以便当对RAS服务的访问被修改时防止特定于客户的数据的丢失。如果RAS订阅被转换来延长对不同订阅的访问,则特定于客户的数据从RAS订阅到常规订阅(例如,生产订阅)可以被维持。

处理被执行以确定是否转换客户的订阅(例如,RAS订阅)。订阅可以通过转换过程(例如,轻量级个性注入处理)来转换,诸如参考图8B描述的转换过程842。转换过程可以包括改变分配给客户的用于访问由订阅(例如,在方框888分配的订阅)先前提供的服务的订阅类型。例如,订阅可以被转换为常规订阅,其可以根据与从服务池分配的订阅的期限不同的期限提供对服务的访问。

订阅可以由于许多原因被转换。例如,客户可能指示他希望购买在一段时间内使用服务的订阅。在另一个例子中,客户可能指示他希望对服务获得比通用级别更多的服务支持,并且因此可以选择将订阅转换为对服务提供高级支持的订阅。

在一些实施例中,确定是否转换客户的订阅可以基于从客户接收到的输入。例如,云基础设施系统100可以请求来自客户的、指示是否转换订阅的决定的输入。客户可以提供指示是否转换订阅的输入。输入可以指示用于转换订阅的一个或多个标准。标准可以指示订阅将被转换到其的订阅的期限。标准可以指示订阅的其它首选项,诸如费用、服务类型、支持类型或与订阅类型相关的其它标准。在一些实施例中,客户可能已利用在方框884处接收到的请求提供输入。在那个请求中,客户可能已经指示何时订阅要被转换以及如何转换。

在一些实施例中,确定是否转换客户的订阅可以由服务基础设施系统来确定。服务基础设施系统可以基于由服务基础设施系统确定的信息来确定是否将订阅转换为不同类型的订阅。在一些实施例中,客户可以提供指示何时订阅要被转换以及如何转换的一个或多个规则。例如,确定可以基于多种因素做出,这些因素包括但不限于,与服务基础设施系统对服务的操作相关的度量、与服务的需求相关联的一个或多个度量、与服务类型之相关联的一个或多个度量、或其组合。度量可以由客户提供的规则来定义。

当确定要为客户转换订阅时,处理可以前进到方框894。当确定不为客户转换订阅时,处理可以前进到方框896。

在方框894处,可以为客户转换订阅(例如,在方框888处分配给客户的订阅)。在方框898处,由流程图880绘出的过程结束。

在至少一种实施例中,可以通过改变分配给客户的用于访问由订阅先前提供的服务的订阅类型来为客户转换订阅。例如,当订阅是具有服务期限(例如,试用期)的RAS订阅时,服务的订阅类型可以被转换为具有与在方框888处分配的订阅不同的服务期限的不同订阅类型(例如,常规订阅)。通过将订阅转换为不同订阅类型,客户可以针对取决于对服务的需要更长或更短的不同期限访问服务。在一个例子中,当订阅是由试用期定义的RAS订阅时,客户可能希望将RAS订阅转换为常规订阅(例如,生产订阅)。常规订阅可以使得客户能够实现生产环境。

如上所述,订阅可以通过转换过程来转换。如果输入由客户提供,则订阅可以利用客户提供的标准来转换。例如,订阅类型可以基于客户的输入来选择。在一些实施例中,订阅类型可以基于由服务基础设施系统确定的信息来选择。

当完成转换过程时,从服务池分配的订阅从服务池中被去除。通过从服务池中去除订阅,该订阅不再可以被分配给另一个客户。

现在返回到方框892,当确定订阅不要为客户转换时,则在方框896处,订阅(例如,在方框888处分配给客户的订阅)可以被返还到服务池。通过将订阅从客户分配给服务池,可以将订阅返还到服务池。例如,在方框888处分配给客户的订阅可以被分配回到服务池,因此,将订阅返还回到服务池。例如,在图8A中的RAS3 816可以从客户1分配826到服务池810作为RAS3 816。一旦订阅被返还回到服务池,该订阅就可以被重新分配给一个或多个附加客户(例如,同一客户或另一个客户)。

将订阅返还到服务池可以包括去除特定于客户的数据与对应于可由订阅访问的服务的特定于服务的数据之间的关联。在一个说明性例子中,如果客户决定不购买由分配的订阅提供的服务,则特定于客户的数据在订阅被分配给服务池之前从订阅中被去除。通过在特定于客户的数据被分配给服务池之前将它从订阅中去除,订阅可以被重新分配,并且因此可被其他客户重用。在一些实施例中,特定于客户的数据可以与客户身份相关联地存储。通过与客户身份相关联地存储特定于客户的数据,特定于客户的数据可以在将RAS返还到服务池之前容易地被去除。

将订阅返还到服务池可以包括实现解除分配过程。解除分配过程可以基于由订阅提供的服务类型来执行。在一个例子中,用于作为数据库即服务(DBAAS)提供的服务的解除分配过程可以包括删除由客户为在方框888处分配的订阅提供的服务创建的一个或多个用户。在另一个例子中,用于作为对象存储服务的服务的解除分配过程可以包括删除由其中订阅是RAS订阅的客户创建的存储对象。在一些实施例中,解除分配过程可以包括重新初始化订阅(例如,RAS订阅)的资源使用统计,以允许被分配该订阅的另一个客户使用为该订阅提供的资源的配额。

在方框898处,由流程图880绘出的过程结束。

订阅克隆

在某些实施例中,云基础设施系统100可以启用附加的实例供应。附加的实例供应可以建立提供用于客户使用的附加环境的服务。服务类型的例子包括但不限于,软件即服务(SaaS)类别、平台即服务(PaaS)类别、基础设施即服务(IaaS)类别、或包括混合服务的其它服务类别。

在一个方面中,云基础设施系统100可以基于现有服务(例如,克隆现有服务)向用户提供对服务(例如,“克隆服务”)的访问。基于现有服务的服务可以通过基于用于现有服务的现有订阅(例如,基本订阅)创建订阅(例如,“克隆订阅”)来提供。克隆服务可以由客户用作附加环境(“克隆环境”)。在另一方面中,多个克隆订阅可以基于基本订阅来创建,其中每个克隆订阅提供对基于基本订阅的现有服务的服务的订阅。由克隆订阅提供的服务可以为客户提供与由基本订阅提供的计算环境分离的附加计算环境。

克隆订阅可以被指定或旨在用于可能与对应于由基本订阅提供的服务的使用类型不同的使用类型。通过具有使用克隆环境用于与利用与基本订阅相关联的环境的目的不同的目的的能力,客户可以被提供许多益处。例如,克隆订阅可以被用于测试、培训客户/员工、向客户/员工演示、用于客户/开发的原型化、开发、负载平衡,而基本订阅可以被用于其它目的,诸如用于生产。本文公开的使用类型出于说明的目的进行描述。克隆订阅和基本订阅的使用类型可以根据客户的需要而不同。

在一个例子中,客户可以请求克隆订阅来实现其生产环境的克隆环境,以在将新特征部署到生产环境之前在克隆环境中测试或原型化该特征。在发布到产品之前在克隆环境中测试或原型化新特征的能力可以使客户能够测试和阶段实现生产。原型化可以使得客户能够通过利用为克隆订阅提供的环境托管它们来获得对所提议产品/特征的反馈,而不影响利用由基本订阅提供的服务实现的现有生产环境。在克隆环境中原型化和测试的特征可能与生产环境中的不同,因为在准备好这样做之前,客户可能不希望在生产环境中实现那些特征。

在另一个例子中,克隆订阅可以用于负载平衡目的。非任务关键的工作流可以被卸载到克隆环境,并且只有任务关键的工作流可以在生产环境中运行。这可以减少生产环境上的负载,并且因此提高任务关键的工作流的性能。

在另一个例子中,由克隆订阅提供的环境可以使得客户能够执行诸如演示和培训的任务,而由基本订阅提供的环境可以用作生产环境。例如,克隆订阅可以用来培训内部员工(例如,营销和销售代表)或向客户演示产品的特征。可能期望此类任务在与可能受此类使用影响的生产环境不同的环境中执行。因此,克隆环境向客户提供用于不同目的的自动配置的附加环境,而无需从头开始配置和实现完全新的环境。

基于现有订阅创建一个或多个克隆订阅的能力可以使客户能够降低与创建类似的(如果不是重复的)环境相关联的成本。在一些实施例中,与获得克隆订阅相关联的成本可以远小于基本订阅的成本。因为克隆订阅可以基于现有服务来供应,因此用于实现克隆服务的成本可以被降低。因此,客户被提供降低的克隆订阅成本的益处。但是,为了解决成本的降低,为克隆订阅提供的特征可能与基本订阅不同。例如,为客户提供的克隆订阅的恢复服务(例如,高可用性和灾难恢复服务)的级别可能与提供给该客户用于基本订阅的服务不同。在另一个例子中,用于克隆订阅的复制延迟可能大于用于基本订阅的复制延迟。

克隆订阅可以与从其创建克隆订阅的订阅相关联。当克隆订阅与从其创建克隆订阅的订阅相关联时,订阅和克隆订阅的生命周期可以彼此相关联。在一些实施例中,当克隆订阅与基本订阅相关联时,对基本订阅做出的改变可以应用到相关联的克隆订阅。改变可以基于一个或多个规则来应用。下面参考图9A-9C和10描述管理克隆订阅的例子。

由克隆订阅提供的服务配置可以独立于由基本订阅提供的服务来调整。对克隆订阅的配置调整的例子可以包括对可利用克隆订阅访问服务的用户数量的用户计数的调整、对为服务启用/禁用的构件的调整、和/或对克隆订阅的期限的调整。克隆配置的改变可以在克隆创建时以及以后经由对克隆订阅的配置的操作来请求。对克隆配置的改变的例子参考图9C和10进行描述。

现在转到图9A-9C,其中绘出了根据本实施例的一些实施例的用于提供克隆订阅的各种实施例。图9A绘出了根据一些实施例的用于提供克隆订阅的系统环境的简化框图。图9B绘出了根据一些实施例的用于订阅的数据结构的例子。图9C绘出了用于相应地管理克隆订阅的规则的例子。克隆订阅可以根据规则基于与订阅的关联来管理。

在图9A中,系统环境900被示出具有若干客户,诸如分别与用于与云基础设施系统100通信的客户端设备224、客户端设备226和客户端设备228相关联的客户1、客户2和客户3。云基础设施系统100可以为客户管理一个或多个订阅(例如,订阅910)。订阅910可以包含对应于为访问由云基础设施系统100提供的一个或多个服务创建的一个或多个订阅的数据。订阅910可以包括基本订阅。例如,订阅910可以包括订阅912(“S1”)、订阅914(“S2”)和订阅916(“S3”)。云基础设施系统100可能已将其中一个订阅910分配给一个或多个客户。在图9A所示的例子中,S2 914和S3 916已被分配给客户1分别作为订阅S2 932和订阅S3 934。因此,S2 932和S3 934是现有的基本订阅。分配给客户的订阅可以在与客户相关联的存储装置中维护,诸如订阅930(“客户1订阅”)。用于存储订阅的数据结构的例子参考图9B进行描述。

在至少一个例子中,客户(“客户1”)可以从云基础设施系统100获得服务904。服务904可以包括克隆服务。对克隆服务(例如,服务904)的访问可以通过由云基础设施系统100建立的克隆订阅来提供。服务904可以基于由操作客户端设备224的客户1做出的请求902提供给客户1。在各个方面中,当客户订购服务时,客户可以被呈现各种选项。客户可以选择以使其订单的每个部分完全被供应或部分被供应。客户可以选择一个或多个克隆订阅来获得对服务的访问。以下是对提供克隆订阅的过程的解释。

如上所述,云基础设施系统100的TAS模块204用作管理与每个订阅订单相关联的业务过程的编排构件,并且应用业务逻辑来确定订阅订单是否应当继续供应。TAS模块204处理基于客户对服务的请求来处理订阅订单的处理。在一些实施例中,TAS模块204可以确定已对基于现有订阅的克隆服务做出请求(例如,请求902)。TAS模块204可以基于由来自客户的请求所指示的使用类型建立用于克隆服务的克隆环境。TAS模块204可以基于明确针对克隆订阅做出的请求来确定克隆订阅已被请求。

来自客户对云基础设施系统100的服务的请求(例如,请求902)可以包括可以用来提供服务的信息。具体而言,请求可以包括使得云基础设施系统100能够确定克隆订阅以向客户提供所请求的服务的信息(例如,订单信息)。在一些实施例中,请求可以指示旨在用于所请求服务的服务类型或使用类型。使用类型的例子包括但不限于,开发、测试、培训、原型化、负载平衡、营销、销售、设计、生产等。在一些实施例中,对云基础设施系统100的请求可以指示订阅类型,例如,克隆订阅或常规订阅。在一些实施例中,请求可以指示对所请求服务的一个或多个要求。要求可以包括费用约束(例如,最低费用和/或最大费用)、用于使用所请求服务的时间限制、将使用服务的用户的数量、期望的服务支持类型、与服务的使用相关的其它要求、或其组合。云基础设施系统100可以基于客户的要求来确定提供给客户以使得能够访问所请求服务的克隆订阅。订阅可以基于现有订阅(例如,基本订阅)来提供。

在确定接收到对克隆订阅的请求时,TAS模块204可以实现用于克隆过程的操作以建立克隆订阅。在图9A所示的例子中,云基础设施系统100可以基于客户1的请求902为克隆订阅订单供应一个或多个克隆服务。例如,可以实现克隆过程936和克隆过程938,以利用基本订阅S3 934分别建立克隆订阅940(“C1”)和克隆订阅942(“C2”)。

用于克隆过程的操作可以包括执行参考图3A和3B描述的步骤来处理订阅订单以建立C1 940和C2 942。处理订阅订单可以包括确定与克隆订阅相关联的费用。用于克隆订阅的费用可以基于各种标准,包括但不限于,旨在用于为克隆订阅提供的克隆服务的使用类型和基本订阅的期限。在一些实施例中,费用可以取决于为克隆订阅请求的服务的附加类型。在一些实施例中,用于克隆订阅的费用可以基于克隆订阅的配置,其中费用可以基于克隆订阅的变化进行调整。在图9A所示的例子中,C1 940和C2 942可以基于在请求902中包括的信息来建立。

在建立克隆订阅时,TAS模块204可以向SDI模块206发送请求,以为克隆订阅C1 940和C2 942中的每一个供应克隆服务。供应克隆服务可以包括分配资源和配置履行订阅订单以提供克隆服务所需的那些资源。克隆过程可以包括复制为基本订阅启用的服务供应的资源。克隆过程可以包括将克隆服务配置为与为基本订阅提供的服务的配置类似(例如,克隆)。对于图9A中的例子,用于C1 940和C2942的克隆服务可以被供应为基于为基本订阅S3 934供应的服务的克隆。

在图9B中,绘出了根据本发明的一些实施例的用于订阅的数据结构的例子。一个或多个数据结构可以由云基础设施系统100实现,以存储与订阅相关的数据。数据结构的例子包括但不限于,链表、表、数组、哈希表、图形等。

订阅944是用于存储与由云基础设施系统100建立的订阅(“基本订阅”)相关的信息的数据结构的例子。在图9b的例子中,示出了具有对应于用于客户的单个订阅的数据的订阅944。但是,用于订阅的数据结构可以存储关于对应于任何数量的客户的一个或多个订阅的信息。

订阅944可以包括对应于客户的数据(例如,特定于客户的数据952)。特定于客户的数据952可以包括对应于利用对应于订阅944的基本订阅访问的服务的使用的数据。例如,特定于客户的数据952可以包括对应于由对服务的订阅访问的销售云服务的客户邮箱。在另一个例子中,特定于客户的数据952可以包括通过使用数据库服务生成的表。

订阅944可以包括对应于可由对应于订阅944的基本订阅访问的服务的数据(例如,特定于服务的数据954)。特定于服务的数据954可以包含与提供对订阅启用的服务相关的数据。例如,特定于服务的数据954可以包括与由对应于订阅944的基本订阅提供的产品(例如,服务或构件)相关的特定于产品的元数据。在一些实施例中,特定于服务的数据954可以指示用于为基本订阅提供的服务的配置(例如,资源的物理配置)。配置可以指示资源约束,诸如对服务启用或禁用的一个或多个构件(例如,特征)。

订阅944可以包括与提供给客户的一个或多个订阅相关的订阅数据956。在一些实施例中,订阅数据956的全部或部分可以被包括在特定于服务的数据954中。订阅数据956可以包括用于为对应于订阅944的订阅建立的帐户的帐户信息。帐户信息可以与客户身份相关联。关于客户身份(例如,用户身份、密码、联系信息等)的信息可以存储在客户身份数据结构(例如,客户身份对象)中。订阅数据944可以包括关于与订阅相关的合同和由合同提供的权利的订阅合同信息。订阅数据944可以包括与订阅相关的订阅支持信息。

订阅数据944可以包括指示关于与由订阅数据956识别的订阅相关联的一个或多个克隆订阅的信息的克隆订阅数据958。克隆订阅数据958可以包括指示对应于订阅944的基本订阅与一个或多个克隆订阅之间的关联的信息。例如,克隆订阅958可以指示基本订阅与对应于数据结构960的克隆订阅(“克隆订阅1”)之间的关联982。在另一个例子中,克隆订阅958可以指示对应于订阅944的基本订阅与对应于数据结构970的克隆订阅(“克隆订阅2”)之间的关联984。克隆订阅1和2两者可以基于对应于订阅944的基本订阅来建立。

基本订阅(例如,对应于订阅944的基本订阅)和克隆订阅(例如,克隆订阅1或克隆订阅2)的生命周期可以彼此相关联。当基本订阅和克隆订阅的生命周期彼此相关联时,对为基本订阅提供的服务的配置或操作的改变或更新可以传播到由克隆订阅提供的克隆服务。例如,存储在特定于服务的数据954中的配置的改变可以应用到与基本订阅相关联的克隆订阅1和克隆订阅2的配置。

在一些实施例中,基本订阅和克隆订阅的生命周期的关联可以基于一个或多个规则。规则可以相对于基本订阅来定义。订阅944可以包括指示用于分别管理与克隆订阅1和克隆订阅2的关联982和关联984的生命周期的一个或多个规则。规则的例子在下面参考图9C进行描述。在一些实施例中,对由克隆订阅提供的服务的访问和对由基本订阅提供的服务的访问可以基于克隆订阅与基本订阅之间的关联通过规则来管理。

克隆订阅960和克隆订阅970是用于存储与由云基础设施系统100建立的克隆订阅相关的信息的数据结构的例子。在图9b的例子中,克隆订阅960和克隆订阅970中的每一个被示出具有对应于用于客户的单个克隆订阅,即分别克隆订阅1(例如,图9A的C1 940)和克隆订阅2(例如,C2 942)的数据。用于克隆订阅的数据结构可以存储关于对应于任意数量的客户的一个或多个克隆订阅的信息。

克隆订阅数据结构(例如,克隆订阅960或克隆订阅970)可以包括特定于客户的数据(例如,特定于客户的数据962)。用于克隆订阅的特定于客户的数据可以包括对应于利用克隆订阅访问的服务的使用的数据。

克隆订阅数据结构可以包括特定于服务的数据(例如,特定于服务的数据964)。用于克隆订阅的特定于服务的数据可以指示关于克隆订阅的信息,诸如为克隆订阅提供的服务的一个或多个属性。特定于服务的数据可以包括关于产品(例如,服务或构件)特定于产品的元数据。特定于服务的数据可以指示用于为克隆订阅提供的克隆服务的配置(例如,资源的物理配置)。配置可以指示资源约束,诸如对克隆服务启用或禁用的一个或多个构件(例如,特征)。不是基本订阅的所有特征或构件都可以提供给客户用于基于基本订阅建立的克隆订阅。

客户可以从基本订阅的配置(例如,基本配置)选择改变克隆订阅的配置(例如,克隆配置)。客户可以在请求克隆订阅时或在克隆订阅已被供应之后的时间定义克隆配置。克隆过程可以利用基本配置和克隆配置来实现。在其中克隆配置与基本配置不同的情况下,克隆过程可以根据与基本配置不同的克隆配置来配置克隆订阅。因此,当克隆配置与基本配置不同时,克隆服务可以与用于基本订阅的服务不同地供应。

在一些实施例中,用于克隆订阅的克隆配置可以指示一个或多个构件要与基本订阅的配置不同地对克隆订阅启用/禁用。在一个例子中,与安全性或存储相关的基础设施服务构件可以被禁用。在另一个例子中,为基本订阅启用的服务构件(例如,活动流云构件或销售预测器构件)可以为克隆订阅启用。在另一个例子中,类似大索引的性能特征可以不为克隆订阅启用。

在一些实施例中,可以根据诸如用户计数的调整大小的度量将克隆配置调整到与基本订阅不同的量。调整大小的度量可以对应于克隆订阅的不同使用进行调整。

在一些实施例中,克隆订阅可以被配置为具有小于基本订阅的期限的期限。例如,可以请求基本订阅用于三年期限,而克隆订阅可以被配置用于一年。客户可以选择这一点来支持预计只在第一年期间的开发/测试活动。

克隆订阅可以基于与基本配置相比克隆配置中的调整来供应。克隆配置可以在供应之后基于被分配该克隆订阅的客户的需求的改变来调整。

在一些实施例中,克隆订阅可以基于指示克隆配置的一个或多个规则来配置。规则可以基于为克隆订阅存储的规则数据(例如,规则数据966)来确定,或者可以基于为从其建立克隆订阅的基本订阅存储的规则数据(例如规则数据972)来确定。

对应于多个克隆订阅(例如,C1 940和C2 942)中的每一个的克隆配置可以彼此独立地被修改。克隆订阅可以彼此不同地配置。当客户想要每个克隆订阅用于不同目的时,用于克隆订阅的配置可以不同。例如,C1 940的克隆配置可以被修改用于测试。C2 942的克隆配置可以保持未修改,使得它类似于基本订阅S3 934的基本配置(例如,的克隆),用于在生产环境中运行类似于利用基本订阅实现的产品环境的特征的特征。

在一些实施例中,可以创建用于建立来自基本订阅的克隆订阅的克隆配置的模式。模式可以相对于服务类型、特定服务、特定产品供给、用于订阅服务的其它类别类型、或其组合来定义。因此,模式可以指示诸如规则990的规则,其可以用来基于模式确定克隆订阅。

克隆订阅数据结构可以包括指示用于管理克隆订阅(例如,克隆订阅1)与基本订阅之间的关联(例如,关联982)的生命周期的一个或多个规则的规则数据966。规则的例子在下面参考图9C进行描述。

在克隆订阅数据结构中包括的订阅数据(例如,订阅数据968)可以包括关于克隆订阅(例如,克隆订阅1)的订阅信息。订阅数据可以指示用于订阅的标识信息(例如,订阅标识符或订阅名称)、订阅持续时间、以及用于用户(例如,管理员和非管理员)的身份信息。在一些实施例中,用于克隆订阅的订阅数据可以包括识别从其建立克隆订阅的基本订阅的父订阅标识符。例如,订阅数据968可以包括识别对应于从其建立克隆订阅1的基本订阅944的基本订阅的父订阅ID。父订阅ID可以指示对对应于从其创建克隆订阅(例如,克隆订阅1)的基本订阅的基本订阅数据结构(例如,基本订阅944)的引用(例如,引用974)。引用可以用来识别对应于基于基本订阅生成的克隆订阅的数据。

图9C绘出了根据各种实施例的用于管理克隆订阅的规则990的例子。规则990可以包括对应于诸如一组规则的一个或多个规则的信息。规则990可以由云基础设施系统预定义、可以是客户定义的、或其组合。规则990可以在数据文件(例如,扩展标记语言(XML)文件)中或者基于经由客户端设备从客户接收到的输入来定义。

客户可以在客户基本或在订阅级别定义规则。客户级别规则可以相对于由客户创建的订阅(例如,克隆订阅)来定义。在一些实施例中,客户级别规则可以相对于由客户创建的特定产品的克隆来定义。订阅级别规则可以相对于基本订阅来定义,使得订阅级别规则应用到从为其定义规则的基本订阅建立的克隆订阅。这些类型的规则可以在订阅开始时以及在以后对订阅做出改变时被应用。

规则990可以用来管理基本订阅与一个或多个克隆订阅(例如,克隆订阅1和克隆订阅2)之间的关联。对基本订阅(例如,基本订阅944)的改变可以应用到基于规则990的克隆订阅。例如,对基本订阅的配置的改变可以应用为对基于基本订阅创建的克隆订阅的克隆配置的改变。如上所述,克隆配置可以与基本订阅不同。

以下是此类规则的一些例子:

从基本订阅创建的克隆应该初始地具有与基本订阅相同的配置,但是克隆的持续时间可以比基本订阅的持续时间更短。

对基本订阅做出的诸如启用/禁用构件的所有功能改变可以应用到与基本订阅相关联的克隆,但是诸如增加/减少用户计数的调整大小的改变不应当应用到克隆。

当基本订阅被续订时,当前与基本订阅相关联的所有克隆也应当对其各自的当前期限被续订;及

当基本订阅被终止时,与基本订阅相关联的所有克隆也应当被终止。

在至少一个例子中,规则990可以基于一个或多个条件992。条件992可以基于一个或多个标准来定义。例如,条件992基于一个或多个度量(例如,与云基础设施系统100中的操作相关的度量)。度量的例子可以包括但不限于,系统度量、产品度量、构件度量、客户度量等。条件也可以基于对基本订阅执行的操作。基本订阅操作的例子可以包括但不限于“搭载(onboard)克隆”(例如,基于基本订阅创建的克隆订阅)、“添加构件”、“去除构件”、“增加用户计数”和“减少用户计数”。在一些实施例中,条件可以被表示为涉及类似析取、连接和否定的逻辑运算符的逻辑关系(例如,“用户的克隆订阅计数”<100并且基本订阅操作=“添加构件”)。如果该规则的每个条件都被满足,则规则可以被满足。

在另一个例子中,规则990可以包括一个或多个规程994。例如,规程994可以基于一个或多个类996。类996可以是要应用到克隆订阅的操作数类型。操作数类型的一些例子是以上相对于为基本订阅执行的直接操作引用的那些。在另一个例子中,操作数可以对应于诸如“搭载(onboarding)”的操作,通过其克隆被创建为“搭载克隆”(即,基于父订阅创建克隆)。其它操作数可以包括“扩充”、“更新”、“终止”和“延长”。扩充可以包括诸如增加或减少用户计数的操作。终止可以包括诸如终止克隆订阅的操作。更新可以包括诸如向克隆订阅添加或在克隆订阅中去除一个或多个构件的操作。延长可以包括诸如延长克隆订阅的期限的操作。当满足规则时,克隆配置可以基于规则来修改。

在另一个例子中,规程994可以基于一个或多个动作998。动作998可以基于可以对克隆订阅(“克隆订阅操作”)执行的一个或多个操作来定义。克隆订阅操作的一些例子是“克隆所有数据”、“不克隆数据”、“克隆选定数据”、“添加构件”、“如果在指定列表中则添加构件”、“去除构件”和“如果在指定列表中则去除构件”。克隆订阅可以基于类996中的操作数的类型和动作998中的指定操作来修改。

在一些实施例中,规则可以由一个或多个条件992、一个或多个规程994、一个或多个动作998或其组合来定义。基于为规则定义的一个或多个标准的满足,规则可以被满足。当满足规则时,克隆配置可以基于由规则所指示的改变来改变。

图10是根据各种实施例的用于管理克隆订阅的生命周期的过程的流程图1000。具体而言,由流程图1000绘出的过程可以向客户提供服务的克隆订阅并且可以基于一组规则(例如,规则990)管理克隆订阅的生命周期。在一些实施例中,由流程图1000绘出的过程可以由服务基础设施系统(例如,云基础设施系统100)的全部或部分来实现。

参考图10绘出的处理可以用由一个或多个处理器执行的软件(例如,代码、指令、程序)、硬件或其组合来实现。软件可以存储在存储器中(例如,在存储器设备上、在非瞬时性计算机可读存储介质上)。在图10中绘出的特定系列的处理步骤不旨在限制。也可以根据替代实施例执行其它步骤序列。例如,本发明的替代实施例可以以不同顺序执行上述步骤。此外,图10所示的各个步骤可以包括多个子步骤,这些子步骤可以以适于各个步骤的各种序列执行。另外,取决于特定应用,可以添加或去除附加步骤。本领域普通技术人员将认识到许多变化、修改和替代。由流程图1000绘出的过程在方框1002处开始。

在方框1002处,在服务基础设施系统(例如,图1的云基础设施系统100)中提供一个或多个服务。服务基础设施系统可以包括或实现多租户环境。服务的例子可以包括CRM服务、HCM服务、服务或其它计算服务。

在一些实施例中,提供一个或多个服务包括在接收客户访问其中一个服务的请求之前在服务基础设施系统中供应一个或多个服务。服务可以基于一个或多个标准来供应。例如,服务可以基于与服务基础设施系统的操作相关的一个或多个度量来供应。在另一个例子中,服务可以基于与对服务的需求相关联的一个或多个度量来供应。在还有的另一个例子中,服务可以基于与服务类型相关联的一个或多个度量来供应。

在方框1004处,可以使得客户能够访问服务。使得能够访问服务可以包括向用户提供订阅(例如,基本订阅)。例如,参考图9A,可以向客户(“客户1”)提供订阅S2 932和订阅S3 934。订阅可以指示授予服务的访问。在一些实施例中,客户端设备(例如,客户端设备224、226、228中的任何一个)可以提供用户界面,以使得用户能够访问服务。关于使得能够访问服务的订阅的信息可以经由用户界面呈现给客户。

在方框1006处接收到客户的请求。例如,请求902可以从客户端设备224接收到。请求可以是基于在方框1004处对客户启用的服务对作为克隆(例如,克隆服务)的附加服务的访问。在一些实施例中,附加服务可以由客户请求,用于与在方框1004处启用的服务的用途不同的用途。例如,附加服务可以用来在生产系统上启用新特征之前测试该特征,而在方框904处启用的服务可以用于生产系统的实现。附加服务可以与在方框1004处对客户启用的服务类似或相关,或者附加服务可以与该服务不同。

在方框1008处,附加服务可以作为在方框1004处启用的服务的克隆被建立。建立服务的克隆可以包括确定用于克隆服务的订阅(例如,克隆订阅)。克隆订阅可以基于克隆对应于服务的订阅来确定。附加服务可以通过作为对应于在方框1004处启用的服务的订阅的克隆的订阅(“克隆订阅”)提供给客户。例如,订阅C1 940可以基于在图9A中的订阅S3 934作为克隆被生成。在这个例子中,C1 940可以基于由S3 934提供的服务来提供克隆服务。因此,可以产生克隆订阅用于建立服务的克隆。克隆订阅可以提供对“克隆的”服务的访问。

在方框1010处,在方框1004处启用的服务可以与在方框1008处建立的服务(“克隆服务”)相关联。两个服务可以基于在对应于那些服务的订阅之间的关联而彼此相关联。例如,用于克隆服务的克隆订阅1 906可以与对服务的订阅944(例如,基本订阅)相关联(例如,关联982)。

在一些实施例中,将对应于服务的基本订阅与对应于克隆服务的克隆订阅相关联可以包括将订阅的生命周期与克隆订阅的生命周期相关联。因此,基本和克隆订阅的生命周期可以被捆绑在一起。在一些实施例中,将为基本订阅启用的服务与为克隆订阅建立的克隆服务相关联可以包括将这些服务的生命周期相关联。如上所述,当两个订阅彼此相关联时,对基本订阅的改变可以传播到克隆订阅。例如,当对对应于基本订阅的服务的访问被终止时,客户对克隆服务的访问被终止。在另一个例子中,当对对应于基本订阅的服务的访问被更新时,对克隆服务的访问可以基于为基本订阅更新的访问来更新。

在一些实施例中,订阅(例如,基本订阅和克隆订阅)之间的关联可以基于一组规则(例如,图9C的规则990)。该组规则的全部或部分可以是预定义的或者根据订阅基于默认值。例如,该组规则可以基于由基本订阅提供的产品(例如,服务)。客户可以提供输入来修改预定义的规则集合或者创建新的规则集合。

在方框1012处,对附加或克隆服务的访问可以基于规则集合来管理。例如,对为图9B的克隆订阅1 960提供的克隆服务的访问可以基于一组规则,例如,图9C的990来管理。流程图1000在方框1014处结束。

在各种实施例中,用来管理克隆服务的规则定义一个或多个条件和一个或多个动作。当一个或多个条件被满足时,一个或多个动作对相关联的克隆订阅执行。一个或多个动作可以对应于如上所述客户可能对克隆订阅采取的直接动作。

在一些实施例中,当克隆服务与基本服务相关联时,对克隆服务的访问可以基于一组规则(例如,规则990)来管理。对克隆服务的访问可以响应于对基本服务的改变利用规则来管理。如以上参考图9C所述,一个或多个规则可以用来管理克隆订阅的生命周期,并且因此管理对为克隆订阅提供的克隆服务的访问。例如,当与克隆服务相关联的基本服务被终止时,对克隆服务的访问可以被终止。

在一些实施例中,对克隆服务的访问可以通过执行与要对克隆服务执行的规程的类相关联的一个或多个动作来管理。规程的类可以基于一个或多个标准来确定。例如,规程的类可以基于与克隆服务相关联的基本服务的一个或多个度量(例如,服务的性能)来确定。另一个标准可以是基于对基本服务的改变对基本服务执行的操作。在一些实施例中,规程的类可以与动作相关联,其中一些动作可以在不同的规则中。例如,在一个规则中,规程的类可以是“更新”并且动作可以是“添加构件”,而在另一个规则中,规程的类可以是“更新”,但动作可以是“去除构件”。

图11是根据各种实施例的用于订阅克隆的过程的流程图1100。在一些实施例中,服务基础设施系统(例如,图1的云基础设施系统100)的全部或部分可以实现在图11中绘出的过程。

参考图11绘出的处理使得客户能够相对于从其建立克隆订阅的订阅来修改克隆订阅。修改可以在克隆订阅被创建时以及以后通过对克隆订阅的直接操作被请求。如前所述,对克隆订阅的修改可以包括对与为克隆订阅提供的服务相关的配置的修改,或者可以包括对订阅的配置的修改。

在图11中绘出的处理可以用由一个或多个处理器执行的软件(例如,代码、指令、程序)、硬件或其组合来实现。软件可以存储在存储器中(例如,在存储器设备上、在非瞬时性计算机可读存储介质上)。图11中绘出的特定系列的处理步骤不旨在限制。也可以根据替代实施例执行其它步骤序列。例如,本发明的替代实施例可以以不同顺序执行上述步骤。此外,图11所示的各个步骤可以包括多个子步骤,这些子步骤可以以适于各个步骤的各种序列执行。另外,取决于特定应用,可以添加或去除附加步骤。本领域普通技术人员将认识到许多变化、修改和替代。由流程图1100绘出的过程在方框1102处开始。

在方框1102处,可以向客户提供对服务的订阅(例如,基本订阅)。例如,服务904可以在客户端设备224处提供给客户1。提供服务可以包括供应服务。服务可以根据由客户所指示的配置来供应。提供服务可以包括确定对服务的订阅以及基于订阅启用对服务的访问。在各种实施例中,可以向客户端设备提供有效订阅的列表。客户可以选择其中一个订阅。

可以在方框1104处确定用于克隆订阅(例如,在方框1102处提供的订阅)的配置(例如,克隆配置)。如前所述,克隆配置可以指示用于配置基于现有订阅克隆的订阅的一个或多个标准。例如,克隆配置可以指示克隆服务的使用的持续时间(例如,少于对应于基本订阅的服务的持续时间)。在另一个例子中,克隆配置可以指示对为克隆订阅提供的服务启用/禁用的构件。

克隆配置可以利用多种方法来确定。在一些实施例中,克隆配置可以基于从客户接收到的输入来确定。输入可以指示克隆订阅的预期用途或要求。克隆配置可以基于客户的输入来确定。例如,操作客户端设备的客户可以向服务基础设施系统(例如,云基础设施系统110)提供信息。信息可以指示克隆配置(例如,克隆变化)。

在一些实施例中,克隆配置可以基于由服务基础设施系统确定的分析信息来确定。分析信息可以包括与由服务基础设施系统为客户执行的操作相关的度量信息。分析信息可以包括关于由客户利用由服务基础设施系统提供的服务执行的操作的信息。

在方框1106处,克隆订阅可以基于克隆配置(例如,在方框1104处确定的配置)来创建。克隆订阅可以基于订阅(例如,在方框1102处提供的订阅)和克隆配置来创建。克隆订阅可以基于客户首选项、如前所述的预定义规则、以及参考图9C描述的其它标准来创建。

在方框1108处,可以执行一个或多个操作来管理克隆订阅(例如,在方框1106处创建的克隆订阅)。操作可以在克隆订阅的生命周期期间执行。操作可以直接对克隆订阅执行,以修改为克隆订阅提供的克隆服务。流程图1100在方框1110处结束。

在一些实施例中,直接操作可以包括修改对应于克隆订阅的克隆配置。克隆配置可以基于从客户接收到的输入或基于由服务基础设施系统确定的信息来修改。使得客户能够基于客户的需要修改克隆订阅会是有用的。直接操作的例子可以包括但不限于,对对应于克隆订阅的克隆服务执行的操作。操作可以包括启用/禁用为克隆服务提供的构件或调整被允许访问克隆服务的用户的数量变化(例如,增加/减少用户计数)。

基于现有服务提供订阅

在某些实施例中,云基础设施系统100可以利用本文描述的各种技术基于现有服务向用户提供对服务的访问。此类技术可以减少为所请求服务供应资源的处理时间,从而提高向客户提供对服务的访问的处理效率。云基础设施系统100可以基于来自用户的请求确定服务类型,并且可以利用基于现有服务的供应提供使得能够访问该服务的订阅。

在一个方面中,云基础设施系统100可以使得为服务供应的资源(例如,硬件和服务实例)能够在客户之间共享。云基础设施系统100不需要为访问服务的每个客户重新供应这些资源。例如,可以定义RAS以使得客户能够共享对服务的访问。当RAS在服务池中可用时,客户可以被分配RAS。用于可利用RAS访问的服务的资源可以保持为该RAS供应,使得它们可以由被分配该RAS的客户重用。

可利用RAS访问的服务可以使得客户能够在购买对服务的常规订阅之前尝试该服务。因此,客户可以避免为服务的订阅供应资源时的延迟。当客户决定购买对RAS的订阅时,RAS可以被转换为常规订阅。用于提供常规订阅的过程的效率可以被提高,因为RAS可以利用减少用于为订阅供应资源的时间的过程来转换。用于RAS的资源和数据可以被保留用于常规订阅。

在另一个方面中,云基础设施系统100可以基于现有服务向客户提供对克隆服务的访问。基于现有服务的服务可以通过基于用于现有服务的现有订阅(例如,基本订阅)创建订阅(例如,“克隆订阅”)来提供。云基础设施系统100可以基于由基本订阅提供的服务的配置来准备克隆服务。以这种方式,用于建立对所请求服务的订阅的处理时间可以通过根据基本订阅的配置配置克隆服务减少。克隆服务可以被客户用作与由基本订阅提供的计算环境分离的附加环境。如上所述,克隆订阅可以被指定或旨在用于可能与对应于由基本订阅提供的服务的使用类型不同的使用类型。

图12是根据各种实施例的用于利用现有订阅提供对服务的订阅的过程的流程图1200。具体而言,流程图1200绘出的过程可以基于已经供应的服务向客户提供订阅。订阅可以是可重用匿名订阅或克隆订阅之一,以访问由客户请求的服务。在一些实施例中,流程图1200绘出的过程可以由服务基础设施系统(例如,云基础设施系统100)的全部或部分来实现。

参考图12绘出的处理可以用由一个或多个处理器执行的软件(例如,代码、指令、程序)、硬件或其组合来实现。软件可以存储在存储器中(例如,在存储器设备上、在非瞬时性计算机可读存储介质上)。图12中绘出的特定系列的处理步骤不旨在限制。也可以根据替代实施例执行其它步骤序列。例如,本发明的替代实施例可以以不同顺序执行上述步骤。此外,图12所示的各个步骤可以包括多个子步骤,这些子步骤可以以适于各个步骤的各种序列执行。另外,取决于应用,可以添加或去除附加步骤。本领域普通技术人员将认识到许多变化、修改和替代。流程图1200绘出的过程在方框1202处开始。

在方框1202处,在服务基础设施系统(例如,图1的云基础设施系统100)中提供一个或多个服务。服务基础设施系统可以包括或实现多租户环境。服务的例子可以包括CRM服务、HCM服务,服务或其它计算服务。

在一些实施例中,提供一个或多个服务包括在接收客户访问其中一个服务的请求之前在服务基础设施系统中供应一个或多个服务。服务可以基于一个或多个标准来供应。例如,服务可以基于与服务基础设施系统的操作相关的一个或多个度量来供应。在另一个例子中,服务可以基于与对服务的需求相关联的一个或多个度量来供应。在还有的另一个例子中,服务可以基于与服务类型相关联的一个或多个度量来供应。

在方框1204处接收到客户访问由服务基础设施系统提供的服务的请求。例如,请求802或请求902可以从客户端设备224接收到。客户的请求可以指示客户请求的服务的使用类型。使用类型的例子包括但不限于,测试、开发、负载平衡、生产、培训、营销或其组合。在一些实施例中,客户的请求可以指示客户期望的订阅类型。订阅类型可以指示可重用订阅(例如,RAS)或克隆订阅。

在一些实施例中,请求可以指示对所请求服务的一个或多个要求。要求可以包括费用约束(例如,最低费用和/或最大费用)、用于使用所请求服务的时间限制、将使用服务的用户的数量、期望的服务支持类型、与服务的使用相关的其它要求、或其组合。

在方框1206处,执行处理,以便基于客户请求的服务确定订阅类型。订阅类型是克隆订阅或可重用订阅(例如,RAS)之一。订阅类型可以基于请求中的信息来确定,诸如订阅类型、使用类型和/或一个或多个要求。为所请求服务确定的订阅类型可以用来确定向客户提供使得能够访问所请求服务的订阅。

在1208处,访问第一服务(例如,在1204处请求的服务)的订阅被提供给客户。该订阅基于在1206处确定的订阅类型来提供。第一服务可以利用由服务基础设施系统提供的服务(例如,在方框1202处提供的服务)中的服务来提供。

在一个例子中,当请求指示诸如生产环境的新特征的测试或开发的使用类型时,可以向客户提供访问第一服务的克隆订阅。在这个例子中,可以选择克隆订阅,因为用来建立克隆订阅的基本订阅可能已经根据客户的规范被配置,使得克隆订阅基于基本订阅的配置被克隆。可以不提供可重用订阅,因为对可重用订阅提供的服务可能需要进一步配置。克隆订阅可以减少用于建立所请求服务的处理时间,因为客户可能不需要提供配置克隆订阅的信息。可以在可重用订阅上选择克隆订阅,以减少为管理克隆订阅而执行的附加处理。例如,克隆订阅的生命周期可以与基本订阅的生命周期相关联,使得克隆订阅可以基于为管理基本订阅而执行的操作自动地进行管理(例如,被更新或被终止)。

在另一个例子中,当对第一服务的请求指示测试作为使用类型以及所请求服务的使用的时间限制时,可重用订阅可以提供给客户。在这个例子中,可以提供可重用订阅而不是克隆订阅,因为客户可能还没有从其可以创建克隆订阅的基本订阅。可能期望可重用订阅提供给客户,因为用于可重用订阅的资源可能已被供应。此外,当当前客户已经完成可重用订阅的使用时,可重用订阅可以被重新分配给其他客户。当客户不需要附加配置时,可以向客户提供可重用订阅。

在一些实施例中,当订阅类型是克隆订阅时,向客户提供订阅包括基于对第一服务(例如,现有服务)的第一订阅建立第一克隆订阅,以及基于一组规则将第一克隆订阅与第一订阅相关联。第一克隆订阅可以提供对第二服务的访问。第一克隆订阅可以作为订阅提供给客户。

将第一克隆订阅与第一订阅相关联可以包括将第一克隆订阅的生命周期与第一订阅的生命周期相关联。基于第一克隆订阅和第一订阅的生命周期的关联,当对第一服务的访问被终止时,对第二服务的访问可以被终止。在一些实施例中,当第一克隆订阅和第一订阅的生命周期彼此相关联时,对第二服务的访问可以基于基于来自客户的请求更新对第一服务的访问来修改。

在一些实施例中,该组规则可以用来管理第一克隆订阅与第一订阅的关联。该组规则可以指示使用第二服务作为第一服务的克隆。该组规则可以指示对第二服务的访问的持续时间。该组规则可以指示被允许访问第二服务的用户的计数。被允许访问第二服务的用户的计数可以与被允许访问第一服务的用户的计数同于。该组规则可以指示第二服务的配置。第二服务的配置可以与第一服务的配置不同。

在一些实施例中,当订阅类型是可重用订阅时,向第一客户提供订阅包括确定在服务基础设施系统中的服务池中已供应第一服务,并且将对第一服务的第一订阅分配给客户作为服务的订阅。分配第一订阅可以包括从服务池将第一服务分配给客户。向客户分配第一服务可以包括从服务池中去除第一服务。特定于客户的数据可以与第一服务的客户相关联。特定于客户的数据可以与对应于第一服务的特定于服务的数据相关联。

在方框1210处,提供给第一客户的订阅可以被管理。当订阅类型是克隆订阅时,管理订阅可以包括响应于第一服务的改变而确定订阅对所请求服务的访问。对服务的访问可以利用该组规则来确定。当订阅类型是可重用订阅时,管理订阅可以包括当订阅已终止时将客户的第一服务分配给服务池。将第一服务分配给服务池可以包括去除特定于客户的数据和与第一服务对应的特定于服务的数据之间的关联。一旦第一服务被返还到服务池,第一服务就可以从服务池重新分配给一个或多个附加客户。

流程图1200在方框1212处结束。

图13示出了根据本发明实施例的、提供租户环境涉及的各种交互的高层概述。

在(1)处,对Java服务的租户请求从TAS 204发送到SDI 206。SDI 260从可重用匿名订阅池中供应所请求的Java服务。SDI 206包括SDI连接器612。SDI连接器612包括Nuviaq连接器620、IDM连接器622、DB连接器614和组件构建器624。

在接收租户请求之前,如上所述,SDI 206供应一个或多个可重用匿名订阅的一个或多个池。例如,当SDI 206需要新的Java订阅的供应时,在(2)处,对匿名组件的请求从SDI连接器612的组件构建器连接器624发送到组件构建器502。在(3)处,匿名组件通过虚拟机OVM 1302由组件构建器502部署。在(4)处,组件构建器502将匿名组件的结果返回到组件构建器连接器624。

在(5)处,创建IDM切片的命令从IDM连接器622发送到IDM 200。在(6)处,IDM坐标从IDM 200发送回到IDM连接器622。在(7)处,DB连接器614通过DB 504命令DB切片的创建。在(8)处,DB坐标从DB 504发送回到DB连接器614。

在(9)处,利用给定IDM、DB和EM代理(如果适用)坐标配置Java服务的请求从Nuviaq连接器620发送到Nuviaq数据库应用1304。在(10)处,Nuviaq数据库应用1304存储所有服务实例数据。在(11)处,Java服务实例被配置,包括启动EM代理。轻量级目录访问协议(LDAP)ATN凭据、节点管理器密码和嵌入式LDAP密码以高级加密标准(AES)加密的形式存储在config.xml文件中,对OVM 1302可用。除Java服务之外的其它服务也可以利用SDI模块创建,包括不同类型的服务。

可以在计算机网络云基础设施系统中提供多个服务。此类服务可以包括简单的基础设施即服务(IAAS)服务、平台即服务(PAAS)服务和软件即服务(SAAS)服务。IAAS、PAAS和SAAS服务是彼此不同类型的服务。

IAAS服务可以包括简单的存储解决方案。存储解决方案可以包括远程磁盘驱动器组或可从互联网访问的其它存储器设备。它们还可以包括文件传输协议(FTP)、虚拟专用网络(VPN)或用于上传、下载和跟踪保存在磁盘驱动器上的数据的其它服务。IAAS存储解决方案可以包括除存储之外的功能,诸如冗余和备份服务。IAAS服务还可以包括处理能力、到全球其它部分的带宽、以及其它计算机资源。

PAAS服务可以包括数据库云服务、中间件云服务、Java云服务以及通常作为软件平台提供的其它服务。数据库服务可以包括对关系数据库引擎的访问,诸如SQL数据库引擎。表和其它数据库模式可以由用户在云上设计和实现,并且数据库管理引擎被用户使用,以从数据库输入和输出数据。类似地,Java或其它编程语言可以用来由用户在云系统上创建定制应用并且然后在云系统上执行。支持定制用户界面和数据结构的其它中间件应用可以由远离云服务器的用户设计和执行。

SAAS服务可以包括客户关系管理(CRM)服务。这些服务可以帮助销售人员跟踪销售线索、支持人员维护客户帐户、以及客户自己查看关于其自己的帐户的数据。人力资本管理(HCM)和人才服务可以帮助雇主存储关于员工和独立承包商的信息。劳动时间跟踪、资产收取、以及工资跟踪和付款可以由此类服务提供。

用于服务的云资源的供应可以异步发生。例如,可以通过具有包括回调地址的变元变量的应用编程接口(API)来调用方法或函数。被调用的方法可以在它完成时向模块发送消息,而不是模块的调用方法在进行之前等待被调用方法结束。被调用的方法也可以向模块发送状态更新。由于对诸如SAAS服务的一些服务的供应可能花费数小时或数天,并且对诸如IAAS服务的其它服务的供应可能花费几分钟,因此异步API调用在确保即使当最短启动时间服务与其它较长启动时间服务一起被供应,最短启动时间服务也被较早而不是较晚被供应时是有用的。

结论

图14绘出了用于实现实施例的分布式系统1400的简化图。在所示实施例中,分布式系统1400包括一个或多个客户端计算设备1402、1404、1406和1408,其被配置为通过一个或多个网络1410执行和操作客户端应用,诸如web浏览器、专有客户端(例如,Oracle Forms)等。服务器1412可以经由网络1410与远程客户端计算设备1402、1404、1406和1408通信地耦合。

在各种实施例中,服务器1412可以适于运行一个或多个服务或软件应用,诸如用于利用已由云基础设施系统供应的现有服务向用户提供对服务的访问的服务和应用。在某些实施例中,服务器1412还可以提供其它服务,或者软件应用可以包括非虚拟和虚拟环境。在一些实施例中,这些服务可以作为基于web或云服务或作为软件即服务(SaaS)模型提供给客户端计算设备1402、1404、1406和/或1408的用户。操作客户端计算设备1402、1404、1406和/或1408的用户又可以利用一个或多个客户端应用与服务器1412交互,以利用由这些构件提供的服务。

在图14中绘出的配置中,系统1400的软件构件1418、1420和1422被示为在服务器1412上实现。在其它实施例中,系统1400的一个或多个构件和/或由这些构件提供的服务也可以由客户端计算设备1402、1404、1406和/或1408中的一个或多个实现。操作客户端计算设备的用户然后可以利用一个或多个客户端应用来使用由这些构件提供的服务。这些构件可以用硬件、固件、软件或其组合来实现。应当理解,各种不同的系统配置是可能的,其可能与分布式系统1400不同。图14中示出的实施例因此是用于实现实施例系统的分布式系统的一个例子并且不旨在限制。

客户端计算设备1402、1404、1406和/或1408可以包括各种类型的计算系统。例如,客户端设备可以包括运行诸如Microsoft Windows和/或诸如iOS、Windows Phone、Android、BlackBerry 10、Palm OS等各种移动操作系统的软件的便携式手持设备(例如,蜂窝电话、计算平板、个人数字助理(PDA))或可穿戴设备(例如,Google头戴式显示器)。设备可以支持各种应用,诸如各种互联网相关的应用、电子邮件、短消息服务(SMS)应用,并且可以使用各种其它通信协议。客户端计算设备也可以包括通用个人计算机,作为例子,包括运行各种版本的MicrosoftApple和/或Linux操作系统的个人计算机和/或膝上型计算机。客户端计算设备可以是运行任何各种商用或类UNIX操作系统的工作站计算机,其中操作系统包括但不限于诸如像Google Chrome OS的各种GNU/Linux操作系统。客户端计算设备也可以包括能够经网络1410通信的电子设备,诸如瘦客户端计算机、启用互联网的游戏系统(例如,具有或不具有姿势输入设备的Microsoft Xbox游戏控制台)和/或个人消息传送设备。

虽然图14中的分布式系统1400被示出具有四个客户端计算设备,但是任何数量的客户端计算设备可以被支持。其它设备,诸如具有传感器的设备等,可以与服务器1412交互。

分布式系统1400中的网络1410可以是本领域技术人员熟悉的、可以利用任何各种商用协议支持数据通信的任何类型的网络,其中协议包括但不限于TCP/IP(传输控制协议/互联网协议)、SNA(系统网络体系架构)、IPX(互联网分组交换)、AppleTalk等。仅仅作为例子,网络1410可以是局域网(LAN)、基于以太网,令牌环的网络、广域网、互联网、虚拟网络、虚拟专用网络(VPN)、内联网、外联网、公共交换电话网络(PSTN)、红外网络、无线网络(例如,根据电气和电子协会(IEEE)802.11协议套件、蓝牙和/或任何其它无线协议当中任何一种操作的网络)、和/或这些和/或其它网络的任意组合。

服务器1412可以由一个或多个通用计算机、专用服务器计算机(作为例子,包括PC(个人计算机)服务器、服务器、中档服务器、大型计算机、机架式服务器等)、服务器场、服务器集群或任何其它适当的布置和/或组合组成。服务器1412可以包括运行虚拟操作系统的一个或多个虚拟机或涉及虚拟化的其它计算体系架构。一个或多个灵活的逻辑存储设备池可以被虚拟化,以维护用于服务器的虚拟存储设备。虚拟网络可以由服务器1412利用软件定义的联网来控制。在各种实施例中,服务器1412可以适于运行在前面公开内容中描述的一个或多个服务或软件应用。例如,服务器1412可以对应于用于根据本公开内容的实施例执行如上所述的处理的服务器。

服务器1412可以运行包括以上讨论的操作系统中的任何一种的操作系统,以及任何商用的服务器操作系统。服务器1412也可以运行各种附加的服务器应用和/或中间层应用中的任何一种,包括HTTP(超文本传输协议)服务器、FTP(文件传输协议)服务器、CGI(公共网关接口)服务器、服务器、数据库服务器等。示例性数据库服务器包括但不限于来自Oracle、Microsoft、Sybase、IBM(国际商业机器)等商用的那些数据库服务器。

在一些实现中,服务器1412可以包括一个或多个应用,以分析和合并从客户端计算设备1402、1404、1406和1408的用户接收到的数据馈送和/或事件更新。作为例子,数据馈送和/或事件更新可以包括但不限于,馈送、更新或从一个或多个第三方信息源和连续数据流接收到的实时更新,其可以包括与传感器数据应用、金融报价机、网络性能测量工具(例如,网络监控和流量管理应用)、点击流分析工具、汽车流量监视等相关的实时事件。服务器1412也可以包括经由客户端计算设备1402、1404、1406和1408的一个或多个显示设备显示数据馈送和/或实时事件的一个或多个应用。

分布式系统1400也可以包括一个或多个数据库1414和1416。这些数据库可以提供用于存储信息的机制,诸如用户交互信息、使用模式信息、适配规则信息、以及由本发明的实施例使用的其它信息。数据库1414和1416可以驻留在各种位置中。作为例子,数据库1414和1416中的一个或多个可以驻留在服务器1412本地(和/或驻留在其中)的非瞬时性存储介质上。可替代地,数据库1414和1416可以远离服务器1412,并且经由基于网络的或专用的连接与服务器1412通信。在一组实施例中,数据库1414和1416可以驻留在存储区域网络(SAN)中。类似地,用于执行服务器1412所具有的功能的任何必要的文件可以适当地在服务器1412本地存储和/或远程存储。在一组实施例中,数据库1414和1416可以包括适于响应于SQL格式的命令存储、更新和检索数据的关系数据库,诸如由Oracle提供的数据库。

图15示出了可以用来实现本发明的实施例的示例性计算机系统1500。在一些实施例中,计算机系统1500可以用来实现上述各种服务器和计算机系统中的任何一种。如图15所示,计算机系统1500包括各种子系统,包括经由总线子系统1502与多个外围子系统通信的处理单元1504。这些外围子系统可以包括处理加速单元1506、I/O子系统1508、存储子系统1518和通信子系统1524。存储子系统1518可以包括有形的计算机可读存储介质1522和系统存储器1510。

总线子系统1502提供用于使计算机系统1500的各种构件和子系统按照预期彼此通信的机制。虽然总线子系统1502被示意性地示为单条总线,但是总线子系统的替代实施例可以利用多条总线。总线子系统1502可以是若干种类型的总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线和利用各种总线体系架构中任何一种的局部总线。例如,此类架构可以包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线和外围构件互连(PCI)总线,其可以被实现为根据IEEE P1386.1标准制造的夹层(Mezzanine)总线等。

处理子系统1504控制计算机系统1500的操作并且可以包括一个或多个处理单元1532、1534等。处理单元可以包括一个或多个处理器,其中包括单核或多核处理器、处理器的一个或多个核、或其组合。在一些实施例中,处理子系统1504可以包括一个或多个专用协处理器,诸如图形处理器、数字信号处理器(DSP)等。在一些实施例中,处理子系统1504的处理单元中的一些或全部可以利用定制电路来实现,诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)。

在一些实施例中,处理子系统1504中的处理单元可以执行存储在系统存储器1510中或计算机可读存储介质1522上的指令。在各种实施例中,处理单元可以执行各种程序或代码指令,并且可以维护多个并发执行程序或进程。在任何给定时间,要执行的程序代码中的一些或全部可以驻留在系统存储器1510中和/或在计算机可读存储介质1522上,潜在地包括在一个或多个存储设备上。通过适当的编程,处理子系统1504可以提供上述各种功能,用于利用已由云基础设施系统供应的现有服务向用户提供对服务的访问。

在某些实施例中,可以提供处理加速单元1506,用于执行定制处理或用于卸载由处理子系统1504执行的一些处理,以便加速由计算机系统1500执行的整体处理。

I/O子系统1508可以包括用于向计算机系统1500输入信息和/或用于从或经由计算机系统1500输出信息的设备和机制。一般而言,术语“输入设备”的使用旨在包括用于向计算机系统1500输入信息的所有可能类型的设备和机制。用户界面输入设备可以包括,例如,键盘、诸如鼠标或轨迹球的指示设备、结合到显示器中的触摸板或触摸屏、滚轮、点拨轮、拨盘、按钮、开关、键板、具有语音命令识别系统的音频输入设备、麦克风以及其它类型的输入设备。用户界面输入设备也可以包括使得用户能够控制输入设备并与其交互的诸如Microsoft运动传感器的运动感测和/或姿势识别设备、Microsoft360游戏控制器、提供用于接收利用姿势和口语命令的输入的界面的设备。用户界面输入设备也可以包括眼部姿势识别设备,诸如从用户检测眼睛活动(例如,当拍摄图片和/或进行菜单选择时的“眨眼”)并将眼部姿势变换为到输入设备(例如,Google)中的输入的Google眨眼检测器。此外,用户界面输入设备可以包括使得用户能够通过语音命令与语音识别系统(例如,导航器)交互的语音识别感测设备。

用户界面输入设备的其它例子包括但不限于,三维(3D)鼠标、操纵杆或指示杆、游戏板和图形平板、以及音频/视频设备,诸如扬声器、数码照相机、数字摄像机、便携式媒体播放器、网络摄像机、图像扫描仪、指纹扫描仪、条形码读取器3D扫描仪、3D打印机、激光测距仪、以及眼睛注视跟踪设备。此外,用户界面输入设备可以包括,例如,医疗成像输入设备,诸如计算机断层摄影、磁共振成像、位置发射断层摄影、医疗超声检查设备。用户界面输入设备也可以包括,例如,音频输入设备,诸如MIDI键盘、数字乐器等。

用户界面输出设备可以包括显示子系统、指示器灯或诸如音频输出设备的非视频显示器等。显示子系统可以是阴极射线管(CRT)、诸如利用液晶显示器(LCD)或等离子体显示器的平板设备、投影设备、触摸屏等。一般而言,术语“输出设备”的使用旨在包括用于从计算机系统1500向用户或其它计算机输出信息的所有可能类型的设备和机制。例如,用户界面输出设备可以包括但不限于,可视地传达文本、图形和音频/视频信息的各种显示设备,诸如监视器、打印机、扬声器、耳机、汽车导航系统、绘图仪、语音输出设备和调制解调器。

存储子系统1518提供用于存储由计算机系统1500使用的信息的储存库或数据存储库。存储子系统1518提供有形非瞬时性计算机可读存储介质,用于存储提供一些实施例的功能的基本编程和数据结构。当由处理子系统1504执行时提供上述功能的软件(程序、代码模块、指令)可以存储在存储子系统1518中。软件可以由处理子系统1504的一个或多个处理单元执行。存储子系统1518也可以提供用于存储根据本发明使用的数据的储存库。

存储子系统1518可以包括一个或多个非瞬时性存储器设备,包括易失性和非易失性存储器设备。如图15所示,存储子系统1518包括系统存储器1510和计算机可读存储介质1522。系统存储器1510可以包括多个存储器,包括用于在程序执行期间存储指令和数据的易失性主随机存取存储器(RAM)和其中存储固定指令的非易失性只读存储器(ROM)或闪存存储器。在一些实现中,包含帮助在诸如启动期间在计算机系统1500内的元件之间传送信息的基本例程的基本输入/输出系统(BIOS)通常可以存储在ROM中。RAM通常包含当前由处理子系统1504操作和执行的数据和/或程序模块。在一些实现中,系统存储器1510可以包括多个不同类型的存储器,诸如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。

作为例子而非限制,如在图15中绘出的,系统存储器1510可以存储应用程序1512,其可以包括客户端应用、Web浏览器、中间层应用、关系数据库管理系统(RDBMS)等、程序数据1514和操作系统1516。作为例子,操作系统1516可以包括各种版本的MicrosoftApple和/或Linux操作系统、各种商用或类UNIX操作系统(包括但不限于各种GNU/Linux操作系统、GoogleOS等)和/或诸如iOS、Phone、OS、10OS和OS操作系统的移动操作系统。

计算机可读存储介质1522可以存储提供一些实施例的功能的编程和数据结构。当由处理子系统1504执行时处理器提供上述功能的软件(程序、代码模块、指令)可以存储在存储子系统1518中。作为例子,计算机可读存储介质1522可以包括非易失性存储器,诸如硬盘驱动器、磁盘驱动器、诸如CD ROM、DVD、(蓝光)盘或其它光学介质的光盘驱动器。计算机可读存储介质1522可以包括但不限于,驱动器、闪存存储器卡、通用串行总线(USB)闪存驱动器、安全数字(SD)卡、DVD盘、数字视频带等。计算机可读存储介质1522也可以包括基于非易失性存储器的固态驱动器(SSD),诸如基于闪存存储器的SSD、企业闪存驱动器、固态ROM等,基于易失性存储器的SSD,诸如固态RAM、动态RAM、静态RAM、基于DRAM的SSD、磁阻RAM(MRAM)SSD、以及使用DRAM和基于闪存存储器的SSD的组合的混合SSD。计算机可读介质1522可以为计算机系统1500提供计算机可读指令、数据结构、程序模块和其它数据的存储。

在某些实施例中,存储子系统1500也可以包括计算机可读存储介质读取器1520,其可以进一步连接到计算机可读存储介质1522。可选地,与系统存储器1510一起和组合,计算机可读存储介质1522可以全面地表示远程、本地、固定和/或可移动存储设备加上用于存储计算机可读信息的存储介质。

在某些实施例中,计算机系统1500可以提供对执行一个或多个虚拟机的支持。计算机系统1500可以执行诸如管理程序的程序,以便于虚拟机的配置和管理。每个虚拟机可以被分配存储器、计算(例如,处理器、内核)、I/O和网络资源。每个虚拟机通常运行其自己的操作系统,其可以与由计算机系统1500执行的其它虚拟机执行的操作系统相同或不同。因此,多个操作系统可以潜在地由计算机系统1500同时运行。每个虚拟机通常独立于其它虚拟机运行。

通信子系统1524提供到其它计算机系统和网络的接口。通信子系统1524用作用于从计算机系统1500的其它系统接收数据和向其发送数据的接口。例如,通信子系统1524可以使计算机系统1500能够经由互联网建立到一个或多个客户端设备的通信信道,用于从客户端设备接收信息和发送信息到客户端设备。

通信子系统1524可以支持有线和/或无线通信协议两者。例如,在某些实施例中,通信子系统1524可以包括用于接入无线语音和/或数据网络(例如,利用蜂窝电话技术、诸如3G、4G或EDGE(全球演进的增强数据速率)的高级数据网络技术)的射频收发器构件、WiFi(IEEE 802.11族标准、或其它移动通信技术、或其任意组合)、全球定位系统(GPS)接收器构件和/或其它构件。在一些实施例中,作为无线接口的附加或替代,通信子系统1524可以提供有线网络连接(例如,以太网)。

通信子系统1524可以以各种形式接收和发送数据。例如,在一些实施例中,通信子系统1524可以以结构化和/或非结构化数据馈送1526、事件流1528、事件更新1530等形式接收输入通信。例如,通信子系统1524可以被配置为实时地从社交媒体网络的用户和/或诸如馈送、更新、诸如丰富站点摘要(RSS)馈送的web馈送的其它通信服务接收(或发送)数据馈送1526,和/或来自一个或多个第三方信息源的实时更新。

在某些实施例中,通信子系统1524可以被配置为以连续数据流的形式接收本质上可能是连续的或无界的没有明确结束的数据,其中连续数据流可以包括实时事件的事件流1528和/或事件更新1530。生成连续数据的应用的例子可以包括例如传感器数据应用、金融报价机、网络性能测量工具(例如网络监视和流量管理应用)、点击流分析工具、汽车流量监视等。

通信子系统1524也可以被配置为向一个或多个数据库输出结构化和/或非结构化数据馈送1526、事件流1528、事件更新1530等,其中所述一个或多个数据库可以与耦合到计算机系统1500的一个或多个流数据源计算机通信。

计算机系统1500可以是各种类型中的一种,包括手持便携式设备(例如,蜂窝电话、计算平板、PDA)、可穿戴设备(例如,Google头戴式显示器)、个人计算机、工作站、大型机、信息站、服务器机架或任何其它数据处理系统。

由于计算机和网络不断变化的性质,对图15中绘出的计算机系统1500的描述旨在仅仅作为具体例子。具有比图15中绘出的系统更多或更少构件的许多其它配置是可能的。基于本文提供的公开内容和教导,本领域普通技术人员将理解实现各种实施例的其它方式和/或方法。

图16图示了可以用来实现本发明的实施例的示例性服务基础设施系统1600。如图16所示,服务基础设施系统1600包括处理子系统1602;以及通信子系统1604。例如,处理子系统1602和通信子系统1604可以是在图15中示出的处理子系统1504和通信子系统1524。处理子系统1602被配置为在服务基础设施系统中提供多个服务,并且通信子系统1604被配置为接收第一客户访问由服务基础设施系统提供的服务的请求。处理子系统1602还被配置为:基于由第一客户请求的服务确定订阅类型,其中订阅类型是克隆订阅或可重用订阅之一,向第一客户提供访问服务的订阅,其中订阅基于订阅类型来提供并且利用所述多个服务中的第一服务来提供,以及管理提供给第一客户的订阅。

在某些实施例中,第一客户的请求指示客户对服务的使用类型,并且其中,订阅类型基于请求所指示的使用类型来确定。

在某些实施例中,当订阅类型是克隆订阅时,向第一客户提供订阅包括:基于对第一服务的第一订阅建立第一克隆订阅,其中第一克隆订阅作为订阅被提供给第一客户;以及基于一组规则将第一克隆订阅与第一订阅相关联。

在某些实施例中,将第一克隆订阅与第一订阅相关联包括将第一克隆订阅的生命周期与第一订阅的生命周期相关联。

在某些实施例中,第一克隆订阅提供对第二服务的访问,并且其中,当客户对第一服务的访问被终止时,客户对第二服务的访问被终止。

在某些实施例中,处理子系统1602还被配置为:基于来自客户的请求更新对第一服务的访问;以及基于更新的对第一服务的访问来修改对第二服务的访问。

在某些实施例中,第一克隆订阅提供对第二服务的访问,并且其中,所述一组规则指示作为第一服务的克隆的第二服务的使用。

在某些实施例中,所述一组规则指示访问第二服务的持续时间。

在某些实施例中,所述一组规则指示被允许访问第二服务的用户的计数,并且其中被允许访问第二服务的用户的计数与被允许访问第一服务的用户的计数不同。

在某些实施例中,所述一组规则指示第二服务的配置,并且其中第二服务的配置与第一服务的配置不同。

在某些实施例中,管理订阅包括响应于第一服务的改变,确定订阅对所请求服务的访问,并且其中对所请求服务的访问利用所述一组规则来确定。

在某些实施例中,当订阅类型是可重用订阅时,向第一客户提供订阅包括:确定第一服务已在服务基础设施服务基础设施系统中的服务池中被供应;当确定第一服务还没有在服务池中被供应用于订阅时,在服务池中供应用于第一订阅的第一服务;以及将对第一服务的第一订阅分配给客户作为对服务的订阅,其中分配第一订阅包括将第一服务从服务池中分配给客户,并且其中将第一服务分配给客户包括从服务池中去除第一服务。

在某些实施例中,处理子系统1602还被配置为:将特定于客户的数据与对应于第一服务的特定于服务的数据相关联,其中特定于客户的数据与第一服务的客户相关联。

在某些实施例中,管理访问服务的订阅包括当订阅已终止时,将第一服务从客户分配给服务池,其中分配第一服务包括去除特定于客户的数据和对应于第一服务的特定于服务的数据之间的关联,并且其中第一服务能够从服务池中重新分配给一个或多个附加客户。

在某些实施例中,通信子系统1604还被配置为接收第二客户访问所述多个服务中的第二服务的请求;并且其中处理子系统1602还被配置为基于确定第二服务类似于第一服务,确定第二服务在服务池中可用;将服务池中的第一订阅分配给第二客户,其中将第一订阅分配给第二客户包括从服务池中去除第一订阅;以及将对应于第二客户的特定于客户的数据与对应于第一服务的特定于服务的数据相关联。

在某些实施例中,与第一客户相关联的特定于客户的数据包括与客户对第一服务的使用相关的数据。

在某些实施例中,服务中的每个服务与特定于服务的数据相关联,其中对应于服务的特定于服务的数据指示服务的配置,并且其中配置包括被分配以提供服务的一个或多个资源。

在某些实施例中,提供服务包括在接收第一客户的请求之前在云基础设施系统中供应服务,并且其中服务基于与服务基础设施系统的操作相关联的一个或多个度量来供应。

在某些实施例中,提供服务包括在接收第一客户的请求之前供应服务,并且其中服务基于与对服务的需求相关联的一个或多个度量来供应。

在某些实施例中,提供服务包括在接收第一客户的请求之前供应服务,其中服务基于与服务类型相关联的一个或多个度量来供应。

在某些实施例中,服务基础设施系统1600包括多租户环境。

在某些实施例中,服务包括服务、客户关系管理(CRM)服务、或人力资本管理(HCM)服务。

虽然已经描述了本发明的具体实施例,但是各种修改、更改、替代结构和等效物也包含在本发明的范围之内。本发明的实施例不限于在某些特定数据处理环境内的操作,而是可以在多个数据处理环境内自由操作。此外,虽然已利用特定系列的事务和步骤描述了本发明的实施例,但是,对本领域技术人员应当显而易见,本发明的范围不限于所描述系列的事务和步骤。上述实施例的各种特征和方面可以被单独或结合使用。

此外,虽然已经使用硬件和软件的特定组合描述了本发明的实施例,但是应当认识到,硬件和软件的其它组合也在本发明的范围之内。本发明的实施例可以只用硬件、或只用软件、或利用其组合来实现。本文描述的各种过程可以在同一处理器或以任何组合的不同处理器上实现。因此,在构件或模块被描述为被配置为执行某些操作的情况下,这种配置可以例如通过设计电子电路来执行操作、通过对可编程电子电路(诸如微处理器)进行编程来执行操作、或其任意组合来实现。进程可以利用各种技术来通信,包括但不限于用于进程间通信的常规技术,并且不同的进程对可以使用不同的技术,或者同一对进程可以在不同时间使用不同的技术。

因此,说明书和附图被认为是说明性的而不是限制性的意义。但是,将显而易见,在不脱离权利要求中阐述的更广泛精神和范围的情况下,可以对其进行添加、减少、删除和其它修改和改变。因此,虽然已描述了具体的发明实施例,但是这些实施例不旨在限制。各种修改和等效物都在以下权利要求的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1