用于提供全局虚拟网络(GVN)的系统和方法与流程

文档序号:14036919阅读:2533来源:国知局
用于提供全局虚拟网络(GVN)的系统和方法与流程

相关申请

本申请要求提交于2015年4月7日的美国临时申请62/144,293和提交于2015年4月22日的美国临时申请62/151,174的优先权,上述文献各自通过引用而并入于此。

本公开内容一般涉及网络,更特别地涉及全局虚拟网络和各种关联的辅助模块。



背景技术:

人类能够感觉到200ms或更长的延迟,因为这通常是人对于事件的平均反应时间。如果延时过高,则诸如基于瘦客户端到云的服务器、客户关系管理(crm)、企业资源计划(erp)和其它系统等的在线系统将表现不佳,甚至可能由于超时而停止运行。高延时结合高包丢失可能使得连接不可用。即使数据通过,某个时候太慢也会导致不佳的用户体验(ux),并且在这种情况下,结果可能是用户实际上拒绝接受这些条件,从而使所提供的不佳服务呈现为无用。

为了解决这些问题中的一些,开发了各种技术。一种这样的技术是wan优化,其通常涉及位于局域网(lan)的边缘处的硬件(hw)设备,该硬件(hw)设备建立去往位于另一lan的边缘处的另一wan优化hw设备的隧道,从而在其间形成广域网(wan)。这种技术假设两个设备彼此连接所经由的稳定连接。wan优化器力图压缩和保护数据流,这通常导致速度增益。采用wan优化的商业驱动是为了保存所发送的数据量以减少数据传输的成本。这种wan优化的缺点在于其通常是点到点的、并且在两个设备之间的连接不佳时可能难以进行,这是因为在这两个设备之间几乎不能控制通过互联网的流量的流动路径。为了解决该问题,wan优化器的用户通常选择通过多协议标签交换(mpls)或ddn线或者其它专用电路来运行其wan,从而产生额外的费用并通常再次需要刚性的固定点到点连接。

诸如mpls、ddn、专用电路或其它类型的固定点到点连接等的直接链路提供了连接质量和服务质量(qos)的保证。这些直接链路非常昂贵,并且通常需要相当长的时间来进行安装,这是因为需要以物理的方式从各连接侧处的pop画线。当经由这种直接连接的wan从一个lan内连接至另一lan的资源时,点到点拓扑结构运作良好。然而,当一般互联网的网关(gw)位于一端的lan处时(例如,位于公司总部),来自子公司国家的远程lan的流量可以通过gw而路由至互联网。由于流量通过互联网流回与子公司同一国家的服务器,因此发生缓慢。然后流量必须从lan通过wan流至gw所在的lan,然后通过互联网流回原始国家的服务器,然后通过互联网流回gw,然后顺着专用线路流回lan内的客户端设备。本质上,应占据访问这种附近站点的全局延时的一小部分的全局中转时间变成两倍或三倍(或更糟)。为了克服这种情况,另一互联网线路与适当配置之间的可选连接发生改变,并且所添加的设备可以在这种系统的各端将局部流量提供至互联网。

从一个lan向另一lan创建wan链路的另一选项涉及在两个路由器、防火墙或等效边缘设备之间建立诸如ipsec或其它协议隧道等的隧道。这些隧道的建立通常是加密的,并且可以提供压缩和其它逻辑来尝试改善连接。几乎不能控制两个点之间的路由,这是因为它们依赖于互联网上的各种中间玩家的政策,其中这些中间玩家通过其网络来承载流量,并且与其它载体或网络运营商进行对等。来自许多设备供应商的防火墙、路由器、交换机和其它设备通常具有内置到其固件中的隧道选项。

近年来,虽然最后一英里的连接已经得到大幅度的改进,但由于与距离、协议限制、对等、干扰以及其它问题和威胁有关的问题,因此在长距离连接和吞吐量方面仍然存在问题。正因如此,存在对于在标准互联网连接上运行的安全网络优化服务的需求。



技术实现要素:

全局虚拟网络(gvn)是一种在互联网之上(ott)提供网络优化的网络。这是一种颠覆性技术,该技术为昂贵的mpls或专用线路提供了低成本的替代方案。在端点设备(epd)和链接到更广的gvn全局网络的接入点服务器(srv_ap)之间具有安全隧道提供了许多优点。创建gvn的核心技术以弥补需要解决方案但不存在哪种技术的差距。

除了解决与网络连接有关的服务质量(qos)问题从而改进一般性能并增强用户体验的更广泛主题之外,另外两个主要特征是:这种拓扑结构允许将网络边缘延伸到云中。另外,epd充当更广泛网络和局域网(lan)之间的桥梁,从而将云的元素作为局部节点延伸到lan的边缘中。

所公开主题描述了全局虚拟网络的各种辅助模块,其中这些辅助模块由gvn推进,或者在gvn的操作中辅助该gvn。地理目的地的要求必须具体地处理cda或cpa是如何工作的、以及它们的交互和协调努力。地域多播元素描述了geod机制可以如何利用gvn的拓扑结构来提供反向cdn地域多播操作。隧道描述了利用更高层的管道可以进行哪些操作。架构和算法/逻辑发明描述了组成部分。图形用户界面和相关的hw和sw框架也被概述为文件传输。

公开了用于管理端点设备与接入点服务器之间的虚拟全局网络连接的系统和方法。在一个实施例中,网络系统可以包括端点设备、接入点服务器和控制服务器。所述端点设备和所述接入点服务器可以利用第一隧道而连接。所述接入点服务器和所述控制服务器可以利用第二隧道而连接。

附图说明

为了便于更全面的理解本公开内容,现参考附图,其中在附图中,相同的元件参考相同的附图标记。这些幅图不应被解释为限制本公开内容,而仅仅是说明性的。

图1示出在向各层处的数据添加头的情况下的ip传输包的包膨胀(bloat)。

图2示出在osi模型的七层中的各层处的数据和头的包膨胀。

图3示出描绘了经由通过互联网域名系统(dns)的查找的统一资源定位符(url)的解析的框图,其中该互联网域名系统(dns)用于从主机(客户端)路由至主机(客户端)的数字ip地址。

图4示出根据所公开主题的特定实施例的用以在考虑到各种连接属性的情况下计算针对连接段或路径的带宽延迟乘积(bdp)的等式。

图5示出根据所公开主题的特定实施例的端点设备(epd)内的流量流动路径。

图6示出根据所公开主题的特定实施例的常规互联网连接上所创建的过顶(ott)隧道。

图7示出根据所公开主题的特定实施例的常规互联网连接上所创建的过顶(ott)隧道的虚拟接口。

图8示出互联网流量的流动的传统实施例。

图9示出根据所公开主题的特定实施例的两个网关设备(gwd)之间所建立的隧道。

图10示出根据所公开主题的特定实施例的epd100、srv_cntrl200和srv_ap300之间通过gvn的中性api机制(napim)经由api-10a1-10a2、api-10a3-10a2和api-10a1-10a3的通信。

图11示出根据所公开主题的特定实施例的对等体对中的两个对等体所需的信息流动。

图12示出根据所公开主题的特定实施例的建立隧道的过程。

图13是示出根据所公开主题的特定实施例的用于向建立隧道所使用的ip地址分配端口的逻辑的流程图。

图14示出根据所公开主题的特定实施例的服务器可用性列表的重要性以及如何为各种设备分配ip地址和范围。

图15示出根据所公开主题的特定实施例的从lan到epd到srv_ap到srv_ap到epd到lan的gvn隧道的元件,包括isp和网络边缘之间的对等点对等点。

图16示出根据所公开主题的特定实施例的支持个人端点设备的云中的多边界防火墙(mpfw)。

图17示出根据所公开主题的特定实施例的各种gvn设备的数据库上的表如何彼此相关以及这些表进行交互的方式。

图18示出根据所公开主题的特定实施例的全局虚拟网络(“gvn”)所使用和使能的技术的框图。

图19示出根据所公开主题的特定实施例的协同工作以向客户端提供地理目的地服务从而优化来自位于远程位置的服务器的内容的检索、传输和服务的三个设备。

图20进一步示出根据所公开主题的特定实施例的图19中所描述的三个设备的操作。

图21是继续描述地理目的地机制的操作的典型实施例,其进一步解释了从各种类型的服务器检索一系列文件、将所检索到的文件聚集在一起以及随后从接入点服务器(srv_ap)传输至端点设备(epd)。

图22示出与地域多播在内容分发网络(cdn)内如何工作有关的现有技术。

图23示出对时基循环的周期的分析和解释。

图24描述了根据所公开主题的特定实施例的、在比较各种不同数据集时对两个不同数据集的描述可以如何提供信息。

图25示出根据所公开主题的特定实施例的多边界防火墙与gvn内的其它系统之间的集成。

图26示出根据所公开主题的特定实施例的、通过开放互联网的路径以及作为网络优化流量与基础互联网上(ott)的全局虚拟网络(gvn)段和开放互联网段的混合的组合的路径这两者。

图27示出根据所公开主题的特定实施例的、使用具有骨干和八角路由的轴辐式拓扑结构的gvn。

图28示出根据所公开主题的特定实施例的分布式端点管理集群(depac),其中该分布式端点管理集群(depac)可以虚拟地构建在全局虚拟网络(gvn)或其它类似拓扑结构中。

图29示出根据所公开主题的特定实施例的要在互联网上运行的、测试各种端口和ip地址的一系列测试的逻辑结构。

图30示出根据所公开主题的特定实施例的用于记录在全局虚拟网络(gvn)或其它类似拓扑结构中工作的各种设备之间的连接流量活动的机制。

图31示出根据所公开主题的特定实施例的与直接接入网络接口卡(nic)31-000的薄堆栈方法31-10相比、应用层31-800和nic31-000之间的传统厚堆栈31-20分层接入。

图32示出用于对来自测试和生产环境使用这两者的连接信息进行关联并存储该连接信息的简单示例性数据库模式。

图33示出根据所公开主题的特定实施例的用作应用层上的诸如图形用户界面上所点击的按钮等的触发与作为触发的结果而要运行的深层逻辑和命令之间的防御缓冲的自定义命令的使用。

图34是根据所公开主题的特定实施例的对全局虚拟网络(gvn)内的地理目的地机制中的相关设备上的模块的简化描述。

图35示出根据所公开主题的特定实施例的便携式端点设备(pepd)可以如何连接至全局虚拟网络(gvn)或类似拓扑结构的几种方式。

图36示出根据所公开主题的特定实施例的便携式端点设备(pepd)和接入点服务器(srv_ap)36-300之间的关系。

图37示出根据所公开主题的特定实施例的可以在便携式端点设备(pepd)上运行的一些不同类型的可扩展软件,其中在该便携式端点设备(pepd)中,软件存储在诸如接入点服务器(srv_ap)等的远程设备上以从该srv_ap发送至pepd。

