CN117897693A - 不同租赁拥有的计算实例的附接和分离 - Google Patents
不同租赁拥有的计算实例的附接和分离 Download PDFInfo
- Publication number
- CN117897693A CN117897693A CN202280058252.2A CN202280058252A CN117897693A CN 117897693 A CN117897693 A CN 117897693A CN 202280058252 A CN202280058252 A CN 202280058252A CN 117897693 A CN117897693 A CN 117897693A
- Authority
- CN
- China
- Prior art keywords
- service
- control plane
- computing instance
- instance
- computing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 165
- 230000008569 process Effects 0.000 claims abstract description 127
- 238000012545 processing Methods 0.000 claims description 122
- 230000004044 response Effects 0.000 claims description 56
- 238000004891 communication Methods 0.000 claims description 46
- 230000006854 communication Effects 0.000 claims description 46
- 238000013473 artificial intelligence Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- 238000007429 general method Methods 0.000 abstract description 4
- 238000013475 authorization Methods 0.000 description 66
- 238000007726 management method Methods 0.000 description 58
- 238000010586 diagram Methods 0.000 description 26
- 238000012986 modification Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- SUBDBMMJDZJVOS-UHFFFAOYSA-N 5-methoxy-2-{[(4-methoxy-3,5-dimethylpyridin-2-yl)methyl]sulfinyl}-1H-benzimidazole Chemical compound N=1C2=CC(OC)=CC=C2NC=1S(=O)CC1=NC=C(C)C(OC)=C1C SUBDBMMJDZJVOS-UHFFFAOYSA-N 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 239000002184 metal Substances 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 238000000926 separation method Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000002955 isolation Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000002507 cathodic stripping potentiometry Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000699666 Mus <mouse, genus> Species 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000002591 computed tomography Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000003325 tomography Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06315—Needs-based resource requirements planning or analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- General Business, Economics & Management (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
公开了用于在两个计算实例之间创建附接的技术。描述了用于附接两个或更多个云资源(例如,两个计算实例)的基础设施和通用方法,尽管计算资源是由来自不同云租赁的两个不同服务供应的。描述了为连线计算实例而执行的自动化过程。自动化过程可一般地应用于附接提供两种不同服务并从两个不同服务租赁供应的任何两个计算实例。
Description
相关申请
本申请与题为“Restricted Operations Due To Attachment Of ComputeInstances Owned By Different Tenancies”的第17/459,167号美国非临时申请相关。上述申请的全部内容出于所有目的通过引用并入本文。
背景技术
当客户注册为由IaaS云服务提供商(CSP)提供的IaaS服务的订户时,为客户创建账户或租赁。在某些实现中,为客户创建的租赁(也被称为客户租赁)提供持有客户的所有云资源的根级区室(compartment)。在典型场景中,客户及其用户只能访问置于该客户的租赁内的资源。这些资源可以包括例如为客户供应的一个或多个计算实例以向客户提供一个或多个服务。
对于客户订阅的并且针对其为客户供应客户实例的特定服务,计算实例通常由分开的服务基础设施创建和提供,该基础设施被配置为供应和管理与特定服务相关的云资源。例如,如果客户订阅了服务A和服务B,则与其自己的租赁(被称为服务租赁)相关联的服务A基础设施被配置为创建和供应为客户提供服务A的计算实例A。同样,与其自己的租赁相关联的服务B基础设施被配置为创建和供应为客户提供服务B的计算实例B。计算实例A的生命周期管理由服务A基础设施独占控制,计算实例B的生命周期管理由服务B基础设施独占控制。此外,由分开的服务基础设施创建的计算实例不能直接彼此对话或交互,因为它们已经由两个不同租赁中的基础设施供应。然而,可能存在一些情况,其中客户可能受益于从两个不同的服务基础设施接收的资源(例如,上例中的计算实例A和计算实例B)能够彼此交互和一起工作,但由于基于其服务租赁的计算实例的隔离,这变得困难。
本公开描述了上述问题的解决方案。
发明内容
本公开一般涉及在计算实例之间创建附接。如本文所描述的,尽管计算资源由来自不同云租赁的两个不同服务供应,但描述了一种用于附接(也被称为“连线”)两个(或更多)云资源(例如,两个计算实例)的基础设施和通用方法。描述了一种被执行用于连线计算实例的自动化过程。自动化过程通常可应用于附接提供两个不同服务并从两个不同服务租赁供应的任何两个计算实例。
例如,客户可以向第一服务基础设施发送请求以附接第一服务计算实例和第二服务计算实例。请求可以由第一服务基础设施的第一服务控制平面接收并处理。然后工作流程被执行用于附接两个计算实例,其中工作流程涉及由第一服务控制平面、第二服务控制平面以及由身份管理和授权服务(IDMAS)执行的处理。
在某些实施例中,一种方法包括由第一服务的第一控制平面接收在第一服务的第一计算实例与第二服务的第二计算实例之间创建附接的请求,其中第一服务计算实例由第一控制平面控制,第二计算实例由第二控制平面控制,第一计算实例位于客户租赁内,第二计算实例位于客户租赁内,并且第一计算实例与客户租赁内的第二计算实例隔离;由第一控制平面执行一组处理操作以在第一计算实例和第二计算实例之间创建附接;以及在执行处理操作组之后并且由于附接,获得对第二计算实例的控制并且使能第一计算实例和第二计算实例之间的通信。
在又一个实施例中,由第一控制平面获得指示第一控制平面可以代表客户与第二控制平面通信的令牌。
在又一个实施例中,其中执行处理操作组包括:由第一控制平面确定可以在第二计算实例上执行的一组允许的操作。
在又一个实施例中,其中执行处理操作组包括:由第一控制平面向第二控制平面发送附接请求,附接请求包括标识第一计算实例和第二计算实例的信息,其中第二控制平面存储关于附接的信息;以及由第一控制平面存储关于附接的信息。
在又一个实施例中,其中第一控制平面是主导控制平面,第二控制平面是被动控制平面,第一计算实例是主导计算实例,并且第二计算实例是被动计算实例。
在又一个实施例中,还包括:在执行处理操作组以创建附接之前,由第一控制平面在客户租赁内创建第一服务的第一计算实例。
在又一个实施例中,其中执行处理操作组包括:由第一控制平面向第二控制平面发送在客户租赁内创建第二计算实例的请求,其中第二控制平面响应于请求在客户租赁内创建第二计算实例。
在又一个实施例中,其中第一服务是企业资源规划(ERP)服务,并且第二服务是会话式人工智能(AI)服务。
在又一个实施例中,其中在执行处理操作组之后并且由于附接,第二控制平面被限制在第二计算实例上执行至少一个操作。
在某些实施例中,公开了一种非暂时性计算机可读存储介质,其存储计算机可执行指令,当该计算机可执行指令被执行时,使得计算机系统的一个或多个处理器执行一种方法,包括:接收在第一服务的第一计算实例和第二服务的第二计算实例之间创建附接的请求,其中第一服务计算实例由计算机系统的第一控制平面控制,第二计算实例由第二控制平面控制,第一计算实例位于客户租赁内,第二计算实例位于客户租赁内,并且第一计算实例与客户租赁内的第二计算实例隔离;执行一组处理操作以在第一计算实例和第二计算实例之间创建附接;以及在执行该组处理操作之后并且由于附接,获得对第二计算实例的控制并且使能第一计算实例和第二计算实例之间的通信。
在某些实施例中,公开了一种计算机系统,包括:处理器;以及存储器,被配置为存储多个指令,所述多个指令可由处理器执行并且在由处理器的执行时导致处理被执行,处理包括:接收在第一服务的第一计算实例和第二服务的第二计算实例之间创建附接的请求,其中第一服务计算实例由计算机系统的第一控制平面控制,第二计算实例由第二控制平面控制,第一计算实例位于客户租赁内,第二计算实例位于客户租赁内,并且第一计算实例与客户租赁内的第二计算实例隔离;执行一组处理操作以在第一计算实例和第二计算实例之间创建附接;以及在执行该组处理操作之后并且由于附接,获得对第二计算实例的控制并且使能第一计算实例和第二计算实例之间的通信。
在某些实施例中,公开了一种用于计算实例的附接的设备,包括用于执行根据本公开的实施例的任何方法的步骤的装置。
在某些实施例中,公开了一种包括计算机指令的计算机程序产品,该计算机指令在由处理器执行时实现根据本公开的实施例的任何方法的步骤。
通过参考以下说明书、权利要求和附图,前述内容以及其他特征和实施例将变得更加明显。
附图的简要说明
图1是根据一些实施例的分布式环境的简化框图。
图2描绘了根据某些实施例的描绘用于附接客户租赁内的两个计算实例的过程的简化游泳图。
图3描绘了根据某些实施例的描绘用于分离客户租赁内附接的两个计算实例的过程的简化游泳图
图4描绘了根据某些实施例的描绘用于附接客户租赁内的两个计算实例的过程的简化游泳图,其中被动实例尚不存在并且作为过程的一部分被创建。
图5描绘了根据某些实施例的描绘用于附接客户租赁内的两个计算实例的过程的简化游泳图,其中主导实例尚不存在并且作为过程的一部分被创建。
图6描绘了根据某些实施例的描绘用于附接客户租赁内的两个计算实例的过程的简化游泳图,其中这两个计算实例两者尚不存在但是作为过程的一部分被创建。
图7描绘了根据某些实施例的用于确定操作是否被允许的过程。
图8是图示根据至少一个实施例的用于实现云基础设施即服务系统的一种模式的框图。
图9是图示根据至少一个实施例的用于实现云基础设施即服务系统的另一种模式的框图
图10是图示根据至少一个实施例的用于实现云基础设施即服务系统的另一种模式的框图
图11是图示根据至少一个实施例的用于实现云基础设施即服务系统的另一种模式的框图。
图12是图示根据至少一个实施例的示例计算机系统的框图。
详细说明
在下面的描述中,出于解释的目的,阐述了具体细节以便提供对某些实施例的透彻理解。然而,将显而易见,可以在没有这些具体细节的情况下实践各种实施例。附图和描述并不旨在是限制性的。本文使用的词语“示例性”意为“用作示例、实例或说明”。本文中描述为“示例性”的任何实施例或设计不一定被解释为比其他实施例或设计优选或有利。
本公开一般涉及在计算实例之间创建附接。当客户注册为由IaaS云服务提供商(CSP)提供的IaaS服务的订户时,为客户创建账户或租赁。在某些实现中,为客户创建的租赁(也称为客户租赁)提供持有客户的所有云资源的根级区室。在典型场景中,客户及其用户只能访问置于该客户的租赁内的资源。这些资源可以包括例如为客户供应的一个或多个计算实例以向客户提供一个或多个服务。
对于客户订阅的并且针对其为客户供应客户实例的特定服务,计算实例通常由分开的服务基础设施创建和提供,该基础设施被配置为供应和管理与特定服务相关的云资源。例如,如果客户订阅了服务A和服务B,则与其自己的租赁(被称为服务租赁)相关联的服务A基础设施被配置为创建和供应为客户提供服务A的计算实例A。同样,与其自己的租赁相关联的服务B基础设施被配置为创建和供应为客户提供服务B的计算实例B。计算实例A的生命周期管理由服务A基础设施独占控制,并且计算实例B的生命周期管理由服务B基础设施独占控制。此外,由分开的服务基础设施创建的计算实例不能直接彼此对话或交互,因为它们已经由两个不同租赁中的基础设施供应。然而,可能存在情况,其中客户可能受益于从两个不同的服务基础设施接收的资源(例如,上例中的计算实例A和计算实例B)能够彼此交互和一起工作,但由于基于其服务租赁的计算实例的隔离,这变得困难。
在此意义上,客户可能希望“附接”两个计算实例以使能计算实例的这样的协作功能。在过去,这样的附接只能通过对实现要被附接的两个计算实例的代码做出定制的更改来实现。然而,这样的解决方案仅特定于那些计算实例,并且通常不能应用于要被附接的其他云资源。此外,由于必须应用于要被附接的两个计算实例的具体代码更改,因此过程需要花费长时间,并且仅特定于那些计算实例,并且不能应用于其他类型的计算实例。因此,客户不能按需请求这样的附接。
本公开描述了上述问题的解决方案。如本文所描述的,尽管计算资源由来自不同云租赁的两个不同服务供应,但描述了一种用于附接(也被称为“连线”)两个(或更多)云资源(例如,两个计算实例)的基础设施和通用方法。描述了一种被执行用于连线计算实例的自动化过程。自动化过程通常可应用于附接提供两个不同服务并从两个不同服务租赁供应的任何两个计算实例。
例如,客户可以向第一服务基础设施发送请求以附接第一服务计算实例和第二服务计算实例。请求可以由第一服务基础设施的第一服务控制平面接收并处理。然后工作流程被执行以用于附接两个计算实例,其中工作流程涉及由第一服务控制平面、第二服务控制平面以及由身份管理和授权服务(IDMAS)执行的处理。与作为此工作流程的一部分执行的处理相关的细节在图2、3、4、5、6和7中描绘,并在下面描述。
图1是根据一些实施例的分布式环境100的简化框图。分布式环境100可包括经由通过一个或多个通信网络上的一个或多个通信链路彼此通信地耦合的多个计算机系统。图1中的分布式环境100包括服务A基础设施110、服务B基础设施120、客户租赁130、身份管理和授权服务140以及用户操作的控制台106。
图1所示的分布式环境仅是示例并且不旨在不适当地限制所要求保护的实施例的范围。许多变化、替代和修改是可能的。例如,在一些实现中,分布式环境100可以具有比图1所示的计算机系统或组件更多或更少的计算机系统或组件,或者可以具有计算机系统和通信线路的不同的配置或布置。
图1中描绘的各种组件的实施例可以使用一个或多个计算机系统来实现。示例计算机系统可以包括计算资源(例如,一个或多个处理器或CPU)、存储器资源(例如,系统存储器、非易失性存储器)和联网资源(例如,网络接口卡(NIC))。计算机系统可以使用联网资源在一个或多个通信网络上与一个或多个其他计算机系统通信。通信网络可以包括例如互联网、内联网、外联网、局域网(LAN)、广域网(WAN)和促进通信的其他网络及其组合。通信可以使用一种或多种有线或无线通信协议经由有线或无线链路发生。在某些实现中,通信网络可以包括由IaaS提供商提供的物理底层网络。
在某些实现中,图1中描绘的各种组件可以由云服务提供商(CSP)(诸如基础设施即服务(IaaS)提供商)提供的基础设施托管。在IaaS模型中,CSP提供基础设施(被称为云服务提供商基础设施或CSPI),该基础设施可被客户用来构建其自己的可自定义的专用网络(被称为虚拟云网络(VCN))。客户可以在这些VCN上部署一项或多项客户资源或工作负载,诸如计算实例。计算实例可以是虚拟机或裸机实例。虚拟机(VM)计算实例可以是在物理裸金属计算机系统上运行的独立虚拟机。虚拟化技术(诸如管理程序)使得在相同物理计算机系统(也被称为主机)上运行多个虚拟机计算实例成为可能。裸金属计算实例由裸金属服务器或没有管理程序的主机托管。当裸金属计算实例被供应时,单个客户或租赁维持对托管裸金属实例的计算机系统的物理CPU、存储器和网络接口的控制,并且计算机系统不与其他客户或租户共享。
当客户注册为由IaaS CSP提供的IaaS服务的订户时,为客户创建称为客户的租赁的帐户。例如,如图1中所示,可以为订阅客户创建客户租赁130。在某些实现中,诸如客户租赁130的租赁提供持有客户的所有云资源的根级区室。可以为分开的不同客户创建分开的不同租赁。在典型场景中,客户只能访问置于该客户的租赁内的资源。客户可以在客户的根租赁(根区室)内创建附加区室,以进一步控制对置于这些附加区室内的资源的访问。这是通过将一个或多个访问策略与区室相关联以控制对区室中的资源的访问来实现的。当为客户创建云资源(例如,计算实例、块卷、云网络等)时,客户可以指定将资源置于其内的具体区室。在最简单的默认场景中,客户的云资源被置于客户根租赁内。例如,在图1中,诸如服务A计算实例131和服务B计算实例132的客户的云资源可以置于为客户租赁130创建的根区室内。
除了订阅IaaS服务之外,客户还可以订阅可以由一个或多个CSP提供的各种其他服务。这些服务可能包括在软件即服务(SaaS)模型、平台即服务(PaaS)模型下提供的服务以及其他类型的云服务。术语云服务通常用于指由CSP使得使用CSP提供的系统和基础设施(云基础设施)按需(例如,经由订阅模型)对用户或客户可用的服务。通常,组成CSP基础设施的服务器和系统与客户自己的本地服务器和系统是分开的。因此,客户可以利用CSP提供的云服务自身,而无需为服务购买分开的硬件和软件资源。云服务旨在为订阅客户提供对应用和计算资源的轻松、可扩展的访问,而无需客户投资购买用于提供服务的基础设施。
例如,在图1所描绘的实施例中,客户可以订阅由CSP使用服务A基础设施110提供的“服务A”,以及订阅由CSP使用服务B基础设施120提供的分开的“服务B”。服务A基础设施110被配置为为一个或多个订阅客户供应和管理与服务A相关的云资源。服务A基础设施110可以在具体针对该服务创建的服务A租赁115内操作。订阅客户的用户105可以使用控制台106向服务A基础设施110发送请求,请求提供服务A的计算实例。作为响应,服务A基础设施110可以为用户105供应服务A计算实例131(例如,提供服务A的具体实例)。如图1中所示,所供应的服务A计算实例131可以存储在客户租赁130内。服务A基础设施110负责服务A计算实例131的生命周期管理和配置。
在某些实现中,如图1中所示,服务A基础设施110可以包括服务A控制平面112,其负责为客户供应云资源(例如,服务A计算实例131)、配置计算实例、更新计算实例以及执行服务A计算实例131的生命周期管理。服务A控制平面112可以向订阅服务A的其他客户提供类似的服务。服务A控制平面112可以包括前端113组件,用于接收命令并且以其他方式与用户105通信,例如经由控制台106。服务A基础设施110还可以包括工作流程组件114,其负责执行与前端113接收到的用户请求相对应的处理。在某些实施例中,工作流程组件114可以负责配置和执行用于执行与控制平面112接收到的用户请求相对应的处理的一个或多个工作流程过程。
服务B基础设施110被配置为为订阅客户供应和管理与服务B相关的云资源。服务B基础设施120可以在具体针对该服务创建的服务B租赁115内操作。订阅客户的用户105可以使用控制台106向服务B基础设施120发送请求,请求提供服务B的计算实例。作为响应,服务B基础设施120可以为用户105供应服务B计算实例132(例如,提供服务B的具体实例)。如图1中所示,所供应的服务B计算实例132可以存储在客户租赁130内。服务B基础设施120负责服务B计算实例132的生命周期管理和配置。
在某些实现中,如图1中所示,服务B基础设施120可以包括服务B控制平面122,其负责为客户供应云资源(例如,服务B计算实例132)、配置计算实例、更新计算实例以及执行服务B计算实例132的生命周期管理。服务B控制平面122可以向订阅服务B的其他客户提供类似的服务。服务B控制平面122可以包括前端123组件,用于接收命令并且以其他方式与用户105通信,例如经由控制台106。服务B基础设施120还可以包括工作流程组件124,其负责执行与前端123接收到的用户请求相对应的处理。在某些实施例中,工作流程组件124可以负责配置和执行一个或多个工作流程过程,用于执行与控制平面112接收到的用户请求相对应的处理。
应当注意,服务A租赁115、服务B租赁125和客户租赁130是三个分开的租赁。服务A基础设施110不能访问或控制服务B基础设施120供应的云资源。例如,服务A基础设施110不能访问服务B计算实例132。同样,服务B基础设施120不能访问或控制服务A基础设施110供应的云资源。例如,服务B基础设施120不能访问服务A计算实例131。
由于服务A计算实例131和服务B计算实例132是由两个不同租赁(例如,服务A租赁115和服务B租赁125)内的实体供应和控制的,所以两个计算实例不能并且不彼此交互。然而,可能存在情况,其中客户可能受益于从两个不同服务接收的资源能够彼此交互和一起工作。例如,具有客户租赁130的客户可以受益于服务A计算实例131和服务B计算实例132能够一起工作。在此意义上,客户可能希望“附接”两个计算实例以使能计算实例的这样的协作功能。例如,假设服务A是提供诸如企业资源规划(ERP)服务的企业应用服务的SaaS服务。由服务A基础设施110供应的服务A计算实例131因此可以为客户提供ERP服务。此外,假设服务B是会话式人工智能(AI)服务(也被称为数字助理或聊天机器人服务)。服务B基础设施120被配置为为客户创建和训练聊天机器人服务实例(例如,服务B计算实例132),其中聊天机器人服务实例被配置为响应口头和/或书面话语。客户可能想经由聊天机器人与其ERP服务交互。为了实现此,客户可能期望将他们的聊天机器人服务实例(例如,服务B计算实例132)附接到他们的ERP计算实例(例如,服务A计算实例131)。
在过去,这样的附接只能通过对实现要被附接的两个计算实例的代码做出定制的更改来实现。然而,这样的解决方案仅特定于那些计算实例,并且通常不能应用于要被附接的其他云资源。此外,由于必须应用于要被附接的两个计算实例的具体代码更改,因此过程需要花费长时间,并且仅特定于那些计算实例,并且不能应用于其他类型的计算实例。因此,客户不能按需请求这样的附接。
本公开描述了上述问题的解决方案。如本文所描述的,描述了一种用于附接(也被称为“连线”)两个(或更多)云资源(例如,两个计算实例)的基础设施和通用方法,尽管计算资源由来自不同云租赁的两个不同服务供应。描述了一种被执行用于连线计算实例的自动化过程。自动化过程通常可应用于附接提供两个不同服务并从两个不同服务租赁供应的任何两个计算实例。
例如,在图1所描绘的实施例中,用户105可以经由控制台106向服务A基础设施110发送请求以附接服务A计算实例131和服务B计算实例132。请求可以由服务A控制平面112接收和处理。然后工作流程被执行以用于附接两个计算实例,其中工作流程涉及由服务A控制平面112、服务B控制平面122以及由身份管理和授权服务(IDMAS)140执行的处理。与作为此工作流程的一部分执行的处理相关的细节在图2、3、4、5、6和7中描绘,并在下面描述。用于附接两个计算实例的总体工作流程可能涉及由服务A基础设施110、服务B基础设施120以及由IDMAS140执行的个别的工作流程。
例如,在先前关于ERP服务计算实例和Chatbot计算实例描述的示例中,用户可以请求两个计算实例被附接。然后处理被执行以执行附接。作为附接的结果,ERP计算实例的用户现在能够使用与聊天机器人实例的对话与ERP实例交互。
当客户不再期望两个附接的计算实例之间的附接时,客户用户可以按需请求先前附接的计算实例的分离(即,破坏附接)。例如,在图1所描绘的实施例中,用户105可以经由控制台106向服务A基础设施110发送请求以分离先前附接的服务A计算实例131和服务B计算实例132。请求可以由服务A控制平面112接收和处理。然后工作流程被执行以用于分离两个计算实例,其中工作流程涉及由服务A控制平面112、服务B控制平面122以及由身份管理和授权服务140执行的处理。与作为此工作流程的一部分执行的处理相关的细节在图3中描绘,并在下面描述。
本文描述的实施例因此使得用户105能够按需请求两个计算实例变为附接并且能够彼此通信,或者再次按需变为分离。如图1中所示,附接使用附接链路133来象征性地示出,该附接链路133表示服务A计算实例131和服务B计算实例132之间的通信链路。
与附接/分离处理相关联的信息可以由服务A基础设施110存储为附接/分离信息111。同样,与附接/分离处理相关联的信息可以由服务B基础设施120存储为附接/分离信息121。
身份管理和授权服务140被配置为提供用于检查请求用户是否被授权请求对要被附接或分离的特定计算实例组的附接或分离的服务。授权可以基于为被附接或分离的服务实例而定义的访问控制策略。例如,可以为客户租赁130定义控制哪些实例可以被附接/分离、哪些用户可被允许请求附接/分离等的策略。身份管理和授权服务140可以评估这样的策略以确定请求是否可以被授权。身份管理和授权服务140可以使得服务A基础设施110和服务B基础设施120能够在附接过程期间(或在分离过程期间)代表用户105彼此通信。
图2描绘了根据某些实施例描绘用于附接客户租赁内的两个计算实例的过程的简化游泳图200。图2所描绘的处理可以使用硬件或其组合以由相应系统的一个或多个处理单元(例如,处理器、核心)执行的软件(例如,代码、指令、程序)来实现。软件可以存储在非暂时性存储介质上(例如,存储器设备上)。图2中呈现并在下面描述的方法旨在是说明性的且非限制性的。尽管图2描绘了以特定顺序或次序发生的各种处理操作,但这并不旨在是限制性的。在某些替代实施例中,处理可以以一些不同的次序来执行或者一些步骤也可以并行地执行。
游泳图200图示了用于附接两个计算实例的过程。对于图2所描绘的过程,假设在接收到附接请求之前,要被附接的两个计算实例已经存在。例如,在接收到附接请求之前,所附接的两个计算实例可能先前已经预先创建。在某些实施例中,当请求被接受以附接来自两个服务的两个实例时,如果实例尚不存在,则作为处理的一部分,计算实例可以首先通过与相应的服务基础设施交互来创建,然后计算实例按照图2中描绘的处理附接。
例如,在图2所描绘的实施例中,用户105可以(例如,经由控制台106)向服务A控制平面前端113发送指令以创建服务A的第一计算实例。响应于接收用户指令,服务A控制平面工作流程114可以在用户的客户租赁130内创建并配置服务A计算实例131(例如,第一服务的实体化)。服务A控制平面112可以继续控制和管理服务A计算实例131。类似地,用户105可以(例如,经由控制台106)向服务B控制平面122发送指令以创建服务B的第二计算实例。响应于接收到用户指令,服务B控制平面122可以在用户的客户租赁130内创建并配置服务B计算实例132(例如,第二服务的实体化)。服务B控制平面122可以继续控制和管理服务B计算实例132。
虽然服务A计算实例131和服务B计算实例132两者可以在客户租赁130内,但是服务A计算实例131和服务B计算实例132可以被独立地创建并且最初在客户租赁130内彼此隔离。通常,服务A控制平面112具有服务A计算实例131的所有权,并且因此只有服务A控制平面112可以访问和配置服务A计算实例131。类似地,通常服务B控制平面122具有服务B计算实例132的所有权,并且因此只有服务B控制平面122可以访问和配置服务B计算实例132。由于此分开,服务A计算实例131和服务B计算实例132通常不能彼此通信或共享信息。
图2中所描绘的以及下面描述的处理使得服务A计算实例131和服务B计算实例132能够基于用户的指令而变为附接。作为附接的结果,服务A计算实例131和服务B计算实例132可以通信并交换信息。此外,服务A控制平面112可以拥有、控制和/或配置服务A计算实例131和服务B计算实例132两者。
如图2所示,处理可以在S202处启动,此时使用用户设备(例如,控制台106)的用户105向服务A控制平面112发送附接服务A计算实例131和服务B计算实例132的请求。
出于本公开的目的,从用户接收附接请求的控制平面被称为“主导”控制平面,并且另一个控制平面被称为“被动”控制平面。主导控制平面启动附接过程,并包括用于执行附接的必要功能和API。例如,在图2中,由于服务A控制平面112在S202中接收附接请求,因此其是主导控制平面,而服务B控制平面122是被动控制平面。
在图2所描绘的示例中,指令由服务A控制平面前端113接收。由于由两个分开的服务控制平面创建的两个分开的计算实例要被附接,因此在某些实施例中,附接请求可以被发送到两个服务控制平面中的任一个。例如,如果服务A计算实例131和服务B计算实例132要被附接,则附接请求可以由用户设备(例如,控制台106)发送到服务A控制平面112或服务B控制平面122。用户105经由用户设备(例如,控制台106)可以决定向哪个服务发送指令。例如,用户105经由用户设备(例如,控制台106)可以从在用户接口处显示的列表中选择服务A。
在一些其他实现中,对于要被附接的两个计算实例,附接请求可能必须被发送到两个服务控制平面中的特定一个。例如,作为一个示例,对于要被附接的服务A计算实例131和服务B计算实例132,附接请求可能必须被发送到服务A控制平面112而不是发送到服务B控制平面122。在这样的实现中,仅控制平面之一(例如,服务A控制平面112)可能能够成为主导控制平面(例如,基于可用的处理能力和API)。在这样的情况下,用户设备(例如,控制台106)必须将附接请求发送到能够作为主导控制平面的特定控制平面。
在某些实施例中,在附接过程完成之后,由于附接,主导控制平面将具有对被动控制平面的(在客户租赁内的)计算实例的控制和所有权。因此,只要附接保留,被动控制平面可以在其计算实例上执行的某些操作(例如,删除计算实例)就不再被允许。相反,在这样的实施例中,被动控制平面接收并服从来自主导控制平面的附接消息和指令,并且允许主导控制平面控制被动控制平面的计算实例。
在接收到附接请求之后,主导控制平面然后可以启动处理以确定附接请求是否可被执行。例如,处理可被执行以确定请求附接的用户是否被授权做出这样的请求。在某些实现中,身份管理和授权服务140可以执行授权的处理。因此,在S204处,主导控制平面(在此示例中,服务A控制平面112)可以向身份管理和授权服务140发送与在S202中接收到的请求相关的信息。身份管理和授权服务140然后可以启动授权过程。如果授权成功(即,用户被允许请求两个所标识的计算实例的附接),则作为S204的一部分,身份管理和授权服务140可以将响应发送回主导控制平面(即,服务A控制平面112)为继续进行附接处理提供授权。
在一些实施例中,由身份管理和授权服务140发送到服务A控制平面112的响应可以包括代表(OBO)令牌。发送到服务A控制平面112的OBO令牌用作服务A控制平面112被授权代表用户设备(例如,控制台106)向服务B控制平面122发送附接相关指令的令牌或证据。在某些实现中,OBO令牌可以作为授权证明被包括在从服务A控制平面112到服务B控制平面122的每个后续通信中(一般地,在从主导控制平面到被动控制平面的通信中)。
在某些实施例中,检查还可以被执行以查看两个计算实例之间的附接是否被允许。在这样的实现中,可以仅在某些类型的计算实例之间允许附接,即,可以仅在某些服务的计算实例之间允许附接。标识所允许的服务之间的附接的信息可以被存储。如果在S202中接收到的请求标识出其附接不被允许的两个计算实例,则附接过程可被终止并错误消息返回到请求用户。例如,如果服务A计算实例和服务B计算实例之间的附接不被允许,则附接计算实例131和132的请求可能不被允许。在某些实现中,在接收到连线请求之后,查看两个所标识的计算实例之间的连线是否被允许的此检查由主导控制平面执行。主导控制平面可以访问标识允许的附接的信息以确定特定请求的附接在哪里被允许。在一些其他实现中,此检查可以由身份管理和授权服务140来执行。
执行附接的处理可以同步或异步地执行。在一些实现中,异步实现是优选的,因为请求用户不必等待(或不被锁定)直到整个处理完成。因此,在使用异步处理的实现中,在S206处,服务A控制平面前端113创建用于执行处理的异步工作请求并向用户设备(例如,控制台106)提供工作请求标识符。用户设备(例如,控制台106)可以通过发送工作请求ID来请求关于附接处理的状态的更新。
在S208处,在已经完成步骤S204中的身份管理和授权处理之后,服务A控制平面前端113指示服务A控制平面工作流程114组件启动用于创建附接的工作流程。在一些实施例中,服务A控制平面前端113可以向服务A控制平面工作流程114提供OBO令牌以供在与服务B控制平面122通信以创建附接中使用。
在S210处,服务A控制平面工作流程114(即,主导控制平面)向服务B控制平面122(即,被动控制平面)发送附接请求。附接请求通知服务B控制平面122服务B控制平面122所拥有的计算实例正被附接到主导控制平面(即,服务A控制平面122)所拥有的另一计算实例。附接请求消息包括与附接相关联的任何合适信息的有效负载。例如,附接请求可以包括指示服务A控制平面112被授权启动附接的创建的身份/授权信息。例如,服务A控制平面112在S204中接收到的OBO令牌可以被包括在S210中发送的请求中。附加地,附接请求可以指示要被附接的实例(例如,服务A计算实例131和服务B计算实例132)。计算实例可以使用唯一地标识实例的标识符来标识,例如,使用它们相应的Oracle云标识符(OCID)。
附加地,附接请求可以指示主导控制平面和被动控制平面的身份。例如,在图2的示例中,主导控制平面是服务A控制平面112,并且被动控制平面是服务B控制平面122。这还标识了主导计算实例和被动计算实例。因为服务A控制平面112是主导控制平面,所以服务A计算实例131被称为主导计算实例。类似地,因为服务B控制平面122是被动控制平面,所以服务B计算实例132在附接中被称为被动计算实例。
附加地,在某些实施例中,由于附接,限制可以施加在可以由(a)客户和(b)由被动控制平面在被动计算实例上执行的操作上。在某些实现中,在S210中发送的附接请求可以包括指示这些限制的信息。例如,针对每个客户并且针对被动控制平面,请求可以标识客户和/或被动控制平面由于附接而在被动计算实例上允许或不允许的一个或多个操作的列表。请求可以标识客户由于附接而在被动计算实例上允许或不允许的一个或多个操作的列表。在某些实现中,对于被动服务控制平面和客户中的每一个,提供允许的操作的列表。当附接存在时,列表中未具体指定的任何操作不被允许。在一些实施例中,用于删除被动计算实例(例如,服务B计算实例132)的操作可以不再包括在新的客户允许操作列表中。在一些实施例中,仅对于所有者而不是客户,可允许删除附接的操作。
下面示出了可以被称为CREATE ATTACH API的附接请求的示例:
如上面的请求所示,被动计算实例(在上面的示例中,服务B实例被附接到主导计算实例(在上面的示例中,服务A实例)。在请求中,“attachToId”为被动计算实例将被附接到的主导计算实例提供标识符(例如,OCID)。“attachmentType”标识主导计算实例的类型,即由主导计算实例提供的服务。“attachmentMetadata”提供附接特定元数据。“ownerMetadata”提供所有者特定元数据。“ownerService”标识与主导控制平面相关联的服务提供商名称。在上面的示例中,名称是“ServiceA-control-plane”。“allowedOwnerOperations”标识当附接存在时由所有者(即,主导控制平面)允许的操作。例如,主导控制平面(即,服务A控制平面112)可被允许在被动计算实例上执行GET、LIST、UPDATE和DELETE ATTACHMENT操作。“allowedCustomerOperations”标识当附接存在时客户允许的操作。例如,客户可能只被允许在被动计算实例上执行GET、LIST和UPDATE操作。
要注意的是,当附接存在时,客户(例如,客户租赁的管理员)、主导控制平面(即,服务A控制平面112)和被动控制平面(即,服务B控制平面122)都不被允许删除被动计算实例(即,服务B计算实例132)。因此,即使被动控制平面(即,服务B控制平面122)是被动计算实例(即,服务B计算实例132)的创建者和所有者,在附接期间,也不被允许删除被动计算实例(即,服务B计算实例132)。
在S212处,服务B控制平面122(即,被动控制平面)响应于接收到附接请求而执行处理。这可以包括将从服务A控制平面112(即,从主导控制平面)接收到的附接请求细节存储(也被称为“发布”)在记录中以保留附接信息,以及修改与服务B计算实例132(即,与被动计算实例)相关联的所有权和允许的操作。
例如,服务B控制平面122可以创建并存储指示服务B计算实例132(例如,如由相关联的OCID标识的)现在被附接到客户租赁130内的服务A计算实例131(例如,如由相关联的OCID标识的)的记录。记录可以指示服务B计算实例132是被动计算实例,并且服务A计算实例131是主导计算实例。附加地,记录可以指示相关联的控制平面及其相应的角色。例如,主导控制平面可以是服务A控制平面112,并且被动控制平面可以是服务B控制平面122。记录还可以包括指示被动计算实例正在被附接到的服务类型(即,由主导计算实例提供的服务)的信息。此外,记录可以指示服务A控制平面112现在是服务B计算实例132的所有者(即,因为在此示例中服务A控制平面112是主导控制平面)。服务B控制平面122从而可以将服务B计算实例132的控制和所有权给予服务A控制平面112。记录还可以指示当附接存在时在服务B计算实例132处什么操作将被允许,并且这些操作可以是对先前允许的操作的修改。这些操作可以包括针对服务B计算实例132的客户允许的操作和所有者允许的操作(例如,可以由主导控制平面执行的操作)。例如,删除操作可能不包括在客户允许的操作中,因此当附接存在时可能不能执行。
在一些实施例中,服务B控制平面122可以验证服务A控制平面112被授权启动附接的创建。例如,服务B控制平面122可以验证OBO令牌和/或与OBO令牌相关联的权限的真实性。
在一些实施例中,作为S212的一部分,服务B控制平面122可以修改和配置客户租赁130内的服务B计算实例132以示出附接存在。
如先前所指示的,在某些实现中,执行附接的处理可被异步执行。在该情况下,服务A控制平面112可以周期性地轮询服务B控制平面122以确定由服务B控制平面122执行的附接请求的处理的状态。在一些实施例中,服务B控制平面122可以向服务A控制平面112提供异步请求标识符以确认附接请求已被接收并且正在被处理。然后,服务A控制平面112可以在轮询服务B控制平面122以获得当前处理状态时使用异步请求标识符。最终,服务B控制平面122以指示附接处理已在服务B控制平面122处完成的消息来响应。消息可以指示由服务B控制平面122执行的处理的成功或失败。
因此,在S214处,服务B控制平面122向服务A控制平面112发送附接响应,指示附接已在服务B控制平面122处被处理。附接响应消息可以通知服务A控制平面112附接细节已经根据在步骤S210处发送的附接请求消息被确认并实现。
下面示出了从被动控制平面(例如,服务B控制平面122)发送到主导控制平面(例如,服务A控制平面112)的附接响应消息的示例:
如上述请求所示,“id”提供附接的标识符。“instanceID”提供现在附接到主导计算实例的被动计算实例的标识符(例如,OCID)。“attachToId”提供被动计算实例现在附接到的主导计算实例的标识符(例如,OCID)。“compartmentId”标识附接或被动计算实例的区室(例如,客户租赁130内被动计算实例所位于的区室)。“attachmentType”标识主导计算实例,即主导计算实例提供的服务,的类型。“ownerMetadata”指示以下附接数据字段。“ownerService”标识与主导控制平面相关联的服务提供商名称。在上面的示例中,名称为“ServiceA-control-plane”。附接数据字段可被包括为针对具体服务和控制平面配置的。例如,“allowedCustomerOperations”标识在附接存在时客户允许的操作。例如,客户可被允许在被动计算实例上执行GET、LIST、UPDATE和ATTACH操作。“allowedOwnerOperations”标识当附接存在时所有者(即,主导控制平面)允许的操作。例如,主导控制平面(即,服务A控制平面112)可被允许在被动计算实例上执行GET、LIST和UPDATE操作。“lifecycleState”指示什么操作当前正在针对附接执行。在上面的示例中,“lifecycleState”为“正在附接”,因为附接正在被建立。
可选地,在S216处,服务A控制平面112(即,主导控制平面)可以向服务B控制平面122(即,被动控制平面)发送指令以配置和/或更新客户租赁130内的服务B计算实例132。例如,取决于计算实例的类型,服务A控制平面112可以为服务B计算实例132安装功能(例如,聊天机器人计算实例的技能),其实现服务B计算实例132与服务A计算实例131之间的通信。
在S218处,服务A控制平面112(即,主导控制平面)响应于从服务B控制平面122(即,从被动控制平面)接收到附接响应而执行处理以附接计算实例。例如,服务A控制平面112可以将任何合适的信息存储在记录中以在主导控制平面处保留附接信息。这可以包括存储如服务B控制平面122所指示的服务B计算实例132的区室ID(例如,在客户租赁130内)。此外,服务A控制平面112可以标识由服务B控制平面122同意和/或提供什么允许的操作。
在一些实施例中,作为在S218中执行的处理的一部分,服务A控制平面112可以执行身份连线,使得服务A计算实例131和服务B计算实例132可以彼此通信。这可以包括设置和保留Oracle身份云服务(IDCS)OAuth凭证,使得可以使用OAuth凭证来执行将来的服务调用。
在一些实施例中,作为在S218中执行的处理的一部分,服务A控制平面112可以配置服务A计算实例131和/或服务B计算实例132以示出附接。
此时,两个控制平面都已同意附接并执行处理以完成附接,诸如存储与附接相关联的信息以及修改某些权限、所有权和配置。服务B控制平面122(即,被动控制平面)已将服务B计算实例132(即,被动计算实例)的控制和所有权给予服务A控制平面112(即,主导控制平面)。结果,服务A控制平面112(主导控制平面)现在具有服务A计算实例131(即,主导计算实例)和服务B计算实例132(即,被动计算实例)两者的控制和所有权,并且没有其他服务控制平面可以声明服务B计算实例132的所有权。服务A计算实例131和附接的服务B计算实例132两者都继续驻留在客户租赁130内。
附接和服务A控制平面对服务B计算实例132的临时所有权维持有效,直到附接通过后续分离API调用而被删除。在一些实施例中,当附接存在时服务B计算实例132不能被删除。为了删除服务B计算实例132,计算实例必须首先被分离,然后服务B计算实例132可以被删除。如果用户设备(例如,控制台106)尝试经由不再拥有服务B计算实例132的所有权的服务B控制平面122来删除服务B计算实例132,则因为现有附接,删除尝试将被拒绝。如果用户设备(例如,控制台106)尝试经由现在拥有所有权的服务A控制平面112删除服务B计算实例132,则用户设备(例如,控制台106)将被通知附接存在并且因此,服务B计算实例132不能被删除,直到计算实例被分离。
在S220处,服务A控制平面工作流程114可以将完成消息发送回服务A控制平面前端113,指示附接被成功建立(或者替代地,是否存在失败)。然后,在S222处,服务A控制平面前端113可以将完成消息发送回用户105(例如,经由诸如控制台106的用户设备),指示附接被成功建立(或指示失败)。
作为图2所描绘的处理的结果,当用户105期望时,来自在两个不同服务租赁中操作的两个不同服务的两个计算实例(其通常是分开的、独立的,并且没有任何依赖性或附接)现在可以变为附接的,使得它们彼此通信并一起工作(例如,经由API调用)。实施例允许两个计算实例之间的交互或通信是单向或双向的。
作为示例,服务A计算实例131可以是融合应用服务的计算实例,其可以提供客户关系管理服务。服务B计算实例132可以是Oracle数字助理(ODA)应用的计算实例,其可以提供诸如聊天机器人的客户交互服务。用户可以提供用于配置和/或训练ODA实例的信息,诸如存储在融合应用服务中的某一组问题和对应的响应答案。因此,当客户向聊天机器人提交问题时,聊天机器人可以基于问题从融合应用服务中检索答案,然后向客户提供响应答案。
用户105可能期望附接Fusion计算实例和ODA计算实例,使得两个实例可以交互并共享信息。通常,两个实例无法交互,并且两个实例之间的任何信息共享都是由人类用户手动完成的。然而,一旦使用上述过程附接,信息的自动共享就可以在不需要人类用户的情况下进行。例如,ODA计算实例可以与客户交互以接收客户采购订单,ODA计算实例可以向附接的Fusion计算实例提供采购订单信息,并且Fusion计算实例可以履行采购订单。
在上述和图1中描绘的示例中,主导和被动计算实例(例如,服务A计算实例131和服务B计算实例132)两者是为相同客户创建的并且因此在相同客户租赁之下。然而,在其他实施例中,正在被附接的两个实例可以在两个不同的客户租赁中。这可以以与上面关于图2描述的用于附接相同客户租赁内的两个计算实例相同的方式来执行。换句话说,实例的跨租赁附接是可能的。
上述过程描述了将一个计算实例附接到另一计算实例,即,1对1附接。然而这并不旨在是限制性的。其他实施例允许涉及多个计算实例的其他类型的附接被创建,诸如1对多(例如,一个主导计算实例和多个被动计算实例)、多对1(例如,多个主导计算实例和一个被动计算实例)和/或多对多类型附接(例如,附接到多个被动计算实例的多个主导计算实例)。在具有多个计算实例的实施例中,计算实例是不同服务的实例(例如,多个被动计算实例,每个被动计算实例对应于不同服务)。
图3描绘了根据某些实施例的描绘用于分离客户租赁内附接的两个计算实例的过程的简化游泳图300。图3所描绘的处理可以使用硬件或其组合以由相应系统的一个或多个处理单元(例如,处理器、核心)执行的软件(例如,代码、指令、程序)来实现。软件可以存储在非暂时性存储介质上(例如,存储器设备上)。图3中呈现并在下面描述的方法旨在是说明性的且非限制性的。尽管图3描绘了以特定顺序或次序发生的各种处理操作,但这并不旨在是限制性的。在某些替代实施例中,处理可以以一些不同的次序来执行或者一些步骤也可以并行地执行。
游泳图300图示了用于分离两个计算实例的过程。对于图3中描绘的过程,假设要被分离的两个计算实例已经存在并且在接收到分离请求之前已经被附接。例如,正在被分离的两个计算实例可能先前已通过上面关于图2描述的处理而被附接。
如图3中所示,处理可以在S302处启动,此时使用用户设备(例如,控制台106)的用户105向服务A控制平面112发送分离用户的客户租赁130内的服务A计算实例131和服务B计算实例132的请求。
在使用异步处理的实现中,在S304处,服务A控制平面前端113创建用于执行处理的异步工作请求并向用户设备(例如,控制台106)提供工作请求标识符。用户设备(例如,控制台106)可以通过发送工作请求ID来请求关于附接处理的状态的更新。
在S306处,服务A控制平面前端113指示服务A控制平面工作流程114组件启动用于分离两个计算实例的工作流程。在一些实施例中,服务A控制平面前端113可以向服务A控制平面工作流程114提供OBO令牌以在与服务B控制平面122通信以分离两个计算实例中使用。
在S308处,服务A控制平面工作流程114(即,主导控制平面)向服务B控制平面122(即,被动控制平面)发送分离请求。分离请求通知服务B控制平面122与服务B控制平面122相关联的计算实例正在从与主导控制平面(即,服务A控制平面122)相关联的另一个计算实例分离,使得先前的计算实例设置被恢复。分离请求消息包括与附接和分离相关联的任何合适信息的有效负载。例如,分离请求可以包括指示服务A控制平面112被授权启动分离的身份/授权信息。例如,由服务A控制平面112(例如,在图2的S204中)接收到的OBO令牌可以被包括在S308中发送的请求中。附加地,附接请求可以指示要分离的实例(例如,服务A计算实例131和服务B计算实例132)。计算实例可以使用唯一地标识实例的标识符来标识,例如,使用它们相应的Oracle云标识符(OCID)。附加地,分离请求可以指示主导控制平面和被动控制平面的身份以及对应的主导控制平面和被动控制平面。分离请求还可以包括附接的标识符。
附加地,在某些实施例中,由于附接的移除,先前施加在可以在被动计算实例上执行的操作上的限制可被移除。在某些实现中,在S308中发送的分离请求可以包括指示这些限制的移除的信息。针对每个客户并且针对被动控制平面,请求可以标识一个或多个操作的列表,这些操作由于附接而由客户和/或被动控制平面在被动计算实例上允许或不允许,并且当附接被移除时应该恢复。在一些实施例中,与附接相关联的操作列表可被删除,从而删除与附接相关联的限制。
在S310处,服务B控制平面122(即,被动控制平面)响应于接收到分离请求而执行处理。这可以包括从发布的记录中删除附接细节,以及修改与服务B计算实例132(即,与被动计算实例)相关联的所有权和允许的操作。在一些实施例中,服务B控制平面122可以验证服务A控制平面112被授权移除附接。例如,服务B控制平面122可以验证OBO令牌和/或与OBO令牌相关联的权限的真实性。在一些实施例中,作为S310的一部分,服务B控制平面122可以修改和配置客户租赁130内的服务B计算实例132以示出先前的附接不再存在。
在S312处,服务B控制平面122向服务A控制平面112发送分离响应,指示分离已在服务B控制平面122处被处理。分离响应消息可以通知服务A控制平面112先前的附接细节已经被移除并且计算实例设置根据在步骤S308处发送的分离请求消息而恢复。
在S314处,服务A控制平面112(即,主导控制平面)响应于从服务B控制平面122(即,从被动控制平面)接收到分离响应而执行处理以分离计算实例。例如,服务A控制平面112可以移除所存储的关于主导控制平面处的先前附接的信息、恢复先前允许的操作组、移除身份连线、和/或配置服务A计算实例131和/或服务B计算实例132以不再示出附接。
此时,两个控制平面都同意移除附接并执行处理以分离计算实例,诸如删除与附接相关联的存储信息以及恢复某些权限、所有权和配置。服务B控制平面122(即,被动控制平面)已经重新获得了服务B计算实例132(即,被动计算实例)的控制和所有权。结果,服务A控制平面112(主导控制平面)不再具有服务B计算实例132(即,被动计算实例)的控制和所有权。服务A计算实例131和服务B计算实例13两者继续驻留在客户租赁130内。
在S316处,服务A控制平面工作流程114可以将完成消息发送回服务A控制平面前端113,指示分离成功完成(或者替代地,是否存在失败)。然后,在S318处,服务A控制平面前端113可以将完成消息发送回用户105(例如,经由诸如控制台106的用户设备),指示附接被成功移除(或指示失败)。
图4描绘了根据某些实施例的描绘用于附接客户租赁内的两个计算实例的过程的简化游泳图400,其中被动实例尚不存在并且作为过程的一部分被创建。图4所描绘的处理可以使用硬件或其组合以由相应系统的一个或多个处理单元(例如,处理器、核心)执行的软件(例如,代码、指令、程序)来实现。软件可以存储在非暂时性存储介质上(例如,存储器设备上)。图4中呈现并在下面描述的方法旨在是说明性的且非限制性的。尽管图4描绘了以特定顺序或次序发生的各种处理操作,但这并不旨在是限制性的。在某些替代实施例中,处理可以以一些不同的次序来执行或者一些步骤也可以并行地执行。
游泳图400图示了用于附接两个计算实例的过程。对于图4中描绘的过程,假设在接收到附接请求之前要被附接的主导实例已经存在并且在接收到附接请求之前要被附接的被动实例尚不存在。例如,正在被附接的主导实例可能先前在接收到附接请求之前已经被创建,但是正在被附接的被动计算实例在接收到附接请求之前尚未被创建。
例如,在图1所示的实施例中,用户105可以(例如,经由控制台106)向服务A控制平面前端113发送指令以创建服务A的第一计算实例。响应于接收到用户指令,服务A控制平面工作流程114可以在用户的客户租赁130内创建并配置服务A计算实例131(例如,第一服务的实体化)。服务A控制平面112可以继续控制和管理服务A计算实例131。然而,用户105可能尚未向服务B控制平面122发送指令以创建服务B的第二计算实例,因此服务B计算实例132(例如,第二服务的实体化)可能尚未存在于用户的客户租赁130内。
如图4中所示,处理可以在S402处启动,其可以与图2中的步骤S202相同或相似,此时使用用户设备(例如,控制台106)的用户105向服务A控制平面112发送附接客户租赁130内的服务A计算实例131和服务B计算实例132的请求。
在接收到附接请求之后,主导控制平面然后可以启动处理以确定附接请求是否可以被执行。例如,处理可以被执行以确定请求附接的用户是否被授权做出这样的请求。在某些实现中,身份管理和授权服务140可以执行授权的处理。因此,在S404处,其可以与图2中的步骤S204相同或相似,主导控制平面(在此示例中,服务A控制平面112)可以向身份管理和授权服务140发送与在S402中接收到的请求相关的信息。身份管理和授权服务140然后可以启动授权过程。如果授权成功(即,用户被允许请求两个计算实例的附接),则作为S404的一部分,身份管理和授权服务140可以将响应发送回主导控制平面(即,服务A控制平面112)为继续进行附接处理提供授权。在一些实施例中,由身份管理和授权服务140发送到服务A控制平面112的响应可以包括代表(OBO)令牌。
在使用异步处理的实现中,在可以与图2中的步骤S206相同或相似的S304处,服务A控制平面前端113创建用于执行处理的异步工作请求并向用户设备(例如,控制台106)提供工作请求标识符。用户设备(例如,控制台106)可以通过发送工作请求ID来请求关于附接处理的状态的更新。
在可以与图2中的步骤S208相同或相似的S408处,在已经完成步骤404中的身份管理和授权处理之后,服务A控制平面前端113指示服务A控制平面工作流程114组件启动用于创建附接的工作流程。在一些实施例中,服务A控制平面前端113可以向服务A控制平面工作流程114提供OBO令牌以用于在与服务B控制平面122通信以创建附接中使用。
在S409-A处,服务A控制平面工作流程114确定服务B计算实例132(例如,第二服务的实体化)不存在于用户的客户租赁130内。因此,确定服务B计算实例132要在附接可以被创建之前被创建。
在S409-B处,服务A控制平面工作流程114向服务B控制平面122(即,被动控制平面)发送请求以在用户的客户租赁130内创建服务B计算实例132(例如,第二服务的实体化)。创建请求包括与创建相关联的任何合适信息的有效负载。例如,创建请求可以包括指示服务A控制平面112被授权启动计算实例的创建的身份/授权信息。例如,在S404中由服务A控制平面112接收的OBO令牌可以被包括在S409-B中发送的请求中。
在S409-C处,服务B控制平面122(即,被动控制平面)响应于接收到创建请求而执行处理。这可以包括在用户的客户租赁130内创建和配置服务B计算实例132(例如,第二服务的实体化)。服务B控制平面122可以继续控制和管理服务B计算实例132。服务B控制平面122然后可以向服务A控制平面112发送创建响应,指示计算实例已经在用户的客户租赁130内创建。响应消息可以向服务A控制平面112通知服务B计算实例132的实例标识符(例如,OCID)以及任何其他合适的信息。在服务B计算实例132被创建之后,服务A控制平面112可以继续用于附接两个计算实例的过程。
在S410处,其可以与图2中的步骤S210相同或相似,服务A控制平面工作流程114(即,主导控制平面)向服务B控制平面122(即,被动控制平面)发送附接请求。附接请求通知服务B控制平面122服务B控制平面122所拥有的计算实例正被附接到主导控制平面(即,服务A控制平面122)所拥有的另一计算实例。附接请求消息包括与附接相关联的任何合适信息的有效负载。例如,附接请求可以包括指示服务A控制平面112被授权启动附接的创建的身份/授权信息。例如,服务A控制平面112在S404中接收到的OBO令牌可以被包括在S410中发送的请求中。附加地,附接请求可以指示要被附接的实例(例如,服务A计算实例131和服务B计算实例132)。计算实例可以使用唯一地标识实例的标识符来标识,例如,使用它们相应的Oracle云标识符(OCID)。附加地,附接请求可以指示主导控制平面和被动控制平面的身份以及对应的主导控制平面和被动控制平面。
附加地,在某些实施例中,由于附接,限制可以施加在可以由(a)客户和(b)由被动控制平面在被动计算实例上执行的操作上。在某些实现中,在S410中发送的附接请求可以包括指示这些限制的信息。例如,针对每个客户并且针对被动控制平面,请求可以标识由于附接而由客户和/或被动控制平面在被动计算实例上允许或不允许的一个或多个操作的列表。请求可以标识由于附接而由客户在被动计算实例上允许或不允许的一个或多个操作的列表。在某些实现中,对于被动服务控制平面和客户中的每一个,提供允许的操作的列表。当附接存在时,列表中未具体指定的任何操作不被允许。在一些实施例中,用于删除被动计算实例(例如,服务B计算实例132)的操作可以不再包括在新的客户允许操作列表中。在一些实施例中,仅对于所有者而不是客户,删除附接的操作可被允许。
在412处,其可以与图2中的步骤S212相同或相似,服务B控制平面122(即,被动控制平面)响应于接收到附接请求而执行处理。这可以包括将从服务A控制平面112(即,从主导控制平面)接收到的附接请求细节存储(也称为“发布”)在记录中以保留附接信息,以及修改与服务B计算实例132(即,与被动计算实例)相关联的所有权和允许的操作。在一些实施例中,服务B控制平面122可以验证服务A控制平面112被授权启动附接的创建。例如,服务B控制平面122可以验证OBO令牌和/或与OBO令牌相关联的权限的真实性。在一些实施例中,作为S412的一部分,服务B控制平面122可以修改和配置客户租赁130内的服务B计算实例132以示出附接存在。
在414处,其可以与图2中的步骤S214相同或相似,服务B控制平面122向服务A控制平面112发送附接响应,指示附接已在服务B控制平面122处被处理。附接响应消息可以通知服务A控制平面112附接细节已经根据在步骤S410处发送的附接请求消息被确认并实现。
可选地,在可以与图2中的步骤S216相同或相似的S416处,服务A控制平面112(即,主导控制平面)可以向服务B控制平面122(即,被动控制平面)发送指令以配置和/或更新客户租赁130内的服务B计算实例132。例如,取决于计算实例的类型,服务A控制平面112可以为服务B计算实例132安装功能(例如,聊天机器人计算实例的技能),其使能服务B计算实例132与服务A计算实例131之间的通信。
在可以与图2中的步骤S218相同或相似的S418处,服务A控制平面112(即,主导控制平面)响应于从服务B控制平面122(即,从被动控制平面)接收到附接响应而执行处理以附接计算实例。例如,服务A控制平面112可以将任何合适的信息存储在记录中以在主导控制平面处保留附接信息。这可以包括存储如服务B控制平面122所指示的服务B计算实例132的区室ID(例如,在客户租赁130内)。此外,服务A控制平面112可以标识由服务B控制平面122同意和/或提供什么允许的操作。在一些实施例中,作为在S418中执行的处理的一部分,服务A控制平面112可以执行身份连线,使得服务A计算实例131和服务B计算实例132可以彼此通信。在一些实施例中,作为在S418中执行的处理的一部分,服务A控制平面112可以配置服务A计算实例131和/或服务B计算实例132以示出附接。
此时,两个控制平面都已同意附接并执行处理以完成附接,诸如存储与附接相关联的信息以及修改某些权限、所有权和配置。服务B控制平面122(即,被动控制平面)已将服务B计算实例132(即,被动计算实例)的控制和所有权给予服务A控制平面112(即,主导控制平面)。结果,服务A控制平面112(主导控制平面)现在具有服务A计算实例131(即,主导计算实例)和服务B计算实例132(即,被动计算实例)两者的控制和所有权。服务A计算实例131和附接的服务B计算实例132两者都继续驻留在客户租赁130内。
在可以与图2中的步骤S220相同或相似的S420处,服务A控制平面工作流程114可以将完成消息发送回服务A控制平面前端113,指示附接被成功建立(或者替代地,是否存在失败)。然后,在可以与图2中的步骤S222相同或相似的S422处,服务A控制平面前端113可以将完成消息发送回用户105(例如,经由诸如控制台106的用户设备),指示附接被成功建立(或指示失败)。
作为图4所描绘的处理的结果,当用户105期望时,来自在两个不同服务租赁中操作的两个不同服务的两个计算实例(其通常是分开的、独立的,并且没有任何依赖性或附接)现在可以变为附接的并且彼此通信。
图5描绘了根据某些实施例的描绘用于附接客户租赁内的两个计算实例的过程的简化游泳图500,其中主导实例尚不存在并且作为过程的一部分被创建。图5所描绘的处理可以使用硬件或其组合以由相应系统的一个或多个处理单元(例如,处理器、核心)执行的软件(例如,代码、指令、程序)来实现。软件可以存储在非暂时性存储介质上(例如,存储器设备上)。图5中呈现并在下面描述的方法旨在是说明性的且非限制性的。尽管图5描绘了以特定顺序或次序发生的各种处理操作,但这并不旨在是限制性的。在某些替代实施例中,处理可以以一些不同的次序来执行或者一些步骤也可以并行地执行。
游泳图500图示了用于附接两个计算实例的过程。对于图5中描绘的过程,假设在接收到附接请求之前要被附接的被动实例已经存在并且在接收到附接请求之前要被附接的主导实例尚不存在。例如,正在被附接的被动实例可能先前在接收到附接请求之前已经被创建,但是正在被附接的主导计算实例在接收到附接请求之前尚未被创建。
例如,在图1所示的实施例中,用户105可以(例如,经由控制台106)向服务B控制平面122发送指令以创建服务B的第二计算实例。响应于接收到用户指令,服务B控制平面可以在用户的客户租赁130内创建并配置服务B计算实例132(例如,第二服务的实体化)。服务B控制平面122可以继续控制和管理服务B计算实例132。然而,用户105可能尚未向服务A控制平面前端113发送指令以创建服务A的第一计算实例,因此服务A计算实例131(例如,第一服务的实体化)可能尚未存在于用户的客户租赁130内。
如图5中所示,处理可以在S502处启动,其可以与图2中的步骤S202相同或相似,此时使用用户设备(例如,控制台106)的用户105向服务A控制平面112发送附接客户租赁130内的服务A计算实例131和服务B计算实例132的请求。
在接收到附接请求之后,主导控制平面然后可以启动处理以确定附接请求是否可以被执行。例如,处理可以被执行以确定请求附接的用户是否被授权做出这样的请求。在某些实现中,身份管理和授权服务140可以执行授权的处理。因此,在可以与图2中的步骤S204相同或相似的S504处,主导控制平面(在此示例中,服务A控制平面112)可以向身份管理和授权服务140发送与在S502中接收到的请求相关的信息。身份管理和授权服务140然后可以启动授权过程。如果授权成功(即,用户被允许请求两个计算实例的附接),则作为S504的一部分,身份管理和授权服务140可以将响应发送回主导控制平面(即,服务A控制平面112)为继续进行附接处理提供授权。在一些实施例中,由身份管理和授权服务140发送到服务A控制平面112的响应可以包括代表(OBO)令牌。
在使用异步处理的实现中,在可以与图2中的步骤S206相同或相似的S506处,服务A控制平面前端113创建用于执行处理的异步工作请求并向用户设备(例如,控制台106)提供工作请求标识符。用户设备(例如,控制台106)可以通过发送工作请求ID来请求关于附接处理的状态的更新。
在可以与图2中的步骤S208相同或相似的S508处,在已经完成步骤504中的身份管理和授权处理之后,服务A控制平面前端113指示服务A控制平面工作流程114组件启动用于创建附接的工作流程。在一些实施例中,服务A控制平面前端113可以向服务A控制平面工作流程114提供OBO令牌以用于在与服务B控制平面122通信以创建附接中使用。
在S509-A处,服务A控制平面工作流程114确定服务A计算实例131(例如,第一服务的实体化)不存在于用户的客户租赁130内。因此,确定服务A计算实例131要在附接可以被创建之前创建。
在S509-B处,服务A控制平面工作流程114在用户的客户租赁130内创建并配置服务A计算实例131(例如,第一服务的实体化)。服务A控制平面112可以继续控制和管理服务A计算实例131。在服务A计算实例131被创建之后,服务A控制平面112可以继续用于附接两个计算实例的过程。
在可以与图2中的步骤S210相同或相似的S510处,服务A控制平面工作流程114(即,主导控制平面)向服务B控制平面122(即,被动控制平面)发送附接请求。附接请求通知服务B控制平面122服务B控制平面122所拥有的计算实例正被附接到主导控制平面(即,服务A控制平面122)所拥有的另一计算实例。附接请求消息包括与附接相关联的任何合适信息的有效负载。例如,附接请求可以包括指示服务A控制平面112被授权启动附接的创建的身份/授权信息。例如,服务A控制平面112在S504中接收到的OBO令牌可以被包括在S410中发送的请求中。附加地,附接请求可以指示要被附接的实例(例如,服务A计算实例131和服务B计算实例132)。计算实例可以使用唯一地标识实例的标识符来标识,例如,使用它们相应的Oracle云标识符(OCID)。附加地,附接请求可以指示主导控制平面和被动控制平面的身份以及对应的主导控制平面和被动控制平面。
附加地,在某些实施例中,由于附接,限制可以施加在可以由(a)客户和(b)由被动控制平面在被动计算实例上执行的操作上。在某些实现中,在S510中发送的附接请求可以包括指示这些限制的信息。例如,针对每个客户并且针对被动控制平面,请求可以标识由于附接而由客户和/或被动控制平面在被动计算实例上允许或不允许的一个或多个操作的列表。请求可以标识由于附接而由客户在被动计算实例上允许或不允许的一个或多个操作的列表。在某些实现中,对于被动服务控制平面和客户中的每一个,提供允许的操作的列表。当附接存在时,列表中未具体指定的任何操作不被允许。在一些实施例中,用于删除被动计算实例(例如,服务B计算实例132)的操作可以不再包括在新的客户允许操作列表中。在一些实施例中,仅对于所有者而不是客户,可允许删除附接的操作。
在可以与图2中的步骤S212相同或相似的512处,服务B控制平面122(即,被动控制平面)响应于接收到附接请求而执行处理。这可以包括将从服务A控制平面112(即,从主导控制平面)接收到的附接请求细节存储(也称为“发布”)在记录中以保留附接信息,以及修改与服务B计算实例132(即,与被动计算实例)相关联的所有权和允许的操作。在一些实施例中,服务B控制平面122可以验证服务A控制平面112被授权启动附接的创建。例如,服务B控制平面122可以验证OBO令牌和/或与OBO令牌相关联的权限的真实性。在一些实施例中,作为S512的一部分,服务B控制平面122可以修改和配置客户租赁130内的服务B计算实例132以示出附接存在。
在可以与图2中的步骤S214相同或相似的S514处,服务B控制平面122向服务A控制平面112发送附接响应,指示附接已在服务B控制平面122处被处理。附接响应消息可以通知服务A控制平面112附接细节已经根据在步骤S510处发送的附接请求消息被确认并实现。
可选地,在可以与图2中的步骤S216相同或相似的S516处,服务A控制平面112(即,主导控制平面)可以向服务B控制平面122(即,被动控制平面)发送指令以配置和/或更新客户租赁130内的服务B计算实例132。例如,取决于计算实例的类型,服务A控制平面112可以为服务B计算实例132安装功能(例如,聊天机器人计算实例的技能),其使能服务B计算实例132与服务A计算实例131之间的通信。
在S518处,其可以与图2中的步骤S218相同或相似,服务A控制平面112(即,主导控制平面)响应于从服务B控制平面122(即,从被动控制平面)接收到附接响应而执行处理以附接计算实例。例如,服务A控制平面112可以将任何合适的信息存储在记录中以在主导控制平面处保留附接信息。这可以包括存储如服务B控制平面122所指示的服务B计算实例132的区室ID(例如,在客户租赁130内)。此外,服务A控制平面112可以标识由服务B控制平面122同意和/或提供什么允许的操作。在一些实施例中,作为在S518中执行的处理的一部分,服务A控制平面112可以执行身份连线,使得服务A计算实例131和服务B计算实例132可以彼此通信。在一些实施例中,作为在S518中执行的处理的一部分,服务A控制平面112可以配置服务A计算实例131和/或服务B计算实例132以示出附接。
此时,两个控制平面都已同意附接并执行处理以完成附接,诸如存储与附接相关联的信息以及修改某些权限、所有权和配置。服务B控制平面122(即,被动控制平面)已将服务B计算实例132(即,被动计算实例)的控制和所有权给予服务A控制平面112(即,主导控制平面)。结果,服务A控制平面112(主导控制平面)现在具有服务A计算实例131(即,主导计算实例)和服务B计算实例132(即,被动计算实例)两者的控制和所有权。服务A计算实例131和附接的服务B计算实例132两者都继续驻留在客户租赁130内。
在可以与图2中的步骤S220相同或相似的S520处,服务A控制平面工作流程114可以将完成消息发送回服务A控制平面前端113,指示附接被成功建立(或者替代地,是否存在失败)。然后,在可以与图2中的步骤S222相同或相似的S522处,服务A控制平面前端113可以将完成消息发送回用户105(例如,经由诸如控制台106的用户设备),指示附接被成功建立(或指示失败)。
作为图5所描绘的处理的结果,当用户105期望时,来自在两个不同服务租赁中操作的两个不同服务的两个计算实例(其通常是分开的、独立的,并且没有任何依赖性或附接)现在可以变为附接的并且彼此通信。
图6描绘了根据某些实施例的描绘用于附接客户租赁内的两个计算实例的过程的简化游泳图600,其中这两个计算实例两者尚不存在并且作为过程的一部分被创建。图6所描绘的处理可以使用硬件或其组合以由相应系统的一个或多个处理单元(例如,处理器、核心)执行的软件(例如,代码、指令、程序)来实现。软件可以存储在非暂时性存储介质上(例如,存储器设备上)。图6中呈现并在下面描述的方法旨在是说明性的且非限制性的。尽管图6描绘了以特定顺序或次序发生的各种处理操作,但这并不旨在是限制性的。在某些替代实施例中,处理可以以一些不同的次序来执行或者一些步骤也可以并行地执行。
游泳图600图示了用于附接两个计算实例的过程。对于图6中描绘的过程,假设在接收到附接请求之前要被附接的主导实例不存在并且在接收到附接请求之前要被附接的被动实例也尚不存在。例如,正在被附接的主导实例和被动计算实例两者在接收到附接请求尚未被创建。
例如,在图1所示的实施例中,用户105可能(例如,经由控制台106)未向服务A控制平面前端113发送指令以创建服务A的第一计算实例,因此服务A计算实例131(例如,第一服务的实体化)可能尚未存在于用户的客户租赁130内。而且,用户105可能尚未向服务B控制平面122发送为服务B创建第二计算实例的指令,因此服务B计算实例132(例如,第二服务的实体化)可能尚未存在于用户的客户租赁130内。
如图6中所示,处理可以在S602处启动,其可以与图2中的步骤S202相同或相似,此时使用用户设备(例如,控制台106)的用户105向服务A控制平面112发送附接客户租赁130内的服务A计算实例131和服务B计算实例132的请求。
在接收到附接请求之后,主导控制平面然后可以启动处理以确定附接请求是否可以被执行。例如,处理可以被执行以确定请求附接的用户是否被授权做出这样的请求。在某些实现中,身份管理和授权服务140可以执行授权的处理。因此,在可以与图2中的步骤S204相同或相似的S604处,主导控制平面(在此示例中,服务A控制平面112)可以向身份管理和授权服务140发送与在S602中接收到的请求相关的信息。身份管理和授权服务140然后可以启动授权过程。如果授权成功(即,用户被允许请求两个计算实例的附接),则作为S604的一部分,身份管理和授权服务140可以将响应发送回主导控制平面(即,服务A控制平面112)为继续进行附接处理提供授权。在一些实施例中,由身份管理和授权服务140发送到服务A控制平面112的响应可以包括代表(OBO)令牌。
在使用异步处理的实现中,在可以与图2中的步骤S206相同或相似的S606处,服务A控制平面前端113创建用于执行处理的异步工作请求并向用户设备(例如,控制台106)提供工作请求标识符。用户设备(例如,控制台106)可以通过发送工作请求ID来请求关于附接处理的状态的更新。
在可以与图2中的步骤S208相同或相似的S608处,在已经完成步骤604中的身份管理和授权处理之后,服务A控制平面前端113指示服务A控制平面工作流程114组件启动用于创建附接的工作流程。在一些实施例中,服务A控制平面前端113可以向服务A控制平面工作流程114提供OBO令牌以供在与服务B控制平面122通信以创建附接中使用。
在S609-A处,服务A控制平面工作流程114确定服务A计算实例131(例如,第一服务的实体化)和服务B计算实例132(例如,第二服务的实体化)两者不存在于用户的客户租赁130内。因此,确定服务A计算实例131和服务B计算实例132要在附接可以被创建之前创建。
在S609-B处,服务A控制平面工作流程114在用户的客户租赁130内创建并配置服务A计算实例131(例如,第一服务的实体化)。服务A控制平面112可以继续控制和管理服务A计算实例131。
在S609-C处,服务A控制平面工作流程114向服务B控制平面122(即,被动控制平面)发送请求以在用户的客户租赁130内创建服务B计算实例132(例如,第二服务的实体化)。创建请求包括与创建相关联的任何合适信息的有效负载。例如,创建请求可以包括指示服务A控制平面112被授权启动计算实例的创建的身份/授权信息。例如,在S604中由服务A控制平面112接收到的OBO令牌可以被包括在S609-C中发送的请求中。
在S409-D处,服务B控制平面122(即,被动控制平面)响应于接收到创建请求而执行处理。这可以包括在用户的客户租赁130内创建和配置服务B计算实例132(例如,第二服务的实体化)。服务B控制平面122可以继续控制和管理服务B计算实例132。服务B控制平面122然后可以向服务A控制平面112发送创建响应,指示计算实例已经在用户的客户租赁130内创建。响应消息可以向服务A控制平面112通知服务B计算实例132的实例标识符(例如,OCID)以及任何其他合适的信息。在服务A计算实例131和服务B计算实例132被创建之后,服务A控制平面112可以继续用于附接两个计算实例的过程。
在可以与图2中的步骤S210相同或相似的S610处,服务A控制平面工作流程114(即,主导控制平面)向服务B控制平面122(即,被动控制平面)发送附接请求。附接请求通知服务B控制平面122服务B控制平面122所拥有的计算实例正被附接到主导控制平面(即,服务A控制平面122)所拥有的另一计算实例。附接请求消息包括与附接相关联的任何合适信息的有效负载。例如,附接请求可以包括指示服务A控制平面112被授权启动附接的创建的身份/授权信息。例如,服务A控制平面112在S504中接收到的OBO令牌可以被包括在S410中发送的请求中。附加地,附接请求可以指示要被附接的实例(例如,服务A计算实例131和服务B计算实例132)。计算实例可以使用唯一地标识实例的标识符来标识,例如,使用它们相应的Oracle云标识符(OCID)。附加地,附接请求可以指示主导控制平面和被动控制平面的身份以及对应的主导控制平面和被动控制平面。
附加地,在某些实施例中,由于附接,限制可以施加在可以由(a)客户和(b)由被动控制平面在被动计算实例上执行的操作上。在某些实现中,在S610中发送的附接请求可以包括指示这些限制的信息。例如,针对每个客户和针对被动控制平面,请求可以标识由于附接而由客户和/或被动控制平面在被动计算实例上允许或不允许的一个或多个操作的列表。请求可以标识由于附接而由客户在被动计算实例上允许或不允许的一个或多个操作的列表。在某些实现中,对于被动服务控制平面和客户中的每一个,提供允许的操作的列表。当附接存在时,列表中未具体指定的任何操作不被允许。在一些实施例中,用于删除被动计算实例(例如,服务B计算实例132)的操作可以不再包括在新的客户允许操作列表中。在一些实施例中,仅对于所有者而不是客户,可允许删除附接的操作。
在可以与图2中的步骤S212相同或相似的612处,服务B控制平面122(即,被动控制平面)响应于接收到附接请求而执行处理。这可以包括将从服务A控制平面112(即,从主导控制平面)接收到的附接请求细节存储(也称为“发布”)在记录中以保留附接信息,以及修改与服务B计算实例132(即,与被动计算实例)相关联的所有权和允许的操作。在一些实施例中,服务B控制平面122可以验证服务A控制平面112被授权启动附接的创建。例如,服务B控制平面122可以验证OBO令牌和/或与OBO令牌相关联的权限的真实性。在一些实施例中,作为S612的一部分,服务B控制平面122可以修改和配置客户租赁130内的服务B计算实例132以示出附接存在。
在可以与图2中的步骤S214相同或相似的S614处,服务B控制平面122向服务A控制平面112发送附接响应,指示附接已在服务B控制平面122处被处理。附接响应消息可以通知服务A控制平面112附接细节已经根据在步骤S610处发送的附接请求消息被确认并实现。
可选地,在可以与图2中的步骤S216相同或相似的S616处,服务A控制平面112(即,主导控制平面)可以向服务B控制平面122(即,被动控制平面)发送指令以配置和/或更新客户租赁130内的服务B计算实例132。例如,取决于计算实例的类型,服务A控制平面112可以为服务B计算实例132安装功能(例如,聊天机器人计算实例的技能),其使能服务B计算实例132与服务A计算实例131之间的通信。
在可以与图2中的步骤S218相同或相似的S518处,服务A控制平面112(即,主导控制平面)响应于从服务B控制平面122(即,从被动控制平面)接收到附接响应而执行处理以附接计算实例。例如,服务A控制平面112可以将任何合适的信息存储在记录中以在主导控制平面处保留附接信息。这可以包括存储如服务B控制平面122所指示的服务B计算实例132的区室ID(例如,在客户租赁130内)。此外,服务A控制平面112可以标识由服务B控制平面122同意和/或提供什么允许的操作。在一些实施例中,作为在S618中执行的处理的一部分,服务A控制平面112可以执行身份连线,使得服务A计算实例131和服务B计算实例132可以彼此通信。在一些实施例中,作为在S618中执行的处理的一部分,服务A控制平面112可以配置服务A计算实例131和/或服务B计算实例132以示出附接。
此时,两个控制平面都已同意附接并执行处理以完成附接,诸如存储与附接相关联的信息以及修改某些权限、所有权和配置。服务B控制平面122(即,被动控制平面)已将服务B计算实例132(即,被动计算实例)的控制和所有权给予服务A控制平面112(即,主导控制平面)。结果,服务A控制平面112(主导控制平面)现在具有服务A计算实例131(即,主导计算实例)和服务B计算实例132(即,被动计算实例)两者的控制和所有权。服务A计算实例131和附接的服务B计算实例132两者都继续驻留在客户租赁130内。
在可以与图2中的步骤S220相同或相似的S620处,服务A控制平面工作流程114可以将完成消息发送回服务A控制平面前端113,指示附接被成功建立(或者替代地,是否存在失败)。然后,在可以与图2中的步骤S222相同或相似S622处,服务A控制平面前端113可以将完成消息发送回用户105(例如,经由诸如控制台106的用户设备),指示附接被成功建立(或指示失败)。
作为图6所描绘的处理的结果,当用户105期望时,来自在两个不同服务租赁中操作的两个不同服务的两个计算实例(其通常是分开的、独立的,并且没有任何依赖性或附接)现在可以变为附接的并且彼此通信。
在一些实施例中,嵌入式计算实例可以在没有任何用户指令或用户参与的情况下自动附接。例如,图2中所示的过程可以在没有步骤S202的情况下进行。换句话说,服务B计算实例132可以自动地附接到服务A计算实例131,并且无具体的用户请求。此自动附接过程可以发生在这样的实施例中,其中服务B控制平面122和/或服务B计算实例132对用户设备(例如,控制台106)隐藏,使得用户设备(例如,控制台106)无法查看或访问服务B控制平面122和/或服务B计算实例132。在此情况下,服务B计算实例132可以在用户的客户租赁130外部创建,并且可以改为在服务B控制平面122内创建。
如上所述,在某些实施例中,由于附接,限制可以施加在可以被动计算实例上执行的操作上。
图7描绘了根据某些实施例的用于确定操作是否被允许的过程700。图7所描绘的处理可以使用硬件或其组合以由相应系统的一个或多个处理单元(例如,处理器、核心)执行的软件(例如,代码、指令、程序)来实现。软件可以存储在非暂时性存储介质上(例如,存储器设备上)。图7中呈现并在下面描述的方法旨在是说明性的且非限制性的。尽管图7描绘了以特定顺序或次序发生的各种处理操作,但这并不旨在是限制性的。在某些替代实施例中,处理可以以一些不同的次序来执行或者一些步骤也可以并行地执行。对于图7中描述的处理,服务A计算实例131被假设为主导计算实例,并且附接到服务A计算实例131的服务B计算实例132是被动计算实例。因此,服务A控制平面112是主导控制平面,并且服务B控制平面122是被动控制平面。
例如,参考图1,除了主导控制平面之外,用户105可能希望在客户租赁130内的被动实例(例如,服务B计算实例132)上执行操作。作为示例,用户105可能希望删除客户租赁130内的被动实例(例如,服务B计算实例132)。因此,用户设备(例如,控制台106)可以提交在被动实例(例如,服务B计算实例132)上执行操作(例如,删除)的请求。
在一些实施例中,此请求由拥有被动实例(例如,服务B计算实例132)的服务控制平面接收。如上所述,由于附接,被动实例(例如,服务B计算实例132)的所有者可以是主导控制平面(例如,服务A控制平面112)。
因此,图7的处理启动于在步骤S705处主导控制平面(例如,服务A控制平面112)接收到在客户租赁130内的被动实例(例如,服务B计算实例132)上执行操作的请求时。出于示例的目的,该请求是删除客户租赁130内的被动实例(例如,服务B计算实例132)的删除请求。在接收到该请求后,主导控制平面(例如,服务A控制平面112)然后将调用IDMAS140来执行多次检查以确定操作是否被允许。
被动实例(例如,服务B计算实例132)位于客户租赁130中,并且也由主导租赁(例如,服务A租赁115)拥有,因为主导控制平面(例如,服务A控制平面112)在附接之后拥有被动实例。第一授权检查被执行以查看在被动实例(例如,服务B计算实例132)上请求的操作基于与客户租赁130相关联的策略是否被允许。因此,在步骤S710处,主导控制平面(例如,服务A控制平面112)调用IDMAS140,并且IDMAS140基于与客户区室相关联的或针对客户区室配置的策略和权限来确定所请求的操作(例如,删除被动实例)是否被授权。
在某些实现中,作为710中的处理的一部分,与被动计算实例(例如,服务B计算实例132)相关联的客户租赁区室标识符被用来标识具体客户租赁区室和与该区室相关联的一个或多个策略。然后策略被评估以确定所请求的操作是否被区室策略授权。例如,用户的客户租赁130的区室可以具有相关联的一个或多个策略,这些策略标识可以在该区室内的计算实例上执行的授权操作的列表。如果请求的操作被指定为授权操作列表中允许的操作,则请求的操作被认为被授权,否则未被授权。
在一些实施例中,客户租赁130可以包括表示区室的节点的层次结构,其中层次结构可以由具有位于树的头部的根区室的层次结构树来表示。在某些实现中,层次结构可以表示包含关系。在这样的实现中,一个或多个策略可以与层次结构中的个别隔室相关联。由IDMAS140在S710中执行的处理可以涉及首先标识包含被动实例(例如,服务B计算实例132)的层次结构中的具体区室并且标识与该区室相关联的任何策略。然后,从包含被动实例(例如,服务B计算实例132)的具体区室开始,层次结构树向上走到根区室节点。确定与包括在到根区室的走向中的区室相关联的所有策略。作为S710中的处理的一部分,与包含被动实例(例如,服务B计算实例132)的具体区室相关联的一个或多个策略(如果有的话),以及通过从具体区室到根区室走/遍历层次结构树而标识的策略,被分析以确定在S705中接收到的请求中请求的操作是否被授权。
IDMAS140由此可以确定所请求的操作(例如,删除被动实例)是否被授权或允许,并且向主导控制平面(例如,服务A控制平面112)发送具有结果的响应。
如果主导控制平面(例如,服务A控制平面112)被通知所请求的操作(例如,删除被动实例)被授权或允许(即,授权检查通过),则主导控制平面(例如,服务A控制平面112)可以继续进行到步骤S715以用于附接处理。如果主导控制平面(例如,服务A控制平面112)被通知所请求的操作(例如,删除被动实例)不被允许(即,授权检查失败),则主导控制平面(例如,服务A控制平面112)可以拒绝操作在步骤S712处被执行,并且过程可能以执行操作的请求被拒绝而结束。
在步骤S715处,主导控制平面(例如,服务A控制平面112)确定被动实例(例如,服务B计算实例132)是否附接到另一计算实例。如果存在附接,则附加的授权检查被执行。
因此,如果主导控制平面(例如,服务A控制平面112)在S715中确定被动实例(例如,服务B计算实例132)是附接的一部分,即,被附接到另一计算实例,则处理继续到S720,其中附接检查被执行。如果主导控制平面(例如,服务A控制平面112)在S715中确定被动实例和另一计算实例之间附接不存在(即,被动实例不参与附接),则处理继续到S717,其中所请求的操作被允许在被动实例(例如,服务B计算实例132)上执行,然后处理结束。例如,如果请求的操作是删除被动实例,则被动实例被删除。
因此,在步骤S720处,主导控制平面(例如,服务A控制平面112)基于存储的与附接相关联的允许的客户操作的列表来确定所请求的操作(例如,删除被动实例)是否是被限制的。这些允许的客户操作可以存储在与附接相关联的主导控制平面(例如,服务A控制平面112)和/或被动控制平面(例如,服务B控制平面122)处。允许的客户操作列表可以被称为双重授权列表,因为如果操作包括在列表中,则它是需要双重授权的被限制的操作。如果操作不包括在列表中,则不需要双重授权,它不是被限制的操作,并且初始授权(例如,在步骤S710处)被认为是足够的。为了检查列表,主导控制平面(例如,服务A控制平面112)调用被动控制平面(例如,服务B控制平面122),该被动控制平面然后检查该操作的列表,然后将结果返回给主导控制平面(例如,服务A控制平面112)。
如果主导控制平面(例如,服务A控制平面112)在S720中由被动控制平面(例如,服务B控制平面122)通知操作被包括在列表中并且因此是被限制的操作,则处理继续到S725,其中附接检查被执行。如果主导控制平面(例如,服务A控制平面112)在S720中由被动控制平面(例如,服务B控制平面122)通知操作不被包括在列表中并且因此不是被限制的操作,则处理继续到S717,其中请求的操作被允许在被动实例(例如,服务B计算实例132)上执行,然后处理结束。例如,如果请求的操作是删除被动实例,则被动实例被删除。
如上所述,所附接的被动实例(例如,服务B计算实例132)既位于客户租赁130中,也由主导租赁(例如,服务A租赁115)拥有。然后处理被执行以查看请求用户是否被允许基于与主导租赁(例如,服务A租赁115)相关联的策略在被动实例(例如,服务B计算实例132)上执行所请求的操作。
因此,在步骤S725处,主导控制平面(例如,服务A控制平面112)调用IDMAS140,并且IDMAS140基于与主导租赁(例如,服务A租赁115)相关联的策略或者基于为主导租赁或控制平面存储的附接相关的元数据来确定所请求的操作(例如,删除被动实例)是否被允许或授权,该元数据标识在被动实例(例如,服务B计算实例132)上允许的操作。
例如,如上所述,当附接被执行时,主导控制平面(例如,服务A控制平面112)和被动控制平面(例如,服务B控制平面122)两者保留或存储关于附接(例如,关于主导实例和被动实例附接)的信息。此存储的信息或记录可以包括可以由客户在被动计算实例上执行的操作的列表,以及在附接存在时可以由所有者(例如,主导控制平面)在被动计算实例上执行的操作的列表。如果操作未包括在此列表中,则该操作不被允许,并且不能由请求用户执行。在某些实现中,标识允许的操作的列表的信息可以以描述用户对资源具有什么访问权的访问控制列表(ACL)的形式存储。
作为S725的一部分,IDMAS140基于由主导控制平面存储的信息来检查由请求用户请求的要在被动计算实例上执行的操作是否被包括在允许的操作的列表中。例如,在图1所描绘的实施例中,IDMAS140检查请求用户在被动实例(例如,服务B计算实例132)上请求的操作是否包括在可以由所有者(例如,主导控制平面)基于由主导控制平面(例如,服务A控制平面112)存储的信息执行的允许的操作的列表中。
IDMAS140由此可以执行第二授权以基于与主导租赁(例如,服务A租赁115)相关联的策略来确定所请求的操作(例如,删除被动实例)是否被授权或允许。IDMAS140然后可以将具有第二授权的结果的响应发送到主导控制平面(例如,服务A控制平面112)。
如果主导控制平面(例如,服务A控制平面112)被通知所请求的操作(例如,删除被动实例)基于附接相关信息中的授权操作列表和/或由主导控制平面存储的ACL来被授权,则处理继续到S730,其中所请求的操作被允许在被动实例(例如,服务B计算实例132)上执行,然后处理结束。例如,如果请求的操作是删除被动实例,则被动实例被删除。
如果主导控制平面(例如,服务A控制平面112)被通知所请求的操作(例如,删除被动实例)不在由主导控制平面和/或与主导控制平面相关联的ACL存储的附接相关信息中指示的授权操作列表中,则主导控制平面(例如,服务A控制平面112)可以拒绝操作在步骤S727处被执行,并且过程可能以执行操作的请求被拒绝而结束。
在一些实施例中,图7的步骤可以被有意地设计以防止某些操作在附接存在时发生。例如,附接可能导致被动实例(例如,服务B计算实例132)处于主导控制平面(例如,服务A控制平面112)的所有权之下,但是可能不期望允许主导控制平面(如,业务A控制平面112)执行一个或多个操作。防止主导控制平面(例如,服务A控制平面112)在被动实例(例如,服务B计算实例132)执行某些操作的一种方法将是包括明确不被允许的操作的列表。然而,当前系统使用允许的操作的列表(其中未列出的操作不被允许),并且优选地使用这些现有框架来工作。因此,可以如上面关于图7所描述地利用分层策略。第一策略可以允许操作(例如,步骤S710中的客户区室策略),但是然后当附接存在时第二策略要被检查,并且第二策略可以不允许操作(例如,步骤S725中的所有者区室策略)。所有者区室策略可以被设计为包括有限的设置操作,使得某些操作请求将失败(例如,当在步骤S725中检查所有者区室策略时)。例如,可能期望不允许删除操作,并且删除被动实例(例如,服务B计算实例132)的请求将在步骤S725处失败。
如上所述,基础设施即服务(IaaS)是一种特定类型的云计算。IaaS可被配置为通过公共网络(例如,互联网)提供虚拟化的计算资源。在IaaS模型中,云计算提供商可以托管基础设施组件(例如,服务器、存储设备、网络节点(例如,硬件)、部署软件、平台虚拟化(例如,管理程序层)或类似物)。在一些情况下,IaaS提供商还可以供应各种各样的服务来伴随那些基础设施组件(例如,计费、监控、日志记录、负载平衡和集群等)。因此,由于这些服务可能是策略驱动的,IaaS用户可能能够实现策略来驱动负载平衡以维持应用可用性和性能。
在一些实例中,IaaS客户可以通过诸如互联网的广域网(WAN)访问资源和服务,并且可以使用云提供商的服务来安装应用栈的剩余元素。例如,用户可以登录IaaS平台以创建虚拟机(VM),在每个VM上安装操作系统(OS),部署诸如数据库的中间件,为工作负载和备份创建存储桶,以及甚至将企业软件安装到该VM。然后,客户可以使用提供商的服务来执行各种功能,包括平衡网络流量、解决应用问题、监控性能、管理灾难恢复等。
在大多数情况下,云计算模型将需要云提供商的参与。云提供商可以但不一定是专门提供(例如,提供、出租、销售)IaaS的第三方服务。实体也可能选择部署私有云,成为其自己的基础设施服务提供商。
在一些示例中,IaaS部署是将新应用或应用的新版本放到准备好的应用服务器或类似物上的过程。它还可能包括准备服务器的过程(例如,安装库、守护进程等)。这通常由云提供商在管理程序层(例如,服务器、存储、网络硬件和虚拟化)下管理。因此,客户可以负责处理(OS)、中间件和/或应用部署(例如,在自助服务虚拟机上(例如,其可以按需启动)或类似物。
在一些示例中,IaaS供应可以指获取计算机或虚拟主机以供使用,并且甚至在其上安装所需的库或服务。在大多数情况下,部署不包括供应,并且供应可能需要先执行。
在一些情况下,对于IaaS供应存在两个不同的挑战。首先,存在在任何东西运行之前供应初始基础设施集的初始挑战。其次,一旦一切都已被供应,就存在演进现有基础设施的挑战(例如,添加新服务、改变服务、移除服务等)。在一些情况下,这两个挑战可以通过使得基础设施的配置以声明方式被定义来解决。换句话说,基础设施(例如,需要什么组件以及它们如何交互)可以由一个或多个配置文件定义。因此,基础设施的整体拓扑(例如,什么资源取决于哪些,以及它们每个如何一起工作)可以以声明方式被描述。在一些实例中,一旦拓扑被定义,创建和/或管理配置文件中描述的不同组件的工作流程可被生成。
在一些示例中,基础设施可以具有许多互连元素。例如,可能存在一个或多个虚拟私有云(VPC)(例如,可配置和/或共享计算资源的潜在按需池),也被称为核心网络。在一些示例中,还可以存在被供应来定义网络的入站/出站流量将被如何建立的一个或多个入站/出站流量组规则以及一个或多个虚拟机(VM)。其他基础设施元素(诸如负载平衡器、数据库或类似物)也可以被供应。随着越来越多的基础设施元素被期望和/或添加,基础设施可能逐渐演进。
在一些实例中,连续部署技术可被采用来使能跨各种虚拟计算环境部署基础设施代码。附加地,所描述的技术可以使能这些环境内的基础设施管理。在一些示例中,服务团队可以编写期望被部署到一个或多个但通常许多不同的生产环境(例如,跨各种不同的地理位置,有时跨越整个世界)的代码。但是,在一些示例中,代码将被部署在其上的基础设施必须被首先建立。在一些实例中,供应可以手动完成,供应工具可被用来供应资源,和/或一旦基础设施被供应,部署工具就可被用来部署代码。
图8是图示根据至少一个实施例的IaaS架构的示例模式的框图800。服务运营商802可以通信地耦合到可以包括虚拟云网络(VCN)806和安全主机子网808的安全主机租赁804。在一些示例中,服务运营商802可以使用一个或多个客户端计算设备,其可以是便携式手持设备(例如,蜂窝电话、/>计算平板电脑、个人数字助理(PDA))或可穿戴设备(例如,Google/>头戴式显示器),运行软件(诸如Microsoft Windows/>)和/或各种各样的移动操作系统(诸如iOS、Windows Phone、Android、BlackBerry 8、PalmOS等),以及启用互联网、电子邮件、短信服务(SMS)、/>或其他通信协议。替代地,客户端计算设备可以是通用个人计算机,举例来说,包括运行各种版本的Microsoft/>Apple/>和/或Linux操作系统的个人计算机和/或膝上型计算机。客户端计算设备可以是运行任何各种各样商用/>或类UNIX操作系统的工作站计算机,包括但不限于各种GNU/Linux操作系统,诸如例如Google Chrome OS。替代地或此外,客户端计算设备可以是能够通过可以访问VCN 806和/或互联网的网络通信的任何其他电子设备,诸如瘦客户端计算机、启用互联网的游戏系统(例如,具有或不具有/>手势输入设备的Microsoft Xbox游戏控制台),和/或个人消息传递设备。
VCN 806可以包括本地对等网关(LPG)810,其可以经由包含在SSH VCN 812中的LPG 810通信地耦合到安全外壳(SSH)VCN 812。SSH VCN 812可以包括SSH子网814,并且SSHVCN 812可以经由包含在控制平面VCN 816中的LPG 810通信地耦合到控制平面VCN 816。而且,SSH VCN 812可以经由LPG 810通信地耦合到数据平面VCN 818。控制平面VCN 816和数据平面VCN 818可被包含在可以由IaaS提供商拥有和/或操作的服务租赁819中。
控制平面VCN 816可以包括控制平面非军事区(DMZ)层820,其充当外围网络(例如,公司内部网和外部网络之间的公司网络的部分)。基于DMZ的服务器可能具有有限的责任,并有助于保持违规被遏制。附加地,DMZ层820可以包括一个或多个负载平衡器(LB)子网822、可以包括(一个或多个)应用程序子网826的控制平面应用程序层824、可以包括(一个或多个)数据库(DB)子网830(例如,(一个或多个)前端DB子网和/或(一个或多个)后端DB子网的控制平面数据层828。包含在控制平面DMZ层820中的(一个或多个)LB子网822可以通信地耦合到包含在控制平面应用程序层824中的(一个或多个)应用程序子网826和可以包含在控制平面VCN 816中的互联网网关834,并且(一个或多个)应用程序子网826可以通信地耦合到包含在控制平面数据层828中的(一个或多个)DB子网830和服务网关836和网络地址转换(NAT)网关838。控制平面VCN 816可以包括服务网关836和NAT网关838。
控制平面VCN 816可以包括数据平面镜像应用程序层840,其可以包括(一个或多个)应用程序子网826。包含在数据平面镜像应用程序层840中的(一个或多个)应用程序子网826可以包括虚拟网络接口控制器(VNIC)842,其可以执行计算实例844。计算实例844可以通信地将数据平面镜像应用程序层840的(一个或多个)应用程序子网826耦合到可以包含在数据平面应用程序层846中的(一个或多个)应用程序子网826。
数据平面VCN 818可以包括数据平面应用程序层846、数据平面DMZ层848和数据平面数据层850。数据平面DMZ层848可以包括可通信地耦合到数据平面应用程序层846的(一个或多个)应用程序子网826和数据平面VCN 818的互联网网关834的(一个或多个)LB子网822。(一个或多个)应用程序子网826可以通信地耦合到数据平面VCN 818的服务网关836和数据平面VCN 818的NAT网关838。数据平面数据层850还可以包括可以通信地耦合到数据平面应用程序层846的(一个或多个)应用程序子网826的(一个或多个)DB子网830。
控制平面VCN 816和数据平面VCN 818的互联网网关834可以通信地耦合到元数据管理服务852,元数据管理服务852可以通信地耦合到公共互联网854。公共互联网854可以通信地耦合到控制平面VCN 816和数据平面VCN 818的NAT网关838。控制平面VCN 816和数据平面VCN 818的服务网关836可以通信地耦合到云服务856。
在一些示例中,控制平面VCN 816或数据平面VCN 818的服务网关836可以在不经过公共互联网854的情况下对云服务856做出应用编程接口(API)调用。来自服务网关836的对云服务856的API调用可以是单向的:服务网关836可以对云服务856做出API调用,并且云服务856可以将请求的数据发送到服务网关836。但是,云服务856可能不启动对服务网关836的API调用。
在一些示例中,安全主机租赁804可以直接连接到服务租赁819,否则其会被隔离。安全主机子网808可以通过LPG 810与SSH子网814通信,LPG 810可以通过否则隔离的系统使能双向通信。将安全主机子网808连接到SSH子网814可以给予安全主机子网808到服务租赁819内的其他实体的访问。
控制平面VCN 816可以允许服务租赁819的用户建立或以其他方式供应期望的资源。在控制平面VCN 816中供应的期望的资源可以在数据平面VCN 818中部署或以其他方式使用。在一些示例中,控制平面VCN 816可以与数据平面VCN 818隔离,并且控制平面VCN816的数据平面镜像应用程序层840可以经由可以包含在数据平面镜像应用程序层840和数据平面应用程序层846中的VNIC 842与数据平面VCN 818的数据平面应用程序层846通信。
在一些示例中,系统的用户或客户可以通过公共互联网854做出请求,例如创建、读取、更新或删除(CRUD)操作,该公共互联网854可以将请求传送到元数据管理服务852。元数据管理服务852可以通过互联网网关834将请求传送到控制平面VCN 816。请求可以由包含在控制平面DMZ层820中的(一个或多个)LB子网822接收。(一个或多个)LB子网822可以确定请求是有效的,并且响应于此确定,(一个或多个)LB子网822可以将请求发送到包含在控制平面应用程序层824中的(一个或多个)应用程序子网826。如果请求被验证并且需要对公共互联网854的调用,择对公共互联网854的调用可以被发送到可以对公共互联网854做出调用的NAT网关838。请求可能期望被存储的存储器可存储在(一个或多个)DB子网830中。
在一些示例中,数据平面镜像应用程序层840可以促进控制平面VCN 816和数据平面VCN 818之间的直接通信。例如,可能期望将对配置的改变、更新或其他合适的修改应用到包含在数据平面VCN 818中的资源。经由VNIC 842,控制平面VCN 816可以直接与包含在数据平面VCN 818中的资源通信,并由此可以执行对包含在数据平面VCN 818中的资源的配置的改变、更新或其他适当的修改。
在一些实施例中,控制平面VCN 816和数据平面VCN 818可以包含在服务租赁819中。在此情况下,系统的用户或客户可能不拥有或操作控制平面816或数据平面VCN 818。相反,IaaS提供商可以拥有或操作控制平面VCN 816和数据平面VCN 818,这两者都可以包含在服务租赁819中。此实施例可以使能可阻止用户或客户与其他用户的或其他客户的资源交互的网络隔离。此外,此实施例可以允许系统的用户或客户私密地存储数据库而不需要依赖可能不具有期望的威胁预防级别的公共互联网854来进行存储。
在其他实施例中,包含在控制平面VCN 816中的(一个或多个)LB子网822可以被配置为从服务网关836接收信号。在此实施例中,控制平面VCN 816和数据平面VCN 818可以被配置为由IaaS提供商的客户调用而不调用公共互联网854。IaaS提供商的客户可能期望此实施例,因为客户使用的(一个或多个)数据库可以由IaaS提供商控制并且可以存储在可以与公共互联网854隔离的服务租赁819上。
图9是图示根据至少一个实施例的IaaS架构的另一示例模式的框图900。服务运营商902(例如图8的服务运营商802)可以通信地耦合到安全主机租赁904(例如图8的安全主机租赁804),其可以包括虚拟云网络(VCN)906(例如图8的VCN 806)和安全主机子网908(例如图8的安全主机子网808)。VCN 906可以包括本地对等网关(LPG)910(例如图8的LPG810),其可以经由包含在SSH VCN 912中的LPG 810通信地耦合到安全外壳(SSH)VCN 912(例如图8的(SSH)VCN 812)。SSH VCN 912可以包括SSH子网914(例如,图8的SSH子网814),并且SSH VCN 912可以经由包含在控制平面VCN 916中的LPG 910通信地耦合到控制平面VCN 916(例如,图8的控制平面VCN 816)。控制平面VCN 916可以包含在服务租赁919(例如图8的服务租赁819)中,并且数据平面VCN 918(例如图8的数据平面VCN 818)可以包含在可以由系统的用户或客户拥有或操作的客户租赁921中。
控制平面VCN 916可以包括可以包括(一个或多个)LB子网922(例如图8的(一个或多个)LB子网822)的控制平面DMZ层920(例如图8的控制平面DMZ层820)、可以包括(一个或多个)应用程序子网926(例如图8的(一个或多个)应用程序子网826)的控制平面应用程序层924(例如图8的控制平面应用程序层824)、可以包括(一个或多个)数据库(DB)子网930(例如类似于图8的(一个或多个)DB子网830)的控制平面数据层928(例如图8的控制平面数据层828)。包含在控制平面DMZ层920中的(一个或多个)LB子网922可以通信地耦合到包含在控制平面应用程序层924中的(一个或多个)应用程序子网926和可以包含在控制平面VCN916中的互联网网关934(例如图8的互联网网关834),并且(一个或多个)应用程序子网926可以通信地耦合到包含在控制平面数据层928中的(一个或多个)DB子网930和服务网关936(例如图8的服务网关))和网络地址转换(NAT)网关938(例如图8的NAT网关838)。控制平面VCN 916可以包括服务网关936和NAT网关938。
控制平面VCN 916可以包括数据平面镜像应用程序层940(例如图8的数据平面镜像应用程序层840),其可以包括(一个或多个)应用程序子网926。包含在数据平面镜像应用程序层940中的(一个或多个)应用程序子网926可以包括可以执行计算实例944(例如类似于图8的计算实例844)的虚拟网络接口控制器(VNIC)942(例如842的VNIC)。计算实例944可以促进数据平面镜像应用程序层940的(一个或多个)应用程序子网926和可以包含在数据平面应用程序层946(例如图8的数据平面应用程序层846)中的(一个或多个)应用程序子网926之间经由包含在数据平面镜像应用程序层940中的VNIC 942和包含在数据平面应用程序层946中的VNIC 942的通信。
包含在控制平面VCN 916中的互联网网关934可以通信地耦合到元数据管理服务952(例如图8的元数据管理服务852),该元数据管理服务952可以通信地耦合到公共互联网954(例如图8的公共互联网854)。公共互联网954可以通信地耦合到包含在控制平面VCN916中的NAT网关938。包含在控制平面VCN 916中的服务网关936可以通信地耦合到云服务956(例如图8的云服务856)。
在一些示例中,数据平面VCN 918可以包含在客户租赁921中。在此情况下,IaaS提供商可以为每个客户提供控制平面VCN 916,并且IaaS提供商可以为每个客户建立包含在服务租赁919中的唯一计算实例944。每个计算实例944可以允许包含在服务租赁919中的控制平面VCN 916和包含在客户租赁中921的数据平面VCN 918之间的通信。计算实例944可以允许在包含在服务租赁919中的控制平面VCN 916中供应的资源部署或以其他方式用在包含在客户租赁921中的数据平面VCN 918中。
在其他示例中,IaaS提供商的客户可以拥有存在于客户租赁921中的数据库。在此示例中,控制平面VCN 916可以包括数据平面镜像应用程序层940,其可以包括(一个或多个)应用程序子网926。数据平面镜像应用程序层940可以驻留在数据平面VCN 918中,但是数据平面镜像应用程序层940可能不存在于数据平面VCN 918中。也就是说,数据平面镜像应用程序层940可以访问客户租赁921,但数据平面镜像应用程序层940可能不存在于数据平面VCN 918中或由IaaS提供商的客户拥有或操作。数据平面镜像应用程序层940可以被配置为做出对数据平面VCN 918的调用,但可能不被配置做出对包含在控制平面VCN 916中的任何实体的调用。客户可能期望在数据平面VCN 918中部署或以其他方式使用在控制平面VCN 916中供应的资源,并且数据平面镜像应用程序层940可以促进客户的期望部署或对资源的其他使用。
在一些实施例中,IaaS提供商的客户可以将过滤器应用到数据平面VCN 918。在此实施例中,客户可以确定数据平面VCN 918可以访问什么,并且客户可以限制从数据平面VCN 918访问公共互联网954。IaaS提供商可能无法应用过滤器或以其他方式控制数据平面VCN 918对任何外部网络或数据库的访问。客户将过滤器和控制应用到包含在客户租赁921中的数据平面VCN 918上,可以帮助将数据平面VCN 918与其他客户和与公共互联网954隔离。
在一些实施例中,云服务956可以被服务网关936调用以访问可能不存在于公共互联网954上、控制平面VCN 916上或数据平面VCN 918上的服务。云服务956和控制平面VCN916或数据平面VCN 918之间的连接可能不是活动的或连续的。云服务956可能存在于IaaS提供商拥有或操作的不同网络上。云服务956可以被配置为接收来自服务网关936的调用并且可以被配置为不接收来自公共互联网954的调用。一些云服务956可以与其他云服务956隔离,并且控制平面VCN 916可以与可能与控制平面VCN 916不在相同区域的云服务956隔离。例如,控制平面VCN 916可位于“区域1”中,而云服务“部署8”可位于区域1和“区域2”中。如果对部署8的调用由包含在位于区域1中的控制平面VCN 916中的服务网关936做出,则调用可以被发送到区域1中的部署8。在此示例中,区域1中的控制平面VCN 916或部署8可以不通信地耦合到区域2中的部署8,或者以其他方式与区域2中的部署8通信。
图10是图示根据至少一个实施例的IaaS架构的另一示例模式的框图1000。服务运营商1002(例如图8的服务运营商802)可以通信地耦合到安全主机租赁1004(例如图8的安全主机租赁804),该安全主机租赁1004可以包括虚拟云网络(VCN)1006(例如图8的VCN806)和安全主机子网1008(例如图8的安全主机子网808)。VCN 1006可以包括LPG 1010(例如图8的LPG 810),LPG 1010可以经由包含在SSH VCN 1012中的LPG 1010通信地耦合到SSHVCN 1012(例如图8的SSH VCN 812)。SSH VCN 1012可以包括SSH子网1014(例如图8的SSH子网814),并且SSH VCN 1012可以经由包含在控制平面VCN 1016中的LPG 1010通信地耦合到控制平面VCN 1016(例如图8的控制平面VCN 816)和经由包含在数据平面VCN 1018中的LPG1010通信地耦合到数据平面VCN 1018(例如图8的数据平面818)。控制平面VCN 1016和数据平面VCN 1018可以包含在服务租赁1019(例如图8的服务租赁819)中。
控制平面VCN 1016可以包括可以包括(一个或多个)负载平衡器(LB)子网1022(例如图8的(一个或多个)LB子网822)的控制平面DMZ层1020(例如图8的控制平面DMZ层820),可以包括(一个或多个)应用程序子网1026(例如类似于图8的(一个或多个)应用程序子网826)的控制平面应用程序层1024(例如图8的控制平面应用程序层824),可以包括(一个或多个)DB子网1030的控制平面数据层1028(例如图8的控制平面数据层828)。包含在控制平面DMZ层1020中的(一个或多个)LB子网1022可以通信地耦合到包含在控制平面应用程序层1024中的(一个或多个)应用程序子网1026和可以包含在控制平面VCN 1016中的互联网网关1034(例如图8的互联网网关834),以及(一个或多个)应用程序子网1026可以通信地耦合到包含在控制平面数据层1028中的(一个或多个)DB子网1030和服务网关1036(例如图8的服务网关)和网络地址转换(NAT)网关1038(例如图8的NAT网关838)。控制平面VCN 1016可以包括服务网关1036和NAT网关1038。
数据平面VCN 1018可以包括数据平面应用程序层1046(例如图8的数据平面应用程序层846)、数据平面DMZ层1048(例如图8的数据平面DMZ层848)、以及数据平面数据层1050(例如图8的数据平面数据层850)。数据平面DMZ层1048可以包括(一个或多个)LB子网1022,该(一个或多个)LB子网1022可以通信地耦合到数据平面应用程序层1046的(一个或多个)可信应用程序子网1060和(一个或多个)非可信应用程序子网1062以及包含在数据平面VCN 1018的互联网网关1034。(一个或多个)可信应用程序子网1060可以通信地耦合到包含在数据平面VCN 1018中的服务网关1036、包含在数据平面VCN 1018中的NAT网关1038和包含在数据平面数据层1050中的(一个或多个)DB子网1030。(一个或多个)非可信应用程序子网1062可以通信地耦合到包含在数据平面VCN 1018中的服务网关1036和包含在数据平面数据层1050中的(一个或多个)DB子网1030。数据平面数据层1050可以包括(一个或多个)DB子网1030,(一个或多个)DB子网1030可以通信地耦合到包含在数据平面VCN 1018中的服务网关1036。
(一个或多个)非可信应用程序子网1062可以包括一个或多个主要VNIC 1064(1)-(N),主要VNIC 1064(1)-(N)可以通信地耦合到租户虚拟机(VM)1066(1)-(N)。每个租户VM1066(1)-(N)可以通信地耦合到可以包含在相应容器出口VCN 1068(1)-(N)中的相应应用程序子网1067(1)-(N),该相应容器出口VCN 1068(1)-(N)可以包含在相应的客户租赁1070(1)-(N)中。相应的次级VNIC 1072(1)-(N)可以促进包含在数据平面VCN 1018中的(一个或多个)非可信应用程序子网1062与包含在容器出口VCN 1068(1)-(N)中的应用程序子网之间的通信。每个容器出口VCN 1068(1)-(N)可以包括NAT网关1038,NAT网关1038可以通信地耦合到公共互联网1054(例如图8的公共互联网854)。
包含在控制平面VCN 1016中和包含在数据平面VCN 1018中的互联网网关1034可以通信地耦合到元数据管理服务1052(例如图8的元数据管理系统852),该元数据管理服务1052可以通信地耦合到公共互联网1054。公共互联网1054可以通信地耦合到包含在控制平面VCN 1016中和包含在数据平面VCN 1018中的NAT网关1038。包含在控制平面VCN 1016中和包含在数据平面VCN 1018中的服务网关1036可以通信地耦合到云服务1056。
在一些实施例中,数据平面VCN 1018可以与客户租赁1070集成。在一些情况下,诸如在执行代码时可能期望支持的情况下,此集成对于IaaS提供商的客户可能是有用的或期望的。客户可能提供代码来运行,该代码可能是破坏性的,可能与其他客户资源通信,或者可能以其他方式导致不良影响。作为对此的响应,IaaS提供商可以确定是否运行客户提供给IaaS提供商的代码。
在一些示例中,IaaS提供商的客户可以向IaaS提供商授予临时网络访问并请求附接到数据平面层应用程序1046的功能。运行该功能的代码可以在VM 1066(1)-(N)上执行,并且代码可以不被配置为在数据平面VCN 1018上的任何其他地方运行。每个VM 1066(1)-(N)可以连接到一个客户租赁1070。包含在VM 1066(1)-(N)中的相应容器1071(1)-(N)可以被配置为运行代码。在此情况下,可以存在双重隔离(例如,容器1071(1)-(N)运行代码,其中容器1071(1)-(N)可以至少包含在VM 1066(1)-(N)中,该VM 1066(1)-(N)包含在(一个或多个)非可信应用程序子网1062中),这可以帮助防止不正确的或以其他方式不期望的代码损坏IaaS提供商的网络或损坏不同客户的网络。容器1071(1)-(N)可以通信地耦合到客户租赁1070并且可以被配置为从客户租赁1070发送或接收数据。容器1071(1)-(N)可以不被配置为发送或接收来自数据平面VCN 1018中的任何其他实体的数据。在运行代码完成后,IaaS提供商可以终止或以其他方式处置容器1071(1)-(N)。
在一些实施例中,(一个或多个)可信应用程序子网1060可以运行IaaS提供商拥有或操作的代码。在此实施例中,(一个或多个)可信应用程序子网1060可以通信地耦合到DB子网(一个或多个)1030并且被配置为在(一个或多个)DB子网1030中执行CRUD操作。(一个或多个)非可信应用程序子网1062可以通信地耦合到一个或多个)DB子网(1030,但在此实施例中,(一个或多个)非可信应用程序子网可以被配置为在(一个或多个)DB子网1030中执行读取操作。可以包含在每个客户的VM 1066(1)-(N)中的并且可以运行来自客户的代码的容器1071(1)-(N)可以不与(一个或多个)DB子网1030通信地耦合。
在其他实施例中,控制平面VCN 1016和数据平面VCN 1018可以不直接通信地耦合。在此实施例中,控制平面VCN 1016和数据平面VCN 1018之间可能没有直接通信。然而,通信可以通过至少一种方法间接发生。LPG 1010可以由IaaS提供商建立,其可以促进控制平面VCN 1016和数据平面VCN 1018之间的通信。在另一个示例中,控制平面VCN 1016或数据平面VCN 1018可以经由服务网关1036做出对云服务1056的调用。例如,从控制平面VCN1016到云服务1056的调用可以包括对可以与数据平面VCN 1018通信的服务的请求。
图11是图示根据至少一个实施例的IaaS架构的另一示例模式的框图1100。服务运营商1102(例如图8的服务运营商802)可以通信地耦合到安全主机租赁1104(例如图8的安全主机租赁804),安全主机租赁1104可以包括虚拟云网络(VCN)1106(例如图8的VCN 806)和安全主机子网1108(例如图8的安全主机子网808)。VCN 1106可以包括LPG 1110(例如图8的LPG 810),LPG 1110可以经由包含在SSH VCN 1112中的LPG 1110通信地耦合到SSH VCN1112(例如图8的SSH VCN 812)。SSH VCN 1112可以包括SSH子网1114(例如图8的SSH子网814),并且SSH VCN 1112可以经由包含在控制平面VCN 1116中的LPG 1110通信地耦合到控制平面VCN 1116(例如,图8的控制平面VCN 816)和经由包含在数据平面VCN 1118中的LPG1110通信地耦合到数据平面VCN 1118(例如,图8的数据平面818)。控制平面VCN 1116和数据平面VCN 1118可以包含在服务租赁1119(例如图8的服务租赁819)中。
控制平面VCN 1116可以包括可以包括(一个或多个)LB子网1122(例如图8的(一个或多个)LB子网822))的控制平面DMZ层1120(例如图8的控制平面DMZ层820),可以包括(一个或多个)应用程序子网1126(例如图8的(一个或多个)应用程序子网826)的控制平面应用程序层1124(例如图8的控制平面应用程序层824)、可以包括(一个或多个)DB子网1130(例如10的(一个或多个)DB子网1030)的控制平面数据层1128(例如图8的控制平面数据层828)。包含在控制平面DMZ层1120中的(一个或多个)LB子网1122可以通信地耦合到包含在控制平面应用程序层1124中的(一个或多个)应用程序子网1126和可以包含在控制平面VCN1116中的互联网网关1134(例如图8的互联网网关834),并且(一个或多个)应用程序子网1126可以通信地耦合到包含在控制平面数据层1128中的(一个或多个)DB子网1130和服务网关1136(例如图8的服务网关)和网络地址转换(NAT)网关1138(例如图8的NAT网关838)。控制平面VCN 1116可以包括服务网关1136和NAT网关1138。
数据平面VCN 1118可以包括数据平面应用程序层1146(例如图8的数据平面应用程序层846)、数据平面DMZ层1148(例如图8的数据平面DMZ层848)、以及数据平面数据层1150(例如图8的数据平面数据层850)。数据平面DMZ层1148可以包括(一个或多个)LB子网1122,(一个或多个)LB子网1122可以通信地耦合到数据平面应用程序层1146的(一个或多个)可信应用程序子网1160(例如,图10的(一个或多个)可信应用程序子网1060)和(一个或多个)非可信应用程序子网1162(例如图10的(一个或多个)非可信应用程序子网1062)和包含在数据平面VCN 1118中的互联网网关1134。(一个或多个)可信应用程序子网1160可以通信地耦合到包含在数据平面VCN 1118中的服务网关1136,包含在数据平面VCN 1118中的NAT网关1138以及包含在数据平面数据层1150中的(一个或多个)DB子网1130。(一个或多个)非可信应用程序子网1162可以通信地耦合到包含在数据平面VCN 1118中的服务网关1136和包含在数据平面数据层1150中的(一个或多个)DB子网1130。数据平面数据层1150可以包括可以通信地耦合到包含在数据平面VCN 1118中的服务网关1136的(一个或多个)DB子网1130。
(一个或多个)非可信应用程序子网1162可以包括主要VNIC 1164(1)-(N),主要VNIC 1164(1)-(N)可以通信地耦合到驻留在(一个或多个)非可信应用程序子网1162内的租户虚拟机(VM)1166(1)-(N)。每个租户VM 1166(1)-(N)可以在相应的容器1167(1)-(N)中运行代码,并通信地耦合到可以包含在数据平面应用程序层1146中的应用程序子网1126,该数据平面应用程序层1146可以包含在容器出口VCN 1168中。相应的次级VNIC 1172(1)-(N)可以促进包含在数据平面VCN 1118中的(一个或多个)非可信应用程序子网1162与包含在容器出口VCN 1168中的应用程序子网之间的通信。容器出口VCN可以包括NAT网关1138,NAT网关1138可以通信地耦合到公共互联网1154(例如图8的公共互联网854)。
包含在控制平面VCN 1116中和包含在数据平面VCN 1118中的互联网网关1134可以通信地耦合到元数据管理服务1152(例如图8的元数据管理系统852),该元数据管理服务1152可以通信地耦合到公共互联网1154。公共互联网1154可以通信地耦合到包含在控制平面VCN 1116中和包含在数据平面VCN 1118中的NAT网关1138。包含在控制平面VCN 1116中并包含在数据平面VCN 1118中的服务网关1136可以通信地耦合到云服务1156。
在一些示例中,由图11的框图1100的架构图示的模式可以被认为是图10的框图1000的架构所示的模式的例外,并且如果IaaS提供商不能直接与客户通信(例如,断开连接的区域),则可能是IaaS提供商的客户所期望的。包含在每个客户的VM 1166(1)-(N)中的相应容器1167(1)-(N)可由客户实时访问。容器1167(1)-(N)可被配置为对包含在数据平面应用程序层1146的(一个或多个)应用程序子网1126中的相应次级VNIC 1172(1)-(N)做出调用,该数据平面应用程序层1146可以包含在容器出口VCN 1168中。次级VNIC 1172(1)-(N)可以将调用发送到NAT网关1138,该NAT网关1138可以将调用发送到公共互联网1154。在此示例中,可以由客户实时访问的容器1167(1)-(N)可以与控制平面VCN 1116隔离,并且可以与包含在数据平面VCN 1118中的其他实体隔离。容器1167(1)-(N)也可以与来自其他客户的资源隔离。
在其他示例中,客户可以使用容器1167(1)-(N)来调用云服务1156。在此示例中,客户可以在容器1167(1)-(N)中运行请求来自云服务1156的服务的代码。容器1167(1)-(N)可以将此请求发送到次级VNIC 1172(1)-(N),该次级VNIC 1172(1)-(N)可以将请求发送到NAT网关,该NAT网关可以将请求发送到公共互联网1154。公共互联网1154可以经由互联网网关1134将请求发送到包含在控制平面VCN 1116中的(一个或多个)LB子网1122。响应于确定请求有效,(一个或多个)LB子网可以将请求发送到(一个或多个)应用程序子网1126,该应用程序子网(一个或多个)1126可以经由服务网关1136将请求发送到云服务1156。
应当理解,图中描绘的IaaS架构800、900、1000、1100可以具有除描绘的那些之外的其他组件。此外,图中所示的实施例仅是可以结合本公开的实施例的云基础设施系统的一些示例。在一些其他实施例中,IaaS系统可以具有比图中所示更多或更少的组件,可以组合两个或更多组件,或者可以具有不同的组件配置或布置。
在某些实施例中,本文描述的IaaS系统可以包括以自助服务、基于订阅、弹性可扩展、可靠、高度可用和安全的方式交付给客户的一套应用、中间件和数据库服务供应。这样的IaaS系统的示例是本受让人提供的Oracle云基础设施(OCI)。
图12图示了其中可以实现各种实施例的示例计算机系统1200。系统1200可用于实现上面描述的任何计算机系统。如图所示,计算机系统1200包括处理单元1204,处理单元1204经由总线子系统1202与多个外围子系统通信。这些外围子系统可以包括处理加速单元1206、I/O子系统1208、存储子系统1218和通信子系统1224。存储子系统1218包括有形计算机可读存储介质1222和系统存储器1210。
总线子系统1202提供了一种机制,用于让计算机系统1200的各种组件和子系统按预期彼此通信。尽管总线子系统1202被示意性地示为单个总线,但是总线子系统的替代实施例可以利用多个总线。总线子系统1202可以是若干类型的总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线和使用各种各样的总线架构中的任何一种的局部总线。例如,这样的架构可包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线和可以被实现为按照IEEE P1386.1标准制造的夹层总线的外围组件互连(PCI)总线。
可以被实现为一个或多个集成电路(例如,传统微处理器或微控制器)的处理单元1204控制计算机系统1200的操作。一个或多个处理器可以被包括在处理单元1204中。这些处理器可以包括单核或多核处理器。在某些实施例中,处理单元1204可以被实现为一个或多个独立处理单元1232和/或1234,每个处理单元中包括单核或多核处理器。在其他实施例中,处理单元1204也可以被实现为通过将两个双核处理器集成到单个芯片中而形成的四核处理单元。
在各种实施例中,处理单元1204可以响应于程序代码执行各种各样的程序并且可以维护多个并发执行的程序或进程。在任何给定时间,要被执行的一些或全部程序代码可以驻留在(一个或多个)处理器1204和/或存储子系统1218中。通过合适的编程,(一个或多个)处理器1204可以提供上面描述的各种功能。计算机系统1200可附加地包括处理加速单元1206,处理加速单元1206可包括数字信号处理器(DSP)、专用处理器和/或类似物。
I/O子系统1208可以包括用户接口输入设备和用户接口输出设备。用户接口输入设备可包括键盘、诸如鼠标或轨迹球的指点设备、并入显示器中的触摸板或触摸屏、滚轮、点击轮、拨号盘、按钮、开关、小键盘、带有语音命令识别系统的音频输入设备、麦克风和其他类型的输入设备。用户接口输入设备可以包括,例如,运动传感和/或手势识别设备,诸如使用户能够通过使用手势和口头命令的自然用户接口来控制输入设备(诸如Microsoft360游戏控制器)并与之交互的Microsoft/>运动传感器。用户接口输入设备还可以包括眼姿(eye gesture)识别设备,诸如Google/>眨眼检测器,其检测来自用户的眼睛活动(例如,拍照和/或做出菜单选择时“眨眼”),并将眼姿转换为到输入设备(例如,Google/>)的输入。附加地,用户接口输入设备可以包括使用户能够通过语音命令与语音识别系统(例如,/>导航器)交互的语音识别传感设备。
用户接口输入设备还可以包括但不限于三维(3D)鼠标、操纵杆或指点杆、游戏手柄和图形输入板,以及音频/视频设备,诸如扬声器、数码相机、数码摄像机、便携式媒体播放器、网络摄像头、图像扫描仪、指纹扫描仪、条码阅读器3D扫描仪、3D打印机、激光测距仪和眼睛注视跟踪设备。附加地,用户接口输入设备可以包括例如医学成像输入设备,诸如计算机断层扫描、磁共振成像、位置发射断层扫描、医学超声设备。用户接口输入设备还可以包括例如音频输入设备,诸如MIDI键盘、数字乐器等。
用户接口输出设备可包括显示子系统、指示灯或诸如音频输出设备的非视觉显示器等。显示子系统可以是阴极射线管(CRT)、诸如使用液晶显示器(LCD)或等离子显示器的平板设备、投影设备、触摸屏等。通常,术语“输出设备”的使用旨在包括用于将信息从计算机系统1200输出到用户或其他计算机的所有可能类型的设备和机制。例如,用户接口输出设备可以包括但不限于以视觉方式传送文本、图形和音频/视频信息的各种各样的显示设备,诸如监视器、打印机、扬声器、耳机、汽车导航系统、绘图仪、语音输出设备和调制解调器。
计算机系统1200可以包括存储子系统1218,该存储子系统1218包括被示为当前位于系统存储器1210内的软件元素。系统存储器1210可以存储在处理单元1204上可加载和可执行的程序指令,以及在这些程序的执行期间生成的数据。
取决于计算机系统1200的配置和类型,系统存储器1210可以是易失性的(诸如随机存取存储器(RAM))和/或非易失性的(诸如只读存储器(ROM)、闪存等)。RAM通常包含可由处理单元1204立即访问和/或当前由处理单元1204操作和执行的数据和/或程序模块。在一些实现中,系统存储器1210可以包括多种不同类型的存储器,诸如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。在一些实现中,包含有助于在计算机系统1200内的元素之间传输信息(诸如在启动期间)的基本例程的基本输入/输出系统(BIOS)通常可以被存储在ROM中。举例来说,而非限制,系统存储器1210还示出了可以包括客户端应用、Web浏览器、中间层应用、关系数据库管理系统(RDBMS)等的应用程序1212,程序数据1214和操作系统1216。举例来说,操作系统1216可以包括各种版本的MicrosoftApple和/或Linux操作系统、各种各样的商用/>或类UNIX操作系统(包括但不限于各种各样的GNU/Linux操作系统、Google/>OS等)和/或移动操作系统,诸如iOS、/>Phone、/>OS、/>10OS和/>OS操作系统。
存储子系统1218还可以提供用于存储提供一些实施例的功能的基本编程和数据构造的有形计算机可读存储介质。当由处理器执行时提供上面描述的功能的软件(程序、代码模块、指令)可以被存储在存储子系统1218中。这些软件模块或指令可以由处理单元1204执行。存储子系统1218还可以提供用于存储根据本公开使用的数据的存储库。
存储子系统1200还可以包括还可以连接到计算机可读存储介质1222的计算机可读存储介质读取器1220。计算机可读存储介质1222与系统存储器1210一起并且,可选地与系统存储器1210组合,可以综合地表示远程、本地、固定和/或可移动存储设备以及用于临时和/或更永久地包含、存储、传送和检索计算机可读信息的存储介质。
包含代码或代码的部分的计算机可读存储介质1222还可以包括本领域已知或使用的任何适当介质,包括存储介质和通信介质,诸如但不限于以任何方法或技术实现的用于存储和/或传送信息的易失性和非易失性、可移动和不可移动介质。这可以包括诸如RAM、ROM、电子可擦除可编程ROM(EEPROM)、闪存或其他存储技术、CD-ROM、数字通用磁盘(DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁存储设备的有形计算机可读存储介质或其他有形计算机可读介质。这也可以包括无形的计算机可读介质,诸如数据信号、数据传送、或可以用于传送所期望的信息并且可以由计算系统1200访问的任何其他介质。
举例来说,计算机可读存储介质1222可以包括从不可移动非易失性磁介质读取或向其写入的硬盘驱动、从可移动非易失性磁盘读取或向其写入的磁盘驱动、以及从可移动非易失性光盘(诸如CD ROM、DVD和光盘)或其他光学介质读取或向其写入的光盘驱动。计算机可读存储介质1222可以包括但不限于/>驱动、闪存卡、通用串行总线(USB)闪存驱动器、安全数字(SD)卡、DVD盘、数字视频磁带等。计算机可读存储介质1222还可以包括基于非易失性存储器的固态驱动(SSD)(诸如基于闪存的SSD、企业闪存驱动、固态ROM等)、基于易失性存储器的SSD(诸如基于固态RAM、动态RAM、静态RAM、DRAM的SSD)、磁阻RAM(MRAM)SSD以及使用DRAM和基于闪存的SSD组合的混合SSD。磁盘驱动器及其相关联的计算机可读介质可以为计算机系统1200提供计算机可读指令、数据结构、程序模块和其他数据的非易失性存储。
通信子系统1224提供到其他计算机系统和网络的接口。通信子系统1224用作用于从计算机系统1200接收来自其他系统的数据以及向其他系统发送数据的接口。例如,通信子系统1224可以使计算机系统1200能够经由互联网连接到一个或多个设备。在一些实施例中,通信子系统1224可以包括用于访问无线语音和/或数据网络(例如,使用蜂窝电话技术、高级数据网络技术,诸如3G、4G或EDGE(增强数据速率全球演进)、WiFi(IEEE 1202.11系列标准,或其他移动通信技术,或其任何组合)的射频(RF)收发器组件、全球定位系统(GPS)接收器组件和/或其他组件。在一些实施例中,除了或替代无线接口,通信子系统1224可以提供有线网络连接性(例如,以太网)。
在一些实施例中,通信子系统1224还可以代表可以使用计算机系统1200的一个或多个用户接收结构化和/或非结构化的数据馈送1226、事件流1228、事件更新1230等形式的输入通信。
举例来说,通信子系统1224可以被配置为从社交网络和/或其他通信服务的用户实时接收数据馈送1226,诸如馈送、/>更新、诸如丰富站点摘要(RSS)馈送的web馈送和/或来自一个或多个第三方信息源的实时更新。
附加地,通信子系统1224还可以被配置为接收连续数据流形式的数据,该数据可以包括实时事件的事件流1228和/或事件更新1230,其本质上可以是连续的或无界的,没有明确的结束。生成连续数据的应用的示例可以包括例如传感器数据应用、金融行情、网络性能测量工具(例如网络监控和流量管理应用)、点击流分析工具、汽车流量监控等。
通信子系统1224还可以被配置为将结构化和/或非结构化数据馈送1226、事件流1228、事件更新1230等输出到一个或多个数据库,这些数据库可以与耦合到计算机系统1200的一个或多个流数据源计算机通信。
计算机系统1200可以是各种类型中的一种,包括手持便携式设备(例如,蜂窝电话、/>计算平板、PDA)、可穿戴设备(例如,Google/>头戴式显示器)、PC、工作站、大型机、信息亭、服务器机架或任何其他数据处理系统。
由于计算机和网络不断改变的性质,图中所描绘的计算机系统1200的描述仅旨在作为具体示例。具有比图中所描绘的系统更多或更少的组件的许多其他配置是可能的。例如,定制硬件还可以被使用和/或特定元素可以以硬件、固件、软件(包括小应用程序)或组合来实现。此外,与其他计算设备(诸如网络输入/输出设备)的连接可被采用。基于本文提供的公开和教导,本领域普通技术人员将理解实现各种实施例的其他方式和/或方法。
尽管已经描述了具体实施例,但是各种修改、变更、替代构造和等同物也包含在本公开的范围内。实施例不限于某些具体数据处理环境内的操作,而是可以自由地在多个数据处理环境内操作。附加地,尽管实施例已经使用特定系列的事务和步骤被描述,但是对于本领域技术人员来说应显而易见的是,本公开的范围不限于所描述的系列的事务和步骤。上述实施例的各种特征和方面可以个别或联合使用。
此外,虽然实施例已经使用硬件和软件的特定组合被描述,但是应该认识到硬件和软件的其他组合也在本公开的范围内。实施例可以仅以硬件、或仅以软件、或使用其的组合来实现。本文描述的各种过程可以在相同的处理器或不同处理器上以任何组合实现。因此,在组件或模块被描述为被配置为执行某些操作的情况下,这样的配置可以例如通过设计电子电路来执行操作、通过对可编程电子电路(诸如微处理器)编程来执行操作、或其任何组合来实现。过程可以使用包括但不限于用于过程间通信的常规技术的各种各样的技术来通信,并且不同的过程对可以使用不同的技术,或者相同过程对可以在不同的时间使用不同的技术。
因此,说明书和附图被认为是说明性的而不是限制性意义。然而,将显而易见,在不偏离如权利要求中阐述的更广泛的精神和范围的情况下,可以对其做出添加、删减、删除和其他修改和改变。因此,尽管已经描述了具体的公开实施例,但是这些并不旨在限制。各种修改和等同物都在所附权利要求的范围内。
在描述所公开的实施例的上下文中(特别是在所附权利要求的上下文中)术语“一(a)”和“一个(an)”和“该(the)”以及类似指代词的使用应被解释为涵盖单数和复数两者,除非本文另有说明或与上下文明显矛盾。除非另有说明,否则术语“包括(comprising)”、“具有(having)”、“包括(including)”和“包含(containing)”应被解释为开放式术语(即,意味着“包括但不限于”)。术语“连接到”应被解释为部分或全部包含在内、附接到或结合在一起,即使有东西介入。除非本文另有说明,否则本文数值范围的列举仅旨在用作个别指代落入该范围内的每个分开值的速记方法,并且每个分开值都被并入说明书中,如同其在本文中被个别列举一样。除非本文另有说明或与上下文另有明显矛盾,否则本文描述的所有方法可以任何合适的次序执行。除非另有要求保护,否则本文提供的任何和所有示例或示例性语言(例如,“诸如”)的使用仅旨在更好地阐明实施例并且不对本公开的范围造成限制。说明书中的任何语言都不应被解释为指示任何未要求保护的元素对于本公开的实践是必不可少的。
除非另有明确说明,诸如短语“X、Y或Z中的至少一个”的分离性语言旨在在上下文内被理解为通常用于表示项目、术语等,可以是X、Y或Z或其任何组合(例如X、Y和/或Z)。因此,这样的分离语言通常不旨在也不应该暗示某些实施例需要X中的至少一种、Y中的至少一种或Z中的至少一种每个存在。
本文描述了本公开的优选实施例,包括已知的用于执行本公开的最佳模式。在阅读前述描述后,那些优选实施例的变化对于本领域的普通技术人员可以变得显而易见。普通技术人员应该能够适当地采用这样的变化,并且本公开可以除如本文具体描述之外地被实践。因此,本公开包括如适用法律允许的所附权利要求中所列主题的所有修改和等同物。此外,除非本文另有说明,否则上述元素在其所有可能变化中的任何组合都包含在本公开中。
本文引用的所有参考,包括出版物、专利申请和专利,通过引用并入本文,其程度如同每个参考被个别且具体地指示为通过引用整体被并入并在本文中阐述。
在前述说明书中,参考本公开的具体实施例描述了本公开的方面,但是本领域技术人员将认识到本公开不限于此。上述公开的各种特征和方面可以个别或联合使用。此外,可以在超出本文描述的那些环境和应用的任何数量的环境和应用中利用实施例,而不脱离本说明书的更广泛的精神和范围。因此,说明书和附图被认为是说明性的而不是限制性的。
Claims (22)
1.一种用于附接来自不同租赁的计算实例的计算机实现的方法,包括:
由第一服务的第一控制平面接收在第一服务的第一计算实例与第二服务的第二计算实例之间创建附接的请求,其中第一计算实例由第一控制平面控制,第二计算实例由第二控制平面控制,第一计算实例在客户租赁内,第二计算实例在所述客户租赁内,并且第一计算实例在所述客户租赁内与第二计算实例隔离;
由第一控制平面执行一组处理操作以在第一计算实例和第二计算实例之间创建所述附接;以及
在执行一组处理操作之后并且由于所述附接,由第一控制平面获得对第二计算实例的控制并且使能第一计算实例和第二计算实例之间的通信。
2.如权权利要求1所述的方法,其中执行所述一组处理操作包括:
由第一控制平面获得指示第一控制平面能够代表客户与第二控制平面通信的令牌。
3.如权利要求1或2所述的方法,其中执行所述一组处理操作包括:
由第一控制平面确定能够在第二计算实例上执行的一组允许的操作。
4.如权利要求1、2或3所述的方法,其中执行所述一组处理操作包括:
由第一控制平面向第二控制平面发送附接请求,所述附接请求包括标识第一计算实例和第二计算实例的信息,其中第二控制平面存储关于所述附接的信息;以及
由第一控制平面存储关于所述附接的信息。
5.如前述权利要求中任一项所述的方法,其中第一控制平面是主导控制平面,第二控制平面是被动控制平面,第一计算实例是主导计算实例,并且第二计算实例是被动计算实例。
6.如前述权利要求中任一项所述的方法,还包括:
在执行所述一组处理操作以创建所述附接之前,由第一控制平面在所述客户租赁内创建第一服务的第一计算实例。
7.如前述权利要求中任一项所述的方法,其中执行所述一组处理操作包括:
由第一控制平面向第二控制平面发送在所述客户租赁内创建第二计算实例的请求,其中第二控制平面响应于所述请求在所述客户租赁内创建第二计算实例。
8.如前述权利要求中任一项所述的方法,其中第一服务是企业资源规划(ERP)服务,并且第二服务是会话式人工智能(AI)服务。
9.如前述权利要求中任一项所述的方法,其中在执行所述一组处理操作之后并且由于所述附接,第二控制平面被限制在第二计算实例上执行至少一个操作。
10.一种非暂时性计算机可读存储介质,存储计算机可执行指令,所述计算机可执行指令当被执行时,使得计算机系统的一个或多个处理器执行包括以下的方法:
接收在第一服务的第一计算实例与第二服务的第二计算实例之间创建附接的请求,其中第一计算实例由所述计算机系统的第一控制平面控制,第二计算实例由第二控制平面控制,第一计算实例在客户租赁内,第二计算实例在所述客户租赁内,并且第一计算实例在所述客户租赁内与第二计算实例隔离;
执行一组处理操作以在第一计算实例和第二计算实例之间创建所述附接;以及
在执行所述一组处理操作之后并且由于所述附接,获得对第二计算实例的控制并且使能第一计算实例和第二计算实例之间的通信。
11.如权利要求10所述的非暂时性计算机可读存储介质,其中执行所述一组处理操作包括:
获得指示所述计算机系统能够代表客户与第二控制平面通信的令牌。
12.如权利要求10或11所述的非暂时性计算机可读存储介质,其中执行所述一组处理操作包括:
确定能够在第二计算实例上执行的一组允许的操作。
13.如权利要求10、11或12所述的非暂时性计算机可读存储介质,其中执行所述一组处理操作包括:
向第二控制平面发送附接请求,所述附接请求包括标识第一计算实例和第二计算实例的信息,其中第二控制平面存储关于所述附接的信息;以及
存储关于所述附接的信息。
14.如权利要求10至13中任一项所述的非暂时性计算机可读存储介质,其中第一控制平面是主导控制平面,第二控制平面是被动控制平面,第一计算实例是主导计算实例,并且第二计算实例是被动计算实例。
15.一种计算机系统,包括:
处理器;以及
存储器,被配置为存储多个指令,所述多个指令能够由所述处理器执行并且在由所述处理器执行时使得处理被执行,所述处理包括:
接收在第一服务的第一计算实例与第二服务的第二计算实例之间创建附接的请求,其中第一计算实例由所述计算机系统的第一控制平面控制,第二计算实例由第二控制平面控制,第一计算实例在客户租赁内,第二计算实例在所述客户租赁内,并且第一计算实例在所述客户租赁内与第二计算实例隔离;
执行一组处理操作以在第一计算实例和第二计算实例之间创建所述附接;以及
在执行所述一组处理操作之后并且由于所述附接,获得对第二计算实例的控制并且使能第一计算实例和第二计算实例之间的通信。
16.如权利要求15所述的计算机系统,其中执行所述一组处理操作包括:
获得指示所述计算机系统能够代表客户与第二控制平面通信的令牌。
17.如权利要求15或16所述的计算机系统,其中执行所述一组处理操作包括:
确定能够在第二计算实例上执行的一组允许的操作。
18.如权利要求15、16或17所述的计算机系统,其中执行所述一组处理操作包括:
向第二控制平面发送附接请求,所述附接请求包括标识第一计算实例和第二计算实例的信息,其中第二控制平面存储关于所述附接的信息;以及
存储关于所述附接的信息。
19.如权利要求15至18中任一项所述的计算机系统,其中第一控制平面是主导控制平面,第二控制平面是被动控制平面,第一计算实例是主导计算实例,并且第二计算实例是被动计算实例。
20.如权利要求15所述的计算机系统,还包括:
在执行所述一组处理操作来创建所述附接之前,在所述客户租赁内创建第一服务的第一计算实例。
21.一种用于计算实例的附接的设备,包括用于执行权利要求1-9中任一项所述的方法的步骤的装置。
22.一种计算机程序产品,包括计算机指令,所述计算机指令当由处理器执行时,实现权利要求1-9中任一项所述的方法的步骤。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/459,162 US11880791B2 (en) | 2021-08-27 | 2021-08-27 | Attachment and detachment of compute instances owned by different tenancies |
US17/459,162 | 2021-08-27 | ||
US17/459,167 | 2021-08-27 | ||
PCT/US2022/024481 WO2023027775A1 (en) | 2021-08-27 | 2022-04-12 | Attachment and detachment of compute instances owned by different tenancies |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117897693A true CN117897693A (zh) | 2024-04-16 |
Family
ID=85286059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280058252.2A Pending CN117897693A (zh) | 2021-08-27 | 2022-04-12 | 不同租赁拥有的计算实例的附接和分离 |
Country Status (2)
Country | Link |
---|---|
US (2) | US11880791B2 (zh) |
CN (1) | CN117897693A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12047377B2 (en) | 2021-08-27 | 2024-07-23 | Oracle International Corporation | Restricted operations due to attachment of compute instances owned by different tenancies |
US11880791B2 (en) * | 2021-08-27 | 2024-01-23 | Oracle International Corporation | Attachment and detachment of compute instances owned by different tenancies |
Family Cites Families (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9043445B2 (en) * | 2010-09-22 | 2015-05-26 | International Business Machines Corporation | Linking instances within a cloud computing environment |
US9276942B2 (en) * | 2012-09-07 | 2016-03-01 | Oracle International Corporation | Multi-tenancy identity management system |
US10225323B2 (en) * | 2012-09-07 | 2019-03-05 | Oracle International Corporation | System and method for providing java cloud services for use with a cloud computing environment |
US9467355B2 (en) * | 2012-09-07 | 2016-10-11 | Oracle International Corporation | Service association model |
US10225164B2 (en) * | 2012-09-07 | 2019-03-05 | Oracle International Corporation | System and method for providing a cloud computing environment |
US9575798B2 (en) * | 2013-02-25 | 2017-02-21 | Hitachi, Ltd. | Method of managing tenant network configuration in environment where virtual server and non-virtual server coexist |
US9853979B1 (en) * | 2013-03-11 | 2017-12-26 | Amazon Technologies, Inc. | Immediate policy effectiveness in eventually consistent systems |
US9448826B2 (en) * | 2013-03-15 | 2016-09-20 | Symantec Corporation | Enforcing policy-based compliance of virtual machine image configurations |
US10154325B2 (en) * | 2014-02-12 | 2018-12-11 | Centurylink Intellectual Property Llc | Point-to-point fiber insertion |
US10129344B2 (en) | 2014-06-19 | 2018-11-13 | Microsoft Technology Licensing, Llc | Integrated user interface for consuming services across different distributed networks |
US10044723B1 (en) * | 2015-06-30 | 2018-08-07 | EMC IP Holding Company LLC | Principal/user operation in the context of a tenant infrastructure |
US10425830B2 (en) * | 2015-09-07 | 2019-09-24 | Electronics And Telecommunications Research Institute | Mobile communication network system and method for composing network component configurations |
US10819630B1 (en) * | 2016-04-20 | 2020-10-27 | Equinix, Inc. | Layer three instances for a cloud-based services exchange |
US10341410B2 (en) * | 2016-05-11 | 2019-07-02 | Oracle International Corporation | Security tokens for a multi-tenant identity and data security management cloud service |
US10063415B1 (en) * | 2016-06-29 | 2018-08-28 | Juniper Networks, Inc. | Network services using pools of pre-configured virtualized network functions and service chains |
US10691501B1 (en) * | 2016-10-25 | 2020-06-23 | Amazon Technologies, Inc. | Command invocations for target computing resources |
US11153224B2 (en) * | 2017-02-09 | 2021-10-19 | Radcom Ltd. | Method of providing cloud computing infrastructure |
US10356076B2 (en) * | 2017-05-02 | 2019-07-16 | International Business Machines Corporation | Scalable authentication between heterogeneous services |
US10608841B2 (en) * | 2017-07-28 | 2020-03-31 | Level 3 Communications, Llc | Autonomous system bridge connecting in a telecommunications network |
US10768776B1 (en) * | 2017-08-24 | 2020-09-08 | Amazon Technologies, Inc. | Streaming virtual objects for incorporation in virtual environments |
US11190516B1 (en) | 2017-08-24 | 2021-11-30 | Amazon Technologies, Inc. | Device communication with computing regions |
CN110611926B (zh) * | 2018-06-15 | 2021-06-01 | 华为技术有限公司 | 一种告警的方法及装置 |
US10884815B2 (en) | 2018-10-29 | 2021-01-05 | Pivotal Software, Inc. | Independent services platform |
US11457080B1 (en) * | 2018-11-23 | 2022-09-27 | Amazon Technologies, Inc. | Service mesh management |
US11042397B2 (en) * | 2019-02-22 | 2021-06-22 | Vmware, Inc. | Providing services with guest VM mobility |
US11196749B2 (en) * | 2019-04-26 | 2021-12-07 | Oracle International Corporation | System and method for controlling a multi-tenant service-oriented architecture |
WO2021059352A1 (ja) * | 2019-09-24 | 2021-04-01 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 表示制御システム、表示方法、及びプログラム |
WO2021059353A1 (ja) * | 2019-09-24 | 2021-04-01 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | ネットワークシステム |
WO2021075055A1 (ja) * | 2019-10-18 | 2021-04-22 | 富士通株式会社 | 情報処理方法、情報処理プログラム、情報処理装置および情報処理システム |
US11729218B2 (en) * | 2019-11-07 | 2023-08-15 | Red Hat, Inc. | Implementing a service mesh in the hypervisor |
US11418584B2 (en) * | 2019-11-14 | 2022-08-16 | Vmware, Inc. | Inter-service communications |
LU102236B1 (en) * | 2020-11-27 | 2022-05-30 | Microsoft Technology Licensing Llc | User permission in a multi-tenant environment |
JP7522050B2 (ja) * | 2021-01-08 | 2024-07-24 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 制御システム、閉域網接続設定方法、及びプログラム |
US11856055B2 (en) * | 2021-03-26 | 2023-12-26 | Oracle International Corporation | Providing managed services in a cloud environment |
JP2024536697A (ja) * | 2021-08-27 | 2024-10-08 | オラクル・インターナショナル・コーポレイション | 異なるテナントが所有するコンピューティングインスタンスの接続および分離 |
US11880791B2 (en) * | 2021-08-27 | 2024-01-23 | Oracle International Corporation | Attachment and detachment of compute instances owned by different tenancies |
US12047377B2 (en) * | 2021-08-27 | 2024-07-23 | Oracle International Corporation | Restricted operations due to attachment of compute instances owned by different tenancies |
US20230214825A1 (en) * | 2022-01-04 | 2023-07-06 | Citrix Systems, Inc. | Systems and methods for perfoming secure transactions |
US20230247027A1 (en) * | 2022-02-02 | 2023-08-03 | Oracle International Corporation | Networking techniques for enabling communication between multiple cloud environments |
US11922410B2 (en) * | 2022-02-15 | 2024-03-05 | Paypal, Inc. | Online decentralized identity verification for a multi-sided network |
US11805021B1 (en) * | 2022-11-08 | 2023-10-31 | Salesforce, Inc. | Network path recommendations for services executing on cloud platforms |
US20230247005A1 (en) * | 2023-03-17 | 2023-08-03 | Intel Corporation | Proxy offload to network interface device |
-
2021
- 2021-08-27 US US17/459,162 patent/US11880791B2/en active Active
-
2022
- 2022-04-12 CN CN202280058252.2A patent/CN117897693A/zh active Pending
-
2023
- 2023-06-28 US US18/343,185 patent/US12099948B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11880791B2 (en) | 2024-01-23 |
US20230351288A1 (en) | 2023-11-02 |
US20230069520A1 (en) | 2023-03-02 |
US12099948B2 (en) | 2024-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12058264B2 (en) | Techniques for using signed nonces to secure cloud shells | |
US11550484B2 (en) | Techniques for persisting data across instances of a cloud shell | |
JP2024509739A (ja) | コンテナアプリケーションの最小クラウドサービスアクセス権を自動的に設定する技術 | |
US11856055B2 (en) | Providing managed services in a cloud environment | |
US12099948B2 (en) | Attachment and detachment of compute instances owned by different tenancies | |
US20240314133A1 (en) | Restricted operations due to attachment of compute instances owned by different tenancies | |
US12069166B2 (en) | Quorum-based authorization | |
CN115989660B (zh) | 云基础设施系统中的安全区策略强制执行 | |
CN118056184A (zh) | 按需提供云服务的技术 | |
JP2024536697A (ja) | 異なるテナントが所有するコンピューティングインスタンスの接続および分離 | |
CN118414806A (zh) | 用于云基础设施系统中计算节点授权的边缘证明 | |
US20240187232A1 (en) | Secured bootstrap with dynamic authorization | |
US11924340B2 (en) | Cryptographically secure shuffle with multi-layer randomness | |
US11876613B2 (en) | Home region switch | |
US20240346129A1 (en) | Authorization brokering | |
CN118043787A (zh) | 用于域内实体的组合授权 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |