将公共云与专用网络资源连接的方法转让专利

申请号 : CN201580025031.5

文献号 : CN106464721B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : S·钱德瓦尼J·N·卡蒂J·多瑙伊斯基A·博亚娜克

申请人 : 微软技术许可有限责任公司

摘要 :

公共云与场所内资源之间的连接的自动建立。首先,桥接基础结构被自动访问。桥接基础结构被配置成使用第一控件与专用网络内的用户系统交互。例如,这一第一控件可以被表示为在供应连接时使用的配置包内的可执行文件。提供针对在公共云中运行的应用的第二控件。第二控件被结构化成使得至少一个应用可以被用于经由桥接基础结构安全地与专用网络的场所内资源连接。

权利要求 :

1.一种用于建立从公共云到专用网络中的场所内资源的访问的方法,所述方法包括:自动访问要在所述公共云与所述专用网络之间操作的桥接基础结构的动作,所述桥接基础结构被配置成使用针对所述专用网络内的用户系统的第一控件与所述专用网络交互,所述第一控件被结构化成使得当由用户与其交互时所述第一控件建立到所述桥接基础结构的安全连接;以及提供针对运行在所述公共云中的至少一个应用的第二控件的动作,所述第二控件被结构化成使得所述至少一个应用能被用于经由所述桥接基础结构与所述专用网络的场所内资源安全地连接,其中具有发送权限的因应用而异的凭证被安全地提供到应用运行时,所述因应用而异的凭证被使用来连接到所述桥接基础结构。

2.根据权利要求1所述的方法,其特征在于,进一步包括:

所述应用使用所述第二控件经由所述桥接基础结构与所述专用网络的场所内资源安全地连接的动作。

3.如权利要求1所述的方法,其特征在于,所述场所内资源是服务器。

4.如权利要求1所述的方法,其特征在于,所述场所内资源是数据库。

5.如权利要求1所述的方法,其特征在于,所述场所内资源是存储。

6.如权利要求1所述的方法,其特征在于,提供针对运行在所述公共云中的至少一个应用的第二控件的动作包括提供针对运行在所述公共云中的单个应用的第二控件。

7.如权利要求1所述的方法,其特征在于,提供针对运行在所述公共云中的至少一个应用的第二控件的动作包括提供针对运行在所述公共云中的多个应用的第二控件。

8.如权利要求1所述的方法,其特征在于,所述桥接基础结构是第一桥接基础结构,所述场所内资源是第一场所内资源,所述方法进一步包括:自动访问要在所述公共云与所述专用网络之间操作的第二桥接基础结构的动作,所述桥接基础结构被配置成使用针对所述专用网络内的用户系统的第一控件与所述专用网络交互,所述第一控件被结构化成使得当由用户与其交互时所述第一控件建立到所述桥接基础结构的安全连接;以及提供针对运行在所述公共云中的至少一个应用的第三控件的动作,所述第二控件被结构化成使得所述至少一个应用能被用于经由所述桥接基础结构与所述专用网络的第二场所内资源安全地连接。

9.如权利要求1所述的方法,其特征在于,所述桥接基础结构是第一桥接基础结构,所述专用网络是第一专用网络,所述方法进一步包括:自动访问要在所述公共云与第二专用网络之间操作的第二桥接基础结构的动作,所述第二桥接基础结构被配置成使用针对所述第二专用网络内的用户系统的第三控件与所述第二专用网络交互,所述第三控件被结构化成使得当由用户与其交互时所述第三控件建立到所述第二桥接基础结构的安全连接;以及提供针对运行在所述公共云中的至少一个应用的第四控件的动作,所述第四控件被结构化成使得所述至少一个应用能被用于经由所述第二桥接基础结构与所述第二专用网络的场所内资源安全地连接。

