掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本发明的实施例涉及分布式云服务领域;并且更具体地说,涉及在云提供商联盟(federation of cloud providers)中使用智能合同(contract)和区块链的云服务管理。

背景技术

多租户数据中心基础设施支持由云服务提供商向用户提供的一项或多项服务。云提供商的数据中心中托管的服务能包括基础设施即服务(IaaS),其提供对计算资源(例如,处理能力、数据存储容量和联网资源)的访问;平台即服务(PaaS),其提供除了计算和存储基础设施之外的开发平台层(例如,万维网服务器、数据库管理系统和软件开发工具包(SDK);以及软件即服务(SaaS),其提供对一系列商务需求定制的应用级服务。

云联盟是一组云服务提供商,它们协作以向租户提供一组服务,来实现商业目标。在云联盟内,各个云服务提供商能共享资源、数据和服务。租户可以经由云联盟获得多种服务。例如,云联盟能共同提供计算、网络和存储服务。来自联盟的每个云提供商都提供服务子集。在云提供商联盟中,云提供商需要联合租户身份管理、认证和授权系统。此外,对消费的服务收费需要通过集中式结算代理进行。

在现有服务云提供商平台中,每个云服务提供商运行独立的租户和服务管理系统。例如,每个云提供商可以基于集中式数据库(例如,关系数据库系统)或基于许可的区块链平台来运行租户和服务管理系统。在这些系统中,每个租户具有不同云提供商的不同账户。为了让租户无缝地访问来自联盟的多个云提供商的不同服务,需要在不同云提供商的多个租户和服务管理系统之间进行转换。

在云提供商联盟中,让独立的租户和服务管理系统来管理租户和服务既复杂、耗时又昂贵。为了使租户能够访问联盟的不同云提供商,要求租户使用不同的单点登录协议。此外,集中式结算代理在交易中引入摩擦点,并要求附加的收费步骤。收费结算代理以及云服务提供商可能会为了他们的利益操纵收费数据。因此,在不同云服务提供商之间也存在信任问题。而且,独立的租户和服务管理系统的使用是不可缩放的,并且如果更多的租户和服务加入云服务提供商联盟,那么不同的租户和服务管理系统构建和维护起来将变得更加复杂。

发明内容

一个通用方面包括:在至少包括第一数据中心和第二数据中心的云提供商联盟中的方法,其中所述第一数据中心由第一云提供商操作,并且所述第二数据中心由不同于所述第一云提供商的第二云提供商操作,所述方法包括:在所述第一数据中心从租户接收访问所述第一数据中心中托管的第一服务的请求,其中所述租户与唯一的一对加密租户私钥和租户公钥相关联;响应于确定所述租户不与记录在区块链数据库中的委托合同(delegate contract)相关联,记录委托合同,所述委托合同至少包括所述第一数据中心上托管的所述第一服务的标识、所述租户的标识以及由所述租户和由所述第一服务加密签名的第一服务要约(service offer),其中所述第一服务要约指示所述租户被登记使用所述第一服务;在所述第二数据中心从所述租户接收访问所述第二数据中心中托管的第二服务的请求,其中所述第二数据中心在物理上与所述第一数据中心分离;以及响应于确定所述租户与记录在所述区块链数据库中的指示所述租户被登记使用云提供商联盟的服务器上托管的一个或多个服务的所述委托合同相关联,来执行以下操作:所述方法还包括使得所述区块链数据库中的所述委托合同更新以包括所述第二服务的标识和由所述租户和由所述第二服务加密签名的第二服务要约,其中所述第二服务要约指示所述租户被登记使用所述第二服务。所述方法还包括使得所述第二服务基于所述第二服务要约向所述租户提供访问。所述方法还包括向所述租户传送基于所述第二服务要约能访问所述第二服务的确认。所述方法还包括向所述第一数据中心传送指示所述委托合同已经被更新成包括所述第二服务要约的更新。

一个通用方面包括云提供商联盟,其包括:第一数据中心,由第一云提供商操作,所述第一数据中心包括:存储指令的第一组一个或多个非暂时性计算机可读介质;以及与第一组非暂时性计算机可读存储介质耦合的第一组一个或多个处理器,用于处理存储的指令以执行以下第一操作:从租户接收访问所述第一数据中心中托管的第一服务的请求,其中所述租户与唯一的一对加密租户私钥和租户公钥相关联;以及响应于确定所述租户不与委托合同相关联,记录委托合同,所述委托合同至少包括所述第一数据中心上托管的所述第一服务的标识、所述租户的标识以及由所述租户和由所述第一服务加密签名的第一服务要约,其中所述第一服务要约指示所述租户被登记使用所述第一服务。云提供商联盟还包括由不同于第一云提供商的第二云提供商操作的第二数据中心,所述第二数据中心包括:存储指令的第二组一个或多个非暂时性计算机可读介质;以及与第二组非暂时性计算机可读存储介质耦合的第二组一个或多个处理器,用于处理存储的指令以执行以下第二操作:从租户接收访问所述第二数据中心中托管的第二服务的请求,其中所述第二数据中心在物理上与所述第一数据中心分离;以及响应于确定所述租户与记录在所述区块链数据库中的指示所述租户被登记使用云提供商联盟的服务器上托管的一个或多个服务的所述委托合同相关联,来执行以下操作:使得所述区块链数据库中的所述委托合同更新以包括所述第二服务的标识和由所述租户和所述第二服务加密签名的第二服务要约,其中所述第二服务要约指示所述租户被登记使用所述第二服务;使得所述第二服务基于所述第二服务要约向所述租户提供访问;向所述租户传送基于所述第二服务要约能访问所述第二服务的确认;以及向所述第一数据中心传送指示所述委托合同已经被更新成包括所述第二服务要约的更新。

附图说明

通过参考用于说明本发明实施例的以下描述和附图,可以最好地理解本发明。在附图中:

图1图示了根据一些实施例的示例性基于云的基础设施的框图,其中能在云服务提供商的联盟中执行基于云的服务的管理;

图2图示了根据一些实施例的租户注册过程的示例性操作的框图;

图3A图示了根据一些实施例的用于在云服务提供商联盟上托管的多个服务中的租户登记的示例性操作的框图;

图3B图示了根据一些实施例的为了在云服务提供商联盟的第一数据中心中进一步实现服务访问授权所执行的操作的框图;

图3C图示了根据一些实施例的为了在云服务提供商联盟的第二数据中心中进一步实现服务访问授权所执行的操作的框图;

图4A图示了根据一些实施例的用于跟踪租户的第一数据中心中的服务使用的示例性操作的框图;

图4B图示了根据一些实施例的用于跟踪租户的第二数据中心中的服务使用的示例性操作的框图;

图5图示了根据一些实施例的使用收费过程的示例性操作的框图;

图6图示了根据一些实施例的用于暂停云服务提供商联盟中的租户的一个或多个服务的示例性操作的框图;

图7图示了根据一些实施例的用于实现对云服务提供商联盟中的租户的服务访问的撤销的示例性操作的框图;

图8图示了根据一些实施例的在云提供商联盟中执行的用于在云提供商联盟中使用智能合同和区块链来管理云服务的示例性操作的流程图;

图9图示了根据一些实施例的用于暂停租户对云提供商联盟中的服务资源的访问的操作的流程图;

图10图示了根据一些实施例的用于取消租户对服务云提供商联盟中的服务的访问的示例性操作的流程图;以及

图11图示了根据一些实施例的能用于实现本文描述的一个或多个组件的网络装置的框图。

具体实施方式

以下描述描述了用于使用智能合同来管理云服务以促进各种功能,诸如租户登录、租户登记、服务注册、租户使用收费、租户使用跟踪、租户配额管理和租户权利撤销的方法和设备。在以下描述中,阐述了许多特定细节,诸如逻辑实现、操作码、指定操作数的部件、资源分区/共享/复制实现、系统组件的类型和相互关系以及逻辑分区/集成选择,以便提供对本发明的更透彻理解。然而,本领域技术人员将会理解,本发明可以在没有这种具体细节的情况下实践。在其他实例中,为了不模糊本发明,未详细示出控制结构、门级电路和完整的软件指令序列。本领域普通技术人员利用所包含的描述将能够在没有过度实验的情况下实现适当的功能性。

在该说明书中提到“一个实施例”、“实施例”、“示例实施例”等指示所描述的实施例可以包括特定特征、结构或特性,但可能不一定每一个实施例都包括该特定特征、结构或特性。而且,这样的短语不一定都指的是同一实施例。另外,当结合实施例描述特定特征、结构或特性时,认为是在本领域技术人员的知识内结合其他实施例实现这样的特征、结构或特性,而无论是否明确描述。

带括号的文本和带虚线边框(例如,大破折号、小破折号、点划线和点)的框在本文可以用来说明向本发明的实施例添加附加特征的可选操作。然而,这样的记号不应该被视为意味着这些是唯一选项或可选的操作和/或具有实线边框的框在本发明的某些实施例中不是可选的。

在以下描述和权利要求书中,可以使用术语“耦合”和“连接”,连同它们的派生词。应该理解,这些术语并不打算作为彼此的同义词。“耦合”用于指示两个或更多元件彼此合作或交互,它们可以彼此直接物理接触或电接触,或者可以不直接物理接触或电接触。“连接”被用于指示在彼此耦合的两个或更多元件之间建立通信。

区块链系统是用于构建、运行和部署分布式分类账簿的平台。分布式分类账簿以可验证的方式永久地记录双方之间发生的交易的数字记录。分布式分类账簿是在没有中央授权或实现的情况下维护的。分布式分类账簿被称为区块链数据库,其中包括使用加密来链接和保护的块。

本发明的实施例提出了一种在云提供商联盟中管理租户和服务访问的方法。云提供商联盟至少包括第一数据中心和第二数据中心,其中所述第一数据中心由第一云提供商操作,并且所述第二数据中心由不同于所述第一云提供商的第二云提供商操作。第一数据中心从租户接收访问第一数据中心中托管的第一服务的请求。租户与一对唯一的加密租户私钥和租户公钥相关联。响应于确定租户不与委托合同相关联,第一数据中心在区块链数据库中记录委托合同,该委托合同至少包括第一数据中心上托管的第一服务的标识、租户的标识以及由租户和由第一服务加密签名的第一服务要约。第一服务要约指示租户被登记使用第一服务。第二数据中心从租户接收访问所述第二数据中心中托管的第二服务的请求,其中所述第二数据中心在物理上与所述第一数据中心分离。响应于确定所述租户与记录在所述区块链数据库中的指示所述租户被登记使用云提供商联盟的服务器上托管的一个或多个服务的所述委托合同相关联,第二数据中心使得所述区块链数据库中的所述委托合同更新以包括所述第二服务的标识和由所述租户和由所述第二服务加密签名的第二服务要约,其中所述第二服务要约指示所述租户被登记使用所述第二服务;使得所述第二服务基于所述第二服务要约向所述租户提供访问;向所述租户传送基于所述第二服务要约能访问所述第二服务的确认;以及向所述第一数据中心传送指示所述委托合同已经被更新成包括所述第二服务要约的更新。

图1图示了根据一些实施例的示例性基于云的基础设施的框图,其中能在云提供商的联盟中执行基于云的服务的管理。云联盟101包括一组云服务提供商,它们协作向租户102A-H提供一组服务以实现商业目标。在云联盟内,各个云服务提供商能共享资源、数据和服务。租户102A-H可以经由云联盟获得多种服务。例如,云联盟能共同提供计算、网络和存储服务。来自联盟的每个云提供商都提供服务子集。来自联盟101的每个云提供商能拥有一个或多个数据中心。例如,数据中心108A由第一云服务提供商(未示出)拥有,第二数据中心108B由另一云服务提供商(第二云服务提供商)拥有,并且第N数据中心由第N云服务提供商(未示出)拥有。虽然在图示的图中,每个数据中心由不同的云服务提供商拥有,但是在一些实施例中,每个云服务提供商可以拥有一个或多个数据中心。数据中心可以位于不同的地理位置,并且可以包括用于托管一个或多个服务的计算、存储和联网资源。联盟101的示例性基于云的架构可以包括设置在云运营商网络106中的一个或多个数据中心108A-H,该云运营商网络可以被配置成根据合适的服务级协定和服务管理合同向多个租户(即多租户)提供各种资源和服务。在多租户架构中,联盟101可以被布置成向每个租户提供资源/服务(包括其数据、配置、用户管理、租户个人功能性以及诸如安全性、收费等属性)的专用或可配置的共享。

为了本公开的目的,租户可以被理解为希望向服务云提供商联盟登记以便在特定认证/授权凭证、特权、约束和/或基于策略的商业规则下访问一组特定资源/服务的人、组织、服务、商业实体或用户群。

举例说明,图1中例示的多个租户实体102A至102H可以包括公司、商业或政府组织、私人或一群人,他们可以经由设置在系留(有线)或未系留(无线)网络环境中的租户房屋中的一个或多个电子装置来请求和消费分别由基于云的数据中心108A、108B和108N托管的一个或多个服务110 A-L、111A-M、11NA-G。租户102A-N中的每一个可以具有一个或多个用户(未示出),这些用户能使用租户房屋中的电子装置来请求和访问联盟101的一个或多个服务。用户可以是组织的员工、私人、组织的客户等。每个用户可以具有不同级别的访问权利来访问服务110 A-L、111A-M和11NA-G中的一个或多个。在一些实施例中,租户和服务经由合同账户在联盟101中表示。这些账户由租户账户管理系统(TAMS)112通过区块链平台记录在区块链数据库119Z中。例如,在操作(1a、1b或1h)中,租户102A、102B或102H中的每一个都执行用于创建唯一租户账户的账户创建过程。每个账户可以指定租户的身份(例如,租户的唯一标识(例如,租户的公钥和联系信息,诸如电子邮件地址、电话号码等)和收费凭证,以便在使用服务云提供商联盟101中的一个或多个服务时结算。租户账户允许每个租户用单个账户和单个标识和登录凭证访问通过联盟(即,通过不同的云提供商的组合)提供的资源。

示例租户实体102A-102H可以跨越各种类型的商业和行业,并且可以消费一个或多个资源/服务110A-L、111A-M和11NA-G,包括但不限于云存储资源、处理器计算资源、网络带宽资源、载荷平衡服务、虚拟化网络基础设施资源、软件即服务(SaaS)服务、平台即服务(PaaS)服务、基础设施即服务(IaaS)服务、流媒体服务、语音电话/VoIP服务以及一个或多个在线服务,诸如例如,深度分组检查(DPI)服务、病毒扫描(VS)服务、入侵检测和预防(IDP)服务、防火墙(FW)过滤服务和网络地址转换(NAT)服务等。

每个服务都经由合同账户在云提供商联盟101中表示。服务帐户由TAMS 112通过区块链平台记录在区块链数据库119Z中。例如,在操作2a或2b,租户102A、102B或102H中的每一个都执行用于创建唯一服务账户的账户创建过程。每个服务帐户都指定服务的标识。服务的标识包括在注册时针对该服务生成的唯一标识符。在一些实施例中,服务具有基于非对称加密方案定义的唯一的一对加密私钥和公钥。服务帐户可以进一步指定服务的名称(例如,人类可读格式的名称)、用于该服务在使用一个或多个服务时结算的收费凭证以及一个或多个人员的联系信息(例如,服务的拥有者、服务的管理员等)。在一些实施例中,服务在一些应用中可以用其加密公钥来标识,而在其他应用中可以用另一个标识符来标识。例如,服务的加密公钥能被用于标识区块链数据库119Z内的服务。在另一个示例中,不同于服务的加密公钥的基于顶级命名方案定义的服务的名称能被用来唯一地标识用于使用跟踪和计费的服务。服务110A-L、111A-M和11NA-G中的每一个都包括服务管理器SM,该服务管理器可操作以与TAMS 112和相应的租户和服务管理系统113A-N通信,以便执行与服务管理相关的管理任务。例如,SM可操作来注册服务,并处置租户登记和租户登录。

TAMS 112可操作以为每个租户创建唯一的租户账户,为数据中心创建数据中心账户,并为数据中心上托管的服务创建服务账户。这些账户被记录在区块链数据库119Z中(这些账户根据区块链机制被复制到其他区块链数据库119A-N)。TAMS 112还包括计费合并器118,该计费合并器118可操作以获得对于在联盟101中托管的多个服务的每个租户的使用信息,在操作5,基于为该租户设置的收费凭证来合并使用,并向租户对该合并使用收费。在操作6,计费合并器118(从结算系统117)接收收费操作的结果,并且可操作以通过维护服务或暂停提供给租户的其中一个或多个服务来基于结果行动。

数据中心108A-N中的每一个都包括相应的TSMS 113A-N和区块链数据库119A-N。在一些实施例中,TSMS 113A-N中的每一个可操作以暴露通信接口(例如,使用通过超文本传输协议(HTTP)请求制定的表示状态传输(REST)应用编程接口(API)),以供租户102A-H和/或服务用于登记/注册、请求和获得对其中一个或多个服务的访问,并跟踪租户和/或服务对这些服务的使用。区块链数据库119A-N是区块链数据库119Z的副本,并且存储在(一个或多个)服务和租户102A-H之间建立的智能委托合同。虽然区块链数据库119A-N被图示为数据中心108A-N的一部分,但是在一些实施例中,区块链数据库119A-N能位于与数据中心108A-H通信耦合并且不是数据中心108A-H一部分的一个或多个其他电子装置中。区块链数据库119A-N和119Z形成在多个网络装置上实现的经许可的分布式分类账簿的一部分。

在一些实施例中,每个数据中心108A-N能包括相应的公布/预订系统115A-N,该系统使得联盟101的不同组件能够经由公布/预订方案进行通信。在一些实施例中,代替本地公布/预订系统115A-N,服务提供商联盟的各种组件能使用不是数据中心108A-N一部分的公布/预订系统115。在一些实施例中,一些数据中心可以包括本地公布/预订系统,而其他数据中心可以使用外部公布/预订系统115。公布/预订系统115A-N和115(它们在下文被称为Pub/Sub系统)允许公布者(例如,第一数据中心108A(例如,服务110A、TSMS 113A等)或另一个数据中心)来创建主题并向该主题发送消息。联盟101的其他组件(例如,同一数据中心的其他服务110B-M、TSMS 113B、租户102A-H、数据中心108B-N等)能预订该主题,以获得公布者对此主题公布的更新/消息。在一些实施例中,消息被保存在消息存储器中,直到它们递送和被订户确认。Pub/Sub系统115A-H和115将来自一个主题的消息单独转发给其所有预订。每个预订通过Pub/Sub将消息推送到订户选择的端点,或者通过订户从服务中拉取消息,来接收消息。订户从其预订中接收未决消息,并向Pub/Sub系统确认每个消息。

联盟101可操作以基于通过区块链平台记录在经许可的分布式分类账簿(例如,区块链)上的智能合同,使能够对租户和/或服务进行服务访问授权。在一些实现中,TSMS113A-N和TAMS 112可以被构建在开源分布式分类账簿和智能合同平台(例如,Quorum™)上。服务TSMS 113A-N和TAMS 112在开源分布式分类账簿顶部,充当DApp——即基于区块链的分布式应用。TSMS 113A-N和TAMS 112中的每一个都访问区块链数据库119A-Z的副本,并与存储在区块链数据库中的智能委托合同对象进行交互。在一些实施例中,TSMS 113A-N中的每一个都在相应数据中心108A-N中的服务器上运行,并且对数据中心的所有服务器可访问。在一些实施例中,数据中心108A-N的特定服务器集群(机架、机架排等)中的每个服务器都可以具有TSMS实例以及在其上运行的区块链平台实例,从而形成区块链和租户/服务管理平台。在一些实施例中,数据中心实例管理机制可以用于将TSMS实例限定在特定的服务器上,因此降低开销。

智能委托合同用于:在访问服务提供商联盟101的不同数据中心中托管的一个或多个服务时,实现对租户的授权和认证。例如,为租户记录的智能委托合同使得每个TSMS113A-N能够提供并授权租户访问服务110A-L、111A-M和11NA-G中的一个或多个,这将在下面进一步详细描述。智能委托合同包括(一个或多个)服务的(一个或多个)标识、租户的标识以及租户已经注册的那组服务要约。

在下面的描述中,作为示例并且为了简化下面的描述,将描述在第一数据中心108A、第二数据中心108B、租户账户管理系统112和租户102A之间的操作。本领域的普通技术人员将认识到,在不脱离本发明的范围的情况下,可以在联盟中心中的其他实体之间执行这些操作。例如,多个租户能使用通过服务提供商联盟101提供的服务。可以向每个租户提供分布在联盟的一个或多个数据中心上的一个或多个服务。

租户账户注册

图2图示了根据一些实施例的租户注册过程的示例性操作的框图。在操作202,租户102A传送对租户账户的请求。租户能访问图形用户界面(例如,显示在浏览器上的万维网界面或显示在电子装置上的应用(例如移动应用或桌面应用))。图形界面使得租户的电子装置能够与TAMS 112耦合,并且将请求传送(操作202)到TAMS 112。在一些实施例中,在操作202的请求包括租户信息,诸如租户的公钥(来自一对加密公钥和私钥)、租户的联系信息(例如,物理地址、电话号码、电子邮件地址等)、租户的名称、计费凭证(例如,信用卡信息、电子支付信息、银行账户信息等)等。在一些实施例中,租户信息不包括在请求中,并且它能在操作206由TAMS 112请求,并且在操作208从租户102A获得。可以在操作204确定是否可以为租户创建账户之后,或者在该确定之前,执行信息的请求。在一些实施例中,TAMS 112接收该请求,并且可以在操作204确定租户账户的创建是否有可能。在一些实施例中,该确定可以包括确定是否已经存在租户102A的账户。可以执行其他操作来确定账户的创建是否有可能,例如,确定联盟101是否具有处置新租户的能力,租户是否未被禁止使用联盟的服务(基于过去的行为),确定租户是否是合法客户,或者租户是机器人还是恶意实体。在一些实施例中,可以通过访问区块链数据库中的一个或多个记录来确定租户账户是否被记录在区块链数据库中,或者租户是否被指示为恶意租户或者未授权的租户,来执行租户账户的创建是否有可能的确定。在一些实施例中,可以跳过操作204,并且可以在没有任何确定或验证的情况下创建租户账户。

流程然后移动到操作210,在此TAMS 112创建包括租户的标识(例如,租户的公钥)和一个或多个附加的租户信息(例如,计费凭证、租户的联系信息等)的账户。在操作212,TAMS 112在区块链数据库中记录租户账户。在一些实施例中,租户账户被作为智能合同记录在区块链数据库119Z中。为了使得能够在区块链数据库119Z中记录租户账户,可以涉及几个操作和网络节点(例如,生成要记录的交易、生成包括该交易的块以及可以在几个节点之间运行共识算法等)。记录的账户被复制在不同数据中心108A-N的区块链数据库119A-N的所有副本中。一旦创建了账户,在操作214,就从TAMS 112向租户102A传送租户账户已经创建的确认。

租户登记和登录

图3A图示了根据一些实施例的用于在云服务提供商联盟上托管的多个服务中的租户登记的示例性操作的框图。在向云服务提供商联盟101注册之后,如参考图2所述,租户102A可以登录系统并选择它需要的那组服务,如图3A-C所示。

图3A-C图示了根据一些实施例的用于授权访问服务的示例性操作的框图。在一些实施例中,当租户102A尝试登记使用第一数据中心108A和第二数据中心108B上托管的服务时,执行图3A-C的操作。例如,租户可以尝试预订第一数据中心108A上托管的第一服务110A和第二数据中心108B上托管的第二服务111A。在以下描述中,TSMS 113A执行TSMS 113的操作。在一些实施例中,租户102A与第一数据中心108A中的不同组件和第二数据中心108B中的组件之间的通信可以是制定为HTTP消息的REST API消息。

在操作302a,第一数据中心108A的TSMS 113A从租户102A接收访问第一数据中心108A中托管的第一服务110A的请求。租户102A与唯一的一对加密私钥和公钥相关联。租户可以是来自第一数据中心108A或其他数据中心的用户或服务。在操作302b,第二数据中心108B的TSMS 113A从租户102A接收访问第二数据中心108B中托管的第二服务111A的请求。

在操作304a,第一数据中心108A的TSMS 113A确定第一服务110A能向租户102A提供的一组一个或多个服务要约。在一个实施例中,确定该组服务要约包括从高速缓存中检索该组一个或多个服务要约。从第一服务110A接收该组服务要约。每个服务要约都用第一服务110A的私钥签名。服务要约可以包括定义要提供的服务的服务属性的描述。例如,服务要约可以包括指定租户能消费的最大数量服务属性的配额。在一些实施例中,服务要约还可以包括服务属性的收费时间表,指示如何对于使用在服务要约中所指示的服务向租户收费。每个服务要约可以被格式化为独立于语言的文件格式,诸如JSON文档。在不脱离本发明范围的情况下,可以使用其他格式来定义服务要约。在一些实施例中,发送到TSMS 113A的服务要约能取决于能将它们提供到的租户的类型。

服务要约可以从ComputeService指定高达5个虚拟机(VM)的权利准予,其中每个VM存储器最大4 GB,而每个VM CPU时间最大3600小时。VM CPU时间以小时为单位的收费是每12小时以每小时0.05美元的费率收费。本文描述的服务要约仅打算是示例性的,并且不应被视为本发明实施例的限制示例。在不脱离本发明范围的情况下,可以定义几种类型的要约并将其传送到TSMS 113A。

在操作304b,第二数据中心108B的TSMS 113B确定第二服务111A可以向租户102A提供的一组一个或多个服务要约。在一个实施例中,确定该组服务要约包括从高速缓存中检索该组一个或多个服务要约。从第二服务111A接收该组服务要约。每个服务要约都用第二服务111A的私钥签名。服务要约可以包括定义要提供的服务的服务属性的描述。例如,服务要约可以包括指定租户能消费的最大数量服务属性的配额。在一些实施例中,服务要约还可以包括服务属性的收费时间表,指示如何针对使用服务要约中所指示的服务向租户收费。每个服务要约可以被格式化为独立于语言的文件格式,诸如JSON文档。在不脱离本发明范围的情况下,可以使用其他格式来定义服务要约。在一些实施例中,发送到TSMS 113B的服务要约能取决于能将它们提供到的租户的类型。

例如,服务要约可以指定来自存储设备的权利准予作为服务基础设施,标识租户能使用的存储资源量(例如5GB /月、10GB/月等)以及关联的使用费。本文描述的服务要约仅打算是示例性的,并且不应被视为本发明实施例的限制示例。在不脱离本发明范围的情况下,可以定义几种类型的要约并将其传送到TSMS 113B。

返回参考图3A,在一些实施例中,TSMS 113A和TSMS 113B中的每一个都可以高速缓存分别从第一服务110A和第二服务111A接收的服务要约,如以第一服务110A和第二服务111A的私钥签名的服务要约。在其他实施例中,由TSMS 113A和TSMS 113B在接收到来自租户102A的服务请求时请求该组服务要约,从相应的服务110A和111A获得,并在接收到时使用,而不需要对它们进行高速缓存。

在操作306a,TSMS 113A将由第一服务110A签名的那组服务要约传送给租户102A。在一些实施例中,TSMS 113A可以使得显示包括服务要约的图形用户界面(例如,万维网浏览器上的网页、移动应用等)。在操作306b,TSMS 113B将由第二服务111A签名的那组服务要约传送给租户102A。在一些实施例中,TSMS 113B可以使得显示包括服务要约的图形用户界面(例如,万维网浏览器上的网页、移动应用等)。

租户102A为每个数据中心选择这些要约中的一个(例如,用户可以通过租户房屋中的电子装置上显示的网页,从被提供的服务列表中选择期望的服务)。在操作308a和308b,TSMS 113A和113B分别从租户接收相应的第一服务要约和第二服务要约。所选第一服务要约用租户的私钥和第一服务110A的私钥加密签名。签名由租户存储,并且用于访问第一服务110A。在一些实施例中,由服务和租户的密钥对服务要约进行签名产生的签名可以被放入JSON万维网令牌(JWT)中,该令牌是包含服务要约的JSON文档的基本64编码的副本。包括签名的JWT由租户存储,并且用于访问第一服务110A。所选第二服务要约用租户的私钥和第二服务111A的私钥加密签名。签名由租户存储,并且用于访问第二服务111A。在一些实施例中,由第二服务和租户的密钥对服务要约进行签名产生的签名可以被放入JSON万维网令牌(JWT)中,该令牌是包含服务要约的JSON文档的基本64编码的副本。包括签名的JWT由租户存储,并且用于访问第二服务111A。

虽然图3A示出了租户请求从每个数据中心访问单个服务,但是在一些实施例中,租户可以请求每个数据中心访问不止一个服务。虽然图3A的操作以给定的顺序示出,但是这些操作可以在不脱离本发明的范围的情况下以不同的顺序执行。例如,租户可以在第一时间请求从第一数据中心108A访问第一组一个或多个服务,并且可以确定在晚于第一时间的第二时间请求从第二数据中心108B访问一个或多个服务。时间段可以从几秒到几天、几月或几年...。

图3B图示了根据一些实施例的为了在云服务提供商联盟的第一数据中心108A中进一步实现服务访问授权所执行的操作的框图。一旦TSMS 113A从租户102A接收到所选第一服务要约,它在操作309a就确定在租户102A的区块链数据库119A中是否记录了委托合同,该委托合同在本文也可以被称为智能委托合同。响应于确定在区块链数据库119A中没有该租户的委托合同,TSMS 113A在操作310a将委托合同记录到区块链数据库119A中。智能委托合同包括服务的标识、租户的标识以及所选服务要约,该服务要约用租户的私钥和服务的私钥加密签名。在一些实施例中,委托合同进一步包括如下至少一项:一组一个或多个第一标识符,唯一地标识租户能将第一服务要约委托给的一组一个或多个子代表;一个或多个配额,指定租户能消费的第一服务的最大数量属性;一组一个或多个第二标识符,唯一地标识被允许撤销为租户设置的委托合同的一组一个或多个实体;到期时间,指示时间和日期,在该时间和日期之后,租户对第一服务的访问不再有效;以及发布时间,指示为租户生成了委托合同的时间和日期。

在操作312a,TSMS 113A将租户102A和第一服务110A之间的智能委托合同传送到第一服务110A。在操作314a,第一服务110A存储委托合同的副本。在一些实施例中,第一服务110A执行与租户102A选择的服务相关的初始化任务。在其他实施例中,当租户102A访问第一服务110A时,在稍后阶段执行初始化。在操作316a,第一服务110A为租户102A设立Pub/Sub主题。当服务公布任何更新时,这些主题可以允许租户102A从Pub/Sub系统115A获得与第一服务110A相关的消息。此外,主题可以允许TSMS 113A从Pub/Sub系统115A获得与租户102A及其对第一服务110A的使用活动相关的消息。这些主题可以进一步允许其他数据中心获得关于租户及其对第一数据中心108A中的服务的使用的更新。在操作318a,在设立主题后,Pub/Sub系统115A传送预订确认。在操作322a,第一服务110A传送租户能访问该服务的确认。在一些实施例中,TSMS 113A还能执行操作323a和325a。在操作323a,TSMS 113A预订租户102A和第一服务110A的使用更新,以接收关于由第一服务110A向租户102A提供的服务的任何更新。在操作325a,Pub/Sub系统115A传送预订确认。在操作324a,TSMS 113A向租户102A传送基于所选服务要约和令牌(JWT)能访问该服务的确认。这是租户登记了第一服务110A并且现在能在任何时间请求访问第一服务110A的确认。

图3C图示了根据一些实施例的为了在云服务提供商联盟的第二数据中心108B中进一步实现服务访问授权所执行的操作的框图。一旦TSMS 113B从租户102A接收到所选第二服务要约,它就在操作309b确定委托合同是否被记录在租户102A的区块链数据库119B中。响应于确定在区块链数据库119B中存在针对租户102A的委托合同,在操作310b,TSMS113B更新委托合同,以包括由租户和第二服务111A加密签名的所选第二服务要约和第二服务111A的标识。智能委托合同包括第一服务110A的标识、租户的标识和用租户102A的私钥和第一服务110A的私钥加密签名的所选第一服务要约、以及第二服务111A的标识和由租户102A和第二服务111A(例如,由它们相应的加密私钥)签名的所选第二服务要约。在一些实施例中,委托合同进一步包括如下至少一项:一组一个或多个第一标识符,唯一地标识所述租户能将第一服务要约委托给的一组一个或多个子代表;一组一个或多个第二标识符,唯一地标识租户能将第二服务要约委托给的一组一个或多个子代表;一个或多个配额,指定租户能消费的第一服务110A和第二服务111A的最大数量属性;一组一个或多个第三标识符,唯一地标识被允许撤销为所述租户设置的所述委托合同的一组一个或多个实体;到期时间,指示时间和日期,在该时间和日期之后所述租户对所述第一服务110A或所述第二服务111B的访问不再有效;以及发布时间,指示为所述租户生成了所述委托合同的时间和日期。

在操作312b,TSMS 113B将租户102A和第二服务111A之间的智能委托合同传送到第二服务111A。在操作314b,第二服务111A存储委托合同的副本。在一些实施例中,第二服务111A执行与租户102A选择的服务相关的初始化任务。在其他实施例中,当租户102A访问第二服务111A时,在稍后阶段执行初始化。在操作316b,第二服务111A为租户102A设立Pub/Sub主题。当第一服务110A公布任何更新时,这些主题可以允许租户102A从Pub/Sub系统115B获得与第一服务111A相关的消息。此外,主题可以允许TSMS 113B从Pub/Sub系统115B获得与租户102A及其对第二服务111A的使用活动相关的消息。这些主题可以进一步允许其他数据中心获得关于租户及其对第二数据中心108B中的服务的使用的更新。在操作318b,在设立主题后,Pub/Sub系统115B传送预订确认。

在操作320,Pub/Sub系统115B传送租户102A的委托合同已经被更新的指示。该指示被发送到能属于与第二数据中心108B的服务提供商相同的云服务提供商或者能属于不同云服务提供商的一个或多个其他数据中心。例如,该指示由第一数据中心108A的Pub/Sub系统115A接收,并使第一数据中心108A更新针对租户102A存储的智能委托合同的高速缓存副本。这个更新的副本包括来自各种数据中心的服务(例如,第一服务110A和第二服务111A)的标识以及针对每个服务选择的相应服务要约。

在操作322b,第一服务110A传送租户能访问该服务的确认。在一些实施例中,TSMS113B也能执行操作323b和325b。在操作323a,TSMS 113B预订租户102A和第二服务111A的使用更新,以接收关于由第二服务111A向租户102A提供的服务的任何更新。在操作325b,Pub/Sub系统115B传送预订确认。在操作324b,TSMS 113B向租户102A传送基于所选服务要约和令牌(JWT)能访问第二服务111A的确认。这是租户登记了第二服务111A并且现在能在任何时间请求访问第二服务111A的确认。

租户服务属性使用跟踪

图4A图示了根据一些实施例的用于跟踪租户的第一数据中心中的服务使用的示例性操作的框图。公布由服务和租户对可消费属性(即,资源)的使用,使得TSMS 113A能记录使用信息,并允许对该使用向租户计费。图4A图示了其中第一服务资源后面是第二服务资源被分配给第一数据中心108A中的租户102A。在操作402a,第一服务110A将第一服务资源分配给租户102A。在分配第一服务资源时,在操作404a,第一服务110A向Pub/Sub系统115A公布第一服务资源的第一使用信息(SA1)。第一使用信息包括关于所分配资源的类型以及租户102A使用的配额的信息。例如,第一使用信息可以是为租户102A分配的多个虚拟机。第一使用信息与第一服务110A的标识符和租户102A的标识符(例如,分别是第一服务110A的公钥和租户102A的公钥)相关联。在操作406a,Pub/Sub系统115A将第一使用信息推送给TSMS 113A。在操作408a,TSMS 113A将第一使用信息与第一服务110A和租户102A的标识符相关联地记录到区块链数据库中。

在操作412a,第一服务110A向租户102A分配第二服务资源。在分配第二服务资源时,在操作414a,第一服务110A向Pub/Sub系统115A公布第二服务资源的第二使用信息(SA2)。第二使用信息包括关于所分配资源的类型以及租户102A使用的配额的信息。例如,第二使用信息可以是为租户102A分配的存储量。第二使用信息与第一服务110A的标识符和租户102A的标识符(例如,分别是第一服务110A的公钥和租户102A的公钥)相关联。在操作416a,Pub/Sub系统115A将第二使用信息推送给TSMS 113A。TSMS 113A将第二使用信息与第一服务110A和租户102A的标识符相关联地记录到区块链数据库119A中。

图4B图示了根据一些实施例的用于跟踪租户的第二数据中心中的服务使用的示例性操作的框图。公布由服务和租户对可消费属性(即,资源)的使用,使得TSMS 113B能记录使用信息,并允许对该使用向租户计费。图4B图示了其中第三服务资源后面是第四服务资源被分配给第二数据中心108B中的租户102A。在操作402b,第二服务111A将第三服务资源分配给租户102A。在分配第三服务资源时,在操作404b,第二服务111A向Pub/Sub系统115B公布第三服务资源的第三使用信息(SA3)。第三使用信息包括关于所分配资源的类型以及租户102A使用的配额的信息。例如,第三使用信息可以是为第二数据中心108B中的租户102A分配的多个虚拟机。第三使用信息与第二服务111A的标识符和租户102A的标识符(例如,分别是第二服务111A的公钥和租户102A的公钥)相关联。在操作406b,Pub/Sub系统115B将第三使用信息推送给TSMS 113B。在操作408b,TSMS 113B将第三使用信息与第二服务111A和租户102A的标识符相关联地记录到区块链数据库中。

在操作412b,第二服务111A向租户102A分配第四服务资源。在分配第四服务资源时,在操作414b,第二服务111A向Pub/Sub系统115B公布第四服务资源的第四使用信息(SA4)。第二使用信息包括关于所分配资源的类型以及租户102A使用的配额的信息。例如,第四使用信息可以是为租户102A分配的存储量。第二使用信息与第二服务111A的标识符和租户102A的标识符(例如,分别是第二服务111A的公钥和租户102A的公钥)相关联。在操作416b,Pub/Sub系统115B将第四使用信息推送给TSMS 113B。TSMS 113B将第二使用信息与第二服务111A和租户102A的标识符相关联地记录到区块链数据库119B中。

虽然以上示例描述了来自第一服务110A的第一和第二服务资源被分配给租户102A,并且来自第二服务111A的第三和第四服务资源被分配给租户102A,但是在一些实施例中,不同的资源从单个数据中心内的不同服务分配。

从而,TSMS 113A和TSMS 113B从第一服务110A或第二服务111A接收使用信息,并将该信息分别与用户(例如,租户102A)的标识符和服务的标识符相关联地记录到区块链数据库中。TSMS 113A和113B进一步记录使用的服务类型和使用的服务资源量。在一些实施例中,服务资源量可以是物理或虚拟资源量和/或在确定的时间段内的资源使用量。在一些实施例中,使用信息被存储在区块链数据库中的使用对象中。使用对象包括租户102A和第一服务110A或第二服务111A的标识符以及所分配的(一个或多个)服务资源的属性。从而,TSMS 113A和TSMS 113B使能够跟踪区块链数据库119A和119B上的服务使用。当服务确定具有授权的智能委托合同的服务或租户对其资源的使用时,TSMS 113A或TSMS 113B接收该信息,并在区块链数据库上的使用对象中填充使用信息。

合并使用收费

TAMS 112包括计费合并器118,该计费合并器可操作以,当他们与云服务提供商联盟101建立他们的账户时,基于租户102A提供的凭证联系一个或多个外部结算系统。在出现错误的情况下,计费合并器118可以联系本地TSMS(例如,TSMS 113A或113B),以允许(一个或多个)服务响应于错误的发生而采取行动。例如,暂停过程的执行,禁止另外的过程启动,或切断对盘卷的访问。计费合并器118然后将撤销租户的权利委托,直到租户有机会寻求与联盟101的调解过程,此时可以恢复权利委托。在一些实施例中,结算系统117是云服务提供商联盟外部的实体。例如,银行机构、接受和处置加密货币的系统以及信用卡提供商可以是能使用的结算系统117的示例。租户或服务当他们设立他们的账户时可以提供各种收费凭证。计费合并器使得在联盟101的多个数据中心上提供的不同服务能够为租户102A提供单个且合并的账单,该账单将被传送到结算系统117。

图5图示了根据一些实施例的使用收费过程的示例性操作的框图。在操作502a,第一数据中心108A(例如,数据中心108A的TSMS 113A)传送第一收费间隔的第一使用信息连同租户102A的第一收费凭证。该信息由TSMS 113A基于对于户102A跟踪的使用,从区块链数据库119A中获得。例如,使用信息可以是租户102A在一时间间隔期间消费的资源量(VM数量、存储器大小等)。时间间隔可以基于在用户针对所消费的服务注册时针对用户账户设立的计费时间表来确定。计费时间表可以是每月、每周或由租户102A和所消费的服务(例如,第一服务110A)商定的任何其它时间间隔。

在操作502b,第二数据中心108B(例如,数据中心108B的TSMS 113B)传送第一收费间隔的第三使用信息连同租户102A的第二收费凭证。该信息由TSMS 113B基于对于户102A跟踪的使用,从区块链数据库119B中获得。例如,使用信息可以是租户102A在一时间间隔期间消费的资源量(VM数量、存储器大小等)。时间间隔可以基于在用户针对所消费的服务注册时针对用户账户设立的计费时间表来确定。计费时间表可以是每月、每周或由租户102A和所消费的服务(例如,第二服务111A)商定的任何其它时间间隔。

在一些实施例中,代替从TSMS 113A接收第一使用信息和从TSMS 113B接收第三使用信息,计费合并器可以从区块链数据库119Z的副本获得信息,而不需要联系多个数据中心的TSMS。

在操作504,一旦接收到第一和第三使用信息,计费合并器就将使用信息(第一和第三)合并到租户102A的云提供商联盟中的使用服务的合并账单中。从而,甚至当多个数据中心由不同的云提供商拥有时,租户102A也针对在多个数据中心上消费的所有服务呈现单个账单。在操作506,合并的账单被传送到结算系统117。在操作508,结算系统117基于合并的使用信息以及第一和第二收费凭证向租户102A收费。在一些实施例中,第一和第二收费凭证可以相同,而在其他实施例中,第一和第二收费凭证可以不同。虽然针对租户在不同数据中心消费的服务发送合并账单,但是在租户登记服务时,可以基于与租户商定的不同支付方法执行计费。例如,可以借记加密货币账户,可以借记租户102A的银行账户,或者向信用卡收取在每一个使用信息中指示的金额。在操作510,结算系统117传送指示收费是否成功的消息。如果收费成功,则该消息包括进行支付的确认。如果收费不成功,则该消息包括错误。

在接收到指示收费不成功的消息时,计费合并器118暂停区块链数据库119Z中租户102A之间的智能委托合同,使得服务提供商联盟的其他数据中心上托管的(一个或多个)服务的暂停。

计费合并器118向一个或多个公布/预订系统115A-N传送暂停租户102A的委托合同的指示。图6图示了根据一些实施例的用于暂停云服务提供商联盟中的租户的一个或多个服务的示例性操作的框图。

由于区块链数据库中委托合同的更新和数据中心对该租户更新的预订,在操作606,一个或多个Pub/Sub系统(例如,115A)接收该租户的委托合同被暂停的指示。在接收到该指示时,Pub/Sub系统115A将该指示传送到TSMS 113A,该TSMS 113A可操作来管理租户在第一数据中心108A中的访问。在操作610,TSMS 113A进一步向第一服务110A传送委托合同暂停的指示(例如,该指示可以是被标记为暂停合同的更新的智能委托合同),以通知第一服务110A应该暂停租户102A的访问,直到收费问题得到解决。在操作614,第一服务110A暂停向租户102A提供的服务,并更新要暂停的高速缓存的智能委托合同。在一些实施例中,智能委托合同保持暂停,直到收费问题得到解决,并且从TSMS 113A接收指示服务可以恢复的新消息。

在一些实施例中,Pub/Sub系统115A可以进一步向Pub/Sub 115B传送服务暂停的指示。在其他实施例中,Pub/Sub系统115B在计费合并器处接收作为区块链数据库更新结果的指示,而不从第一数据中心108A的Pub/Sub系统115A接收消息。在操作616,Pub/Sub系统115B向第二数据中心108B的TSMS 113B传送委托合同暂停的指示。在操作618,TSMS 113B进一步向第二服务111A传送委托合同暂停的指示(例如,该指示可以是被标记为暂停合同的更新的智能委托合同),以通知第二服务111A应该暂停租户102A的访问,直到收费问题得到解决。在操作620,第二服务111A暂停向租户102A提供的服务,并更新要暂停的高速缓存的智能委托合同。在一些实施例中,智能委托合同保持暂停,直到收费问题得到解决,并且从TSMS 113B接收指示服务可以恢复的新消息。

当租户的权利委托被暂停时,租户被提供了寻求与云服务提供商联盟101的调解过程的机会(例如,通过计费合并器或备选地通过TSMS 113A-N中的一个或多个录入新的收费凭证),此时将恢复权利委托。例如,租户可以经由电子邮件、文本消息、通知或通过电话呼叫被通知他们的结算有问题,并被请求向云服务提供商联盟寻求补救。在一些实施例中,如果收费问题在预定时间段内没有解决,则可以撤销智能委托合同,并且可以请求用户再次注册(一个或多个)服务以便访问(一个或多个)服务。

图7图示了根据一些实施例的用于实现对云服务提供商联盟中的租户的服务访问的撤销的示例性操作的框图。执行联盟101中租户的访问权利的撤销是通过将委托合同标记为删除的合同,使得租户重新登记先前建立的服务。

在操作710,第一数据中心108A确定针对租户102A将撤销对第一数据中心108A上的服务的访问。租户102A的委托将被取消。在一些实施例中,TSMS 113A能从计费合并器118接收如下指示:在租户的委托合同暂停之后,租户无法成功更新计费凭证,或者分配给租户102A用于更新计费凭证的预定时间段已经超时,而租户没有成功提供更新的凭证。TSMS113A可以确定由于恶意行为或第一数据中心108A确定的其他原因,租户102A将被撤销对第一数据中心上托管的服务的访问。在确定租户102A的访问将被撤销时,在操作714,TSMS113A传送取消租户102A的委托合同的请求。在操作714,第一服务110A接收该请求,并取消租户的第一服务,并删除高速缓存的委托合同。在一些实施例中,如果第一数据中心108A托管由租户102A使用的多个服务,则针对租户取消所有这些服务,并且拒绝租户102A访问这些资源。第一服务110A在操作720传送移除租户102A的所有Pub/Sub主题的请求,并在操作716确认执行了服务取消。一旦TSMS 113A接收到服务取消完成的确认,在操作718,TSMS113A将委托合同在区块链数据库中标记为取消。委托合同的这一更新使得区块链数据库的副本被更新成包括在所有其他数据中心中所取消的智能合同。

在操作722,Pub/Sub系统115A向一个或多个数据中心(例如,数据中心108B)推送通知,以指示租户102A的智能合同被标记为取消,并且该租户的(一个或多个)服务访问将被撤销。在操作724,Pub/Sub系统115B向第二数据中心108B的TSMS 113B推送智能合同被标记为取消的通知,使得第二数据中心108B撤销租户在数据中心108B提供的所有服务中的访问。例如,在操作726,TSMS 113B向第二服务111A传送取消委托合同的请求。在操作728,针对租户102A取消第二服务111A,并且删除高速缓存的委托合同。在一些实施例中,在操作730,第二服务111A可以传送移除租户的所有Pub/Sub主题的请求。在其他实施例中,在操作720,在第一数据中心中接收到请求时,Pub/Sub主题可能已经被移除。

在本文描述的实施例中,从服务提供商联盟取消单个数据中心中的租户的服务导致取消和撤销对通过联盟提供的所有服务的访问,而不管服务和数据中心的拥有者是谁。另外,Pub/Sub系统实现了无缝过程,用于获得关于针对云服务提供商联盟上的租户建立的委托合同的状态的更新。

相对于基于每个云提供商的各个集中式数据库的系统,在云提供商联盟中使用智能合同来实现服务注册、服务访问跟踪和服务使用付费提供了若干优势。本文描述的实施例使得能够在租户和云提供商联盟之间创建和记录智能委托合同,允许提高可扩展性和弹性。能由不同云服务提供商拥有的多个数据中心上托管的若干服务的租户的登记与服务条款(即,服务要约)一起被记录在区块链数据库中。实施例实现了复杂商业生态系统中的多方(例如,云基础设施(即,数据中心)、构建在云基础设施之上的服务提供商(服务)、租户(例如,组织)和子租户(例如,员工、客户))参与。本文的实施例实现了对服务使用的细粒度跟踪,以及跨多个云提供商对租户的使用的合并收费。

本文的实施例提供了优于多个集中式数据库存储访问信息的其他技术的显著优势。区块链平台提供了委托合同的不变性,使得在有争议的情况下,第三方能审核区块链数据库,以确定发生的以及在租户和多个云提供商上托管的不同服务之间商定的一系列行动和事件。监管人、审核人和调解人可以被给予对于只读访问区块链数据库的权限,以便监测和审核该活动。受到严格监管的行业,如金融服务和医疗保健服务,可以从这样一个不可改变的系统中受益。此外,本文呈现的实施例特别适合于多方形成商业生态系统的情况,其中他们在一些情况下合作,而在其他情况下竞争。

流程图中的操作将参考其它附图的示例性实施例进行描述。然而,应该理解,流程图的操作能由本发明的实施例执行,而不是参考其它附图讨论的那些实施例执行,并且参考这些其它附图讨论的本发明实施例能执行与参考流程图讨论的那些操作不同的操作。

图8图示了根据一些实施例的在云提供商联盟中执行的用于在云提供商联盟中使用智能合同和区块链来管理云服务的示例性操作的流程图。云提供商联盟101包括多个数据中心108A-N。多个数据中心108A-N至少包括由第一云提供商操作的第一数据中心和由第二云提供商操作的第二数据中心,其中第二云提供商不同于第一云提供商。图8的操作在云提供商联盟101的不同组件中执行。在操作802,第一数据中心108A从租户(例如,租户102A)接收访问第一数据中心108A中托管的第一服务(例如,110A)的请求。租户102A与一对唯一的加密租户私钥和租户公钥相关联。

响应于确定租户102A不与委托合同相关联,在操作804,第一数据中心108A记录委托合同,该委托合同至少包括托管在第一数据中心108A上的第一服务的标识、租户的标识以及由租户和第一服务110A加密签名的第一服务要约。第一服务要约指示租户被登记使用第一服务。

在操作806,第二数据中心108B从租户接收访问托管在第二数据中心108B中的第二服务(例如,服务111A)的请求。第二数据中心108B在物理上与第一数据中心108A分离,并且由不同的云提供商拥有。操作移动到操作808,在操作808,响应于确定租户102A与记录在区块链数据库中的指示该租户被登记使用云提供商联盟的服务器上托管的一个或多个服务的委托合同相关联,第二数据中心108B执行一组操作。这些操作包括操作810,在操作810,第二数据中心108B使得将区块链数据库中的委托合同更新成包括第二服务111A的标识和由租户和第二服务加密签名的第二服务要约。第二服务要约指示租户被登记使用第二服务。这些操作包括操作812和操作814,在操作812,第二数据中心108B使第二服务基于第二服务要约向租户提供访问,在操作814,第二数据中心108B基于第二服务要约向租户传送能访问第二服务111A的确认,并且向第一数据中心108A传送指示委托合同已经被更新成包括第二服务要约的更新。

在一些实施例中,第一数据中心108A和第二数据中心108B中的每一个都存储委托合同的副本,如在租户的区块链数据库中所更新的。

图9图示了根据一些实施例的用于暂停租户对云提供商联盟中的服务资源的访问的操作的流程图。在操作902和操作908,第一数据中心108A和第二数据中心108B中的每一个都接收到租户102A的委托合同被暂停的指示。在一些实施例中,作为第一数据中心108A和第二数据中心108B通过公布-预订平台预订针对云提供商联盟上托管的租户和服务创建的主题的结果(操作904、操作908),接收该指示。在一些实施例中,作为无法对于第一服务110A的使用和第二服务111A的使用向租户收费的结果(操作906、操作912),接收该指示。

在操作914,存储在第一数据中心108A的委托合同的副本被更新,以指示该租户的委托合同被暂停。在操作916,存储在第二数据中心108B的委托合同的副本被更新,以指示租户102A的委托合同被暂停。在操作918,在第一数据中心108A中暂停租户102A对第一服务110A的访问,直到不再暂停租户102A的委托合同。在操作920,在第二数据中心108B中暂停租户102A对第二服务111A的访问,直到不再暂停租户102A的委托合同。

图10图示了根据一些实施例的用于取消租户对服务云提供商联盟中的服务的访问的示例性操作的流程图。在操作1002,第一数据中心108A确定将撤销租户102A对第一服务的访问。在一些实施例中,这可以通过确定委托合同已经暂停了所确定的时间段而没有被重新激活来自动发生。例如,可以给租户一段时间来继续通过云提供商联盟接收的服务的重新激活机制。这可以通过让租户重新录入支付凭证来更新服务的计费过程来执行。在其他实施例中,可以通过在第一数据中心108A接收由于租户的恶意行为(例如,无法支付服务费用、违反由云提供商联盟设置的政策的行为等)或者其他原因而取消向特定租户提供的所有服务的显式请求,来执行将取消委托合同的确定。

响应于确定租户的访问将被撤销,执行操作1004-1008。在操作1004,取消租户的第一服务。在操作1006,更新记录在区块链数据库中的委托合同,以指示租户的委托合同被标记为删除。在操作1008,作为在第一数据中心108A中取消对租户的服务的结果,使得第二数据中心108B取消对租户的第二服务。在一些实施例中,使得第二数据中心108B取消对租户的服务,如图7操作720-728所示。

相对于基于每个云提供商的各个集中式数据库的系统,在云提供商联盟中使用智能合同来实现服务注册、服务访问跟踪和服务使用付费提供了若干优势。本文描述的实施例使得能够在租户和云提供商联盟之间创建和记录智能委托合同,允许提高可扩展性和弹性。实施例实现了复杂商业生态系统中的多方(例如,云基础设施、构建在云基础设施之上的服务提供商、租户(例如,组织)和子租户(例如,员工、客户))参与。本文的实施例实现了租户对服务使用的细粒度跟踪,包括根据该使用向租户收费,该使用集中在多个云提供商上。

本文的实施例通过依赖于存储合同的区块链数据库的不可变方面,提供了优于多个集中式数据库存储访问信息的其他技术的显著优势。智能委托合同的不变性意味着,在有争议的情况下,第三方能审核区块链数据库,以确定发生的以及在租户和多个云提供商上托管的不同服务之间商定的一系列行动和事件。监管人、审核人和调解人可以被给予对于只读访问区块链数据库的权限,以便监测和审核该活动。受到严格监管的行业,如金融服务和医疗保健服务,可以从这样一个不可改变的系统中受益。此外,本文呈现的实施例特别适合于多方形成商业生态系统的情况,其中他们在一些情况下合作,而在其他情况下竞争。

电子装置使用机器可读介质(也称为计算机可读介质)(诸如机器可读存储介质(例如磁盘、光盘、固态盘、只读存储器(ROM)、闪存装置、相变存储器)和机器可读传输介质(也称为载体)(例如电、光、无线电、声或其它形式的传播信号——诸如载波、红外信号),存储和传送(在内部和/或通过网络与其它电子装置)代码(其由软件指令组成并且其有时被称为计算机可读代码或计算机程序)和/或数据。从而,电子装置(例如,计算机)包括硬件和软件,诸如一组一个或多个处理器(例如,其中处理器是微处理器、控制器、微控制器、中央处理单元、数字信号处理器、专用集成电路、现场可编程门阵列、其他电子电路、一个或多个前述的组合),该组处理器耦合到一个或多个机器可读存储介质以存储用于在该组处理器上执行的代码和/或存储数据。例如,电子装置可以包括包含代码的非易失性存储器,因为非易失性存储器能永久保存代码/数据,即使当电子装置关闭时(当断电时),并且当电子装置开启时,将由该电子装置的(一个或多个)处理器执行的那部分代码通常从较慢的非易失性存储器拷贝到该电子装置的易失性存储器(例如,动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM))。典型的电子装置还包括一组或一个或多个物理网络接口(NI),以与其他电子装置建立网络连接(使用传播信号传送和/或接收代码和/或数据)。例如,该组物理NI(或该组(一个或多个)物理NI与执行代码的那组处理器相结合)可以执行任何格式化、译码或转换,以允许电子装置通过有线和/或无线连接发送和接收数据。在一些实施例中,物理NI可以包括能够通过无线连接从其他电子装置接收数据和/或经由无线连接向其他装置发送出数据的无线电电路。该无线电电路可以包括适合于射频通信的(一个或多个)传送器、(一个或多个)接收器和/或(一个或多个)收发器。无线电电路可以将数字数据转换成具有适当参数(例如,频率、时序、信道、带宽等)的无线电信号。然后,无线电信号可以经由天线传送给(一个或多个)适当的接收方。在一些实施例中,该组(一个或多个)物理NI可以包括(一个或多个)网络接口控制器(NIC),也称为网络接口卡、网络适配器或局域网(LAN)适配器。(一个或多个)NIC可以促进将电子装置连接到其他电子装置,允许它们通过将电缆插入到连接到NIC的物理端口来经由导线进行通信。本发明实施例的一个或多个部分可以使用软件、固件和/或硬件的不同组合来实现。

网络装置(ND)是在网络上通信地互连其他电子装置(例如,其他网络装置、最终用户装置)的电子装置。一些网络装置是为多个连网功能(例如,路由、桥接、交换、层2聚合、会话边界控制、服务质量和/或订户管理)提供支持和/或为多个应用服务(例如,数据、语音和视频等)提供支持的“多服务网络装置”。在上述实施例中,系统100的组件可以在网络中耦合的一个或多个网络装置上实现。例如,每一个服务、TSMS 113A-N、公布/预订系统115、115A-N、结算系统117和TAMS 112可以在一个ND上实现或者分布在多个ND上。虽然区块链数据库119A-Z中的每一个都被示为单个实体,但是本领域的普通技术人员将理解,区块链数据库是许可的、分布式分类帐,其在多个网络装置上实现,使得区块链数据库的副本在充当区块链节点的每个数据中心中被复制。类似地,租户102A-N可以是抽象组织,通过使用一个或多个网络装置来访问联盟101的资源和服务,使能够访问服务。

图11图示了根据一些实施例的能用于实现本文描述的一个或多个组件的网络装置的框图。网络装置1130可以是运行在服务器硬件上的万维网或云服务器,或者服务器集群。根据一个实施例,网络装置是包括服务器硬件1105的服务器装置。服务器硬件1105包括一个或多个处理器1116、与计算机可读存储介质1114耦合的网络通信接口1160。计算机可读存储介质1114可以包括TAMS代码1112、TSMS代码1113、公布预订代码1115、计费合并器代码1118、(一个或多个)服务代码1110和区块链数据库1119中的一个或多个。

虽然一个实施例不实现虚拟化,但是备选实施例可以使用不同形式的虚拟化——例如由虚拟化层1120表示。在这些实施例中,实例1140和执行它的硬件形成虚拟服务器,该虚拟服务器是存储在计算机可读存储介质1114上的模块的软件实例。

TAMS代码1112、TSMS代码1113、公布/预订代码1115、计费合并器代码1118和(一个或多个)服务代码1110中的每一个都包括指令,所述指令当由硬件1105执行时,使得实例1140分别实现TAMS 1122、TSMS 1123、公布/预订系统1125、计费合并器1128或一个或多个服务1120。虽然网络装置被示为包括TAMS 1122、TSMS 1123、公布/预订系统1125、计费合并器1128和一个或多个服务1120中的每一个的实例,但是在一些实施例中,数据中心中的服务器可以包括这些组件的子集。例如,服务器可以包括TSMS 1123的实例(例如,TSMS 113A、TSMS 113B或113N),另一个服务器可以包括Pub/Sub系统1125的实例(例如,Pub/Sub系统115A、115B或115N),第三服务器可以包括服务1120的实例,服务器可以包括TAMS 1122的实例(例如,TAMS 112),并且服务器可以包括计费合并器1128的实例(例如,计费合并器118)。在其他实施例中,这些实例中的两个或更多个可以在同一服务器上执行。例如,第一服务器可以包括TAMS 1122的实例、计费合并器1128的实例、公布/预订系统1125的实例以及区块链数据库1119的副本。此服务器可能位于是联盟的一部分的数据中心之一中,或者位于不是任何数据中心的一部分的专用于这些实例的服务器中。联盟的一个或多个数据中心可以包括具有TSMS 1123实例、公布/预订系统1125的实例、一个或多个服务1120的实例以及区块链数据库(例如,119A-N)的副本的服务器。备选地,在不脱离本发明的范围的情况下,组件的每个实例可以分布在多个服务器上。

虽然附图中的流程图示出了由本发明的某些实施例执行的特定操作顺序,但应该理解,这种顺序是示例性的(例如,备选实施例可以按不同的顺序执行操作,组合某些操作,使某些操作重叠等)。

虽然本发明已经在几个实施例方面进行了描述,但本领域技术人员将认识到,本发明不限于所描述的实施例,能用所附权利要求书的精神和范围内的修改和更改来实践。从而,本描述被视为说明性的,而不是限制性的。

相关技术
  • 用于在云提供商联盟中使用智能合同和区块链来管理云服务的方法和设备
  • 用于在连接受限设备配置和开放服务网关联盟环境中管理访问特权的方法和装置
技术分类

06120112579783