图38示出根据所公开主题的特定实施例的跨多个区域的全局虚拟网络(gvn)内的设备之间的多个隧道。

图39示出根据所公开主题的特定实施例的各种类型的设备所要利用的公共代码库的框架,其中这些设备各自具有其自身的属性/类型和身份。

图40示出根据所公开主题的特定实施例的数据与全局虚拟网络(gvn)内的各种设备的关系、交互和相关性。

图41示出根据所公开主题的特定实施例的互联网上(ott)的全局虚拟网络(gvn)的拓扑结构以及在该拓扑结构内工作的各种设备。

图42示出根据所公开主题的特定实施例的位于web根目录上方和位于web根目录下方的代码。

图43示出根据所公开主题的特定实施例的将来自外部源的信息和内部获悉的ai知识进行合并的算法。

图44示出根据所公开主题的特定实施例的通过考虑所拥有的因素并且平衡个人需求来设计更智能的算法的方法的简化表示。

图45示出根据所公开主题的特定实施例的端点设备(epd)、中央控制服务器(srv_cntrl)和接入点服务器(srv_ap)的一些系统模块和组件。

图46示出根据所公开主题的特定实施例的端点设备(epd)、中央控制服务器(srv_cntrl)和接入点服务器(srv_ap)的一些系统模块和组件。

图47示出根据所公开主题的特定实施例的端点设备(epd)、中央控制服务器(srv_cntrl)和接入点服务器的一些系统模块和组件。

图48示出根据所公开主题的特定实施例的典型计算设备的框图。

图49示出根据所公开主题的特定实施例的在lan中下载文件以及从互联网下载文件的过程。

图50示出根据所公开主题的特定实施例的端点设备(epd)上的文件传输管理器(ftm)和接入点服务器(srv_ap)上的ftm的操作。

图51示出根据所公开主题的特定实施例的安全文件存储容量上的文件的物理存储之间的关系、与文件有关的信息向关系数据库(db)中的保存、以及文件、文件信息和文件传输过程的步骤之间的数据关系。

具体实施方式

在以下说明中,关于所公开主题的系统、方法和介质以及这种系统、方法和介质可以工作的环境等阐述了许多具体细节,以提供对所公开主题的全面理解。然而,对于本领域技术人员显而易见的是,所公开主题可以在没有这种具体细节的情况下实践并且没有进行详细描述,以避免所公开主题的复杂化。另外,应当理解,以下提供的示例是典型的,并且设想为存在在所公开主题的范围内的其它系统、方法和介质。

全局虚拟网络(gvn)在安全网络优化服务的标准互联网连接上将该安全网络优化服务提供至客户端。这是对gvn的组成部分的概述以及对可以用作gvn元件的相关技术的描述。gvn元件可以独立地或者出于其自身的目的诸如利用gvn框架在gvn的生态系统内工作,或者可以被部署为增强gvn的性能和效率。该概述还描述了其它技术可以如何受益于gvn:作为使用gvn的一些或全部组件的独立部署,或者可以利用现有gvn的益处被快速部署为该gvn上的独立机制。

基于软件(sw)的虚拟专用网络(vpn)经由客户端设备和vpn服务器之间的隧道来提供隐私。这具有加密的优点,并且在一些情况下还具有压缩的优点。但是再次地,这里几乎不能控制流量在vpn客户端和vpn服务器以及在vpn服务器和主机服务器、主机客户端或目的地处的其它设备之间如何流动。这通常是点到点连接,该点到点连接需要使用vpn为每个设备安装客户端软件,并且需要一些技术熟练程度来维持针对每个设备的连接。如果vpn服务器出口点经由质量通信路径紧邻目的地主机服务器或主机客户端,则性能将会良好。如果vpn服务器出口点没有经由质量通信路径紧邻目的地主机服务器或主机客户端,则从可用性角度来看,则将会显著拖累性能并产生不满。通常要求vpn用户必须断开与一个vpn服务器的连接,并重新连接至另一vpn服务器,以对来自一个区域的内容与来自另一区域的内容进行高质量的或局部的访问。

全局虚拟网络(gvn)是互联网上的一种计算机网络,其中该计算机网络利用分布在世界各地的通过高级隧道安全互连的设备网络来提供全局安全网络优化服务,经由应用程序接口(api)、数据库(db)复制及其它方法来进行协作通信。gvn中的流量路由始终经由通过自动化系统进行供电的高级智能路由(asr)所管理的通信路径,其中该自动化系统将建立器、管理器、测试器、算法分析和其它方法结合起来,以适应随时间进变化的条件和指示,从而对系统进行配置和重新配置。

gvn提供用以在一个或多个常规互联网连接上提供安全、可靠、快速、稳定、精确且集中的并行连接的服务。通过压缩在epf和紧邻该epd的接入点服务器(srv_ap)之间中转包装、伪装且加密的隧道的多个连接的数据流,实现这些益处。持续监视epd和srv_ap'之间的连接质量。

gvn是硬件(hw)端点设备(epd)与所安装的软件(sw)、数据库(db)以及gvn系统的其它自动化模块的组合,其中这些自动化模块诸如为中性应用编程接口机制(napim)、回发信道管理器、隧道管理器以及用于将epd连接至gvn内的诸如接入点服务器(srv_ap)和中央服务器(srv_cntrl)等的分布式基础设施设备的更多特征。

算法持续分析当前的网络状态,同时考虑尾随趋势加上长期历史性能,以确定流量所采取的最佳路由以及用以推送流量的最佳srv_ap或一系列srv_ap服务器。配置、通信路径以及其它改变是自动进行的,并且在运行中需要最少的或不需要用户交互或干预。

epd和srv_ap中的高级智能路由确保流量经由从原点到目的地的最理想路径流动通过gvn的尽可能简单的“第三层”。该第三层被连接至gvn的客户端设备视为普通的互联网路径,但与流量通过常规互联网流动至同一目的地相比,具有更少的跳数、更好的安全性并且在大多数情况下具有更少的延时。逻辑和自动化在gvn的“第二层”上运行,其中在该“第二层”中,gvn的软件自动监视并控制虚拟接口(vif)的底层路由和构造、多个隧道以及通信路径的绑定。gvn的第三层和第二层位于gvn的“第一操作层”之上,其中,该“第一操作层”与底层互联网网络的设备进行交互。

从技术和网络的角度来看,云是指设备或者设备的分组或数组或集群,其中这些设备通过开放互联网连接并且对于其它设备可用。这些设备的物理位置并不重要,因为它们经常将其数据复制到多个位置,并且利用内容分发网络(cdn)或其它这样的技术向/从请求客户端的最近服务器分发数据以加速连接,从而增强用户体验(ux)。

在一些实施例中,所公开主题涉及通过将边界延伸至云中来增加防火墙(fw)的效用值。防火墙是主要被设计用于保护内部网络以免受来自外部网络的外部威胁以及保护信息数据以免从内部网络泄露的设备。传统上,防火墙被放置在一个网络(诸如局域网(lan))和另一个网络(诸如到更广泛网络的上行链路)之间的边缘处。网络管理员对fw的放置和可信度敏感,因为这些网络管理员依赖于fw来保护其网络。

图1示出在向各层处的数据添加头的情况下的ip传输包的包膨胀。在应用层1-l04处,数据复杂具有如数据1-d4所表示的初始大小。包的大小由包大小1-pbytes表示。在下一层“传输层1-l03”处,包大小pbytes具有与数据udp1-d3相等的数据1-d4的原始大小。该“传输层1-l03”进一步包括头udp1-h3的膨胀。在下一层“互联网层1-l02”处,头负载数据1-d2是1-d3和1-h3的组合。该“互联网层1-l02”使1-pbytes增加头ip1-h2。在链路层1-l0l处,帧数据1-dl是1-h2和1-d2的组合。该链路层1-l01进一步使1-pbytes增加头帧1-h1和尾帧1-f1。

图2示出在osi模型的七层中的各层处的数据和头的包膨胀。在各级应用osi层72-l7处,原始数据2-d0通过添加诸如头2-h7等的头而增长。在从层向下7到层1的各后续层处,数据层是前一高级层的数据和所组合的头的组合。在osi模型中,物理osi层2-l1处的总的包膨胀由包大小2-pbytes表示。

图3示出描绘了经由通过互联网域名系统(dns)的查找的统一资源定位符(url)的解析的框图,其中该互联网域名系统(dns)用于从主机(客户端)路由至主机(客户端)的数字ip地址。从主机(客户端)源101向主机(服务器)目标301的内容请求或推送作为文件或流或数据块沿001的方向流动。从主机(服务器)目标301向主机(客户端)源101的内容分发的响应002作为文件或流或数据块。客户端-服务器(c-s)关系中的主机(客户端)源101请求从远程主机(服务器)访问内容或者经由统一资源定位符(url)或其它网络可到达地址向远程主机(服务器)发送数据。

从主机客户端到互联网的连接被标记为p01——从客户端101到pop102的连接可被称为最后一英里连接,其中,pop102直接面向局域网(lan)或者可以位于局域网(lan)中,该局域网(lan)然后经由入网点连接至互联网。入网点(pop)102表示由互联网服务提供商(isp)经由其网络和连接线从端点向互联网提供的连接。如果url是域名而非数字地址,则将该url发送至域名系统(dns)服务器103,其中域名被翻译成ipv4或ipv6或其它地址以用于路由目的。

从客户端101到服务器301的流量通过表示pop(102和302)之间的中转的互联网120来进行路由,其中中转包括对等、回程或者网络边界的其它中转。

从pop102到dns103的用以从统一资源定位符(url)中查找多个地址以获得目标服务器的ipv4地址或其它数字地址的连接p02可以直接从pop102访问,或者经由互联网120来访问。从isp的pop102到互联网120的连接p03可以是单角或多角的。存在从互联网120到isp的或者互联网数据中心(idc)的面向互联网的pop302的连接p04。从服务器的pop302到主机301的连接可以是直接的或经由多跳的。

经由域名系统的从名字到数字地址的查找是如今互联网的标准,并且假设dns服务器是一体的并且其结果是最新的且可以被信任。

图4示出根据所公开主题的特定实施例的用以在考虑到各种连接属性的情况下计算针对连接段或路径的带宽延迟乘积(bdp)4-080的等式。两个点和/或增大延时影响的其它因素之间的距离越远,则线路在发送设备从接收设备接收回与该接收设备是否能够接受数据量有关的消息之前可以盲吸收的数据量越大。

简而言之,bdp4-080计算可以表示在服务器知道其正在以过快的速率发送过多的数据之前管道中可以填充多少数据的测量。

带宽4-000可以以兆位每秒(mbps)为单位进行测量,并且间隔4-002可以是相对于一秒的时间单位。为了准确地反映bdp4-080,将字节4-020除以系统的位数4-022。延时4-050是两点之间的往返时间(rtt)的测量,以毫秒(ms)为单位。