10.一种其上存储有计算机可执行指令的一个或多个计算机可读存储介质,所述计算机可执行指令被结构化成使得在由计算系统的一个或多个处理器执行时,使所述计算系统执行一种用于建立从公共云到专用网络中的场所内资源的访问的方法,所述方法包括:自动访问要在所述公共云与所述专用网络之间操作的桥接基础结构的动作,所述桥接基础结构被配置成使用针对所述专用网络内的用户系统的第一控件与所述专用网络交互,所述第一控件被结构化成使得当由用户与其交互时所述第一控件建立到所述桥接基础结构的安全连接;以及提供针对运行在所述公共云中的至少一个应用的第二控件的动作,所述第二控件被结构化成使得所述至少一个应用能被用于经由所述桥接基础结构与所述专用网络的场所内资源安全地连接,其中具有发送权限的因应用而异的凭证被安全地提供到应用运行时,所述因应用而异的凭证被使用来连接到所述桥接基础结构。

说明书 :

将公共云与专用网络资源连接的方法

[0001] 背景
[0002] 公共云主存平台主存使用资源(诸如数据库和服务)的应用。常规地,被此类主存在公共云上的应用所使用的资源也位于公共云内。如果这些资源位于专用网络中,则那些资源将被移动到公共云以便被此类应用使用。然而,出于安全性、合规性或法律原因,一些资源无法被移动到公共云。
[0003] 为了允许对专用网络上的这些资源的访问,网络管理员常常被要求打开它们防火墙中的端口以允许从因特网进入它们的网络的话务,在网络非军事化区(DMZ)中部署将外部话务转发到资源的代理和/或网关,或者使用虚拟专用网络 (VPN)来将应用连接到它们的专用网络。
[0004] 本文要求保护的主题不限于解决任何缺点或仅在诸如上述环境这样的环境中操作的各实施例。相反,提供该背景仅用于例示其中可实施所述一些实施例的一个示例性技术领域。
[0005] 简要概述
[0006] 本文描述的至少一些实施例涉及使用桥接基础结构对公共云与专用网络中的场所内资源之间的连接的建立。场所内资源的示例包括数据库、数据存储、 web服务、应用服务器等等。桥接基础结构是公共云基础结构的一部分,并且可以由出于这一目的而设计的服务来供应或分配。如果需要,可以按需分配或创建这一桥接基础结构的选择元件。
[0007] 供应可通过标识提供对场所内资源的访问的桥接基础结构来发生。访问这一桥接基础结构所要求的凭证接着被访问以供在稍后连接到桥接基础结构时使用。具有发送权限的因应用而异的凭证被安全地提供到需要访问专用网络上的资源的应用的应用运行时。因应用而异的凭证能够被嵌入在公共云上的应用的运行时中的代理使用来连接到所标识的桥接基础结构。用户将代理部署在专用网络上,该代理使用因资源而异的凭证来提供该专用网络上的场所内资源与桥接基础结构之间的安全连通性。代理位于专用网络内部,并且使用来自专用网络的出站通信来连接到桥接基础结构。因而,网络管理员不必打开防火墙端口或者为代理建立VPN连接以连接到桥接基础结构。
[0008] 本文描述的至少一些实施例涉及在公共云中的应用与场所内资源之间的连接的自动建立。首先,桥接基础结构被自动访问。桥接基础结构被配置成与专用网络内的第一控件交互。例如,这一第一控件可以被表示为主存在专用网络上并且由供应连接时使用的配置包内的可执行文件所部署的代理。代理安全地连接到桥接基础结构并且在桥接基础结构与场所内资源之间转发话务。桥接基础结构接受来自专用网络上的第一控件的传入连接。第一控件使用来自企业网络的出站连通性安全地连接到桥接基础结构。
[0009] 在一些实施例中,桥接基础结构可以存储关于它所提供访问的场所内资源的元数据。第一控件可以从桥接基础结构访问元数据,或者可以被单独地配置有专用网络上的场所内资源的网络地址。第一控件接着转发公共云上的应用与与指定场所内资源之间的话务。提供针对在公共云中运行的应用的第二控件。第二控件被结构化成使得至少一个应用可以被用于经由桥接基础结构安全地与专用网络的场所内资源连接。
[0010] 在一个示例中,第二控件可以被实现为嵌入在应用运行时中的代理,该代理控制截取来自应用的以场所内资源为目的地的消息,在恰适的网络消息或索道协议上使该消息形成帧,并且在桥接基础结构上将它们重定向到第一控件,第一控件进而将其转发到场所内资源。响应沿逆向路径回到公共云上的应用。
[0011] 本概述并非旨在标识出要求保护的主题的关键特征或必要特征,亦非旨在用作辅助确定要求保护的主题的范围。
[0012] 附图简述
[0013] 为了描述能够获得上述和其它优点和特征的方式,各实施例的更具体的描述将通过参考各附图来呈现。可以理解,这些附图只描绘了示例实施例,并且因此不被认为是对其范围的限制,将通过使用附图并利用附加特征和细节来描述和解释各实施例,在附图中:
[0014] 图1抽象地解说了其中可采用本文中所描述的一些实施例的计算系统;
[0015] 图2解说了本文描述的原理可在其中操作的环境,并且该环境包括与桥接基础结构互连的公共云以及专用网络;
[0016] 图3解说了与桥接基础结构相关联的三个时间阶段;
[0017] 图4解说了用于供应公共云与专用网络中的场所内资源之间的连接的方法的流程图;
[0018] 图5解说了与供应公共云与专用网络中的场所内资源之间的连接相关联的数据流的具体示例;
[0019] 图6解说了用于建立从公共云到专用网络中的场所内资源的访问的方法的流程图;
[0020] 图7解说了用于使用一旦连接到应用和专用云中的场所内资源的桥接基础结构的方法的流程图;以及
[0021] 图8解说了示出公共云中的应用接着可如何使用桥接基础结构访问专用网络上的资源的更具体示例的运行时过程。
[0022] 详细描述
[0023] 本文描述的至少一些实施例涉及使用桥接基础结构对公共云与专用网络中的场所内资源之间的连接的建立。场所内资源的示例包括数据库、数据存储、 web服务、应用服务器等等。桥接基础结构是公共云基础结构的一部分,并且可以由出于这一目的而设计的服务来供应或分配。如果需要,可以按需分配或创建这一桥接基础结构的选择元件。
[0024] 供应可通过标识提供对场所内资源的访问的桥接基础结构来发生。用于访问这一桥接基础结构的凭证接着被访问以供在稍后连接到桥接基础结构时使用。具有发送权限的因应用而异的凭证被安全且自动地提供到需要访问专用网络上的资源的应用的应用运行时。因应用而异的凭证能够被嵌入在公共云上的应用的运行时中的代理使用来连接到所标识的桥接基础结构。用户将代理部署在专用网络上,该代理可以使用因资源而异的凭证来提供该专用网络上的场所内资源与桥接基础结构之间的安全连通性。代理位于专用网络内部,并且使用来自专用网络的出站通信来连接到桥接基础结构。因而,网络管理员不必打开防火墙端口或者为代理建立VPN连接以连接到桥接基础结构。
[0025] 本文描述的至少一些实施例涉及在公共云中的应用与场所内资源之间的连接的自动建立。首先,桥接基础结构被自动访问。桥接基础结构被配置成与专用网络内的第一控件交互。例如,这一第一控件可以被表示为主存在专用网络上并且由供应连接时使用的配置包内的可执行文件所部署的代理。代理安全地连接到桥接基础结构并且在桥接基础结构与场所内资源之间转发话务。桥接基础结构接受来自专用网络上的第一控件的传入连接。第一控件使用来自企业网络的出站连通性安全地连接到桥接基础结构。
[0026] 在一些实施例中,桥接基础结构可以存储关于它所提供访问的场所内资源的元数据。第一控件可以从桥接基础结构访问元数据,或者可以被单独地配置有专用网络上的场所内资源的网络地址。第一控件接着转发公共云上的应用与与指定场所内资源之间的话务。提供针对在公共云中运行的应用的第二控件。第二控件被结构化成使得至少一个应用可以被用于经由桥接基础结构安全地与专用网络的场所内资源连接。
[0027] 在一个示例中,第二控件可以被实现为嵌入在应用运行时中的代理,该代理截取来自应用的以场所内资源为目的地的消息,在恰适的网络消息或隧道协议上使该消息形成帧,并且在桥接基础结构上将它们重定向到第一控件。第一控件在接收到成帧的消息之际,移除帧形成,并且将原始消息转发到场所内资源。来自场所内资源的消息沿逆向路径回到公共云上的应用。
[0028] 将参考图1描述对计算系统的一些介绍性讨论。接着,将参考后续附图来描述供应和利用桥接基础结构以便允许公共云使用专用网络中的资源的原理。
[0029] 计算系统现在越来越多地采取多种多样的形式。例如,计算系统可以是手持式设备、电器、膝上型计算机、台式计算机、大型机、分布式计算系统、数据中心、或甚至是常规上不被认为是计算系统的设备(诸如可穿戴设备(如眼镜))。在本说明书以及权利要求书中,术语“计算系统”被广义地定义为包括任何设备或系统 (或其组合),该设备或系统包含至少一个物理且有形的处理器以及其上能具有可由处理器执行的计算机可执行指令的物理且有形的存储器。存储器可以采取任何形式,并可以取决于计算系统的性质和形式。计算系统可以分布在网络环境中,并可包括多个组分计算系统。
[0030] 如图1所例示,在其最基本的配置中,计算系统100通常包括至少一个硬件处理单元102和存储器104。存储器104可以是物理系统存储器,该物理系统存储器可以是易失性的、非易失性的、或两者的某种组合。术语“存储器”也可在此用来指示诸如物理存储介质这样的非易失性大容量存储器。如果计算系统是分布式的,则处理、存储器和/或存储能力也可以是分布式的。如本文中所使用的,术语“可执行模块”或“可执行组件”可指可在计算系统上执行的软件对象、例程或方法。此处所描述的不同组件、模块、引擎以及服务可以实现为在计算系统上执行的对象或进程(例如,作为分开的线程)。
[0031] 在随后的描述中,参考由一个或多个计算系统执行的动作描述了各实施例。如果这样的动作是以软件实现的,则执行动作的相关联计算系统的一个或多个处理器响应于已经执行了计算机可执行指令来引导计算系统的操作。例如,这样的计算机可执行指令可以在形成计算机程序产品的一个或多个计算机可读介质上实现。这样的操作的示例涉及对数据的操纵。计算机可执行指令(以及被操纵的数据)可以存储在计算系统100的存储器104中。计算系统100还可包含允许计算系统100 例如通过网络110与其他计算系统通信的通信信道108。计算系统100还包括显示器112,显示器112可被用于向用户显示视觉表示。
[0032] 本文所述的实施例可包括或利用专用或通用计算系统,该专用或通用计算系统包括诸如举例来说一个或多个处理器和系统存储器等计算机硬件,如以下更详细讨论的。本文中描述的各实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是物理存储介质。承载计算机可执行指令的计算机可读介质是传输介质。由此,作为示例而非限制,本发明的各实施例可包括至少两种显著不同的计算机可读介质:存储介质和传输介质。
[0033] 计算机可读存储介质包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备,或可用于存储计算机可执行指令或数据结构形式的所需程序代码手段且可由通用或专用计算系统访问的任何其他物理且有形存储介质。
[0034] “网络”被定义为允许在计算系统和/或模块和/或其他电子设备之间传输电子数据的一个或多个数据链路。当信息通过网络或另一通信连接(硬连线、无线、或者硬连线或无线的组合)传输或提供给计算系统时,该计算系统将该连接适当地视为传输介质。传输介质可以包括可以用来携带所需要的以计算机可执行的指令或数据结构的形式存在的程序代码手段并可以被通用或专用计算系统访问的网络和/或数据链路。上述的组合应当也被包括在计算机可读介质的范围内。
[0035] 此外,在到达各种计算系统组件之后,计算机可执行指令或数据结构形式的程序代码手段可从传输介质自动转移到存储介质(或反之亦然)。例如,通过网络或数据链路接收到的计算机可执行指令或数据结构可被缓存在网络接口模块(例如,“NIC”)内的RAM中,然后最终被传送到计算系统RAM和/或计算系统处的较不易失性的存储介质。因而,应当理解,存储介质可被包括在还利用(或甚至主要利用)传输介质的计算系统组件中。
[0036] 计算机可执行指令例如包括,当在处理器处执行时使通用计算系统、专用计算系统、或专用处理设备执行某一功能或某组功能的指令和数据。计算机可执行指令可例如是二进制或甚至是在被处理器直接执行之前经受某种转换(诸如编译)的指令,诸如中间格式指令(诸如汇编语言或甚至是源代码)。尽管用结构特征和/ 或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述特征或动作。相反,上述特征和动作是作为实现权利要求的示例形式而公开的。
[0037] 本领域的技术人员将理解,本发明可以在具有许多类型的计算系统配置的网络计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机、数据中心、可穿戴设备(诸如眼镜)等等。本发明也可在其中通过网络链接(或者通过硬连线数据链路、无线数据链路,或者通过硬连线和无线数据链路的组合)的本地和远程计算系统两者都执行任务的分布式系统环境中实施。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备二者中。
[0038] 根据本文描述的原理,主存在公共云上的应用与远程专用网络上的资源通信,就好像该应用在该专用网络上本地运行一样。此外,此类连通性可以用仅仅若干姿势来进行配置。通过具有嵌入在应用被主存的运行时中的代理,此类连通性可以用字面上若干个配置姿势来建立,这些配置姿势涉及1)创建具有相关联的桥接基础结构的远程资源的逻辑表示,2)为专用网络上的该远程资源安装代理,该代理自动连接到桥接基础基础,以及3)自动配置应用运行时中的代理以截取远程资源的话务并且将其定向到桥接基础结构。这一机制的一个独特的能力在于,整个应用群 (或层)(诸如web或移动层)可以从专用网络被移动到公共云,而无需任何代码或配置改变,同时保持其他关键层(诸如数据库)在安全专用网络上。
[0039] 在本说明书和下面的权利要求书中,“云计算”被定义为用于允许对可配置计算资源(例如,网络、服务器、存储、应用和服务)的共享池的按需网络访问的模型。“云计算”的定义不限于可从这样的模型(在被合适地部署时)中获得的任何其它多个优点。
[0040] 例如,云计算当前用于市场中,以便提供对可配置的计算资源的共享的池的无所不在的并且方便的按需的访问。此外,可配置的计算资源的共享的池还可以通过虚拟化快速地提供,利用低的管理努力或服务提供商交互,释放,然后,相应地缩放。
[0041] 云计算模型可以由各种特征构成,诸如按需自助、宽的网络接入、资源汇聚、快速的弹性、测量的服务,以此类推。云计算模型还可形成各种服务模型,诸如例如软件即服务(“SaaS”)、平台即服务(“PaaS”)以及基础结构即服务(“IaaS”)。也可以使用不同的部署模型,诸如私有的云、社区云、公开的云、混合型云,等等,来部署云计算模型。在该描述和权利要求书中,“云计算环境”是其中采用了云计算的环境。
[0042] 图2图示此处所述的原理可在其中操作的环境200。环境200包括公共云210 和专用网络220。公共云210具有在其中运行的各种应用211。例如,公共云210 被解说为在其中运行应用211A、211B和211C,但省略号211D表示由公共云210 运行的应用数量的灵活性。应用211A被解说为略大,因为它将被用作本文描述的主要示例。公共云210可以实现具有多个消费者的云计算模型,因此称为术语“公共”。
[0043] 专用网络220其中运行了场所内资源221。例如,场所内资源221被解说为包括资源221A和221B,但省略号221C表示可以存在在专用网络220内运行的大量各种资源。资源221A被解说为略大,因为它将被用作本文描述的主要示例。可被访问的资源的示例包括,例如,数据库、服务器、存储、文件、目录等等。还存在桥接基础结构230,公共云210中的应用211A使用该桥接基础结构230来访问专用网络220中的资源221A。箭头231到238表示与使用桥接基础结构230相关联的示例数据流并且将在下文接合图7来进一步描述。
[0044] 如图3中解说的,存在与桥接基础结构相关联的三个时间阶段300。供应阶段 310,之后是连接阶段320,之后是使用阶段330。供应阶段310的目的是使得连接阶段320更容易且更自动得执行。事实上,连接阶段320可以被推迟直到恰恰在使用阶段330之前,此时公共云实际上使用桥接基础结构230来与场所内资源221A 通信。
[0045] 图4解说了用于自动供应公共云与专用网络中的场所内资源之间的连接的方法400的流程图。方法400是图3的供应阶段310的一个示例。由于方法400可在图2的网络环境
200中执行,因此现在将频繁参照图2来描述图4的方法400。
[0046] 在确定在公共云中运行的应用要访问专用网络的场所内资源之际发起方法 400(动作401)。例如,专用网络220内的用户可以确定公共云210的应用211A 要访问专用网络210的资源221A。例如,应用211A可以要求对位于专用网络220 内的资源221A的访问以提供信息或处理请求。访问远程资源的此类意图可以由应用211A的开发者在应用开发期间指示或配置。替换地,这一意图可以在管理员部署或配置应用211A期间确定。
[0047] 通过在用户指定要访问场所内资源的意图之际通过自动执行线410以下的内容来执行方法400。这些步骤可以在与控件(诸如超链接)交互之际被自动发起。替换地,这些步骤可以由用户或应用开发者显式发起。具体地,标识能被用于提供对场所内资源的访问的桥接结构(动作411)。桥接基础结构可以被供应在出于这一目的被设计为公共云的一部分的桥接或中继服务上。相应地,桥接基础结构与场所内资源的网络身份相关联。
[0048] 用于连接到桥接基础结构的凭证接着被访问。这包括具有发送权限的因应用而异的凭证251被提供(动作415)到嵌入在公共云210中的应用211A的运行时中的第二控件(动作415)。例如,在图2中,因资源而异的凭证241可被用于建立将桥接基础结构230与场所内资源221A连接的第一控件242。因应用而异的凭证242可被用于建立将桥接基础结构230与应用211A连接的第二控件252。
[0049] 此外,方法400包括访问桥接基础结构的因资源而异的凭证(动作412),将其供应给控件242的可执行文件,以及向其提供场所内资源的身份。该控件可以采用嵌入在专用网络中的代理的形式(动作414)。控件242被配置成使用因资源而异的凭证提供专用网络上的场所内资源与桥接基础结构之间的连通性。换言之,因资源而异的凭证以及场所内资源的身份被用于配置第一控件 242。
[0050] 相应地,在完成方法400之际,环境200的专用网络220具有带接收权限的因资源而异的凭证241,以及可以与其交互(在具有因资源而异的凭证241 的上下文中)以便建立资源221A与桥接基础结构230之间的连接的具有发送权限的控件242。此外,公共云210具有因应用而异的凭证251,以及可被公共云使用(在具有因应用而异的凭证251的上下文中)以便建立应用211A与桥接基础结构230之间的连接的控件252。
[0051] 该方法可以针对专用网络220中的不同资源被执行多次以便为每一场所内资源建立不同的桥接基础结构。可能存在针对每一资源的不同的因资源而异的控件。在一些实施例中,如果多个应用要使用相同的场所内资源,则对应的控件242可被在公共云中运行的多个应用共享。也可能针对连接到场所内资源的每一应用存在不同的因应用而异的控件。在一些实施例中,如果多个应用要使用相同的场所内资源,则它们可以共享相同控件252。省略号225表示也可在公共云210与其他专用网络之间建立类似的桥接基础结构。
[0052] 图5解说了示例环境,其中桥接基础结构被供应有资源代理控件242,资源代理控件242被设立为被主存在专用网络中。在这一图示中,公共云被标记为“Azure。”然而,本文描述的原理可应用于任何公共云以实现与专用网络中的资源的连通性,而不管公共云的供应商或身份如何。专用网络的信任边界被标记为企业内网信任边界摂。用于连接公共云与专用网络以允许公共云中的应用访问专用网络中的资源的桥接基础结构将在此处被称为“混合连接”。
[0053] 首先,用户创建逻辑混合连接,该逻辑混合连接指定专用网络上的远程资源的网络地址。这自动生成两个凭证;场所内代理上的具有接收权限的第一凭证(即,因资源而异的凭证),以及用于公共云上的应用的具有发送权限的第二凭证(即,因应用而异的凭证)。
[0054] 用户接着部署和配置专用网络上的代理服务(附图5中的“混合连接管理器CO应用”)并且向其提供具有接收权限的凭证。
[0055] 专用网络上的代理服务接着自动启动。代理服务使用具有接收权限的凭证以连接到桥接基础结构并且确定它设计代理哪个场所内资源,并且接着将其自身配置为该资源的代理。附图5中的箭头4到6示出这可能针对特定实现而发生,但其他办法也可被用于此。
[0056] 嵌入在公共云上的应用运行时中的代理被配置有到表示专用网络上的远程资源的期望逻辑混合连接的链接。具有发送权限的凭证被配置在代理上,并且应用连接到逻辑混合连接。附图5中的箭头7到8示出这可能针对特定实现而发生。
[0057] 图6解说了用于建立从公共云到专用网络中的场所内资源的访问的方法600 的流程图。方法600可以作为图3的连接阶段320的一部分来执行并且可以在图2 的环境200的上下文中执行。相应地,现在将频繁地参考图2的环境200来描述图 6的方法600。
[0058] 该方法包括自动访问(动作601)在公共云与专用网络之间操作的桥接基础结构。例如,参考图2,桥接基础结构230被配置成使用第一控件242与专用网络220 内的用户系统交互。第一控件242被结构化成使得当被配置有用于桥接基础结构的因资源而异的凭证时,第一控件242自动建立到桥接基础结构230的安全连接。当此类连接建立时,第一控件242标识桥接基础结构230被供应访问的场所内资源 221A。此外,第一控件242被结构化成从桥接基础结构230接收所截取的话务,其中所截取的话务由第二控件252转发到桥接基础结构
230上。第一控件242将其自身配置成将所截取的话务从桥接基础结构230转发到资源221A。
第二控件252 同样地被配置成截取来自应用211A并且以场所内资源221A为目的地的话务,在恰适的帧消息中使其形成帧,并且将其重路由到桥接基础结构230上。此外,第二控件252被提供(动作602)给在公共云210中运行的应用。第二控件252被结构化成使得应用221A可以经由桥接基础结构230安全地与专用网络的场所内资源连接。第二控件252可以总是维持与桥接基础结构230的连接或者替换地该连接可以按需建立。如果连接是按需建立的,则当应用211A试图访问资源221A(动作603) 时,第二控件252完成应用211A与场所内资源221A之间的通信路径。
[0059] 图7解说了用于使用一旦连接到应用和专用云中的场所内资源的桥接基础结构的方法700的流程图。方法700表示图6的使用阶段630的一个示例。方法700 可以在图2的环境200内执行以使得参考图2中的多个数据流231到238。相应地,现在将参考图2的环境200来描述图7的方法700。由第二控件执行的动作在图7 中标题(“第二控件”)下的左侧列中参考,并且在710系列中被标记。由第一控件执行的动作在图7中标题(“第一控件”)下的右侧列中参考,并且在720系列中被标记。
[0060] 第二控件首先截取(动作711)来自应用的以场所内资源为目的地的通信。例如,在图2中,第二控件252接收(如由箭头231表示的)来自应用211A的通信。这一通信可以被结构化成如果该资源要从公共云之内访问那样相同的结构。相应地,应用211A本身可以对于该资源实际位于哪里完全不可知。第一控件242、第二控件252与桥接基础结构230建立的通信信道的存在可能是从应用211A的视角抽象出来的某样事物。
[0061] 第二控件接着使用恰适的帧或隧道即时使来自应用211A的原始消息形成帧,并且在桥接基础结构上重定向(动作712)该通信以供由第一控件路由到场所内资源。使原始消息形成帧保留了场所内资源的访问控制可能要求的或者用于正确处理原始消息的任何消息头部或其他控制信息。当然,这一通信可以出于安全性而被加密。例如,在图2中,第二控件252被解说为在桥接基础结构230上重定向(如由箭头232表示的)该通信。
[0062] 第一控件接着在桥接基础结构上接收到经重定向的通信(动作721)。例如,在图2中,第一控件242被解说为接收通信(由箭头233表示)。第一控件接着从原始消息中移除帧形成,并且将该通信重定向到场所内资源(动作722)。例如,在图2中,第一控件242被解说为将该通信重定向(由箭头234表示)到场所内资源221A。如果没有来自场所内资源对该通信的响应(判断框723中的“否”),则方法700接着可以结束。
[0063] 如果存在对该通信的响应(判断框723中的“是”),则第一控件接收该响应 (动作724),使用所选帧机制使其形成帧,并且在桥接基础结构上转发该响应(动作725)。例如,在图2中,第一控件242从场所内资源221A接收响应(如由箭头235表示)并且将该响应重定向(如由箭头236表示)到桥接基础结构230上。
[0064] 第二控件在桥接基础结构上接收到该响应(动作713),移除第一控件添加的帧形成,并且将来自场所内资源的原始响应重定向到应用211A(动作714)。例如,在图2中,第二控件242在桥接基础结构230上接收到该响应(如由箭头237 表示),并且将该响应重定向(如由箭头238表示)回到应用。在一些实施例中,该响应可以表现为相同或者具有相同的模式,不管场所内资源在公共云内还是在专用网络内。
[0065] 图8解说了示出公共云中的应用接着可如何使用桥接基础结构访问专用网络上的资源的更具体示例的运行时过程。在这一情形中,应用是网站。再一次,尽管应用被标记为“Azure”网站,但本文描述的原理不限于任何特定的公共云身份或供应商,并且不限于请求专用网络资源的应用供应商或身份。在任何情形中,应用对远程资源(无法直接从公共云抵达)寻址,就好像它位于附近且能够直接访问那样。
[0066] 应用被主存在其上的公共云平台将代理嵌入应用运行时内。代理(图8中的混合连接代理)确定应用链接到的逻辑混合连接以及它所表示的远程资源的地址/ 端口信息。代理截取来自应用的以该远程资源为目的地的所有话务,将 NetTcpRelayBinding用于使原始消息形成帧,并且将其发送到混合连接。尽管在这一具体示例中使用NetTcpRelayBinding,但其他帧形成机制或隧道协议可被使用。
[0067] 混合连接将应用发送的所有请求转发到主存在专用网络上的资源代理(图8 中的“混合连接管理器服务”)以供进一步转发到远程资源。此外,混合连接向应用转发远程资源发送的所有响应。
[0068] 专用网络上的代理服务使用出站网络连通性(例如,通过TCP、HTTP、HTTPS 或Web套接字)来监听来自公共云的连接请求。来自公共云上的应用的连接请求接着被转发到专用网络上的资源,并且响应被返回到公共云上的应用。代理在将其转发给资源之前从原始消息移除NetTcpRelayBinding的帧形成,并且相反地在将来自资源的响应返回到应用时添加帧形成。
[0069] 相应地,本文描述的原理提供了一种用于供应、连接和使用允许公共云中的应用连接到场所内资源的桥接基础结构的便捷且高度自动化的机制。本发明可具体化为其它具体形式而不背离其精神或本质特征。所描述的实施例在所有方面都应被认为仅是说明性而非限制性的。从而,本发明的范围由所附权利要求书而非前述描述指示。落入权利要求书的等效方案的含义和范围内的所有改变应被权利要求书的范围所涵盖。