因此,例如,具有这些属性——10gige的带宽4-000使用1秒的间隔4-022,在路径延时4-050为220ms的8位系统上——的以下网络路径的bdp4-080可以计算如下:

因此,在10gige线路上,发送设备理论上可以在可在从接收客户端设备接收回消息之前的220ms内发送33,569.3兆字节的信息(mb)。

该计算也可以是其它算法的基础,这些其它算法诸如为用以管理ram缓冲区的大小的算法、或者用以管理在意识到诸如攻击向量等的问题之前的时间和所缓冲的数据量的算法。主机服务器的节流可能导致管道未充分利用,但是接受太多的数据也可能导致其它问题。bdp4-080的计算以及对问题的前瞻性管理方法导致对硬件和网络资源的高效利用。

图5示出根据所公开主题的特定实施例的端点设备(epd)内的流量流动路径。流量通过连接5-cp00在lan5-000和端点设备(epd)5-100之间流动。端点设备(epd)5-100通过连接5-cp06流动至入网点(pop)5-010。入网点(pop)5-010经由连接5-cp08而连接至互联网5-020。

图6示出根据所公开主题的特定实施例的常规互联网连接上所创建的过顶(ott)隧道。图6与图5类似,并且附加地示出接入点服务器(srv_ap)6-300。接入点服务器(srv_ap)6-300包括隧道监听器tnl06-380。端点设备(epd)5-100包括隧道管理器tmn06-180。构建连接隧道管理器tmn06-180和隧道监听器tnl06-380的隧道tun06-cp80。该隧道构建在常规的互联网连接6-cp06和6-cp08之上(ott)。

图7示出根据所公开主题的特定实施例的常规互联网连接上所创建的过顶(ott)隧道的虚拟接口。图7与图6类似,并且附加地包括虚拟接口(vif),作为各设备epd7-100和srv_ap7-300之间的钩子点,以供在这两者之间建立多个隧道。该图还示出epd7-100和srv_ap7-300之间的多个隧道7-cp80、7-cp82和7-cp84。各设备上的虚拟接口vif07-170和vif07-370的主要优点在于该方法实现针对更复杂的隧道结构和后续路由复杂性的清晰的结构属性和逻辑路径。

与定时和流动控制有关的某些其它优点将在以下的后续附图中描述。

图8示出互联网流量的流动的传统实施例。在图8中,通过互联网的流量从连接至局域网(lan)8-102的主机(客户端)原点8-101到互联网服务提供商(isp)的入网点(pop)8-103到互联网数据中心(idc)8-203的pop8-204到负载均衡器8-202,该负载均衡器8-202将流量路由至主机(服务器)目标8-201。

客户端和服务器均不能通过两者之间的互联网和其它网络来控制其流量所采取的路由。

图9示出根据所公开主题的特定实施例的两个网关设备(gwd)之间所建立的隧道。在图9中,gwdal和gwdbl各自位于其内部网络和开放互联网的边缘edge-1和edge-2之间。tun将两个局域网(lan)连接至更广泛的广域网(wan)。gwda1从互联网服务提供商isp-1接收其连接,并且gwdbl从isp-3接收连接。关键点在于虽然tun提供了安全性和其它益处,但由于从isp-1去往isp-3的流量必须通过isp-2的网络进行中转,因此存在潜在的负面问题。

由于饱和、包丢失或其它问题导致的拥塞可以发生在对等点pp-01和/或pp-02处,或者发生在isp-2的网络内。由于gwdal和gwdbl都不是isp-2的客户端,因此它们必须通过向isp-1或isp-3中的各个isp进行投诉来到达isp-2。

另外要注意的是,虽然互联网路径可以包含多个跳跃,举例而言,诸如通过eh17的外部跳跃(eh)eh1,单在tun内,在隧道的各端点处,将仅存在一个跳跃。隧道是开放互联网上(ott)的加密路径。

图10示出根据所公开主题的特定实施例的epd10-100、srv_cntrl10-200和srv_ap10-300之间通过gvn的中性api机制(napim)经由api-10a1-10a2、api-10a3-10a2和api-10a1-10a3的通信。

对于要建立在epd10-100和srv_ap10-300之间的隧道tun10-1、tun10-2和tun10-3以及对于从epd10-100到其它srv_ap服务器的诸如tun10-4等的和从其它epd到srv_ap10-300的经由tun10-5的隧道,对等体对中的各设备需要针对每个隧道的特定信息。

napim机制存储相关的凭证、坐标和其它信息,以供各侧的对等体对在经由隧道管理器2110和2310建立新隧道时利用。srv_cntrl10-300上的服务器可用性机制2222评价在epd侧上经由隧道测试器2112所测试的以及在srv_ap侧上通过隧道测试器2312所测试的各种隧道的性能。将来自测试的信息中继至srv_cntrl10-200上的连接分析器2288。测试结果包括所分配的ip地址和端口组合、所使用的端口、来自历史组合使用的结果、来自端口频谱测试的结果以及其它相关信息。

服务器可用性列表向epd10-100呈现隧道管理器可以利用以建立新隧道的ip地址和端口的列表。列表上记录的srv_ap10-300和其它srv_ap服务器将被通知监听epd10-100所要进行的连接尝试。

服务器可用性基于要建立的隧道的预期最佳性能来使srv_apip地址和端口的组合的列表优先,同时还查看可用srv_ap服务器的当前负载、平衡赋予其它epd的分配列表以及其它可用信息。

图11示出根据所公开主题的特定实施例的对等体对中的两个对等体所需的信息流动。对等体可以是客户端(c)和服务器(s),或者可以是p-2-p拓扑结构中的对等体-另一对等体。为了简化该示例性实施例内的标记和描述,c-s和p-2-p表示同一类型的两个对等关系,这里对c-s进行描述。gvn在设备之间主要使用c-s关系,但其方法和技术也可以适用于隧道建立所用的p-2-p对等体对。

加密信道本质上是数据可以流动的安全通信路径。在客户端和服务器相隔一定距离并且两者之间的连接使通过开放的未加密互联网的情况下,加密信道是安全地交换数据的理想信道。如果在任一端处存在人力网络管理员,则他们可以对设备进行编程。但是关于如何中继诸如通行短语、密钥以及其它信息等的安全信息,存在挑战。一些实施例可以使用语音电话来进行协调,其它实施例可以使用通过安全网站的一系列发帖来共享信息或其它方法。手动设置单个隧道可以是一项任务。管理多个隧道可能变得繁重。

为了在对等体对中的两个设备之间自动建立一系列加密隧道,需要安全地共享信息。隧道信息还需要是最新的,并且安全地存储在设备上。此外,在建立过程期间,存在必须解决的威胁。在隧道已经建成的情况下,存在需要解决的其它威胁。

srv_cntrl11d00是中央服务器,其包含用于管理数据库表中的信息的存储库、存储在安全文件存储系统中的文件、存储器中的列表以及其它相关信息。srv_cntrl还具有评价某些数据以生成信息报告的算法和机制。

客户端设备11d01表示将通过经由特定ip地址和端口“拨号”到服务器设备的连接来发起隧道的建立的设备。可以有许多客户端设备11d01同时连接至gvn,其中这些客户端设备11d01具有类似的软件和配置,其区别性因素在于客户端具有唯一的设备身份uuid,并且还具有针对每个客户端的每个隧道的唯一信息。

服务器设备11d02表示将监听特定ip地址和端口上的客户端连接尝试的设备。如果客户端遵循正确的协议和建立顺序并提供正确的凭据和其它安全信息,则服务器将允许客户端建立到该服务器的隧道。可以有许多服务器设备11d02同时连接至gvn,其中这些服务器设备11d02具有类似的软件和配置,其区别性因素在于唯一的设备身份uuid以及其它唯一信息。

隧道信息11s2示出存储在客户端设备11d01和服务器设备11d02上的信息。各设备可以建立多个隧道,并且各隧道将具有其自己的隧道信息和安全信息的集合。一些隧道信息集可以用于建立当前活动隧道,而其它隧道信息集可以保留以备用于将来的隧道。

c和s之间的某些信息是相同的,诸如可以呈现给他人的通行短语,并且其它信息将根据适用性而不同。用于在两点之间建立隧道的信息要求可以包括:客户端/服务器拓扑结构和设置;隧道所要使用的各端点的ip和端口;包括mtu大小、协议和操作所使用的其它信息的隧道度量;密钥、通行短语以及与隧道所使用的安全保护有关的其它信息;ssl证书以及用于保护信息交换前隧道up的其它信息;以及其它信息。使用gvn的中性api的特定api动作调用,在设备之间共享以上信息。

在隧道之前11s0描述了在设备11d01和11d02与srv_cntrl上的存储库11d00之间接收和共享信息并将信息送回设备11d01和11d02的过程。api通信路径api-cp0、api-cp2、api-cp4和api-cp6表示请求响应信息交换,其中箭头表示信息从一个设备到另一设备的流动方向。

服务器11d02经由路径api-cp0将信息报告至srv_cntrl11d00设备的接收信息c-0模块。srv_cntrl11d00从服务器接收信息,并将相关身份、隧道、当前负载和其它信息存储在其存储库中。例如,srv_cntrl11d00上的算法和ai逻辑分析服务器负载,并且基于来自客户端11d01设备的预期需求,更新服务器可用性c-1矩阵。服务器可用性c-1信息可以通过经由gvn的api的向客户端11d01的数据库复制、通过经由gvn的直接文件共享、或者其它方法来传送,其中数据库复制是通过共享信息c-6模块经由api调用路径api-cp6来进行的。

客户端11d01经由路径api-cp2将信息报告至srv_cntrl11d00设备的接收信息c-0模块。该信息将存储在srv_cntrl11d00的存储库中。来自客户端11d01的特定隧道信息可以通过共享信息c-6模块经由路径api-cp4与服务器11d02共享。

srv_cntrl11d00通过共享信息c-6经由路径api-cp4对该srv_cntrl11d00公布为服务器11d02的服务器的客户端11c-4的当前列表进行编译。

如果客户端11d01或服务器11d02利用当前隧道信息检测到隧道建立中的问题,则一个设备或另一设备可以分别经由api-cp2或api-cp0来请求srv_cntrl所要生成的新的隧道信息集。新的隧道信息集可以经由共享信息c-6与对等体对中的两个对等体共享,其中客户端11d01信息是经由api-cp4而发送的,并且服务器d02信息时经由api-cp6而发送的,

客户端列表c-4和服务器11d02的当前状态将对服务器可用性c-2产生直接影响。

各服务器11d02需要组织、保护和协调其客户端列表c-4,其中该客户端列表c-4将尝试建立新的到服务器11d02的共享资源的隧道。该信息将是流动的,并且需要经由安全的针对srv_cntrl11d00的api调用来定期地更新。

安全地协调设备之间的信息的需要对于在隧道之间保护其完整性而言是至关重要的。

隧道建立s4阶段描述了经由共享信息c-6的隧道建立的过程。参考图11中的在客户端和服务器之间建立隧道所采取的步骤。路径tp0表示客户端11d01和信息交换c-10之间的路径,并且从信息交换c-10到服务器11d02是经由路径11tp2的。

建立威胁c-8是指在隧道建立期间对信息交换c-10的威胁。如果隧道类型的签名可见,则在隧道建立c-8期间可能存在威胁,诸如来自中间的非法角色的伪传输层安全(tls)握手、与握手有关的tls错误、导致封闭或阻塞的端口和ip标识、由于过滤设备造成的超时、isp或防火墙或中间设备所发送的复位包等。

如果信息交换c-10成功,则将会利用所应用的路由和其它相关操作来进行建立隧道c-12步骤,以使得能够在客户端11d01和服务器11d02之间安全地建立隧道tun。

隧道ups6描述了流量正常地流过隧道的期间。在设备之间传送信息是至关重要的,并且srv_cntrl11d00需要管理针对各种客户端11d01和服务器11d02设备以及针对这两者之间所要建立的多个隧道的唯一信息。

设备之间的信息交换必须是常规的事件,因为时常需要创建另外的、新的动态隧道。ip地址上的一些端口可能封闭或者变封闭,并且简单地改变该ip地址的端口将允许建立隧道并且使数据流动。此外,针对每个ip地址,各隧道需要一个或多个唯一端口以避免隧道之间的冲突。当客户端11d01设备请求创建新的隧道信息时,生成随机端口数并且对照包括以下的两个或更多个因素来校验目标服务器11d02上的特定ip地址的端口可用性:该端口是否已经处于现有隧道(可操作的隧道或者处于待机状态的可以变为可操作的隧道)使用中,以及该端口在过去是否被特定的客户端11d01/服务器11d02对等体对使用过并且该端口是否已封闭。在这两种情况下,将生成新的随机数。针对每个ip地址,存在65536个可用端口,其中,保留特定数量的端口以供特定服务。例如5500层将留下随机数生成器可以使用的60036个可用端口,其中该随机数生成器最小生成5001且最大生成65536。在隧道被拆除并且端口被标记为针对对等体对封闭时,该隧道变得对其它对等体对可用。端口的这种释放对于避免端口损耗来说是必要的。因此,利用srv_cntrl11d00来跟踪ip和端口的组合是至关重要的。

隧道可以通过一些步骤来帮助其自身的建立,但也有局限性。在安全的情况下,大多数隧道在建立期间都是可见的。关于隧道是什么样的隧道的握手和签名在操作期间可以是可见的。手动设置密钥很麻烦,并且不经常改变,如果使用过长时间,则这些密钥可能损坏的风险增加;因此,密钥应该会经常被重设密钥为新的密钥。

自动化系统需要确保可以创建诸如新密钥、去往ip地址的端口和其它信息等的信息,并且该信息可用于对等体对的两侧,使得可以建立和重建隧道。两侧必须进行配置和准备以便能够建立隧道。因此,对等体对之间的信息交换需要是安全的,否则,隧道本身的安全性的完整性受到损害。

在隧道建成并推送流量时,存在操作威胁c-14。隧道签名可以是可见的(例如,在隧道可察觉且不会混淆的情况下)。如果能够发现隧道的类型,则可以知道隧道的结构。这样会导致分组流被抓取以及蛮力破坏密钥被用于对隧道的内容进行解密的风险。或者,如果复位码或其它隧道控制码已知,则复位信号可能破坏隧道。因此,为了维护对等体对中的客户端11d01和服务器11d02设备之间的隧道安全性和完整性,信息的更新和共享需要是自动化的且安全的。

gnv结构允许基于最新的信息针对对等体对之间的自动化安全隧道建立而启用这些设备。安全特征和方法的组合提供了自我加强的保护。

图12示出根据所公开主题的特定实施例的建立隧道的过程。图12所示的示例说明了用于在隧道建立和管理过程中的三个参加者之间的通信的管理器、模块、过程、数据库库(db)、存储设备(hfs)、路径和其它特征。

在该示例中,在端点设备(epd)12-100和接入点服务器(srv_ap)12-300之间建立单一隧道tun012-cp80。隧道由epd12-100上的隧道管理器(建立器)12-d110发起。隧道管理器“拨号”srv_ap12-300上的隧道管理器(监听器)12-d310正在监听的ip地址上的特定点。

建立起和监听器之间的三个主要步骤是握手(12-s1)、信息交换(12-s2)和隧道建立过程(12-s3)。

还描述了其它通信路径,诸如路径12-cp02,其可以是直接的ssh或等同类型的直接的设备到设备通信。

可以利用edp12-100和中央控制服务器(srv_cntrl)12-200之间的api路径12-pa1以及srv_ap12-300和srv_cntrl12-300之间的另一api路径12-pa2,以经由srv_cntrl12-300安全地共享与隧道有关、与对等体epd12-100和srv_ap300有关的信息或者其它相关信息。

在各设备内,隧道管理器与其它模块以及诸如设备管理器12-d120和12-d320等的管理器进行协作。

epd12-100和srv_ap300之间的路径12-tp01~12-tp02可以表示除用于数据流量的隧道tun012-cp80以外的另一用于信息交换的专用隧道。

图13是示出根据所公开主题的特定实施例的用于向建立隧道所使用的ip地址分配端口的逻辑的流程图。在选择要使用的端口和ip地址时,流程会考虑各种因素。

第一个步骤是通过检查以查看是否已经按设备_id和其它因素指定了特定设备所要使用的期望端口和ip_地址,来收集用于端口到ip地址分配的参数13-010。这些参数还描述了端口号的底值和顶值,以及更多的管理设备。

“指定了逻辑门ip+端口?13-020”步骤检查以查看是否存在针对按设备_ip连接至服务器设备的特定ip地址的特定端口的请求。

如果已经指定了端口和ip地址,则接受其使用的可用性,并且逻辑遵循路径“是”13-p022。如果没有指定优选端口和ip,则逻辑遵循路径“否”13-p030到达随机数生成器以在一定范围内生成隧道端口13-030。

在步骤13-050进行查找,以(经由到db存储库13-b100的路径13-b102)对照端口到ip地址的映射的当前和历史使用来查看该端口是否空闲或者该端口当前是否处于使用中。通过查阅历史使用来查看该历史使用是否指示出该设备或其它设备过去是否使用过该端口和ip的组合,如果是,则证明该使用是相对有问题的。由于通过设备的过滤和拥塞或其它原因所导致的一些不稳定或不可靠的端口可以被标记为有问题。如果还有封闭其它设备的有问题端口的趋势,则端口到ip地址的组合可以被标记为不可用。

如果在步骤13-060处端口不可用,则经由结点13-012来重新开始生成端口到ip地址的映射的过程。

如果端口可用,则在步骤13-100处分配端口到ip地址以供使用。该分配将经由路径13-b112而被保存在db存储库13-b100中。接着,经由api调用13-120来公布端口到ip地址的分配,使得相关设备知道端口的可用性状态。最后一个步骤是记录端口到ip地址的分配13-130,包括所使用的逻辑和其它可能有助于提高将来端口分配的效率的因素。

图14示出根据所公开主题的特定实施例的服务器可用性列表的重要性以及如何为各种设备分配ip地址和范围。虽然ipv6提供了大量可能的ip地址,但ipv4标准具有有限的公共ip地址和私有ip地址。这对于哪些epd可以连接哪些srv_ap有影响。

在该图中,epd14-100建立与srv_ap14-300、14-302和14-306的隧道。epd14-102建立与srv_ap14-300、14-304和14-308的隧道。

该示例说明了可以如何在两个srv_ap14-302和14-304上使用内部ip范围10.10.191.0~10.10.191.255、以及在两个srv_ap14-306和14-308上使用ip范围10.10.192.0~10.10.192.255。

因此例如,epd14-100可以使用10.10.191.18来建立到svrap14-302的隧道,同时,epd14-102也可以使用10.10.191.18来建立与srv_ap14-304的隧道。

epd14-100和epd14-102无需直接彼此进行交互以避免冲突,这是因为针对各epd公布的服务器可用性列表将与tun管理器协调地分配针对epd的(内部和外部)ip地址组合以在无任何冲突的情况下与srv_ap连接。

图15示出根据所公开主题的特定实施例的从lan到epd到srv_ap到srv_ap到epd到lan的gvn隧道的元件,包括isp和网络边缘之间的对等点对等点。该示图示出两个lan的边缘之间经由两个srv_ap的端到端gvn隧道,并且其还示出与在eh-3和eh-15之间通过互联网的特定部分承载流量的不同互联网服务提供商(isp)有关的更多信息。

edge-1是lan-1的设备与isp-1的pop之间的网络接入连接的分界点。pp-01是在isp-1和isp-2网络之间发生对等的点。pp-02是在isp-2和isp-3的网络之间发生对等的点。edge-2是lan-2的设备与isp-3的pop之间的网络接入连接的分界点。

通过将srv_ap-l放置在pp-1处,可以实现一些优点,使得该srv_ap可以直接与isp-1和isp-2对等。通过将srv_ap-2放置在pp-2处,可以实现更多的优点,使得该srv_ap可以直接与isp-2和isp-3对等。如果isp-2的网络不是理想的,则可以通过另一路由或线路或isp或载体来使流量可选地在isp-2周围路由。

通过gvn的中性第三层的跳跃计数为8。isp之间的距离不是按比例的。此外,在isp的网络内很可能存在更多的跳跃,但是为了简单起见,图示的数量是有限的。

图16示出根据所公开主题的特定实施例的支持个人端点设备的云中的多边界防火墙(mpfw)。该图示出从移动位置钩入gvn的便携式设备,并且其中,16-m1边界是个人局域网(pan)16-010和gvn之间的边缘。

该图示出个人端点设备(pepd)16-130的拓扑结构,其一些连接和其它功能分布在云中。该图进一步描述了分布至云中的防火墙操作,以及代表诸如个人端点设备(pepd)16-130等的本地设备在云中进行的其它操作。在pepd16-130是不如端点设备(epd)功能强大但比端点设备(epd)更便携的设备的情况下,该pepd16-130仍可以利用gvn所提供的个人局域网连接,包括诸如高级智能路由(asr)、多边界防火墙等的特征。

图示的关键点在于个人设备将其对于处理能力的需求扩展到云中。驻留在pepd上的模块包括处理器cpu106、存储器ram108和网络接口nic102的硬件组件。操作系统是为系统软件“系统sw112”和“连接性172”模块提供平台的最小o/s。该基本配置足以允许pepd16-130在自身和接入点服务器srv_ap16-300之间建立隧道16-tun。

组件分配在处理器cpu306、存储器ram308和网络接口nic302的硬件组件处操作系统o/s310是比o/s110更为广泛的安装。o/s310为srv_ap16-300的系统软件“系统sw312”和“连接性372”模块提供了平台。高级智能路由(asr)350模块和其它模块370向srv_ap16-300和所连接的pepd-16-130两者提供功能。

pepd16-130可以依赖于要建成的隧道16-tun2,并且能够承载流量以实现基于云的asr、fw和其它操作功能。

图17示出根据所公开主题的特定实施例的各种gvn设备的数据库上的表如何彼此相关以及这些表进行交互的方式。例如,srv_cntrl上的存储库数据库db2300具有各种表,这些表与设备以及设备之间经由gvn的中性api机制(napfm)的交互有关。数据库db2300中的诸如设备存储库dbt2310等的表被指定为repo_active,这意味着该表从许多源接收信息,被读/写并且能够作为用于选择性地或完全复制到表(诸如作为数据库epd本地dbdb2100的一部分的设备身份dbt2102)的信息的源而被查询到。该表dbt2101具有指定selrep+w,该指定selrep+w允许从dbt2310进行选择性复制,并向设备注册表报告回相关身份。

信息的控制和释放由数据管理器管理。数据库表类型指定符包括针对正常读/写表的regular、针对只读的复制表的repinfo、针对只读的仅具有相关行的部分复制表的selrep、针对由诸如身份等的设备注册表dbt2310的存储库上的所有源组合而成的表的reposactive。其它可能性包括从srv_logs的数据库db2800上组合而成的源表进行logging(记录)。针对表的这些指定例如是唯一的,并且在现实世界的使用中可能有所不同,并且基于使用,存在更多的表和其它类型。

图18示出根据所公开主题的特定实施例的全局虚拟网(“gvn”)所使用和使能的技术的框图,包括gvn核心元件g0、gvn模块g100和全局虚拟网gvn使能的技术g200。gvn核心包括机制g1及其组成部分拓扑结构g2、构造g3、逻辑g4和控制g5层的概览。gvn核心g0还包含了与gvn元件g6的关系。

gvn可以包括插入式和/或独立式gvn模块g100,包括但不限于:pct国际申请pct/us16/12178中所描述的中性api机制(“napim”)g102,在此通过引用包含其全部内容;pct国际申请pct/us15/64242中所描述的地理目的地(“geo-d”)g104,在此通过引用包含其全部内容;美国临时申请us62/151,174中所描述的高级智能路由(“asr”)g106、连接g108和其它模块g110,在此通过引用包含其全部内容。

gvn还提供可以使能包括但不限于以下各项的其它技术的平台:网络tapestryg202;mpfwmg204;网络slingshotg206;网络信标g208;时基间隔g210;以及其它技术g212。这些技术都在每个临时申请62/174,394和美国临时申请62/266,060中进行描述,在此通过引用包含其全部内容。

gvn使能的gvn模块(g100)和技术(g200)可以作为gvn的组成部分在现有gvn上工作,或者可以是独立的并且利用gvn的全部或一些单独部分来支持其自身的独立操作。

图19示出根据所公开主题的特定实施例的协同工作以向客户端提供地理目的地服务从而优化来自位于远程位置的服务器的内容的检索、传输和服务的三个设备。

设备是端点设备(epd)19-100、接入点服务器(srv_ap)19-300,并在在支持能力方面是中央控制服务器(srv_cntrl)19-300。

内容分发代理(cda)19-d120在epd19-100上工作,并且内容提取代理在srgvap19-300上工作.

cda19-d120与epd19-100上的高级智能路由(asr)19-d102模块以及与缓存管理器19-d130进行协调。

cpa19-d320与url查找和dns缓存管理器19-d310进行通信,并且其直接提供指令并从远程获取器bot(rfbot)19-d328接收信息,以及利用srv_ap19-300上的缓存管理器19-d330来协调其动作。

cpa19-d320从cda19-d120接收指令以联系内容服务器从目标服务器检索内容。

图20进一步示出根据所公开主题的特定实施例的图19中所描述的三个设备的操作。构成地理目的地机制的三个设备包括端点设备(epd)20-100、接入点服务器(srv_ap)20-300,以及中央控制服务器(srv_cntrl)20-200。

内容提取代理(cpa)20-d320从内容分发代理(cda)20-d120接收到表明连接至epd20-100的客户端20-800已经请求获取地理目的地并从位于srv_ap20-300所驻留的区域中的内容服务器20-600检索内容的指示。

cpa20-d320从cda20-d120接收从url获取内容的指令。cpa20-d320将该信息传递至远程获取器bot(rfbot)20-d328以查阅url,从而查看其dns信息是否在20-d310本地尽心缓存。如果缓存了dns信息、并且该信息不是过时的,则使用所缓存的信息。如果该信息不在缓存中,或者如果该信息是过时的,则对dns服务器20-604进行全新的查找。结果将被返回并存储在20-d310中。rfbot20-d328通知cpa20-d320已成功获得dns信息。cpa20-d320指示rfbot20-d328联系内容服务器20-600,并且该cpa20-d320从该内容服务器中获取内容文件。rfbot20-d328将内容传递至cpa20-d320以进行解析,从而寻找嵌入在所获取的内容中的更多内容链接。然后cpa20-d320与url查找和dns缓存管理器20-d310以及与rfbot20-d328进行协作来获取与其它内容所驻留的服务器的网络坐标有关的信息。例如,资产服务器20-602可以托管图像、css、javascript和其它相关资产文件。流文件可以由流特定服务器20-606提供,文件可以由文件服务器20-610提供,并且所包括的来自第三方的内容将可以从服务器20-608获得。

图21是继续描述地理目的地机制的操作的典型实施例,其进一步解释了从各种类型的服务器检索一系列文件、将所检索到的文件聚集在一起以及随后从接入点服务器(srv_ap)21-200传输至端点设备(epd)21-100。

在通过rfbot21-d328成功检索内容文件之后,将这些内容文件传递至缓存管理器21-d330。通过内容提取代理(cpa)21-d320来分析与各文件有关的信息以及所检索到的所有文件的清单。将该信息传送至缓存管理器21-d330以及epd21-100上的缓存管理器21-d130。

进一步地将内容文件信息的清单与epd21-100上的内容分发代理(cda)21-120共享。cda21-120与缓存管理器21-130进行通信,以预期并从与21-100上的本地主机分离并由其单独服务的21-700接收文件块,从而服务于所连接的并且紧邻epd21-100的客户端。

在许多方面,这种操作与内容分发网络相反。

图22与地域多播在内容分发网络(cdn)内如何工作有关的现有技术,其中一个区域s22-00中的服务器具有位于诸如c22-20、c22-22和/或c22-24等的另一区域中的客户端期望检索的诸如流视频等的内容。存在带宽和延时的问题,该问题阻碍了信息在从位于一个区域中的s22-00到另一区域中的客户端的长距离上传输。

为了减轻负面影响,s22-00的所有者可以设置诸如gs22-10等的地域多播服务器(gs)来缓冲来自s22-00的内容,或者用作从gs22-10高效服务的s22-00到客户端c22-20、c22-22和/或c22-24的实时流的流反射器。

图23示出对时基循环的周期的分析和解释。人工智能可以辅助将来的计算,以在考虑到系统资源和其它因素的情况下基于要处理的项目数量来估计时基将需要的处理时间和后处理时间。

可以基于各种循环趋势在标准差曲线上标绘利用短周期的数据、短周期和长周期的历史数据所计算出的每个时期的度量。低点、高点、平均值和其它分析的符号可以表示当前性能是否符合预期或者是否比先前的经验更好、更差或以其它方式不同。

这种数据收集和上下文分析辅助人工智能(ai)算法进行决策。

当前周期13-t08可以与短周期13-t18和长周期13-t28进行比较。

图24描述了根据所公开主题的特定实施例的、在比较各种不同数据集时对两个不同数据集的描述可以如何提供信息。

关键点在于虽然组1具有a、b、c、d和f数据集,但组2包含数据集a、c、d和e。来自其中集合a、c和d发生重叠的直接比较的信息可以提供所比较的集合的特征的对比或佐证。

并且b集合与e集合的结果的比较还可以提供对可以考虑的差异和替代方案的洞察。

在不同时间将呈现有不同数据集的智能算法需要能够比较在组之间发生重叠的集合,以及能够考虑如何分析一组而非另一组中的集合,并将其权衡到结果中。

图25示出根据所公开主题的特定实施例的多边界防火墙与gvn内的其它系统之间的集成。信息战的行为总是发生。无论是民族国家、是企业玩家、是黑客还是其它角色发起了信息战,这些攻击都是残酷的,并且根据趋势,威胁正在增加。利用这里描述的拓扑结构,存在将与被动式防火墙或其它这种监视中间设备所检测到的实时攻击有关的信息整合在安全提供商公司或组织所聚合和报告的因特网上。无论攻击的性质是入侵、是钓鱼攻击、是企图窃取知识产权、是ddods攻击还是其它已知或位置的威胁,关键点是要保护网络。

图25示出各个设备之间的请求/响应(req/resp)api循环。这些信息循环可以共享诸如cfw-dpi25-142lb或cfw-spi25-144lb等的云防火墙关于流过该云防火墙所获悉的信息,这些信息被报告给srv_cntrl25-200。信息循环可以通过将信息从srv_cntrl25-200传递至诸如cfw-dpi25-142lb或cfw-spi25-144lb等的云防火墙来共享与其它位置的攻击有关的信息。此外,存储在srv_cntrl25-200上的数据库db25-b200中的信息还可以包含启发式模式、已知威胁的签名以及要共享的来自全局互联网监视源的信息。还可以经由路径25-gui-ajax通过客户端25-018上的图形用户界面(gui)从托管示例获得人类管理员的可见性。

这种信息交换拓扑结构的灵活性还允许性能监控、针对防火墙资源的基于云的可扩展使用的计费模块、系统管理以及其它目的。

托管在端点设备(epd)25-100或中央控制服务器(srv_cntrl)25-200上的图形用户界面(gui)可以提供与防火墙的操作有关的信息,并且还提供点控制和点击控制表面以供用户利用。

图26示出根据所公开主题的特定实施例的两个路径:一个路径通过开放互联网,并且另一个路径是经由基础互联网上(ott)的全局虚拟网络(gvn)的网络优化流量与开放互联网段的组合。

一个路径是通过开放互联网从po-1经由本地互联网26-cpt140、到跨区域互联网26-cpt340、到本地互联网26-cpt240而跳到po-14的路径。

另一个路径也是从po-1跳到po-14,但是与前一路径的不同点在于该路径是从隧道ott最后一英里到gvn的srv_ap26-cpt100、到经由gvn隧道26-cpt300的长距离连接、到经由远程区域26-cpt200中的互联网26-cpt200的针对目标的eip。

与网络段的各块有关的度量(诸如针对经由gvn隧道26-cpt300的长距离连接的时间测量△t=26-tzms)提供了可以进行比较的可量化值。算法分析可以比较诸如在26-d00处开始的路径。对测量互联网qos26-d10的一个分析可以查看端到端的开放互联网路径,而另一个分析可以查看测量gvnqos26-d20。在连接互联网与gvn26-d30处进行比较和对比评价。

如果开放互联网更好(26-dp40),则使用该路径。如果gvn优化路径更好(dp-dp50),则使用该路径。这仅仅是用于说明目的的一个实施例,而不是限制性的。

图27示出根据所公开主题的特定实施例的、使用具有骨干和八角路由的轴辐式拓扑结构的gvn。图27示出两个不同区域27-rgn-a和27-rgn-b中的gvn的网络拓扑结构,以及这些区域如何经由路径27-poa和27-pob通过全局连接27-rgn-all进行连接。另外,图27示出两个区域的每一个区域中的轴辐连接。

srv_bbx27-280和srv_bbx27-282是骨干交换服务器,并提供全局连接。srv_bbx可以是用作全局链接的区域中的一个或多个负载平衡服务器。27-17-rgn-a中的接入点服务器(srv_ap)27-302、27-304和27-306连接到srv_bbx27-280。中央控制服务器(srv_cntrl)27-200为该区域内的所有设备提供服务,并且其可以是一个或多个主srv_cntrl服务器。端点设备(epd)27-100~27-110将通过一个或多个并发隧道与一个或多个srv_ap服务器连接。

该图还示出各区域中的多个出口入口点(eip)27-eip420、27-eip400、27-eip430和27-eip410,作为具有去往和来自开放互联网的路径的轴辐模型的添加辐。该拓扑结构可以向通过gvn路由的远程区域中的eip提供epd连接。在替代方案中,该拓扑结构还支持到同一区域中的eip、到同一区域中的epd、或者到远程区域中的epd的epd连接。这些连接通过gvn进行安全优化。

图28示出根据所公开主题的特定实施例的分布式端点管理集群(depac)28-800,其中该分布式端点管理集群(depac)28-800可以虚拟地构建在全局虚拟网络(gvn)28-000或其它类似拓扑结构中。

设备之间的流量在加密隧道内承载,并且这些隧道将设备一起连接到基础互联网上(ott)的更广泛网络中。

这里描述了两种类型的端点:诸如背后是局域网(lan)的28-120等的端点设备(epd)、或者诸如背后是个人局域网(pan)的28-150等的便携式端点设备(pepd)。

这里描述的其它设备是诸如28-308等的接入点服务器(srv_ap)以及中央控制服务器28-120。

该拓扑结构为通过隧道的流量以及在设备的流量经由远程出口入口点(eip)外出到互联网时通过隐藏该设备的ip地址,来提供安全。

针对gvn28-100内的流量的最佳且最高效的路由可以通过高级智能路由(asr)机制来进行路由。

图29示出根据所公开主题的特定实施例的要在互联网上运行的、测试各种端口和ip地址的一系列测试的逻辑结构。其允许经由数据数组29-bt030来指定特定ip地址上所运行的一系列端口。

计数器跟踪测试29-030。将各测试的结果保存在数组29-090中,然后在步骤29-800处返回并记录该结果。

该算法可以用于测试分配给生产的可用ip和端口的库存,以测试和分析针对同一接入点服务器(srv_ap)的ip和端口性能从而进行比较。查看当前测试的结果与生产连接的性能日志以建立基线并评估测试结果是否在预期性能范围内是有用的。另外,在测试期间监视网络连接以确保测试不会影响其它连接的性能。

图30示出根据所公开主题的特定实施例的用于记录在全局虚拟网络(gvn)或其它类似拓扑结构中工作的各种设备之间的连接流量活动的机制。这种设备可以包括端点设备(epd)30-100和接入点服务器(srv_ap)30-300和30-320。

网络接口和虚拟接口以及隧道接口上的仪表测井点(mpol)记录各设备的入站和出站流量。

因此例如epd30-100和srv_ap30-300之间的隧道tun030-t00具有四个这样的测井点:epd30-100上的mpol(入站)30-108和mpol(出站)30-106以及srv_ap30-300上的mpol(入站)30-308和mpol(出站)30-306。

在一个设备上的出站mpol和该设备所连接的设备上的入站mpol之间存在直接关系。

因此例如,srv_ap30-300上的出站mpol30-306测量被发送至epd30-100的流量以及经由路径30-p108与入站mpol30-108的直接关联。可以将所发送的流量的总计与另一端处接收到的流量进行比较。这些量应该彼此相等。如果所接收到的量少于所发送的量,则表示损失。从消费计费机制的公平性角度来看,如果在epd30-100上对流量进行计费,则这种计费应该基于入站30-108上所接收到的流量。相反,从epd30-100到达srv_ap30-300的流量应该基于srv_ap30-300上的入站mpol30-308所接收到的量进行计费。

如果存在入站mpol上所接收到的流量大于发送至其相应出站mpol的流量的情况,则这可以表示错误或故障或者中间的恶意玩家进行的数据注入。

带宽(bw)计费模型和消费(cons)计费模型之间的区别在于在带宽模型30-1008中,流量可以被成形为少于线路30-1002的承载bw能力的量。相反,在基于消费的模型中,bw没有成形,并且最大带宽30-1086可能实际上超过线路30-1002的额定bw承载能力。

bw模型30-1008的优点在于无限数据流高达付费bw隧道的以mbps为单位的量。这样做的成本相对较高,并且实际利用率通常只在某些时间内,而在其它时间则会浪费能力。

cons模型30-1088的优点在于隧道没有节流,因此可以达到甚至超过线路bw承载能力。该模型是有利的,这是因为数据将尽可能快地进行传输,并且基于即付即用来进行计费。并且按所传输的千兆字节gb进行付费,该模型可以为消费者提供低的进入门槛。

图31示出根据所公开主题的特定实施例的与直接接入网络接口卡(nic)31-000的薄堆栈方法31-10相比、应用层31-800和nic31-000之间的传统厚堆栈31-20分层接入。

薄堆栈相对于厚堆栈的优点在于薄堆栈较快,消耗较少的资源,因此可以处理相对较多的网络连接交互。

图32示出用于对来自测试和生产环境使用这两者的连接信息进行关联并存储该连接信息的简单示例性数据库模式。

本领域技术人员将看到其优点。表、字段、标签和其它信息仅供参考,并且可能会在各种生产部署中有所不同。

服务器可用性32-280模块检查ip地址和端口组合的当前分配,同时考虑到实时生产环境的实际使用、负载和其它因素。该服务器可用性32-280模块进一步分析了所分配但备用的配置的潜在影响,以预测这些实时资源需求的影响。

当设备向服务器可用性模块发出请求时,真正请求的是可用服务器的列表,特别是设备在当前或将来可以用来建立隧道的ip和端口。各隧道具有隧道建立过程中的各对需要知道的特定信息,如表根据隧道信息32-220所定义。

服务器可用性列表通过设备_id32-p288和设备_类型_id32-p220与用于创建隧道32-210的连接信息相关联。

peer_源_id是指创建隧道的发端设备的id。

peer_目标_id是指将针对其创建隧道的监听设备的id。在大多数请情况下,数组32-bt020中的设备_id字段与32-bt020中的peer_源_id字段等同。

因此,服务器可用性列是所有设备都可以利用的列表,但是对于所有设备,利用与其中一个特定设备相关的上下文记录很容易检索到针对该设备的上下文列表。数组32-bt020中的字段“标志状态”是很重要的,因为它可以表示该信息的状态,如果未使用,则在生产中,信息可能会被退回、受阻或以其它方式进行标记。

服务器可用性机制32-280考虑了许多因素来平衡客户端对于资源的需求,诸如epd希望建立隧道以获得将与其连接的srv_ap的可用资源。

这种管理机制确保不会发生从许多epd到一个特定设备的隧道的自动跳转。例如,如果所有的epd共享相同的服务器可用性列表而不影响epd如何选择要连接哪些服务器,则存在与一些srv_ap相连接的epd过多而与其它srv_ap相连接的epd过少的场景。并且当连接至过饱和srv_ap的epd意识到它们所接收到的连接不太理想时,如果这些epd共享相同的列表,则通过跳转到列表上的下一个服务器,它们将彻底导致不稳定变化的问题。

服务器可用性通过对该特定epd根据上下文按顺序排列最佳srv_ap来解决这类场景,并且在生成列表时考虑整体观并在对生产环境的需求压力的预期中预测性地分散负载。

图33示出根据所公开主题的特定实施例的用作应用层上的诸如图形用户界面上所点击的按钮等的触发与作为触发的结果而要运行的深层逻辑和命令之间的防御缓冲的自定义命令的使用。

触发器的代码执行可以穿透得越深,则对系统的损害风险越大。这是一个难题,因为一方面,无特权的客户端不应进行深层的访问。然而,用户想要触发的某些脚本将需要深层研究,否则将被渲染,并且在执行时不会生效。

该图具有足够的标记,使得在本领域具有合理技能的读者将能够理解信息流。

步骤“执行自定义命令”33-200假设触发用户具有仅针对自定义命令33-l20执行级别而非以下的有限权限。这些有限权限排除了运行敏感命令、访问深层文件夹或文件或者以其它方式损害或穿透系统更深层的能力。到“自定义命令有权调用更深层脚本和命令33-d150”的路径33-p150定义了一系列步骤,其中这一系列步骤将允许以安全而稳当的方式运行预期特定功能的特定自定义命令。

在“o/s安装包+配置”33-12处,自定义命令内的嵌入式命令可能能够引发对深层o/s级功能的控制,但是是以受控的方式。也可以引发最低可能级别的命令,但是是以受控的方式并且仅基于未篡改的自定义命令的内容。

因此,触发用户不能进行比33-l20更深的挖掘,并且没有调用敏感命令的权限,然而,通过调用触发用户被允许访问的自定义命令,可以在升高的权限状态下运行自定义命令文件的内容而不会损害系统的安全性,并且只有调用以及潜在地自定义命令的结果对触发客户端33-800可用。

图34是根据所公开主题的特定实施例的对全局虚拟网络(gvn)内的地理目的地机制中的相关设备上的模块的简化描述。该图描述了内容分发代理(cda)和内容提取代理(cpa)之间的互动。

虽然cda和cpa以及关联模块被设计为独立运行,但它们之间存在信息的流动,这种流动触发各自的操作。

例如,epd34-d120上的asr模块将能够向cda34-d110建议将从srv_ap34-300所在的远程区域获取url。cda34-d110将经由路径34-cp310与cpa34-d310进行如下通信:该cda34-d110期望地理目的地机制从远程区域获取该内容以及该url处的所有关联内容。

cpa34-d310指示远程获取器bot(rfbot)34-d312在34-d350处进行查找以找到确切的目标服务器并使rfbot34-d312获取该内容。cpa34-d310将嵌入式链接的内容解析为包括该cpa34-d310然后请求rfbot34-d312获取的更多内容。

cpa34-d310出于两个目的而列出随后提取出的内容。第一个目的是为了将清单和所检索到的数据发送至缓存管理器34-d330,并且将清单的副本发送回cda34-d110。

这种协作是有用的,因为cda34-d110能够与缓存管理器34-d130进行协调以期望接收所获取的数据,并且可以将所接收到的数据与cpa34-d312所创建的清单进行比较。存在通过这种受控方法实现的效率增益以及安全优点,这是因为所接收到的数据必须与清单相匹配,否则红色标志可能触发对于可能的故障或恶意的中间人类型的数据更改攻击的审查。

srv_cntrl34-200可用作设备之间的信息传输的中性通道,并且还可用于对于各种设备上的链式缓存的全面管理。

图35示出根据所公开主题的特定实施例的诸如35-150或35-152等的便携式端点设备(pepd)可以如何连接至全局虚拟网络(gvn)35-000或类似拓扑结构的几种方式。在该示例中,pepd35-150具有到三个不同设备的多个连接选项。第一个设备经由与其接近的区域中的路径35-t10b~35-t10a到达第二个不同的接入点服务器(srv_ap)35-304,以及经由路径35-t12a~35-t12b到达另一区域中的srv_ap35-300。pedp35-150的第三个选项是经由35-t12a~35-t12c到达epd35-100。

pepd可以经由服务器可用性机制许可而连接至与其资源和权限一样多的srv_ap服务器。然而,要使pepd35-150连接至epd35-100,它们之间必须具有诸如在两者都属于同一分布式端点区域集群(depac)的情况下将会存在的关系等的关系,并且向pepd授予连接至该epd的权项。

图36示出根据所公开主题的特定实施例的便携式端点设备(pepd)36-150和接入点服务器(srv_ap)36-300之间的关系。该图还描述了上述各设备上的一些模块。pepd36-150的诸如处理能力36-106、ram36-102、存储36-h100以及其它系统属性等的物理资源的量通常将相对较小。。srv_ap36-300可以是基于云的动态虚拟化实例,其提供大量的ram36-302、处理能力36-306、存36-h300等资源。

pepd36-150通常将具有最小的操作系统36-110、简单的安全套件36-114、最小化的系统软件36-120,并且通常具有小的占用空间。这种准系统方法确保了在所需功能与诸如如成本、电池消耗、物理尺寸等的其它相关因素之间存在平衡。

一种解决方案是针对pepd36-150上可用的虚拟软件容器36-160,其中该pepd36-150能够本地下载和运行软件,或者能够用作本地系统和运行在诸如srv_ap36-300等的远程位置上的软件之间的符号连接的钩子点。

这种布置是可能的,并且受到两个设备之间的隧道tun0的保护,通过该隧道tun0,不仅可以流动通过数据流量,还可以通过能够远程运行的软件命令、查询、结果以及其它功能。

如上所述的这种方法存在若干优点,但其它方法也可能存在若干优点。

图37示出根据所公开主题的特定实施例的可以在便携式端点设备(pepd)37-150上运行的一些不同类型的可扩展软件,其中在该便携式端点设备(pepd)37-150中,软件存储在诸如接入点服务器(srv_ap)37-300等的远程设备上以从37-158发送至pepd37-150。

第一种类型是pepd37-150上所存储并运行的核心软件,诸如下载并在本地执行的软件37-1520。另一种类型是远程运行的分布式软件37-1300,其中该分布式软件37-1300将pepd37-150系到运行软件的srv_ap37-300。

这种机制存在许多优点,包括pepd资源的高效利用以及确保最新版本的软件正在运行。

另一个元素是保护软件生产者的知识产权,这是因为一些软件物理上在一个位置,并且利用另一位置的软件钩子点所使用的结果来运行。在这种拓扑结构中,两个设备都将被访问以具有对完整框架、代码库和运行时属性的可见性。

图38示出根据所公开主题的特定实施例的跨多个区域的全局虚拟网络(gvn)内的设备之间的多个隧道。epd38-100位于一个位置38-mo。区域38-m2中的srv_ap包括srv_ap38-300、srv_ap38-302和srv_ap38-304。区域38-m3中的srv_ap包括srv_ap38-310、srv_ap38-312和srv_ap38-314。高级智能路由(asr)用于管理通过epd38-100和各种srv_ap设备之间的多个隧道和路径的路由。asr可以减轻循环、错误的地理目的地路由、asr远程重定向回溯、srv_ap、区域之间的链路断开等问题的风险。

图39示出根据所公开主题的特定实施例的各种类型的设备所要利用的公共代码库的框架,其中这些设备各自具有其自身的属性/类型和身份。

被设备身份模块39-100利用、与存储在数据库39-b100中的设备相关记录相关、并且调用身份类39-120的硬件uuid39-110为该特定设备设置许多不同的上下文关系。

在公共代码框架的范围内,通过经由39-100从几个来源知道自己的身份,设备可以收集许多事情,诸如其角色39-310,其类型39-300,基本代码39-200的哪些元素与设备有关,设备应该加载和执行哪些应用39-800。

逻辑上的接下来的步骤是通过已知设备类型39-300,可以加载设备类型特定模块39-320,并且这些设备类型特定模块39-320连同设备角色39-310可以触发要加载的o/s特定模块39-500以维持针对该类型的设备的操作。

设备类型39-300和角色39-310也对对等的对等体关系39-520以及操作和集成39-600有影响。

一旦特定于该设备的环境运行,应用39-800就可以针对该特定设备在上下文运行。

对于本领域具有足够技能的读者而言应该是显而易见的。

图40示出根据所公开主题的特定实施例的数据与全局虚拟网络(gvn)内的各种设备的关系、交互和相关性。

端口和ip地址管理器40-200将使用与隧道40-270、服务器40-220以及用以分配供服务器可用性40-260继而利用并发放至各种设备的资源的其它因素有关的各种数据

在诸如设备40-110和服务器40-220的列表等的数据与模块如何彼此交互以使用该信息之间存在逻辑关系。

内部子网管理器[epd_subnets]+[srv_ap子网]+[基础设施子网]40-300使用该信息来计算可以使用、同时避免冲突的子网范围,并且还可以计算“保留”范围,以确保无论是在自动设置中还是在向与使用有关的管理员发送消息的过程中都没有未来冲突。

全局虚拟网络(gvn)依赖于协同工作以将互联网上(ott)的网络类型编织在一起的各种设备。注册表40-b100跟踪设备、其关系、其规范、其类型以及其它因素。系统的核心元素包括模块以及协同工作以构造并且高效地管理gvn结构的管理器。

高级智能路由(asr)管理器40-500查看基础互联网连接以及互联网上的gvn层内的网络。为了使自动化系统高效且有效地运行,端口和ip地址管理器40-200和内部子网管理器40-300与各种其它模块进行交互。

服务器可用性40-260查看隧道40-270、其ip和端口使用40-276,检查连接测试40-158(当前的和历史的),并且基于每个ip地址的使用来计算端口可用性,其中该ip地址被分配至服务器41-122、设备40-210以及用以管理如何利用和分配服务器资源的其它因素。

服务器可用性模块的主要益处是对接入点服务器(srv_ap)的资源使用、ip地址和端口进行编目,并查看哪些设备40-210(诸如端点设备(epd))想要连接至srv_ap以在其间建立隧道(tun)40-270。服务器可用性模块计算和编译定制的ip地址和端口的列表,这些列表在上下文中被设计为提供最佳选项以供epd利用。隧道注册表40-150允许服务器可用性检查db:连接测试40-158,并且基于当前和历史的条件来权衡和排列建立隧道40-270和经由asr40-500的路由的最佳连接选项。

分布式端点管理集群(depac)40-250是gvn构造的扩展。depac允许通过将epd和便携式端点设备(pepd)40-210背后的局域网(lan)和个人局域网(pan)子网连接在一起来将其链接到更广泛的连接网络中。内部子网管理器需要积极地了解epd子网、隧道的srv_ap子网以及其它相关的基础设施子网40-300,使得当该内部子网管理器分配新的子网时并将其中一个子网的边缘与另一子网交织在一起作为更广泛的结构时,通过了解关于当前正在使用的那些子网,该内部子网管理器确保不存在子网的重叠分配的冲突。

ip地址分配的db40-120提供内部子网管理器40-300所要使用的信息。depac集群40-250具有成员设备40-210,并且各设备具有其特有的身份40-212。

用户40-280与基于由身份类或类似逻辑40-282所管理的设备身份40-212的设备40-210之间也存在关系。因此,用户可以管理depac集群。

所描述的拓扑结构允许自动和手动地辅助隧道40-270的构造,并且由于asr管理器40-500及其它因素而具有高效的路由。

如果设备故障、需要更新、超额订阅或者处于次优状态,则该设备的设备标志40-112可以被设置为“可用”以外的其它设备标志,使得服务器可用性模块40-260可以知道该设备不可用于分配至新的服务器可用性列表,其中这些新的服务器可用性列表将被公布给其它设备利用。

其它益处是,可以将历史使用的分析与目前情况以及用于作出与路由、资源分配等因素有关的决策的ai算法进行比较。

通过访问数据库注册表40-b100中的数据并将其显示在gui中,可以实现对连接、资源使用和其它因素的集中实时监视。

通过利用gvn模块和管理器所提供的信息建立和管理构造元素的自动化系统,来使管理更容易。

可以对流量、asr所设置的路径、服务器可用性40-260以及这里未显示的其它模块进行深层分析。这不仅有助于对过去和当前使用的可见性,而且可以用作对未来连接将如何运行的预测性认知分析的基础。

图41示出根据所公开主题的特定实施例的互联网上(ott)的全局虚拟网络(gvn)的拓扑结构以及在该拓扑结构内工作的各种设备。设备的一些示例包括诸如epd41-110等的端点设备(epd)、诸如41-152等的便携式端点设备(pepd)、诸如41-308等的接入点服务器(srv_ap)以及诸如41-200等的中央控制服务器(srv_cntrl)等。

在诸如srv_ap41-308等的gvn设备和诸如41-018等的互联网之间,还存在诸如41-318等的出口入口点(eip)。

在图41中,还存在代表两个独立分布式端点管理集群depac0和depac2的另一层。

depac0的成员是pepd41-150、epd41-102和epd41-106。

depac2的成员是epd41-100、pepd41-152、epd41-110和epd41-108。

depac成员通过现有的gvn路径彼此连接,并且仅将子网连接在一起,以及将连接局域网(lan)和个人局域网(pan)的内部隧道链接到更广泛的广域网(wan)中。

图42示出根据所公开主题的特定实施例的位于web根目录42-bound2上方以及位于web根目录42-bound0下方的代码。

在可从web根目录42-bound0下方的开放互联网直接访问的文件夹内的文件中,应该存储尽可能少的代码。

将包括配置文件、类、功能、凭证、敏感信息和其它文件的敏感文件存储在web根目录42-bound2上方。

虽然可能会认为服务器端脚本包(解析器)42-d110在检索文件时应该处理这些文件内的敏感代码,但是也存在如下的情况:故障或配置错误或黑客攻击可能会允许下载文件,从而可以直接看到本应执行的嵌入代码。

存储在下方的文件中所包括的唯一服务器端代码应该是到web根目录42-bound4之上的文件的相对链接。

以上及以下的术语是指诸如以下的文件路径:

/volume/folder/instance/code/secure/***securefoldersandpathshere

/volume/folder/instance/code/public/http/all_here_is_on_open_internet_http

/volume/folder/instance/code/public/https/all_here_is_on_open_internet_https

以上示例中的web根目录为:

/volume/folder/instance/code/public/http/

/volume/folder/instance/code/public/https/

这些web目录上的任何内容只能从服务器内访问,而无法经由互联网到达。并且http和https文件夹内的所有文件和文件夹都是可到达的。

图43示出根据所公开主题的特定实施例的将来自外部源的信息和内部获悉的ai知识进行合并的算法。

步骤“开始检查信息的准确性”43-000通过信息的来源和类型来进行检查。

所定义的模式43-102可以通过43-p108进行验证以成为规则。基于来自其它来源的信息的警告43-122可能被忽略,或者这些警告也可能成为规则43-112。

图44示出根据所公开主题的特定实施例的通过考虑所拥有的因素并且平衡个人需求来设计更智能的算法的方法的简化表示。在这个“果汁”的示例中,“混合在一起44-130”的步骤可以被描述为要重要关注的处理,以实现期望的结果。“对所满足的需求的分析44-140”判断在利用稍微不同的输入以及用以更接近期望结果的方法再次运行该处理的情况下,是否实现了最佳结果。

在一些实施例中,基于对最佳收入的需求和需要,在处理期间可以利用未被并入最终处理的产物中但是仍对结果产生影响的元素。扩展果汁的示例,在剥离水果时,柑桔皮可以使人(例如,果汁的制造者)振奋起来,但最终被丢弃而不被使用。另一个示例是,苹果和橙子对人的健康都很有好处,但柑橘对于具有酸度条件的人可能不理想。

关键点是使算法灵活并考虑到各种条件、处理、输入和输出,从而采取全面的评价方法。

图45示出根据所公开主题的特定实施例的端点设备epd45-100、中央控制服务器srv_cntrl45-200和接入点服务器srv_ap45-300的一些系统模块和组件。该图还示出epd45-100上的数据库5100、srv_cntrl45-200上的数据库5200、srv_cntrl45-200上的存储库数据库5202以及srv_ap45-300上的数据库5300。该图是分级的,其中最低层硬件设备位于底部,并且后续的系统、组件、模块和管理器建立在较低层之上。文件和数据被存储在epd45-100上的分层文件系统(hfs)附加存储设备45-h100上、srv_cntrl45-200上的45-h200上、以及srv_ap45-300上的45-h300上。这些系统图中所示的组件都独立运行,但也可以依赖于关于与它们进行交互的其它设备的信息。

ram代表随机存取存储器,cpu代表中央处理单元(其还可以包括子处理器),nic代表网络接口卡,db代表数据库软件,dns代表域名系统,host代表托管软件,api代表应用编程接口,asr代表高级智能路由,geod代表地理位置,gvn代表全局虚拟网络,cda代表内容分发代理,cpa代表内容提取代理,以及rfbot代表远程获取器bot。可能还存在其它模块、管理器、系统或软件组件。

图46示出根据所公开主题的特定实施例的端点设备epd46-100、中央控制服务器srv_cntrl46-200和接入点服务器srv_ap46-300的一些系统模块和组件。该图进一步标识各设备的子系统,诸如epd46-100的epd子系统46-1000、cntrl46-200的srv_cntrl的子系统46-2000、以及srv_ap46-300的srv_ap子系统46-3000。按功能标识并且用前缀表示子系统,包括:fw表示防火墙相关子系统,tun表示隧道相关子系统,vif表示虚拟接口相关子系统,srv_avail表示服务器可用性列表及相关子系统,buffmgr表示缓存管理及相关子系统,log表示记录模块及相关子系统,以及connectivity表示一般连接操作。

图47示出根据所公开主题的特定实施例的端点设备epd47-100、中央控制服务器srv_cntrl47-200和接入点服务器srv_ap47-300的一些系统模块和组件。按功能标识并且用前缀表示子系统,包括:connectivity表示一般连接操作,asr表示高级智能路由,api表示应用编程接口,log表示记录模块及相关子系统,geod表示地理目的地模块及相关子系统,srv_avail表示服务器可用性列表及相关模块,buffer表示缓存管理及相关模块。

图48示出根据所公开主题的特定实施例的典型计算设备4800的框图。在一些实施例中,计算设备4800可以是本发明中所公开的任何合适的设备。计算设备4800可以包括至少一个处理器4802和至少一个存储器4804。处理器4802可以是被配置为执行诸如软件等的计算机可读指令的硬件。处理器4802可以是通用处理器或专用硬件(例如,专用集成电路(asic),可编程逻辑阵列(pla),现场可编程门阵列(fpga)或任何其它集成电路)。处理器4802可以执行计算机指令或计算机代码来进行所需的任务。存储器4804可以是暂时性计算机可读介质或非暂时性计算机可读介质,诸如闪存存储器、磁盘驱动、光驱、可编程只读存储器(prom)、只读存储器(rom)、随机存取存储器(ram)或任何其它存储器或存储器的组合。

在一些实施例中,存储器4804包括模块4806。处理器4802可以被配置为运行存储在存储器4804中的模块4806,该模块4806被配置为使处理器4802进行在整个所公开主题中讨论的各个步骤。

图49示出根据所公开主题的特定实施例的在lan中下载文件以及从互联网下载文件的过程。该图将lan边缘49-880处的epd所服务的文件与远程服务器49-840所服务的文件进行比较和对比。

下载局域网内的文件49-880提供了对防火墙的全面控制、过滤以及相对较高的带宽(bw)、超低延时、跳数少等优点。

从开放互联网上的远程服务器进行下载对中间路径几乎没有任何控制,并且还可能存在由于中间设备而导致的来自防火墙或压缩的过滤。

通过优化中间的流量,许多问题得到解决。然而,下载bw仍然受到最后一英里连接或最小对等点或网段的限制。

因此,在大多数情况下,从来自远程互联网49-050的远程服务器下载文件49-810将比从lan49-020下载文件49-800更慢。

图50示出根据所公开主题的特定实施例的端点设备(epd)50-100上的文件传输管理器(ftm)和接入点服务器(srv_ap)50-300上的ftm50-360的操作。

客户端50-000发起文件50-800到服务器50-350的上传传输,其中,文件50-800经由路径50-p000传输到达lan50-020、到达epd50-100,该epd50-100使流量在优化的长距离50-980上路由通过全局虚拟网络(gvn)50-020到达srv_ap50-300、到达50-p050、到达远程区域中的互联网50-050,并且经由路径50-p350到达服务器50-350。服务器50-350接受来自客户端50-000的连接,并开始接收分组化负载流内发送的多部分附件中的文件的处理。

对于比阈值参数变量所设置的特定大小更大的文件,通过ftm50-160在步骤150-10处检测来自客户端50-000的文件50-800的原始上传流,然后捕获该文件流并将其提取到epd50-100上的文件缓存50-180中。由于该网络路径是具有超低延时50-920的极短距离,因此文件上传中的剩余数据非常快地完成上传,从而从客户端的角度减少上传时间。这具有释放客户端的优点。ftm50-160保持到服务器50-350的上传流,并在接收到来自文件缓存50-180的数据时发送该数据,并且在已经接收到完整的文件之后,ftm50-160继续代表客户端进行上传,直到上传完成为止。

在步骤150-10处,检测原始流,并且只有在服务器接受连接并打开有效的套接字之后,流才被视为有效。

在步骤250-12处,将上传流重定向到本地文件缓存50-180,从而以lan50-020的高速率在该本地文件缓存50-180处进行累积。ftm50-160还将继续经由优化的gvn拓扑结构将上传流发送至服务器50-350,包括在步骤350-28处中转至紧邻目标服务器50-350的远程区域中的srv_ap50-300上的文件缓存50-380。

srv_ap50-300上的ftm50-360保持连接,并经由路径50-p350尽可能快地将文件50-810发送至服务器50-350。步骤550-32注意到这是连接保持活跃和健康的位置,以及文件50-810将在rv_ap50-300和服务器50-350之间以短距离和低延时50-950从gvn出来的位置。

图51示出根据所公开主题的特定实施例的安全文件存储容量51-h750上的文件的物理存储之间的关系、与文件有关的信息向诸如51-b700等的关系数据库(db)中的保存、以及文件、文件信息和文件传输过程的步骤之间的数据关系。经由上传流捕获和文件的链式缓存,通过将文件保存在接近源文件的文件缓存51-180中、将文件推送至下一个文件缓存51-380,然后将文件保存至文件传输管理器(ftm)51-360所管理的服务器51-380,来将文件从客户端51-000发送至服务器51-350。多维数组51-bt030描述了与文件有关的信息(file_lnfo)、文件应该采用的通过gvn的路径(file_path)以及元数据(file_meta)和目的地信息(dest_lnfo)。目的地信息包括目标设备类型、凭证(如果需要的话)以及其它信息。

文件路径多维数组51-bt050的子数组包括与源、目标以及中介跳有关的信息。

子数组描述了每一跳的特征51bt-070,包括与设备、其类型、代码或其主机名有关的信息以及其它信息。该子数组也与表:设备51-730相关联。

表:文件51-720包含与文件有关的信息,包括文件51-722的通用唯一标识符。物理存储上的文件名可以是uuid51-722,通过表:uuid的文件51-720与包含文件名称的文件信息记录进行符号链接。

应当理解,在本申请中,所公开主题并不限于结构的详情,而是限于以下说明中所阐述的或附图中所示出的组件的布置。所公开主题能够具有其它实施例,并且能够以各种方式实践和执行。另外,应当理解,这里所采用的措辞和术语是为了描述的目的,而不应被视为限制。

正因如此,本领域技术人员将会理解,本公开内容所基于的概念可以容易地用作设计用于执行所公开的主题的若干目的的其它结构、系统、方法和介质的基础。因此,重要的是,权利要求书被视为包括这样的等同结构,只要它们不偏离所公开主题的精神和范围。

尽管在前述典型实施例中描述并图示了所公开主题,但应当理解,本公开内容仅通过示例的方式进行,并且可以在不偏离所公开主题的精神和范围的情况下对所公开主题的实现详情进行许多更改,其中所公开主题的精神和范围仅由以下权利要求限制。

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