用于基于商业意图驱动策略的网络业务表征、监视和控制的方法和系统与流程

文档序号:11532304阅读:295来源:国知局
用于基于商业意图驱动策略的网络业务表征、监视和控制的方法和系统与流程

相关申请的交叉引用

本申请要求于2014年9月16日提交的美国临时专利申请序列号62/051,293的权益,其全部内容通过引用并入本文。



背景技术:

企业信息技术(it)操作模型已经从其中企业可以拥有、维持和操作企业所需的it基础设施的模型转变为其中企业还可以与可以向企业提供企业it服务的第三方共事的模型。因此,企业it操作模型的管理变得更加复杂,因为企业现在可以使用公共云基础设施、软件即服务(saas)基础设施和专用或虚拟化数据中心基础设施128等。虽然基础设施可能改变,但是企业内使用的各种应用也显着增加,从而进一步使基础设施的管理和维持复杂化,并且需要更大的带宽来支持这些应用的企业用户168所预期的性能。因此,需要用于使用多租户控制器122的灵活定义的基于通信网络控制器的控制、操作和管理的方法和系统。给定连接用户168、设备和应用的复杂性增加,定义、控制和操作网络而不用担心底层虚拟专用网(vpn)协议和配置、路由协议、链路类型、链路可用性和服务质量(qos)的灵活方法。这样的方法和系统可以自动监视和控制网络,从而允许从用于it的传统网络转换到基于灵活定义的通信网络控制器的网络的控制、操作和管理。



技术实现要素:

根据示例性和非限制性实施例,一种方法包括:确定针对至少一个应用的网络要求;根据至少部分地基于当前网络状况的策略来动态地确定适于数据传输的链路以满足所述网络要求;以及通过所述链路来路由与所述至少一个应用相关联的一个或多个应用网络数据流。

根据示例性且非限制性实施例,一种方法包括:确定针对至少一个应用的网络要求;至少部分地基于多个应用标识细节和应用业务简档中的至少一个来确定适于满足网络要求的链路;以及通过所述链路来路由与所述至少一个应用相关联的一个或多个应用网络数据流。

上述实施例中的任何一个,其中所述应用在节点处操作。

上述实施例中的任何一个,其中所述应用在分支(branch)处操作。

上述实施例中的任何一个,其中动态地确定链路由可配置辐条(spoke)设备执行。

上述实施例中的任何一个,其中所述可配置辐条设备维持路径配置信息。

上述实施例中的任何一个,其中所述路径配置信息选自包括链路上的带宽可用性、延迟简档和业务量封盖(cap)的组。

根据示例性和非限制性实施例,一种方法包括:至少部分地基于如下中的至少一个来确定用于多个应用中的每个的签名:域名、url、服务器网络身份(sni)、源ip地址、目的地ip地址、源端口、目的地端口、加密或未加密流事务中的静态位置和动态位置之一中的任何字节序列、加密或未加密流事务中的匹配的先前字节序列之后的任何字节序列、加密流事务的大小、传输和频率模式中的至少一个、流建立的次序和模式和相对于所看到的其他流的数据和http元数据;将签名中的每个发送到分支设备;并且向分支设备发送定义要应用于呈现签名的数据流的商业策略的策略字符串(policystring)。

根据示例性和非限制性实施例,一种方法包括:至少部分地基于如下中的至少一个来接收用于多个应用中的每个的签名:域名、url、服务器网络身份(sni)、源ip地址、目的地ip地址、源端口、目的地端口、加密或未加密流事务中的静态位置和动态位置之一中的任何字节序列、加密或未加密流事务中的匹配的先前字节序列之后的任何字节序列、加密流事务的大小、传输和频率模式中的至少一个、流建立的次序和模式和相对于所看到的其他流的数据和http元数据;接收定义商业策略的至少一个策略字符串;分析至少一个网络数据流以检测签名的存在;并将商业策略应用于包括所检测的签名的至少一个网络数据流。

根据示例性和非限制性实施例,用于跨多个分布式计算环境控制多个资产的可集中控制多租户控制器被配置为至少部分地基于如下中的至少一个来确定用于多个应用中的每个的签名:域名、url、服务器网络身份(sni)、源ip地址、目的地ip地址、源端口、目的地端口、加密或未加密流事务中的静态位置和动态位置之一中的任何字节序列、加密或未加密流事务中的匹配的先前字节序列之后的任何字节序列、加密流事务的大小、传输和频率模式中的至少一个、流建立的次序和模式和相对于所看到的其他流的数据和http元数据;将签名中的每个发送到分支设备;并且向分支设备发送定义要应用于呈现签名的数据流的商业策略的策略字符串。

根据示例性且非限制性实施例,联网分支设备被配置为至少部分地基于如下中的至少一个来接收用于多个应用中的每个的签名:域名、url、服务器网络身份(sni)、源ip地址、目的地ip地址、源端口、目的地端口、加密或未加密流事务中的静态位置和动态位置之一中的任何字节序列、加密或未加密流事务中的匹配的先前字节序列之后的任何字节序列、加密流事务的大小、传输和频率模式中的至少一个、流建立的次序和模式和相对于所看到的其他流的数据和http元数据;接收定义商业策略的至少一个策略字符串;分析至少一个网络数据流以检测签名的存在;并将商业策略应用于包括所检测的签名的至少一个网络数据流。

上述实施例中的任何一个,其中策略字符串包括选自包括用户身份、service、路径和vxwan的组的元件。

根据示例性和非限制性实施例,一种方法包括以预定间隔检查到远程定位的应用的一个或多个网络路径的状态;评级一个或多个网络路径中的每个的相对状态,其中所述评级至少部分地基于网络延迟和应用级事务延迟中的至少一个;并且利用所述评级来路由与应用相关联的应用数据流。

根据示例性和非限制性实施例,联网分支设备被配置为以预定间隔检查到远程定位的应用的一个或多个网络路径的状态;评级一个或多个网络路径中的每个的相对状态,其中所述评级至少部分地基于网络延迟和应用级事务延迟中的至少一个;并且利用所述评级来路由与应用相关联的应用数据流。

上述实施例中的任何一个,其中网络路径的评级在应用的可操作性的上下文中。

上述实施例中的任何一个,其中网络路径的评级进一步至少部分地基于路径的带宽、mos得分、分组丢失和抖动(jitter)。

根据示例性和非限制性实施例,一种方法包括至少部分地基于如下中的至少一个来确定应用的递送位置:手动信息收集、基于源dns查询的三角测量和应用探测;分析与应用相关联的至少一个网络业务流以提取包括用户位置、最接近应用递送位置和用户流服务的源中的至少一个的数据;聚合所提取的数据以标识多个次优使用实例,其中所述应用从次优位置递送;并且将所述次优使用实例报告给应用的用户。

上述实施例中的任何一个还包括采取至少部分地减轻次优使用实例的动作。

上述实施例中的任何一个,其中用户是管理员。

根据示例性和非限制性实施例,用于跨多个分布式计算环境控制多个资产的可集中控制多租户控制器被配置为至少部分地基于如下中的至少一个来确定应用的递送位置:手动信息收集、基于源dns查询的三角测量和应用探测;分析与应用相关联的至少一个网络业务流以提取包括用户位置、最接近应用递送位置和用户流服务的源中的至少一个的数据;聚合所提取的数据以标识多个次优使用实例,其中所述应用从次优位置递送;并且将所述次优使用实例报告给应用的用户。

上述实施例中的任何一个进一步被配置为采取至少部分地减轻次优使用实例的动作。

上述实施例中的任何一个,其中用户是管理员。

根据示例性和非限制性实施例,一种方法包括:确定一个或多个服务提供位置的位置,每个服务提供位置托管多个应用,每个应用具有相关联的应用定义;确定被配置为访问多个应用中的至少一个的设备的位置;并且向设备发送设备已经访问的每个应用的应用定义,其中应用定义至少部分地基于一个或多个服务提供位置的位置以及设备的位置。

根据示例性和非限制性实施例,用于跨多个分布式计算环境控制多个资产的可集中控制多租户控制器被配置为确定一个或多个服务提供位置的位置,每个服务提供位置托管多个应用,每个应用具有相关联的应用定义;确定被配置为访问多个应用中的至少一个的设备的位置;并且向设备发送设备已经访问的每个应用的应用定义,其中应用定义至少部分地基于一个或多个服务提供位置的位置以及设备的位置。

根据示例性和非限制性实施例,用于跨多个分布式计算环境控制多个资产的可集中控制多租户控制器被配置为从与企业站点(site)相关联的网络内的辐条设备接收应用数据流信息;并且至少部分地基于当前网络数据流特性向企业站点发送业务简档。

上述实施例中的任何一个,其中网络上的数据传送控制是基于应用和基于策略中的至少一个。

上述实施例中的任何一个还包括将基于时间的应用域分类和映射应用于确定步骤。

上述实施例中的任何一个,其中网络包括选自包括混合、物理和逻辑的组的连接。

上述实施例中的任何一个,其中应用分析在每会话基础上执行。

上述实施例中的任何一个,其中至少一个应用包括数据中心应用。

上述实施例中的任何一个,其中策略字符串格式是标准化的。

上述实施例中的任何一个,其中路由至少部分地基于动态和自动化qos定义。

上述实施例中的任何一个,其中应用选自包括事务应用和文件传输应用的组。

上述实施例中的任何一个还包括采用选自包括如下的组的qos标准化控制:整形(shaping)、监管、随机早期丢弃、尾部丢弃、低延迟队列、异常队列、公平队列和缓冲器。

上述实施例中的任何一个进一步利用参数对数据流进行分类。

根据示例性和非限制性实施例,一种方法包括向多个策略中的每个分配标识符,每个策略包括与vxwan指令相关联的网络隔离标识符;并且将多个策略中的每个发送到网络中的一个或多个设备。

根据示例性和非限制性实施例,用于跨多个分布式计算环境控制多个资产的可集中控制多租户控制器被配置为向多个策略中的每个分配标识符,每个策略包括与vxwan指令相关联的网络隔离标识符;并且将多个策略中的每个发送到网络中的一个或多个设备。

根据示例性和非限制性实施例,一种方法包括在联网设备处接收多个策略中的每个,其中每个策略包括与vxwan指令相关联的网络隔离标识符;并且将网络隔离标识符插入到由联网设备所发送的一个或多个分组中。

根据示例性和非限制性实施例,联网分支设备被配置为接收多个策略中的每个,其中每个策略包括与vxwan指令相关联的网络隔离标识符;并且将网络隔离标识符插入到一个或多个发送的分组中。

根据示例性和非限制性实施例,一种方法包括:从第一网络租户接收要与其建立ipsecvpn隧道的合作伙伴网络租户的指示、与ipsecvpn隧道要建立到的合作伙伴网络租户相关联的站点、允许应用业务从其通过ipsecvpn隧道传播(travel)的租户站点处的源前缀和用于可以通过ipsecvpn隧道传播的应用业务的目的前缀中的至少一个;从协定的合作伙伴网络租户接收建立ipsecvpn隧道的指示;并且指令合作伙伴网络和第一网络的一个或多个设备在它们之间建立ipsec数据隧道。

根据示例性和非限制性实施例,用于跨多个分布式计算环境控制多个资产的可集中控制多租户控制器被配置为从第一网络租户接收要与其建立ipsecvpn隧道的合作伙伴网络租户的指示、与ipsecvpn隧道要建立到的合作伙伴网络租户相关联的站点、允许应用业务从其通过ipsecvpn隧道传播的租户站点处的源前缀和用于可以通过ipsecvpn隧道传播的应用业务的目的前缀中的至少一个;从协定的合作伙伴网络租户接收建立ipsecvpn隧道的指示;并且指令合作伙伴网络和第一网络的一个或多个设备在它们之间建立ipsec数据隧道。

上述实施例中的任何一个,其中网络包括选自包括混合、物理和逻辑的组的连接。

上述实施例中的任何一个,其中应用分析在每会话基础上执行。

上述实施例中的任何一个,其中策略字符串格式是标准化的。

上述实施例中的任何一个,其中采用加密。

根据示例性和非限制性实施例,一种方法包括:检测网络上的数据流和相关联的发源接口;确定在其上转发数据流的第一链路;在所确定的链路上发送数据流;接收返回数据流;以及将返回数据流的转发方向移动到新路径,如果返回数据流经由第一链路之外的链路到达的话,其中流上的第一分组之后的所有分组在与第一分组相同的路径上被转发。

上述实施例中的任何一个还包括将所确定的第一链路存储在流表中的l4级处。

上述实施例中的任何一个,其中经由syn或检测到的udp会话检测数据流。

根据示例性和非限制性实施例,联网分支设备被配置为检测网络上的数据流和相关联的发源接口;确定在其上转发数据流的第一链路;在所确定的链路上发送数据流;接收返回数据流;并且将返回数据流的转发方向移动到新路径,如果返回数据流经由第一链路之外的链路到达的话,其中流上的第一分组之后的所有分组在与第一分组相同的路径上被转发。

上述实施例中的任何一个还被配置为将所确定的第一链路存储在流表中的l4级处。

上述实施例中的任何一个,其中经由syn或检测到的udp会话检测数据流。

上述实施例中的任何一个还包括将基于时间的应用域分类和映射应用于确定步骤。

上述实施例中的任何一个还包括对应用会话进行建模和预测带宽要求。

上述实施例中的任何一个,其中经由syn采用数据流。

根据示例性和非限制性实施例,一种方法包括确定包括网络的多个网络段;确定多个段被连接所采用的方式;至少部分地在没有路由协议的情况下确定网络段以及段如何被连接;经由与网络相关联的中枢(hub)设备发现多个外部网络段;并且利用包括网络的多个网络段、多个段被连接所采用的方式以及多个外部网络段。

根据示例性和非限制性实施例,用于跨多个分布式计算环境控制多个资产的可集中控制多租户控制器被配置为确定包括网络的多个网络段;确定多个段被连接所采用的方式;至少部分地在没有路由协议的情况下确定网络段以及段如何被连接;经由与网络相关联的中枢设备发现多个外部网络段;并且利用包括网络的多个网络段和地址、多个段被连接所采用的方式以及多个外部网络段来建立至少一个转发规则。

根据示例性和非限制性实施例,一种系统包括:多租户控制器,其被配置为创建网络的网络描述;以及中枢设备,其形成网络的一部分,并且被配置为与至少一个其他设备执行路由协议,从而产生网络信息,并配置为将网络信息传送到多租户控制器,其中多租户控制器被配置为将网络信息与网络描述合并。

上述实施例中的任何一个,其中网络拓扑标识、模拟和负载测试由多租户控制器控制。

上述实施例中的任何一个还包括检测不对称网络数据业务和相关联的网络设备。

上述实施例中的任何一个,其中网络包括选自包括混合、物理和逻辑的组的连接。

上述实施例中的任何一个,其中存在选自包括bgp、is-is、eigrp和ospf的组的所采用的路由协议。

上述实施例中的任何一个,其中路由至少部分地基于网络前缀(prefix)类型。

根据示例性和非限制性实施例,一种方法包括监视多个网络设备,以收集包括网络上的每个设备的数据流记录的网络性能数据并创建网络拓扑数据库;访问网络拓扑数据库,其包括关于每个设备的入口点和出口点的信息、设备被连接的方式以及来自网络上的多个设备的单个数据流上的多个数据流记录;并且利用网络拓扑数据库来执行不对称检测算法以标识经由第一路径退出设备并经由不同的第二路径返回到设备的一个或多个数据流。

上述实施例中的任何一个,其中控制器被配置为接收信息和检测不对称。

上述实施例中的任何一个,其中检测至少部分地基于延迟属性。

上述实施例中的任何一个,其中,在每会话基础上执行应用分析。

上述实施例中的任何一个,其中不对称选自包括带宽不对称、媒体访问不对称和丢失率不对称的组。

根据示例性和非限制性实施例,一种方法包括在设备处检测具有锚定域的应用;利用具有访问应用的入口点域的业务源和检测时间来标记应用;并且将来自业务源的网络流在从检测时间起的预定时间内指定为属于该应用。

根据示例性和非限制性实施例,联网分支设备被配置为检测具有锚定域的应用;利用具有访问应用的入口点域的业务源和检测时间来标记应用;并且将来自业务源的网络流在从检测时间起的预定时间内指定为属于该应用。

上述实施例中的任何一个还包括对应用会话进行建模和预测带宽要求。

上述实施例中的任何一个还包括执行异常会话标识、封锁和限制。

上述实施例中的任何一个,其中应用分析在每会话基础上执行。

根据示例性和非限制性实施例,一种方法包括从联网辐条设备接收描述去往和来自应用的网络流的信息;分析该信息以在至少一个维度(dimension)中表征该应用,所述至少一个维度选自包括双向带宽使用、网络响应时间、应用响应时间、空闲和活动应用会话的数量以及并发应用会话的最大数量的组;并且将该维度作为业务简档信息发送到至少一个联网辐条设备。

上述实施例中的任何一个,其中该信息描述l4级网络流。

根据示例性和非限制性实施例,用于跨多个分布式计算环境控制多个资产的可集中控制多租户控制器被配置为从联网辐条设备接收描述去往和来自应用的网络流的信息;分析该信息以在至少一个维度中表征该应用,所述至少一个维度选自包括双向带宽使用、网络响应时间、应用响应时间、空闲和活动应用会话的数量以及并发应用会话的最大数量的组;并且将该维度作为业务简档信息发送到联网辐条设备。

上述实施例中的任何一个,其中该信息描述l4级网络流。

根据示例性和非限制性实施例,一种方法包括:通过具有集合分布的事务的频率和事务的大小对在联网环境中操作的事务应用进行建模,以产生一个或多个建模参数;并分析建模参数以预测一个或多个事务应用会话的频率和数据流大小。

上述实施例中的任何一个,其中集合分布选自包括正常、威布尔和帕累托的组。

根据示例性和非限制性实施例,一种方法包括:通过具有集合分布的事务的频率和事务的大小对在联网环境中操作的批量应用进行建模;以及分析建模参数以预测一个或多个批量应用会话的频率。

上述实施例中的任何一个,其中集合分布选自包括正常、威布尔和帕累托的组。

根据示例性和非限制性实施例,一种方法包括:通过具有集合分布的事务的频率和事务的大小对在联网环境中操作的应用进行建模,以产生一个或多个建模参数;至少部分地基于该建模来检测混合应用业务特性,其中所述混合应用业务特性包括与事务应用的至少一个数据业务特性相关的第一数据业务类型和与批量应用的至少一个数据业务特性相关的第二数据业务类型;并且分析建模参数以预测一个或多个混合应用会话的频率和数据流大小。

上述实施例中的任何一个,其中集合分布选自包括正常、威布尔和帕累托的组。

根据示例性和非限制性实施例,一种方法包括将与应用使用会话相关的网络使用数据从可配置设备发送到多租户控制器,其中网络使用数据包括与应用相关联的第一类型的数据流以及与应用相关联的第二类型的数据流;至少部分地基于与所述应用的性能相关的历史数据和相关联的数据流来标识针对与所述应用相关联的第一和第二类型的数据流中的每个的带宽要求;在所述多租户控制器内将所述带宽要求存储为应用带宽简档;将应用带宽简档发送到至少一个辐条设备;以及使用所述应用带宽简档来路由与所述应用相关联的数据流。

上述实施例中的任何一个,其中应用分析在每会话基础上执行。

上述实施例中的任何一个,其中路由至少部分地基于动态和自动化qos定义。

上述实施例中的任何一个,其中应用选自包括事务应用和文件传输应用的组。

上述实施例中的任何一个,还包括采用选自包括帕累托和威布尔的组的建模和分析。

上述实施例中的任何一个,进一步利用参数来对数据流进行分类。

根据示例性和非限制性实施例,一种方法包括:向服务器发行具有入口整形器和出口整形器的指定活动链路上的经调谐请求,所述服务器在一定程度上在前向路径和返回路径二者中利用链路容量;确定针对活动链路的链路容量;监视该活动链路;以及当超过入口整形器和出口整形器中的至少一个的限制时丢弃经由该活动链路传播的任何业务。

根据示例性和非限制性实施例,一种方法包括:向服务器发行具有入口整形器和出口整形器的指定活动链路上的经调谐请求,所述服务器在一定程度上在前向路径和返回路径二者中利用链路容量;确定针对活动链路的链路容量;监视该活动链路;至少部分地基于使用带宽估计逻辑来确定入口整形器和出口整形器的限制;以及当超过该限制时丢弃经由该活动链路传播的任何业务。

根据示例性和非限制性实施例,一种方法包括接收多个商业优先级;检测与网络中的多个应用数据流中的每个相关联的网络类型,其中网络数据流类型选自包括实时、批量和事务的组;针对多个商业优先级中的每个创建多个严格优先队列、公平队列和异常队列;以及将实时网络数据流分配给实时队列、将事务流分配给公平队列、并将批量流分配给批量公平队列。

根据示例性和非限制性实施例,一种方法包括以预定时间间隔在配置的辐条设备处监视包括应用会话的应用的带宽;以及调整带宽,使得带宽匹配于应用会话的要求而满足一个或多个定义的商业优先的要求。

上述实施例中的任何一个,进一步采用基于多租户控制器的用户或设备身份到网络级身份的映射。

上述实施例中的任何一个,其中应用分析在每会话基础上执行。

上述实施例中的任何一个,其中路由至少部分地基于动态和自动化qos定义。

上述实施例中的任何一个,还包括采用选自包括帕累托和威布尔的组的建模和分析。

上述实施例中的任何一个,还包括采用选自包括整形、监督、随机早期丢弃、尾部丢弃、低延迟队列、公平队列、异常队列和缓冲器的组的qos标准化控制。

上述实施例中的任何一个,进一步利用参数来对数据流进行分类。

根据示例性和非限制性实施例,一种方法包括在控制器处执行水平可扩展服务ip到站点映射(idm)服务;将活动目录(ad)域映射到wan网络元件dnsrole和ldaprole;指令与租户相关联的多个网络元件以使用dnsrole发现企业中的多个ad域和ad服务器;从运行dnsrole的多个网络元件接收指示网络属性的改变的信息,所述网络属性选自包括ad域、ad服务器的添加和减少以及ad服务器的ip地址的改变的组;将接收到的ad域和ad服务器发送到租户管理员,并且请求凭证以使用ldap与添加的ad服务器通信;执行算法以确定哪个元件将联系特定的ad实例以最小化在wan上发生的轻量目录访问协议(ldap)业务量并确保在任何一个网络元件故障的情况下仍然可以实现ad实例;通过使用网络元件上的ldaprole来在活动目录服务器中监视网络用户的至少一个身份(用户或组)的改变;以及在多租户控制器处至少部分地基于ad域中的用户身份的映射来更新策略,其中追踪改变身份信息被实现为水平可扩展服务ip到站点映射服务。

根据示例性和非限制性实施例,用于跨多个分布式计算环境控制多个资产的可集中控制多租户控制器被配置为在控制器处运行水平可扩展服务ip到站点映射(idm)服务;将活动目录(ad)域映射到wan网络元件dnsrole和ldaprole;指令与租户相关联的多个网络元件以使用dnsrole发现企业中的多个ad域和ad服务器;从运行dnsrole的多个网络元件接收指示对网络属性的改变的信息,所述网络属性选自包括ad域、ad服务器的添加和减少以及ad服务器的ip地址的改变的组;将接收到的ad域和ad服务器发送到租户管理员,并且请求凭证以使用ldap与添加的ad服务器通信;执行算法以确定哪个元件将联系特定的ad实例以最小化在wan上发生的轻量目录访问协议(ldap)业务量并确保在任何一个网络元件故障的情况下仍然可以实现ad实例;在活动目录服务器中从网络元件的ldaprole接收网络的至少一个身份(用户或组)的改变;以及在多租户控制器处至少部分地基于ad域中的用户身份的映射来更新策略,其中追踪改变身份信息被实现为水平可扩展服务ip到站点映射服务。

根据示例性且非限制性实施例,执行dnsrole和ldaprole的网络元件被配置成从集中多租户控制器idm服务器获得在哪些域上在使用dns角色中发现ad服务器的指令;使用dnsrole发现指示对网络属性的改变的信息,所述网络属性选自包括ad域、ad服务器的添加和减少以及ad服务器的ip地址的改变的组并且将该信息发送到多租户控制器idm服务;从多租户控制器idm服务接收凭证以使用ldap与发现的ad服务器通信;以及通过使用网络元件上的ldaprole来在活动目录服务器中监视网络用户的至少一个身份(用户或组)的改变并将这些改变发送到多租户控制器idm服务。

根据示例性和非限制性实施例,一种方法包括在控制器处执行水平可扩展服务ip到站点映射(ism)服务;指令与租户相关联的多个网络元件发现企业中的多个ad域和ad服务器;从多个网络元件接收指示对网络属性的改变的信息,所述网络属性选自包括ad域、ad服务器的添加和减少以及ad服务器的ip地址的改变的组;将所接收的ad域和ad服务器发送到租户管理员并请求凭证以使用wmi与添加的ad服务器通信;执行算法以确定哪个元件将联系特定的ad实例,以便包含通过lan的wmi通信并最小化通过wan的wmi通信;在网络元件上使用wmi角色来监视ad服务器安全登录事件,包括ip地址、用户adid和用户名;将登录事件转换为ip到用户事件并将这些发送到控制器中的ism服务;使用ism服务将这些ip到用户事件映射到合适的辐条站点;将具有包括用于用户的一个或多个组id的丰富信息的事件发送到辐条站点中的元件;以及在辐条站点处使用丰富的ip到用户事件以基于用户和组id来执行策略,并利用用户和组信息使流和应用统计丰富。

根据示例性和非限制性实施例,一种用于跨多个分布式计算环境控制多个资产的可集中控制多租户控制器,其中,所述控制器被配置为在控制器处执行水平可扩展服务ip到站点映射(ism)服务;指令与租户相关联的多个网络元件发现企业中的多个ad域和ad服务器;将所接收的ad域和ad服务器发送到租户管理员并请求凭证以使用wmi与添加的ad服务器通信;将凭证发送到运行wmirole的网络元件;执行算法以确定哪个元件将联系特定的ad实例以便包含通过lan的wmi通信并最小化通过wan的wmi通信;从元件接收包含用户ip地址、用户adid和用户名的多个ad服务器登录事件;将这些登录事件转换为ip到用户事件并将这些发送到控制器中的ism服务;使用ism服务将这些ip到用户事件映射到合适的辐条站点;将具有包括用于用户的组id的丰富信息的这些事件发送到辐条站点中的元件;以及在辐条站点处使用丰富的ip到用户事件以基于用户和组id来执行策略,并利用用户和组信息使流和应用统计丰富。

根据示例性和非限制性实施例,一种方法包括:从集中多租户控制器的idm服务获得指令,以使用dnsrole发现企业中的多个ad域和ad服务器;将指示对网络属性的改变的信息发送到多租户控制器idm,所述网络属性选自包括ad域、ad服务器的添加和减少以及ad服务器的ip地址的改变的组;从多租户控制器接收凭证以使用wmi与添加的ad服务器通信;使用wmi角色来监视包括ip地址、用户adid和用户名的ad服务器安全登录事件;以及将登录事件转换为ip到用户事件并将登录事件发送到控制器中的ism服务。

根据示例性和非限制性实施例,一种方法包括:在辐条站点处从多租户控制器的ip到站点映射服务接收丰富的ip到用户事件,以至少部分地基于用户和组id来执行策略;以及利用用户和组信息使流统计和应用统计丰富。

上述实施例中的任何一个进一步利用网络身份类型。

根据示例性和非限制性实施例,一种方法包括:接收描述将包括至少一个应用的第一站点添加到现有网络的信息,其中,所述信息选自包括站点类型、到站点的规划连接和用于站点的规划策略的组;以及使用从类似于第一站点的第二站点收集的监视数据的统计分析来估计对至少一个应用和相关联的网络业务的操作的影响。

根据示例性和非限制性实施例,一种方法包括:接收描述对现有网络的策略的改变的信息,其中,所述信息选自包括要改变的策略和策略要应用到的网络站点的组;以及使用从类似于第一站点的第二站点收集的监视数据的统计分析来估计对至少一个应用和相关联的网络业务的操作的影响。

根据示例性和非限制性实施例,一种方法包括:接收描述要添加到现有网络站点的新网络链路的信息,其中,所述信息选自包括站点和要添加的网络链路的组;以及使用从类似于第一站点的第二站点收集的监视数据的统计分析来估计对至少一个应用和相关联的网络业务的操作的影响。

上述实施例中的任何一个,其中应用分析在每会话基础上执行。

上述实施例中的任何一个,其中分支类型选自包括零售商店银行、pos设备和分布式计算站点的组。

上述实施例中的任何一个,其中至少一个应用包括数据中心应用。

上述实施例中的任何一个,其中应用选自包括事务应用和文件传输应用的组。

上述实施例中的任何一个还包括执行选自包括帕累托和威布尔的组的建模和分析。

上述实施例中的任何一个,其中网络类型选自包括有线和无线的组。

上述实施例中的任何一个,进一步利用参数对数据流进行分类。

根据示例性和非限制性实施例,一种方法包括在分支设备处接收与数据中心相关联的所分配的第一中枢设备和所分配的第二中枢设备;建立到所分配的第一和第二中枢设备的vpn数据隧道;将第一中枢设备指定为主设备并将第二中枢设备指定为次设备;并且至少部分地基于链路的成本将去往主设备的业务切换到次设备。

根据示例性和非限制性实施例,一种方法包括在分支设备处接收与数据中心相关联的所分配的第一中枢设备和所分配的第二中枢设备;建立到所分配的第一和第二中枢设备的vpn数据隧道;将第一中枢设备指定为主设备;将第二中枢设备指定为次设备;如果检测到到主设备的vpn数据隧道的故障,则将去往主设备的业务切换到次设备;以及在可逆(revertive)模式和非可逆模式下将业务切换到主设备和次设备。

联网分支设备被配置为在分支设备处接收与数据中心相关联的所分配的第一中枢设备和所分配的第二中枢设备;建立到所分配的第一和第二中枢设备的vpn数据隧道;将第一中枢设备指定为主设备;将第二中枢设备指定为次设备;以及如果检测到到主设备的vpn数据隧道的故障,则将去往主设备的业务切换到次设备。

上述实施例中的任何一个还包括至少部分地基于链路的成本将去往主设备的业务切换到次设备。

上述实施例中的任何一个,其中第一中枢设备和第二中枢设备经由至少部分地基于以下的算法来分配:

-从分支设备收集的数据传输统计信息用作估计业务负载的输入。

-在分支设备处执行的因特网链路带宽估计用作估计业务负载的输入。

-每个中枢设备的当前已知容量限制。

-到集群中的每个中枢设备的当前分配的分支设备以及它们在中枢设备上的估计负载的总和。

-到集群中的每个中枢设备的当前分配的分支设备以及在中枢设备上的实际负载。

-中枢集群的总容量的可用性。

-新分支设备到中枢集群的所有元件的网络可达性。

-当与中枢设备通信时使用所有分支电路的能力。

-当与中枢设备通信时使用较低成本电路的能力。

上述实施例中的任何一个,其中可配置设备包括辐条设备。

上述实施例中的任何一个,其中数据中心类型选自包括私有云、科学社区和协同定位中心的组。

根据示例性和非限制性实施例,一种方法包括串联部署多个可配置设备,其被配置为经由用于交换状态信息的协议彼此通信,其中多个可配置设备中的至少一个处于活动状态,并且多个设备中的至少一个处于备用状态;通过处于备用状态的多个可配置设备中的至少一个经由协议检测处于活动状态的可配置设备的故障;以及将处于备用状态的至少一个可配置设备切换到活动状态。

根据示例性和非限制性实施例,一种系统包括多个可配置设备,其串联部署并且被配置为经由用于交换状态信息的协议彼此通信,其中,多个可配置设备中的至少一个处于活动状态,并且多个设备中的至少一个处于备用状态,其中,处于备用状态的多个可配置设备中的至少一个适于经由协议检测处于活动状态的可配置设备的故障,并且响应于此,将处于备用状态的至少一个可配置设备切换到活动状态。

根据示例性和非限制性实施例,一种方法包括串联部署多个可配置设备,其被配置为经由用于交换状态信息的协议彼此通信,其中,多个可配置设备中的至少一个是自身被选择为处于活动状态并且多个设备中的至少一个处于备用状态;通过处于备用状态的多个可配置设备中的至少一个经由协议检测处于活动状态的可配置设备的故障;以及将处于备用状态的至少一个可配置设备切换到活动状态。

上述实施例中的任何一个,其中连接是物理的。

上述实施例中的任何一个,其中分支组件选自包括交换机和路由器的组。

上述实施例中的任何一个,其中可配置设备包括辐条设备。

上述实施例中的任何一个,其中交换机类型选自包括受管理交换机、不受管理交换机和可堆叠交换机的组。

根据示例性和非限制性实施例,一种方法包括在多租户控制器处生成用于在第一站点和第二站点之间建立链路的共同的共享秘密;将共享秘密通过安全信道发送到第一站点和第二站点的每个;分配用于共享秘密的基于时钟的开始和结束有效期;如果两个站点中的一个或多个元件不能与多租户控制器通信,则发送具有未来有效性的共享秘密以允许安全链路通信继续;以及按每个链路每个vxwan使用单独的共享秘密。

根据示例性和非限制性实施例,一种方法包括在第一信道端点处接收共享秘密;生成多个随机数值;与第二信道端点交换随机数值;生成多个会话密钥;以及使用共享秘密以预定时间间隔刷新多个会话密钥。

根据示例性和非限制性实施例,一种系统包括第一站点、经由网络与第一站点通信的第二站点、以及多租户控制器,所述多租户控制器被配置为生成用于在第一站点和第二站点之间建立链路的共同的共享秘密并且通过安全信道将共享秘密发送到第一站点和第二站点中的每个,其中多租户控制器被配置为分配用于共享秘密的基于挂钟(wallclock)的开始和结束有效期。

上述实施例中的任何一个,其中共享秘密生成由软件、硬件和/或软件和硬件混合执行。

附图说明

可以通过参考在本文描述的附图来实现对本技术的本质和优点的进一步理解。

图1a提供了数据网络架构内的层的简化模式。

图1b示出了采用多租户控制器与多个网络设施和设备相关联的架构的简化实施例。

图1c示出了用于根据检测到的网络状态转发应用数据流的简化实施例。

图1d示出了用于利用与策略字符串相关联的应用签名的简化实施例。

图1e示出了用于分析数据业务流以检测次优网络性能的简化实施例。

图2示出了使用多租户控制器来提供与vxwan相关联的策略(诸如网络性能策略)以根据策略封装和加密指定数据流的示例实施例。

图3a和3b描绘了在配置的设备之间的网络数据流,其中网络设备之间的某些链路不可用。

图4示出了用于确定网络段以用于建立数据转发规则或策略的目的的样本实施例。

图5示出了网络上的数据流的不对称以及使用多租户控制器来检测和校正这样的不对称数据流的简化示例。

图6示出了至少部分地基于多个数据流来建立锚定域的简化实施例。

图7描绘了示出与可配置设备相关联的将整形器用于控制数据拥塞和数据流的样本实施例。

图8a示出了将整形器用于检测和响应于网络内的数据拥塞和可以采取的动作。

图8b示出了包括动态带宽控制的网络组件的简化视图。

图9示出了被用于监视、记录和存储ip到用户数据映射并且使用这样的映射至少部分地基于用户身份通过网络引导数据流的网络内的多租户控制器的一个实施例。

图10示出了用于使用统计分析来近似和评估网络站点上的应用性能的简化实施例。

图11示出了用于使用中枢对和可配置设备来创建网络扩展和冗余性的简化实施例。

图12示出了可配置设备配对的简化实施例。

图13示出了用于利用共享秘密来生成应用会话密钥的方法的简化实施例。

图14和15示出了前缀(prefix)的使用和相关联的自动学习的简化实施例。

图16示出了数据中心内的简化的无缝部署模型。

图17示出了包括多租户控制器的多播部署的简化实施例。

图18和19示出了在两个mpls提供商上发生的数据业务的简化实施例。

图20示出了在mpls提供商和vpn上发生的数据业务的简化实施例。

具体实施方式

参考图1a,数据网络(诸如由大型股份制企业和服务提供商使用的那些数据网络)被建模为八个网络层,以描述本文所描述的本发明的方法和系统。在该框架内,层1是由基本联网硬件和数据传输基础设施构成的物理层120。联网硬件可以在跨多个物理站点的网络内部署,包括但不限于数据中心128(诸如分布式云计算网络)和连接到数据中心128的分支152位置。如本文所使用的数据中心128类型包括但不限于私有云(例如,亚马逊或谷歌)、科学社区(例如,国家实验室)、协同定位中心、内部数据中心或一些其他类型的数据中心。数据中心128可以被分类为层i、层ii、层iii和层iv。

分支152可以通过物理或逻辑连接150连接到数据中心128。物理连接148可以包括但不限于t1链路,诸如从分支152到多协议标签交换(mpls144)的t1链路,或通过电缆的连接,或通过dsl的连接,或通过无线和蜂窝网络的连接。逻辑连接150可以包括但不限于专用广域网(wan)或虚拟专用网(vpn)。连接还可以是混合,例如,通过t1链路到包括逻辑构造的元件的因特网142的物理连接148。在示例中,诸如控制交换机的多租户控制器122、路由器162、中枢设备、辐条设备、可配置设备124或一些其他硬件类型之类的硬件可以部署在数据中心128内。多租户控制器122如该术语在本文中使用的那样可以指多租户、单租户和/或多个相关联的单租户或多租户控制器。辐条设备如该术语在本文中使用的那样可以包括但不限于分支设备,其每个可以是可配置设备124,如本文所述。中枢设备如该术语在本文中使用的那样可以指路由、路径内、分布式和负载平衡和/或分布式、负载平衡和路由的中枢设备。如本文所使用的交换机包括但不限于受管理交换机(例如,智能交换机或企业管理交换机)、不受管理交换机、可堆叠交换机或一些其他交换机类型。设备如该术语在本文中使用的那样可以包括但不限于硬件设备、软件设备、物理设备、虚拟设备或逻辑设备。

分支152可以通过例如因特网142或mpls144向和从数据中心128路由数据、数据分组和其他信息。分支152还可以通过例如因特网142或mpls144向和从应用148、广告网络134和内容递送网络138路由数据、数据分组和其他信息。因特网142可以包括私有云并且比mpls144更便宜但是更不安全。mpls144可以包括专用wan。分支152类型的示例包括但不限于零售商店、银行存储前端、数据输入点(诸如销售点设备)、企业的远程办公室和分布式计算站点。

数据网络的层2被称为数据链路层118。该层包括使得能够将数据(诸如由帧构成的数据单元)从一个网络实体传输到第二网络实体的功能元件。网络元件的物理寻址也驻留在层2内。媒体访问控制(mac)子层控制网络上的计算机如何获得对数据的访问和对其进行发送的许可,并且逻辑链路控制(llc)层控制帧同步、流控制和错误检查。

数据网络的层3被称为网络层114。在该层处,发生诸如分组转发的功能,以及路由协议管理的元件。在该层处的转发是基于分组的,而不是基于例如通过在应用会话内发生而定义的数据流,如本文所描述的。路由协议可以包括但不限于静态路由、边界网关协议(bgp)、中间系统到中间系统协议(is-is)、增强型内部网关路由协议(eigrp)和开放最短路径优先(ospf)。路由协议提供可达网络端点(ip地址)和可用网络接口的映射和可用于到达它们的路径。

数据网络的层4被称为策略驱动的流和会话转发层112。逻辑寻址、复用、数据流控制、分组分段和重组可以在该层处发生。在该层处的数据转发和路径选择可以基于策略。策略指定应提供给应用流或应用会话的处理,包括网络路径的选择。策略因此提供从层3可用于网络设备处的应用或用户的网络路径的过滤集合。

在该层处的数据转发和路径选择可以基于应用会话。如本文所使用的,“会话”是指被标识为属于访问特定应用的客户端512的一个或多个流。如本文所使用的,“客户端设备”是指膝上型计算机、台式计算机、平板计算机、电话、智能电话、服务器、pda、智能手表、可穿戴设备或能够计算和/或与数据网络交互的一些其他类型的客户端设备,如本文所述。如本文所使用的,“流”是指与单个会话相关联的分组流(双向的)。如本文所使用的,“分组”是指网络中的数据传输的基本单元。如本文所使用的,“会话流”是指属于所标识的会话的任何流。该层处的当前解决方案可能受到限制,因为它们通过例如ip地址或端口号来定义应用。端口号在云环境中不可用。例如,像microsoftexchange(outlook电子邮件)的应用可以从端口135提供。当电子邮件作为服务从诸如gmail、yahoo等的云计算环境递送时,所使用的客户端设备164可以主要通过https(端口443)连接。很可能许多基于云的应用通过相同的https端口443递送。因此,单独的端口信息不足以定义应用。“应用会话”的概念以及定义和标识应用会话的能力具有实用性,因为现有的解决方案在确定与给定应用相关联的数据流时是不精确的。现有的解决方案通常测量那些流上的性能,其包括抖动、带宽(bw)和其他度量。如本文使用的“流”和“数据流”可以包括但不限于连接、tcp连接、事务、应用事务、3次握手、每秒连接或cps、会话、应用会话、双向交换、双向流、单向流(例如,在基于udp的数据交换中)、混合流、信道、网络流(netflow)、并发流或一些其他类型的数据流。流可以由多个分组构成,并且会话可以由多个流构成。可以使用各种参数来对数据流进行分类,包括但不限于事务、事务实时等。

根据本文描述的本发明的方法和系统,流可以被检测为属于应用,但也可以属于应用会话。应用会话可以对源自相同源的不同流进行核对,并将它们标记为属于会话。这些流中的一些可能看起来是完全不同的应用,而实际上它们其实不是。可以在属于会话的所有流上内聚地(cohesively)使用性能测量,从而改善实际应用性能和控制。例如,一些应用可能不受分组丢失影响。在另一示例中,往返延迟可能与需要多次往返以获得适当应用性能的应用相关。延迟问题可以包括但不限于因特网连接的地理多样性、网络业务量、客户端512和服务器之间的距离、以及分组丢失。例如,分组丢失可能由链路/连接的自然“损耗”或者由于导致拥塞的网络量导致,并且因此增加分组丢失。在实施例中,应用会话可以被定义为时间帧,例如从时间1到时间2导出的数据。在另一个实施例中,应用会话可以被定义为在登录以使用应用和注销以中止应用的使用的用户168之间发生的时间。在另一示例中,应用会话可以被定义为从被认为是相关应用或站点(诸如网站)的活动导出的数据。例如,office365应用可以包括到office365门户、office365sharepoint、lync或一些其他相关服务或站点的数据流。

数据网络的层5被称为应用可达性转发层110。基于应用的转发可以在该层处发生,并且可以基于“可达性”。可达性是指转发内的差异点,其中问题不是“我可以通过特定路径/连接到达特定的ip地址吗”,而是“我可以到达应用吗以及我可以以与关于应用的策略一致的方式到达应用吗”。企业可以使用多个连接选择。例如,企业可以将mpls144加上comcast因特网连接(即,混合连接)用于数据路由。因此,层5基于可达性提供从层4可用于应用的网络路径的过滤集合。

数据网络的层6被称为应用性能转发层108。基于应用的转发可以基于性能。用户168的因特网入网点(pop)可能在地理上是不同的。这可能创建延迟问题(使性能降低)。经配置的设备和控制器可以监视用户168感兴趣的应用并且基于应用性能调整可选择的路径并转发业务。“控制器”如该术语在本文使用的那样是指多租户控制器。所采取的转发决定可以与策略、与连接许可或一些其他规则或标准一致地执行。因此,层6基于一个或多个网络路径上的应用性能提供从层5可用于应用的网络路径的过滤集合。

数据网络的层7被称为应用和用户层104。这是通过网络操作的应用和用户驻留的地方。从用户到应用和从应用到用户的业务在该层处进入,并且基于针对该应用和用户的网络路径的最终过滤集合,选择适当的路径用于转发。

数据网络的层8被称为运营商层102。这是网络运营商所驻留的地方,诸如负责设置基于用户的策略、生成报告或一些其他管理功能的it管理员。

根据示例性和非限制性实施例,并且参考图1b,多租户控制器122可以与数据网络内的配置的设备相关联。多租户控制器122和配置的设备可以具有与多个设施的物理或逻辑连接150,多个设施包括但不限于数据中心128或多个数据中心128、广告网络134、内容递送网络138和第三方数据和应用140。在该简化示例中的网络内的、多租户控制器122可以与其通信的数据中心128可以具有中枢设备、附加配置的设备和/或应用132,多租户控制器122和/或与多租户控制器122相关联的配置的设备可以与其进行通信。广告网络134、内容递送网络138和第三方数据和应用140可以向网络中提供数据,诸如将广告与到客户端设备164的web内容递送配对,其数据可以由多租户控制器122和/或与多租户控制器122相关联的配置的设备所识别、追踪和记录。网络内的数据可以从网络的分支152导出,诸如企业的物理办公室或商店。分支152可以具有网络设施,包括但不限于整形器154、设备交换机158、应用132、配置的设备、服务器160、路由器162或一些其他网络设施或设备。分支152可以使用物理或逻辑连接150通过因特网142或mpls144与网络内的其他设施(诸如数据中心128或多租户控制器122)通信。网络的用户168可以与客户端设备164交互以访问网络,例如,用户168可以使用诸如ipad的计算平板电脑与银行分支152交互,以便将钱从一个银行帐户转移到另一个银行帐户。如本文所描述的,与配置的设备结合包括的多租户控制器122可以监视网络活动,记录和存储这样的活动以用于优化网络上的业务流的目的,使得其与策略一致,诸如指示相对于不太重要的数据(例如,“因特网横幅广告”)给予某一类型的数据流(例如,“敏感银行数据”)优先路由的策略或某种其他类型的策略。

在传统网络中,企业中使用的应用具有来自广域网(wan)的不同级别的需要。可用的wan解决方案主要基于可达性信息来转发业务,并且最好利用指示链路级状况(诸如分组错误率和分组丢失率)的数据来这样做。

传统网络(特别是wan)连接位置或站点。这些站点可以是远程办公室或分支152和数据中心128。通常,应用驻留在这些数据中心128中,并且用户168通过网络访问这些应用。如果特定应用需要针对服务质量(qos)或路由(例如,想要通过某一位置发送某些应用业务)的差别处理,则实现这一点的唯一方式是将该应用手动地翻译成网络身份(典型地为ip地址或ip地址范围),然后操纵路由器162和路由协议来实现意图(差别处理)。

围绕商业意图的这样的操纵和实现的复杂性可以是巨大的,并且主要涉及“改变和祈祷(pray)”方法。基于策略的安全/防火墙和基于策略的路由已经存在了一段时间。防火墙主要使用策略来允许/拒绝业务,并且在某些情况下,允许的业务被给予转发/路径约束。通常,路由器设备162使用“路由映射”,其允许根据一些策略规范来分类和处理通过ip地址和分组长度而匹配的某些分组。这些策略规范虑及为每个分组选择下一跳目的地。因此,需要用于确定应用的基于位置的分布和相关定义、路径表征和应用的动态表征的方法和系统,以用于确定跨可用网络资产的应用业务流的最优的、基于策略的路径选择。

根据示例性和非限制性实施例,提供了一种方法,通过该方法wan可以调整以适应应用的需要,以便向用户168提供最优或接近最优的体验。这样的体验的产生开始于在分支办公室152处存在的最合适链路上的应用流的路由,从而满足应用的需要。一旦应用流被放置在适当的链路上,则可以根据针对应用流的策略规范来保证足够的网络资源。

参考图1c,示出了根据示例性和非限制性实施例的方法。首先,在步骤100c,应用被标识为应用的网络要求。然后,在步骤102c,基于网络528的当前状态,在各种可用链路上适当地转发应用流。这些转发决定基于网络528的动态状态不断演进。

根据示例性和非限制性实施例,可配置辐条设备执行业务转发决定,并且被提供必要的信息片:a)应用标识细节和b)应用业务简档。

每个可配置设备124还维持路径表征信息。路径表征可以包括关于链路上的带宽可用性、延迟简档、链路上的业务量封盖等的信息。可配置设备124然后可以选择满足在该时刻对于应用的最优或最接近最优的所有约束的链路。

根据示例性实施例,利用应用智能和唯一路径表征细节来选择最合适的链路。多租户控制器122高效地“理解”应用是什么,超出其ip地址,并且分支152处的可配置设备124可以解析和检测特定流是否表示特定应用。

因而,可以实现简单的策略模型,通过其人们可以直接指定商业意图,并且多租户控制器122和设备一起使其在网络中发生。这样的商业意图的表达可以是例如:“对于应用salesforce,给予gold优先级,通过亚特兰大dc发送其”。

参考图1d,示出了根据示例性和非限制性实施例的方法。在步骤100d,应用特定研究产生对于每个应用唯一的签名。在实施例中,应用签名可以包括以下的一个或多个的组合:(a)(多个)域名、(b)url、(c)服务器网络标识(sni)、(d)源和/或目的地ip地址、(e)源和/或目的地端口和(f)加密或未加密流事务中的静态位置处的任何字节序列、(g)加密或未加密流事务中的匹配的先前字节序列之后的任何字节序列、(h)加密流事务的大小/传输/频率模式(i)流建立的次序和模式以及相对于所看到的其他流的数据。

根据示例性和非限制性实施例,一种方法包括至少部分地基于以下中的至少一个来确定用于多个应用中的每个的签名:域名、url、服务器网络身份(sni)、源ip地址、目的地ip地址、源端口、目的地端口,包括在加密或未加密流事务中的静态或动态位置处的任何字节序列、加密或未加密流事务中的匹配的先前字节序列之后的任何字节序列、加密流事务的大小、传输、频率模式、流建立的次序和模式、以及与所看到的其他流相关的数据和http元数据;将每个签名发送到分支设备152;以及将策略字符串202发送到分支设备152,所述策略字符串202定义要应用于呈现签名的数据流的商业策略。

根据示例性和非限制性实施例,一种方法包括:至少部分地基于以下中的至少一个来接收用于多个应用中的每个的签名:域名、url、服务器网络身份(sni)、源ip地址、目的地ip地址、源端口、目的地端口,包括在加密或未加密流事务中的静态或动态位置处的任何字节序列、加密或未加密流事务中的匹配的先前字节序列之后的任何字节序列、加密流事务的大小、传输、频率模式、流建立的次序和模式、以及与所看到的其他流相关的数据和http元数据;接收定义商业策略的至少一个策略字符串202;分析至少一个网络数据流以检测签名的存在;以及将商业策略应用于包括所检测的签名的至少一个网络数据流。

根据示例性和非限制性实施例,用于跨多个分布式计算环境控制多个资产的可集中控制多租户控制器122被配置为至少部分地基于以下中的至少一个来确定用于多个应用中的每个的签名:域名、url、服务器网络身份(sni)、源ip地址、目的地ip地址、源端口、目的地端口,包括在加密或未加密流事务中的静态或动态位置处的任何字节序列、加密或未加密流事务中的匹配的先前字节序列之后的任何字节序列、加密流事务的大小、传输、频率模式、流建立的次序和模式、以及与所看到的其他流相关的数据和http元数据;将每个签名发送到分支设备152;以及将策略字符串202发送到分支设备152,所述策略字符串202定义要应用于呈现签名的数据流的商业策略。

根据示例性和非限制性实施例,联网分支设备152被配置为至少部分地基于以下中的至少一个来接收用于多个应用中的每个的签名:域名、url、服务器网络身份(sni)、源ip地址、目的地ip地址、源端口、目的地端口,包括在加密或未加密流事务中的静态或动态位置处的任何字节序列、加密或未加密流事务中的匹配的先前字节序列之后的任何字节序列、加密流事务的大小、传输、频率模式、流建立的次序和模式、以及与所看到的其他流相关的数据和http元数据;接收定义商业策略的至少一个策略字符串202;分析至少一个网络数据流以检测签名的存在;以及将商业策略应用于包括所检测的签名的至少一个网络数据流。

根据各种实施例,生成这些应用签名并将其发布到多租户控制器122。在实践中,客户可以使用他/她自然倾向于使用的任何方法。在一些实施例中,当应用越来越变成面向网络时,客户可以指定域名/url中的签名。

接下来,在步骤102d,多租户控制器122可以将应用签名推送到可配置分支设备124。每个可配置设备124具有解析经过可配置设备124的每个流并且当流开始时检测应用签名的存在的能力。

一旦匹配,可以对流应用附加的功能。最后,在步骤104d,多租户控制器122暴露api,网络管理员/用户可以通过该api定义策略字符串202以表达如下的商业目的:

<app>,<identity>-<priority>,<service>,<vxwan>,<path>

其中,

app-应用名称/id,由配置的设备的提供商提供或由网络管理员/用户定义的自定义

identity-用户名/id或设备id,可选

priority-用于<app,identity>组合的商业优先级

service-应为<app,identity>组合提供的(多个)服务,可选

vxwan-用于<app,identity>组合的虚拟wan隔离标识符,可选。示例包括但不限于网络隔离标识符。

path-用于<app,identity>组合的路径约束,可选

如本文所使用的,“策略字符串”202通常定义谁可以以什么种类的优先级连接到什么应用。“商业优先级”是指将服务质量(qos)抽象成类别。在示例性实施例中,可以利用标准化的策略字符串202格式。根据示例性和非限制性实施例,用于跨多个分布式计算环境控制多个资产的可集中控制多租户控制器122可以被配置为向包含相同的vxwan指令的多个策略中的每个分配网络隔离标识符,并且将具有该网络隔离标识符的多个策略中的每个发送到网络中的一个或多个设备。如本文使用的网络隔离标识符包括但不限于虚拟网络标识符(vni)、区段标识符和/或网络标识符。网络隔离标识符可以是或可以包括数字数据、字母数据和/或字母数字数据。策略标识符可以包括网络隔离标识符。

利用上述能力,每个分支可配置设备124可以寻找与应用相关联的应用签名,并且当检测到时,如下那样执行策略:

priority在设备中执行类似于传统qos的优先级队列,并且特定于流在其上离开和进入设备的接口。执行以影响下载和上传方向的双向方式发生,从而使流以及因此使应用在priority意图的范围内操作。

service将流以及因此将应用转发到特定服务。可以单独定义的service从设备通过正常的l3转发或通过l3隧道到达,或者可以被定义为流的副本的接收方。在后一种情况下,配置的设备在两个方向上制作流的每个分组的副本,并将其发送到服务,不论在什么地方它可能存在于网络中。其他两个服务预期在流的路径中,并且因此流通过正常的l4->l3转发向该服务转发。

vxwan当流被转发时,配置的设备可以可选地添加“vxwan”标签/封装,其是虚拟wan标识符。类似于数据中心128中的vxlan的该vxwan204具有超出仅仅封装的应用。

path路径指令(如果存在的话)限制策略中指定的app和/或identity的流的路径,当流离开配置的设备时被允许采用。

vxwan204允许客户在相同的物理底层上创建几个小的、隔离的叠加隧道。每个隧道可以用不同的密钥集合加密,使得即使隧道之一的密钥被泄露,其他隧道也不被暴露。从客户的角度来看,vxwan204允许客户端到端创建隔离的网络段(其中vlan在分支152和dc中,并且vxwan204在wan中)。这有助于设置企业中的各个团队之间的操作边界,独立保护网络基础设施的各个部分,并满足各种法规遵从性要求,诸如pci。

与这些实施例相关联的优点包括被用于商业意图而不仅用于选择下一跳或安全处理的策略字符串202。此外,当前实现的解决方案缺乏vxwan204的概念。另外,虽然某些安全产品已经出于本地安全实施的目的而使用app和identity,并且已经单独地提供了在特定接口上引导业务的方式,但是所描述的方法超出此,使得app和identity被用于指定跨整个wan的流的网络处理。

从路由的角度来看,即使应用在路径上不可用,服务器160或下一跳也可以可达。例如,位于路径上的http代理可能具有性能问题,并且可能是阻塞连接。从路由的角度来看,该阻塞不会被视为失败,并且分组将继续转发到代理。进一步可能的是,路径上的延迟如此之高,使得应用实际上不可用,而应用在不同路径上的操作将是精细的。在实施例中,应用还可以驻留在因特网中,诸如可能具有广告网络134、内容递送网络138或第三方数据应用140。

根据示例性和非限制性实施例,应用级探测确保应用在所有时间都是由用户168可达和使用的。可配置辐条设备执行“应用探测”,其中可配置辐条设备124周期性地检查所有路径上的应用的健康状况。可配置设备124然后可以从最佳路径到最差路径对链路进行评级,并将该信息提供给多租户控制器122。

在接收到信息时,多租户控制器122可以使用该信息来路由应用流。链路的评级可以与以最低网络延迟进行排序一样简单,或者可以与考虑应用级别事务延迟一样复杂。

根据示例性实施例,可以在用于saas服务的每个应用(例如,box.com)或子应用(例如,office365-lync、office365-共享点)的上下文中执行活动探测和评级网络路径。在企业应用的情况下,可以在应用的特定服务器160上执行主动探测,因为在企业中可以存在许多应用递送端点。例如,对于服务器消息块(smb)(文件共享)应用,可能存在为应用提供不同内容的许多服务器160。

如本文所述,主动探测不同于诸如通常实践的通用探测。当采用通用探测时,到已知服务器的典型查验(ping)可以通过(建立l3连接),即使当不能建立到服务器160的连接时。通过经由主动探测建立与服务器160的会话,本实施例建立应用级连接。

根据各种实施例,在应用的上下文中可以执行服务器级检查。例如,比如smb的一些应用具有每个服务器160的服务端点,不同于其中可以存在支持单个http服务的许多服务器160的saas服务。前一类应用是内部企业应用。对于这类应用,人们可以在服务器级别处进行监视。在一些情况下,甚至有可能单个服务器可以托管多个服务,比如smb和http。在该情况下,将为每个服务端点探测相同的服务器。换句话说,探测被完成实际服务递送端点以确保应用是可访问的。

在一些情况下,从其提供应用的位置不是最优的。这通常是saas应用的情况,其中应用可以从多个位置(例如,美国西部、美国东部、欧盟、拉丁美洲等)递送。在这种情况下,通常最好将由分支152处的用户168发起的这样的应用流发送到最接近的可能应用递送位置。实际上,这可能不会发生,是由于例如(1)dns服务器和查询点的位置,(2)次优策略和(3)与应用传送位置相关的信息的不可用性。

参考图1e,示出了根据示例性和非限制性实施例的方法。首先,在步骤100e处,根据示例性实施例,可以经由(1)手动信息收集和馈送系统,(2)基于来自跨全球的各个位置的源送dns查询的三角测量和(3)通过如上所述的应用探测收集的信息来标识saas应用传送位置。

在收集这样的信息之后,在步骤102e,系统可以通过多租户控制器122的组件对所有观察到的业务流应用分析,并提取以下三条信息:(1)用户168位于何处(基于站点信息),(2)最近的应用递送位置在何处(使用上述数据集),以及(3)用户流从何处提供。

然后,在步骤104e,系统然后可以(1)聚合其中应用从次优位置递送的实例(基于发源地理位置),(2)识别模式以及(3)是否存在显著和一致的次优使用,将这样的使用报告给多租户控制器122的用户,诸如管理员。

在示例性和非限制性实施例中,本文描述的方法和系统可以被应用于解决和补救次优使用的实例。

因此,提供了(1)自动应用服务递送位置学习,(2)基于地理ip的方法以确定实际应用递送位置,以及(3)标识和报告服务递送位置的次优选择。

根据示例性实施例,可以至少部分地基于地理在每个站点的基础上执行应用的定义。在这种情况下,应用检测简档可以由系统运营商/管理员和/或客户定义。然后,这些简档可以从多租户控制器122传播到可配置设备124,使得可配置设备124可以检测应用。

saas应用604通常具有分布在地球上的服务提供位置/应用。当用户168访问应用时,他们被定向到最接近的服务提供位置。由于不同的服务提供位置具有不同的http域名,所以应用定义需要包括域名。

根据示例性实施例,不是将具有所有域名的应用定义统一分发给所有可配置设备124,而是可以基于应用定义被分发到的可配置设备124的位置来定制应用定义。

例如,人们可以将应用定义“eu.xforce.com”发送到欧洲的设备,并将“na.xforce.com”发送到北美的设备。发送到可配置设备124的定义至少部分地基于可配置设备124的位置来定制。

根据示例性和非限制性实施例,每个可配置辐条设备124可以从多租户控制器122位于的站点收集和报告统计数据。多租户控制器122然后可以将业务简档发送回到适用于该站点的可配置设备124。对于可能不存在业务简档的新站点,系统可以选择最常见的业务简档用于分发,然后很快为该站点定制它。在一些实施例中,从服务器160到端点的吞吐量的测量可以通过减去服务器160的贡献并基于事务的大小来标准化飞行时间来标准化。因此,提供了一种用于在每个站点的基础上动态和持续表征应用以及响应于其调整网络的行为的方法。根据示例性实施例,本文描述的方法可以应用于事务应用,包括但不限于聊天程序、voip、视频会议和屏幕共享程序。

根据各种示例性实施例,如上所述的用于网络业务表征的方法和系统可以利用物理连接148、逻辑连接150或混合连接,如本文其他地方描述的。此外,这样的方法和系统可以应用于如上所述的应用会话。如本文所描述的这样的方法和系统可以由如本文所述的数据中心128应用的所有方式利用并用于其。

根据各种示例性实施例,上述用于网络业务表征的方法和系统可以利用如本文所描述的动态自动化qos定义。示例性实施例可以利用如本文所描述的文件传输应用和qos标准化控制。其他示例性实施例可以利用如本文所述的用于对数据流进行分类的参数。

以下是说明本文所述的本发明的非限制性实施例的说明性条款:

一种方法,包括:

确定针对至少一个应用的网络要求;

根据至少部分地基于当前网络状况的策略来动态地确定适于数据传输的链路以满足所述网络要求;以及

通过所述链路来路由与所述至少一个应用相关联的一个或多个应用网络数据流。

一种方法,包括:

确定针对至少一个应用的网络要求;

至少部分地基于多个应用标识细节和应用业务简档中的至少一个来确定适于满足所述网络要求的链路;以及

通过所述链路来路由与所述至少一个应用相关联的一个或多个应用网络数据流。

上述条款中的任何一个,其中应用在节点处操作。

上述条款中的任何一个,其中应用在分支处操作。

上述条款中的任何一个,其中动态地确定链路由可配置辐条设备执行。

上述条款中的任何一个,其中可配置辐条设备维持路径配置信息。

上述条款中的任何一个,其中路径配置信息选自包括链路上的带宽可用性、延迟简档和业务量封盖的组。

一种方法,包括:

至少部分地基于如下中的至少一个来确定用于多个应用中的每个的签名域名、url、服务器网络身份(sni)、源ip地址、目的地ip地址、源端口、目的地端口、加密或未加密流事务中的静态位置和动态位置之一中的任何字节序列、加密或未加密流事务中的匹配的先前字节序列之后的任何字节序列、加密流事务的大小、传输和频率模式中的至少一个、流建立的次序和模式和相对于所看到的其他流的数据和http元数据;

将所述签名中的每个发送到分支设备;以及

向分支设备发送定义要应用于呈现签名的数据流的商业策略的策略字符串。

一种方法,包括:

至少部分地基于如下中的至少一个来接收用于多个应用中的每个的签名:域名、url、服务器网络身份(sni)、源ip地址、目的地ip地址、源端口、目的地端口、加密或未加密流事务中的静态位置和动态位置之一中的任何字节序列、加密或未加密流事务中的匹配的先前字节序列之后的任何字节序列、加密流事务的大小、传输和频率模式中的至少一个、流建立的次序和模式和相对于所看到的其他流的数据和http元数据;

接收定义商业策略的至少一个策略字符串;

分析至少一个网络数据流以检测签名的存在;以及

将商业策略应用于包括所检测的签名的至少一个网络数据流。

一种用于跨多个分布式计算环境控制多个资产的可集中控制多租户控制器,其中,所述控制器被配置为:

至少部分地基于如下中的至少一个来确定用于多个应用中的每个的签名:域名、url、服务器网络身份(sni)、源ip地址、目的地ip地址、源端口、目的地端口、加密或未加密流事务中的静态位置和动态位置之一中的任何字节序列、加密或未加密流事务中的匹配的先前字节序列之后的任何字节序列、加密流事务的大小、传输和频率模式中的至少一个、流建立的次序和模式和相对于所看到的其他流的数据和http元数据;

将签名中的每个发送到分支设备;以及

向分支设备发送定义要应用于呈现签名的数据流的商业策略的策略字符串。

一种联网分支设备,其被配置为:

至少部分地基于如下中的至少一个来接收用于多个应用中的每个的签名:域名、url、服务器网络身份(sni)、源ip地址、目的地ip地址、源端口、目的地端口、加密或未加密流事务中的静态位置和动态位置之一中的任何字节序列、加密或未加密流事务中的匹配的先前字节序列之后的任何字节序列、加密流事务的大小、传输和频率模式中的至少一个、流建立的次序和模式和相对于所看到的其他流的数据和http元数据;

接收定义商业策略的至少一个策略字符串;

分析至少一个网络数据流以检测签名的存在;以及

将商业策略应用于包括所检测的签名的至少一个网络数据流。

上述条款中的任何一个,其中策略字符串包括选自包括用户身份、service、路径和vxwan的组的元件。

一种方法,包括:

以预定间隔检查到远程定位的应用的一个或多个网络路径的状态;

评级一个或多个网络路径中的每个的相对状态,其中所述评级至少部分地基于网络延迟和应用级事务延迟中的至少一个;以及

利用所述评级来路由与应用相关联的应用数据流。

一种联网分支设备,其被配置为:

以预定间隔检查到远程定位的应用的一个或多个网络路径的状态;

评级一个或多个网络路径中的每个的相对状态,其中所述评级至少部分地基于网络延迟和应用级事务延迟中的至少一个;以及

利用所述评级来路由与应用相关联的应用数据流。

以上条款中的任何一个,其中网络路径的评级在应用的可操作性的上下文中。

上述条款中的任何一个,其中网络路径的评级进一步至少部分地基于路径的带宽、mos得分、分组丢失和抖动。

一种方法,包括:

至少部分地基于如下中的至少一个来确定应用的递送位置:手动信息收集、基于源dns查询的三角测量和应用探测;

分析与应用相关联的至少一个网络业务流以提取包括用户位置、最接近应用递送位置和用户流服务的源中的至少一个的数据;

聚合所提取的数据以标识多个次优使用实例,其中所述应用从次优位置递送;以及

将所述次优使用实例报告给应用的用户。

上述条款中的任何一个还包括采取至少部分地减轻次优使用实例的动作。

上述条款中的任何一个,其中用户是管理员。

一种用于跨多个分布式计算环境控制多个资产的可集中控制多租户控制器,其中,所述控制器被配置为:

至少部分地基于如下中的至少一个来确定应用的递送位置:手动信息收集、基于源dns查询的三角测量和应用探测;

分析与应用相关联的至少一个网络业务流以提取包括用户位置、最接近应用递送位置和用户流服务的源中的至少一个的数据;

聚合所提取的数据以标识多个次优使用实例,其中所述应用从次优位置递送;以及

将所述次优使用实例报告给应用的用户。

上述条款中的任何一个还包括采取至少部分地减轻次优使用实例的动作。

上述条款中的任何一个,其中用户是管理员。

一种方法,包括:

确定一个或多个服务提供位置的位置,每个服务提供位置托管多个应用,每个应用具有相关联的应用定义;

确定被配置为访问多个应用中的至少一个的设备的位置;以及

向设备发送设备已经访问的每个应用的应用定义,其中应用定义至少部分地基于一个或多个服务提供位置的位置以及设备的位置。

一种用于跨多个分布式计算环境控制多个资产的可集中控制多租户控制器,其中,所述控制器被配置为:

确定一个或多个服务提供位置的位置,每个服务提供位置托管多个应用,每个应用具有相关联的应用定义;

确定被配置为访问多个应用中的至少一个的设备的位置;以及

向设备发送设备已经访问的每个应用的应用定义,其中应用定义至少部分地基于一个或多个服务提供位置的位置以及设备的位置。

一种用于跨多个分布式计算环境控制多个资产的可集中控制多租户控制器,其中,所述控制器被配置为:

从与企业站点相关联的网络内的辐条设备接收应用数据流信息;以及

至少部分地基于当前网络数据流特性向企业站点发送业务简档。

上述条款中的任何一个,其中网络上的数据传送控制是基于应用和基于策略中的至少一个。

上述条款中的任何一个还包括将基于时间的应用域分类和映射应用于确定步骤。

上述条款中的任何一个,其中网络包括选自包括混合、物理和逻辑的组的连接。

上述条款中的任何一个,其中应用分析在每会话基础上执行。

上述条款中的任何一个,其中至少一个应用包括数据中心应用。

上述条款中的任何一个,其中策略字符串格式是标准化的。

上述条款中的任何一个,其中路由至少部分地基于动态和自动化qos定义。

上述条款中的任何一个,其中应用选自包括事务应用和文件传输应用的组。

上述条款中的任何一个还包括采用选自包括如下的组的qos标准化控制:整形、监督、随机早期丢弃、尾部丢弃、低延迟队列、异常队列、公平队列和缓冲器。

上述条款中的任何一个进一步利用参数对数据流进行分类。

在传统的联网中,充分地划分网络业务可能是有问题的。可以至少部分地基于但不限于路由唯一性、安全标准或网络隔离来进行划分。使用现有技术,划分通常由虚拟局域网(vlan)和虚拟路由和转发(vrf)来实现。vlan和vrf可以手动链接,其中手动链接在分支152和数据中心128处。该手动链接可以提供跨广域网(wan)的网络隔离,但是存在针对以应用特定和/或身份特定的基于策略的方式控制数据流的需要,其中策略和相关的数据流规则的实现被体现在由多租户控制器122集中控制的设备中。多租户控制器122可以进一步用于在单独的企业(和相关联的网络)之间建立外联网ipsecvpn隧道。

根据本文所描述的本发明的方法和系统,软件定义的企业wan(sdewan)可以用于创建在应用网络驱动模型中实现的网络。模型的商业意图可以通过策略字符串202来表达。策略字符串202可以允许指定特定应用或身份,其提供对通过网络发生的数据流的控制。控制可以是每应用、每身份、应用和身份的组合、或基于一些其他参数。在实施例中,作为策略字符串202的一部分,可以指定虚拟可扩展wan(vxwan)204,该虚拟可扩展wan(vxwan)204使得设备将由该策略标识的流的特定集合封装在唯一vxwan204中。vxwan204可以包括仅提供给属于由策略捕获的流的分组的可选的唯一加密。vxwan204可以包括在网络中的入口点处插入vxwan网络隔离标识符并且在网络中的出口处针对特定方向中的流移除网络隔离标识符的方式。vxwan204可以是双向的,因为相同的vxwan网络隔离标识符可以用于业务的两个方向。vxwan网络隔离标识符名称空间可以是全局的,并且由多租户控制器122分配和管理,如本文定义的。

在实施例中,网络管理员可以指定用于应用或身份或应用身份组合的策略。这可以包括vxwan指令,并且还可以包括要采取的路径的类型,包括但不限于因特网142、专用wan、无线路由、以及例如是否使用加密。如本文所使用的加密包括但不限于标准加密方法、差分加密方法、高级加密标准、openpgp、ciphersaber或三重数据加密算法。策略还可以指定要给予身份、应用或身份应用组合的优先级。例如,策略可以规定,所有pci应用(不管它们到达其上的vlan如何)在lan侧都应当被放置在pcivxwan上。在另一示例中,策略可以规定,来自语音vlan的所有业务被放置在语音vxwan上。身份的示例包括但不限于用户组、执行用户组、特定个人(例如,timjones(ceo))、特定企业部门(例如,财务)或一些其他身份。

根据本文所述的本发明的方法和系统,并参考图2,可以提供多租户控制器122,并且多租户控制器122用于实现策略、策略字符串202或者通过网络管理数据流的一些其他基于规则的操作。多租户控制器122可以从其为租户管理的名称空间分配数字网络隔离标识符或标签。控制器可以向网络中的设备发送策略,并且这样的策略可以具有指定的vxwan204,并且包括由多租户控制器122分配的任何网络隔离标识符。当设备标识进入和退出设备的数据流的身份和应用时,其可以应用其从多租户控制器122所接收的策略。如果针对策略存在vxwan网络隔离标识符,则当流的分组退出设备时,设备上的数据路径软件可以将该标签插入在电线上。如果vxwan204是加密的vxwan,则可以在流的分组退出设备之前应用策略特定的加密。在数据流的另一端处,接收设备可以解除封盖(de-cap),例如,发送设备可以将vxwan报头放置在具有vxwan网络隔离标识符的分组上。接收设备可以移除vxwan报头,从报头移除vxwan网络隔离标识符,并将分组传递到核心路由器178上的特定虚拟路由和转发(vrf)或者传递到核心路由器178上的全局vrf。策略字符串202的示例包括但不限于下表中提供的示例:

在实施例中,多租户控制器122可以用于在两个单独的企业、站点或网络之间建立外联网ipsecvpn隧道。多租户控制器122可以用于指示他们想要与哪个其他租户和向其他租户的哪个站点建立ipsecvpn隧道。多租户控制器122还可以指定多个站点中的每个站点中的哪些前缀可以彼此通信。在示例中,租户的it管理员可以向多租户控制器122指示他们想要向其建立vpn的合作伙伴租户、他们想要vpn向合作伙伴的哪个站点发生、应参与vpn中的他们自身的站点、从其允许应用业务通过ipsecvpn隧道的他们的站点中的源前缀或特定ip、以及针对可以通过ipsecvpn隧道的应用业务的目标前缀或特定ip。一旦合作伙伴租户的it管理员同意允许在企业之间创建ipsecvpn隧道的请求,则多租户控制器122可以指令两个企业的每个站点上的设备在两个站点之间建立ipsec数据隧道。这可以进一步限制企业仅允许在由两个租户的管理员指定的那些源和目的地前缀之间的业务。在实施例中,所允许的前缀的最具限制性的子集可以在两侧上使用。前缀的示例包括但不限于10.1.1.0/20和192.168.2.1/24。

根据各种示例性实施例,如上所述的用于基于应用和策略的网络数据传送控制的方法和系统可以利用物理连接148、逻辑连接150或混合连接,如本文其他地方所描述的。此外,这样的方法和系统可以应用于如上所述的应用会话,并且可以采用标准化的策略字符串202格式和加密。

以下是说明本文所述的本发明的非限制性实施例的说明性条款:

一种方法,包括:

向多个策略中的每个分配标识符,每个策略包括与vxwan指令相关联的网络隔离标识符;以及

将多个策略中的每个发送到网络中的一个或多个设备。

一种用于跨多个分布式计算环境控制多个资产的可集中控制多租户控制器,其中,所述控制器被配置为:

向多个策略中的每个分配标识符,每个策略包括与vxwan指令相关联的网络隔离标识符;以及

将多个策略中的每个发送到网络中的一个或多个设备。

一种方法,包括:

在联网设备处接收多个策略中的每个,其中每个策略包括与vxwan指令相关联的网络隔离标识符;以及

将网络隔离标识符插入到由联网设备所发送的一个或多个分组中。

一种联网分支设备,其被配置为:

接收多个策略中的每个,其中每个策略包括与vxwan指令相关联的网络隔离标识符;以及

将网络隔离标识符插入到一个或多个发送的分组中。

一种方法,包括:

从第一网络租户接收要与其建立ipsecvpn隧道的合作伙伴网络租户的指示、与ipsecvpn隧道要建立到的合作伙伴网络租户相关联的站点、允许应用业务从到其通过ipsecvpn隧道传播的租户站点处的源前缀和用于可以通过ipsecvpn隧道传播的应用业务的目的前缀中的至少一个;

从协定的合作伙伴网络租户接收建立ipsecvpn隧道的指示;以及

指令合作伙伴网络和第一网络的一个或多个设备在它们之间建立ipsec数据隧道。

一种用于跨多个分布式计算环境控制多个资产的可集中控制多租户控制器,其中,所述控制器被配置为:

从第一网络租户接收要与其建立ipsecvpn隧道的合作伙伴网络租户的指示、与ipsecvpn隧道要建立到的合作伙伴网络租户相关联的站点、允许应用业务从其通过ipsecvpn隧道传播的租户站点处的源前缀和用于可以通过ipsecvpn隧道传播的应用业务的目的前缀中的至少一个;

从协定的合作伙伴网络租户接收建立ipsecvpn隧道的指示;以及

指令合作伙伴网络和第一网络的一个或多个设备在它们之间建立ipsec数据隧道。

上述条款中的任何一个,其中网络包括选自包括混合、物理和逻辑的组的连接。

上述条款中的任何一个,其中应用分析在每会话基础上执行。

上述条款中的任何一个,其中策略字符串格式是标准化的。

上述条款中的任何一个,其中采用加密。

在传统网络中,设备在分组级别处为数据做出下一跳路由决定。路由协议用于在设备之间交换路由信息。然而,本地网络通常需要经由网络语句或对于每个路由协议的重新分配来手动配置,使得前缀可以被广告给其他路由对等体。

根据各种示例性和非限制性实施例,提供了一种用于使用流表来减少和/或消除不对称会话流以至少部分地基于输入业务的方向来确定转发路径以便消除以消除不对称流(采用两个不同路径的流的每个方向)和/或分组循环的方法。如下所述,可以在可配置设备124处维持流表。

在应用流开始之后,网络故障可能引起瞬时或半永久不对称。在当前情况下,“不对称”是指在发送和接收时在前向和反向方向上业务所采用的不同路径。在一些情况下,网络不对称可以不利地影响基于反馈的传输协议(诸如传输控制协议(tcp))的性能。

即使在会话流的方向上的网络路径不拥塞,在相反方向上的拥塞也可能中断导致差的性能的反馈流。此外,解决拥塞的根本原因可能造成问题,因为人们可能需要查阅每个设备处的路由表以查看会话流业务的每个方向采用哪个路径。

在“tcp流”级别处的不对称的分析可能对比如防火墙的安全设备造成显著的性能问题和可见性挑战。设备需要查看网络上的所有业务以恰当工作,但是当发生不对称时,由于重新路由而并非所有业务都通过设备。因此,防火墙例如可能只“看到”一侧的业务。

参考图3a,示出了当会话在各个节点“b”、“c”、“e”和“f”之间流动时标记为“a”和“d”的两个配置的设备之间的网络流的示例。如图所示,网络流从a→b→c→d进行,其中a和d是配置的设备。

参考图3b,示出了其中节点c和d之间的网络链路断开的示例。在这种情况下,流可以采取从c→f→d的替代路径。因此,从节点d到节点a的反向流可以替代地采取路径d→f→e→a。在这种情况下,在节点a处,可配置设备124观察到流通过节点b被发送到节点d,但是经由节点e从节点d返回。作为响应,节点a处的可配置设备124可以自动地进行路径切换决定并开始向节点d在其路途上在通过节点e的两个方向上发送流,从而保持/实施对称性。注意,可能存在转换周期,其中可以在两个路径上接收流上的分组。在这种情况下,旧路径上的分组仍然被接收并转发到客户端,而在两个方向上的新分组采取新的路径。此外,在进行另一路径切换决定之前切换路径之后采用压制(holddown)时段。这有助于避免由于传输中的分组和过时的分组导致的摆动。

根据示例性和非限制性实施例,可配置设备124维持基于流的表。基于流的表类似于由传统路由器162用于转发分组的路由表和转发信息库(fib)表。如本文所使用的,“基于流的表”是允许可配置设备124确定流在一个方向上在哪个接口上转发的表。

因此,可配置设备124可以检测在检测到的反向路径不相同时出现的异常。所接收的分组可以基于分组的五个元组被标识为与给定流相关联,所述五个元组具体地为(1)协议、(2)源ip地址、(3)源端口、(4)目的地ip地址和(5)目的地端口。可以使用上述参数将每个分组标识为属于流。

可配置设备124接下来可以进行针对所检测到的异常流的决定,以将流的前向方向移动到新路径,从而防止针对流的任何进一步不对称。例如从应用会话产生的异常流可以在可配置设备处被检测、映射、监视和存储,如本文所述,和/或与诸如用户身份或组身份之类的身份相关联。例如从应用会话产生的异常流可以在多租户控制器处被检测、映射、监视和存储,如本文所描述的,和/或与诸如用户身份或组身份之类的身份相关联。

注意,维持基于流的表和检测不对称的可配置设备124与多租户控制器122检测到不对称的方式是分开的。基于多租户控制器122的不对称在较大的时间尺度上操作,并且可以检测网络级不对称,而不是接口(可配置设备)级不对称。例如,当分配给站点的前缀“移动”到新站点并且业务流采取低效且有时是不对称的路径时,可能发生网络级不对称。

根据示例性实施例,可以向站点分配预定前缀,并且每个可配置设备124可以基于分组上的目的地ip地址并基于已经分配给站点的前缀来选择用于转发给定分组的一组路径。

在这种情况下引起不对称的一个因素是分配给站点的前缀可能不正确,或者在分配时是正确的但是由于物理底层网络中做出的一些改变而变得不正确。当这发生时,设备可能选择一组错误的路径,从而导致不对称。

通过观察流末端,多租户控制器122可以评估哪些流采取这些低效路径,如果它们是由于前缀问题所造成的并且如果存在足够的证据和强度或证据的持续时间来警告it管理员的话。在示例性实施例中,it管理员可以配置多租户控制器122以采取自动动作。多租户控制器122然后可以重新配置前缀以反映它被认为属于的新站点。

在实施例中,节点处的可配置设备124在l4-tcp/udp流级别处进行转发决定。因此,使包括可配置设备124的网络交叉的每个流进入和退出可配置设备124,其在前向和反向方向二者上在指定路径上转发指定流。因此,保持了流对称性。

在示例性实施例中,可以实现l4基于流的表。当同步分组(syn)(用于tcp流)或当看到新的udp会话(先前未知的服务器-客户端用户数据报协议(udp)事务)时,可以检测进入节点的每个流。在成功决定在网络路径上的特定接口上转发流时,发源的可配置设备124记住其在流级别处的决定。

在属于流的业务通过企业网络内的中枢设备而不管业务的最终目的地如何的情况下,中枢设备类似地记住在将该业务转发到其目的地服务器160之前业务在其流表中到达的接口。

当来自服务器160的返回流业务到达可配置设备124处时,代替如典型路由器178将做的那样盲目地选择用于分组的下一跳,中枢设备可以在其流表中查找流,并且在其最初从其接收到流的相同接口上转发该流及其所有分组。

利用上述,到可配置设备124的返回业务应当在前向业务被发送的相同网络上并且因此在前向业务被发送的相同接口上到达。可配置设备124可以在其流表中查找流,并且在其最初从客户端接收到流的相同接口上转发该流及其所有分组。因此,保持对称性。

在属于该流的业务被直接发送到其他目的地(包括但不限于,广告网络134、内容递送网络138以及第三方数据和应用140)或者超出可配置设备的访问的网络路径的情况下,业务可以不流过可配置设备124。在这种情况下,到可配置设备124的返回业务应当在前向业务被发送的相同网络上并且因此在前向业务被发送的相同接口上到达,只要在外部网络中不存在网络问题。可配置设备124可以在其流表中查找流,并在其最初从客户端接收到流的相同接口上转发该流及其所有分组。因此,保持对称性。

以下是说明本文所述的本发明的非限制性实施例的说明性条款:

一种方法,包括:

检测网络上的数据流和相关联的发源接口;

确定在其上转发数据流的第一链路;

在所确定的链路上发送数据流;

接收返回数据流;以及

将返回数据流的转发方向移动到新路径,如果返回数据流经由第一链路之外的链路到达的话;

其中流上的第一分组之后的所有分组在与第一分组相同的路径上被转发。

上述条款中的任何一个还包括将所确定的第一链路存储在流表中的l4级处。

上述条款中的任何一个,其中经由syn或检测到的udp会话检测数据流。

一种联网分支设备,其被配置为:

检测网络上的数据流和相关联的发源接口;

确定在其上转发数据流的第一链路;

在所确定的链路上发送数据流;

接收返回数据流;并且

将返回数据流的转发方向移动到新路径,如果返回数据流经由第一链路之外的链路到达的话;

其中流上的第一分组之后的所有分组在与第一分组相同的路径上被转发。

上述条款中的任何一个还被配置为将所确定的第一链路存储在流表中的l4级处。

上述条款中的任何一个,其中经由syn或检测到的udp会话检测数据流。

上述条款中的任何一个还包括将基于时间的应用域分类和映射应用于确定步骤。

上述条款中的任何一个还包括对应用会话进行建模和预测带宽要求。

上述条款中的任何一个,其中经由syn采用数据流。

典型的企业广域网(wan)经由路由协议来实现。现有的软件设计联网(sdn)技术通常在数据中心128(非wan)中采用,以将“网络智能”拉到集中控制器,从而在数据路径设备上留下简单的转发指令。通常,人们不能将sdn技术用于wan环境,因为wan不允许安全的网络行为和规模。

具体地,与其中在控制器和设备之间存在高容量和弹性连接的基于sdn控制器的解决方案不同,wan众所周知是非弹性的,并且带宽可用性是有问题的。因此,(a)使控制器向设备始终递送细粒度(finegrained)但“简单”的指令是不实际的,并且(b)设备即使在控制器和设备自身之间没有连接的情况下也必须有时在延长的时间段内工作。

典型的路由协议交换和使用三种不同类型的信息:(1)网段和地址,(2)指示网段如何连接的信息,和(3)哪些外部网段不由路由实例控制。使用这样的信息,典型的路由器设备162建立分组转发表812以允许分组在其目的地的方向上从进入接口移动到外出接口。

根据示例性和非限制性实施例,多租户控制器122可以用于在算法上确定和建立无循环数据转发模型,其可以包括转发表812的创建和管理。如下文更全面地描述的,该算法可以计及网络故障并调整无循环数据转发模型以计及网络内的资产损失。

如本文所描述的,集中配置的多租户控制器122可以是(1)网段和地址以及(2)指示网段如何连接的信息的创建者和源二者。集中多租户控制器122然后可以经由dc或可配置设备124发现什么外部网段未由路由实例控制。

例如,dc/可配置设备124可以运行比如边界网关协议(bgp)的路由协议以与dc中的其他路由设备/实体对等。这些其他路由实体可以提供关于网络的其余部分以及它们如何连接或如何到达网络地址和段的信息。如果存在多租户控制器122可以在网络db中保存的改变,则dc/可配置设备124可以周期性地将该数据导出到多租户控制器122。相同的网络db还可以存储多租户控制器122使用可配置设备124和实例创建的网络描述。合并这两者,多租户控制器在不运行路由协议本身的情况下具有整个网络的视图。

多租户控制器122可以在配置的设备上直接建立转发表812,使得业务被转发到正确的接口上。

结果是其中实施各种规则的无循环转发模型。例如,一个规则可以要求辐条永不是转接(transit)点。因此,业务不能在配置的vpn之间或在专用wan和配置的vpn之间转发。

在传统网络中,如果路由表允许,则任何可用的接口或电路是将业务转发到目的地的候选者。这要求(a)没有错误配置和(b)在网络改变期间,不存在可能意外引起循环的替代路径。传统的联网尝试通过配置“路由重新分发规则”和防止随机接口或出口点(诸如,辐条)被用于转发业务的其他仔细选择的手动约束来防止这种情况。根据本文描述的实施例,可以限制分支设备152允许业务通过它们转接,因此消除了循环原因的一个方面。

第二规则可以要求在可配置设备124处允许以下转接:(1)辐条←→中枢←→辐条以及(2)辐条←→中枢←→dc/dc转接/专用wan。

一旦防止分支/辐条在网络段之间转发业务(如上所述),则针对dc/可配置设备124建立规则。由于dc确实是用于业务的转接点,因此需要允许转接业务。以这种方式,业务可以在(a)系统控制的网络段和(b)系统控制的和非系统控制的网络段之间转发。

第三规则可以要求不许可中枢到中枢转接。虽然中枢设备需要允许如上所述的转接业务,允许业务在两个dc/可配置设备124之间的直接转接也可能导致循环。这个问题可以通过在dc/可配置设备124之间使用经典的路由协议(诸如例如bgp)来解决。然而,其也可以通过防止在dc/可配置设备124之间的直接转发而不是要求外部非系统控制的网络或dc/可配置设备124之间的非系统控制的网段来解决。

最后,第四规则可以要求每个中枢在所有时间都具有用于任何给定ip前缀的至多一个路径。该规则用于确保发往前缀的业务采取预先计算的路径而不是许多同等可用路径中的一个。

因此,多租户控制器122以可扩展和可靠的方式在中到非常大的网络中自动创建和管理转发表812。

根据各种示例性实施例,可配置设备124连接可以展现如本文其他地方描述的物理连接148、逻辑连接150或混合连接。

根据各种示例性实施例,上述的算法确定和建立无循环数据转发模型可以考虑延迟问题以及本文描述的各种形式的不对称和各种可能的故障状况。

以下是说明本文所述的本发明的非限制性实施例的说明性条款:

一种方法,包括:

确定包括网络的多个网络段;

确定多个段被连接所采用的方式;

至少部分地在没有路由协议的情况下确定网络段以及段如何被连接;

经由与网络相关联的中枢设备发现多个外部网络段;以及

利用包括网络的多个网络段、多个段被连接所采用的方式以及多个外部网络段。

一种用于跨多个分布式计算环境控制多个资产的可集中控制多租户控制器,其中,所述控制器被配置为:

确定包括网络的多个网络段;

确定多个段被连接所采用的方式;

至少部分地在没有路由协议的情况下确定网络段以及段如何被连接;

经由与网络相关联的中枢设备发现多个外部网络段;以及

利用包括网络的多个网络段和地址、多个段被连接所采用的方式以及多个外部网络段来建立至少一个转发规则。

一种系统,包括:

多租户控制器,其被配置为创建网络的网络描述;以及

中枢设备,其形成网络的一部分,并且被配置为与至少一个其他设备执行路由协议,从而产生网络信息,并配置为将网络信息传送到多租户控制器,其中多租户控制器被配置为将网络信息与网络描述合并。

上述条款中的任何一个,其中网络拓扑标识、模拟和负载测试由多租户控制器控制。

上述条款中的任何一个还包括检测不对称网络数据业务和相关联的网络设备。

上述条款中的任何一个,其中网络包括选自包括混合、物理和逻辑的组的连接。

上述条款中的任何一个,其中存在选自包括bgp、is-is、eigrp和ospf的组的所采用的路由协议。

上述条款中的任何一个,其中路由至少部分地基于网络前缀类型。

网络数据流中的不对称可能导致性能问题并影响访问那些应用的用户168。不对称还可能导致流感知功能(比如防火墙)失败,因为它们可能只能检测到流的一个方向。在传统网络操作中,当出现性能问题时,网络和it管理员必须对问题进行故障排除。如果问题由不对称引起,则管理员通常必须逐设备地评价网络,以标识可能已经在受影响的数据流的路径中的特定设备,并且检查路由和转发表812,然后纠正可能导致不对称的可能路由配置。该手动过程缓慢,并且可能会在执行时中断网络使用。所需要的是用于监视应用和网络数据流(诸如可以由多租户控制器122收集)并且使用这样的数据来自动标识不对称流并标识不对称数据流可能穿过的网络设备的方法和系统。

根据本文描述的本发明的方法和系统,多租户控制器122可以至少以其中维持用于网络中的每个设备的入口点和出口点的网络拓扑数据库的形式维持网络拓扑,并且使用该网络数据周期性地运行算法以确定不对称数据流和与这样的不对称数据流相关联的设备。不对称如该术语在本文中使用的那样包括但不限于带宽不对称、媒体访问不对称、路径不对称和丢失率不对称(例如,相对于交替方向或反向,网络拓扑的结构可能在沿一个方向传播的数据流中创建更大的分组丢失)。

在实施例中,配置的设备可以收集监视数据,诸如与传输通过设备的数据流相关的信息。这样的数据流记录可以携带与设备上的入口点和出口点相关的重要信息。如图5所示,数百万个这些数据流记录可以从遍及网络的设备输出到多租户控制器122。多租户控制器122可以存储信息,包括但不限于网络拓扑数据库,其包括关于在每个网络设备上发生的数据流的入口点和出口点的信息以及数据流如何互连、以及来自网络中的多个设备的单个数据流上的数据流记录。

在实施例中,多租户控制器122可以使用所存储的网络拓扑508和相关的数据流信息来周期性地运行“不对称检测”算法504,其基本上标识通过一个路径从设备退出的多个数据流和在不同路径上(即,不对称)重新进入设备的返回数据流的存在。在如图5所示的简化示例中,分支b520可以与辐条设备相关联。数据中心1128可以具有中枢设备1522,并且数据中心2128可以具有中枢设备2524。继续该示例,从分支b520发起的意图用于坐落在数据中心1中的服务器160的连接可以采取到数据中心2的路径而结束,并且从数据中心2去往数据中心1(例如,由于传统路由原因,或者由于在两个数据中心128处可用的ip前缀的错误配置)以及返回业务然后可以直接从数据中心1到分支b520。分支b520在从数据中心1接收到业务时可以立即校正,因此业务的前向方向被直接发送到数据中心1。可以按需并且在多租户控制器122之外进行这种校正。该改变可以例如通过辐条设备报告给多租户控制器122。多租户控制器122可以标识不对称流,并且查看哪个数据中心设备参与流的传输中(在该示例中,其是中枢设备1522和中枢设备2524),并且推断流不正确地去往中枢设备2524,并且报告这一点。多租户控制器122可以标识在其上发生这种不对称的ip地址范围,聚合它们并且向诸如it管理员的用户报告它们,使得可以在站点上校正ip前缀配置。为了防止正误识,算法可以在宣称网络中的不对称的存在之前使用包括其他设备和不同应用及其数据流的附加加权因子。多租户控制器122可以读取数据流表,以便允许多租户控制器122确定数据业务如何外出(例如,数据从分支152导出)。可以检测不对称,然后多租户控制器122可以通知配置的设备,如图5所示,并且配置的设备可以采取转发动作以改善数据流不对称。

根据示例性实施例,用于本文描述的应用会话建模和带宽要求预测的这样的方法和系统可以应用于如上所述的应用会话,并且可以解决本文所描述的各种形式的不对称。

以下是说明本文所述的本发明的非限制性实施例的说明性条款:

一种方法,包括:

监视多个网络设备,以收集包括网络上的每个设备的数据流记录的网络性能数据并创建网络拓扑数据库;

访问网络拓扑数据库,其包括关于每个设备的入口点和出口点的信息、设备被连接所采用的方式以及来自网络上的多个设备的单个数据流上的多个数据流记录;以及

利用网络拓扑数据库来执行不对称检测算法以标识经由第一路径退出设备并经由不同的第二路径返回到设备的一个或多个数据流。

上述条款中的任何一个,其中控制器被配置为接收信息和检测不对称。

上述条款中的任何一个,其中检测至少部分地基于延迟属性。

上述条款中的任何一个,其中,在每会话基础上执行应用分析。

上述条款中的任何一个,其中不对称选自包括带宽不对称、媒体访问不对称和丢失率不对称的组。

传统上,已经使用应用的域名来定义应用和应用数据。然而,这较不令人满意,因为可能存在用作到应用的入口点的许多域名变体,并且不知道所有变体可能会干扰正确标识应用。例如,软件即服务(saas)应用网页可以嵌入调用到多个域名的http应用编程器接口(api)调用的小部件(诸如由内容递送网络138(cdn)提供商域所完成的),包括但不限于akamai、microsoftazure和amazoncloudfront。这些小部件可以生成应当理想地还与嵌入它们的saas应用604相关联的附加业务。

上下文还可以影响哪些数据流被认为是应用的一部分。例如,在web浏览器内打开的电子邮件应用可以具有通过访问邮件服务器来创建数据流的窗口,但是还可以存在由向电子邮件应用发送内容的广告服务器所创建的数据流。将这样的广告业务流包括在被认为是作为电子邮件应用的应用的一部分内是更具代表性的描述,因为用于管理来自电子邮件应用的业务的策略将低估数据流量,如果比如广告业务的这样的其他流不被包括的话。因此,需要使得能够使用作为基于应用的数据分类的决定因素的基于时间的内聚性和时间聚类数据流来标识与应用相关联的域的方法和系统,包括锚定域,其是用于应用的高业务或频繁使用的入口点。

根据本文描述的本发明的方法和系统,多租户控制器122可以从可配置设备124接收指示哪些域与锚定域相关联的数据,并将这些域分配给saas应用604,使得到saas应用604的更完整的一组入口点是已知的并且由多租户控制器122存储。这可以在测量、监视和路由与saas应用604相关联的真实数据流方面具有优势,而传统技术可能通过不识别实际上与应用相关联地生成业务的域的完整集合而低估与saas应用604相关联的业务。域类型可以包括但不限于顶级域608(例如,“.com”)、地理域(例如,国家域)和基础设施域(例如“.arpa”)。

锚定域如该术语在本文中使用的那样通常是指用于saas应用604的入口点域。锚点域可以被认为是顶级域608,并且可以用于找到与saas应用相关联的子域。例如,在访问锚定域之后访问的域可以与锚定域相关。在示例中,office365可以具有入口点域但具有许多相关的域名(例如,server1.office365.com)。在另一示例中,比如yahoo邮件的电子邮件应用可以使用多个邮件服务器,并且还具有从其他服务器160向浏览器提供广告的帧。多租户控制器122可以存储这些锚定域-域关联并且时间距离方法可以用于发现与锚定域相关联的域。在示例中,参考图6,在相同客户端512访问锚定域之后的可配置时间段内被访问的域可以与锚定域相关。相关技术可以标识与锚定域不密切相关的一些域(例如,从浏览器窗口中的不同选项卡访问的域),并将这些与锚定域相关联。被标识为与锚定域相关联的域可以被发送到多租户控制器122,并且在多租户控制器122处,可以执行进一步的处理以消除正误识并将它们提取到域的经校正集合。网络内的可配置设备124可以检测应用的锚定域并且标记数据的源和检测的时间。在该检测时间之后,来自相同业务源的正在进行的数据流可以被标记为属于与锚定域相关联的应用。多租户控制器122可以继续从可配置设备124接收关于业务源的数据,并将数据流分类为例如以下之一:i)可能属于应用a的应用b和c,ii)没有已知定义的可能适合为属于a的未知应用,或iii)可能不适合为属于a的应用d和e。基于时间的数据流的内聚性可以用于聚集似乎具有共同底层saas或其他应用的业务和数据流。这种基于时间的内聚性可以允许帮助数据业务被检测并且与应用相关联,诸如在应用内呈现或与应用结合(例如,插页式广告)呈现的广告业务。

根据示例性实施例,用于基于时间的应用域分类和映射的这样的方法和系统可以应用于如上所述的应用会话。

以下是说明本文所述的本发明的非限制性实施例的说明性条款:

一种方法,包括:

在设备处检测具有锚定域的应用;

利用具有访问应用的入口点域的业务源和检测时间来标记应用;以及

将来自业务源的网络流在从检测时间起的预定时间内指定为属于该应用。

一种联网分支设备,其被配置为:

检测具有锚定域的应用;

利用具有访问应用的入口点域的业务源和检测时间来标记应用;以及

将来自业务源的网络流在从检测时间起的预定时间内指定为属于该应用。

上述条款中的任何一个还包括对应用会话进行建模和预测带宽要求。

上述条款中的任何一个还包括执行异常会话标识、封锁和限制。

上述条款中的任何一个,其中应用分析在每会话基础上执行。

基于应用使用来规划企业带宽要求以及开发用于处理与应用相关联的数据流的相关联的策略至少部分地基于以下事实可能是困难和不准确的:在相同企业内,相同应用可能以非常不同的方式被企业内的用户组利用。例如,相同应用可以具有创建不同数据流类型的不同操作模式。作为简单的示例,用户组1可以使用应用z来下载汇总财务报告,而用户组2可以使用应用z来创建这些报告。在该简化的示例中,用户组2在使用时间方面是应用z的较重用户,但是在与应用z相关联的数据流的性质和量方面也是如此。如果这样的差异未被发现并且用作创建应用简档的一部分,则这样的简档可能会错误计算对于运行应用所需的网络资源。当跨应用聚合时,问题可能复杂,并且可能导致对于预测实际未来网络带宽要求是不可靠的企业带宽估计。在另一个示例中,销售和营销部门中的人员可以具有与当应用被来自工程部门的人员使用时相比针对相同应用的不同使用简档。因此,需要标识使用差异的过程,可以有助于规划带宽容量需求和做出知情的策略决定以及建模(多个)应用会话以确定网络带宽,其中应用会话包括事务和批量应用以及混合使用的那些,并且使用数据挖掘和其他统计技术来预测网络要求以及可能对数据流或其他网络弱点产生不利影响的有限容量的潜在点。这样的解决方案可以标识使用模式中的异常并且应用必要的检查,选择适当的wan路径,并且分配适当的带宽容量(基于应用需要什么)。

根据本文描述的本发明的方法和系统,可以将统计和数据挖掘技术应用于由会话的应用使用的动态和持续表征,以用于性能和预测性规划目的,可以改善网络性能。大数据类型分析技术可以用于表征与应用使用相关联的流。配置的辐条设备可以收集并向多租户控制器122发送这样的流数据。分析该数据可以改善管理员沿至少以下维度汇总应用的资源需要的能力:

·两个方向上的带宽使用

·网络响应时间

·应用响应时间

·活动和空闲应用会话的数量

·并发应用会话的最大数量。

可以向用户(诸如网络的it管理员)报告分析流数据的结果,并且以业务简档摘要的形式将其提供给辐条设备。辐条设备继而可以使用业务简档来监视带宽使用和应用性能。发送到辐条设备的数据可以包括但不限于i)基于在控制器处执行的分析确定的入口和出口带宽,以及ii)应用响应时间。辐条设备可以使用该信息来确定用于应用的各种可用路径中的哪一个最适合于该应用。如本文所描述的建模和其他分析技术也可以用于表征超出与应用使用相关联的流数据的数据。在建模中使用的参数可以包括但不限于应用响应时间、入口/出口带宽、服务器响应时间、事务开始和结束时间、事务的大小或一些其他参数。

应用可以广泛地分为三类:事务应用、批量应用和媒体应用。事务应用可以由应用处理的事务的大小以及事务的频率来描述,其可以被建模和表征。比如中心性和分类的数据挖掘技术也可以组合应用以微调模型。结果所得的模型可以能够更好地预测用于典型应用会话的事务的大小和频率,以及应用会话的频率。批量应用本身消耗为它们提供的用于批量数据传输的任何量的带宽,并且通常是文件传输应用。这些应用也可以被建模,但仅用于预测这些应用会话的频率。可以对落入事务和批量类别二者的应用进行建模,以标识使用的事务时段对批量时段,以及事务和批量事务的频率。媒体应用在其自己的视角是唯一的。这些应用具有以下类型的特性:a)对延迟和抖动敏感,b)可以是单向的,3)当双向时,将看起来是具有不同性质的两个单向流。这些应用的特征还在于在单向基础上协商和使用的编解码器类型。所使用的一些示例编解码器包括用于视频的h.264、mp4、以及用于音频的g.711和g.729。这些编解码器指示在每个方向上需要多少带宽,以及延迟和抖动要求是什么。

在实施例中,用于表征应用会话的建模和分析方法以及对应的网络和带宽要求还可以用于实时监视网络针对子信道级别处的带宽要求(事务和批量应用类型),并标识和预测带宽要求的趋势。因为与应用相关联的业务流特性不是静态的,并且单个数据流的特性可以在会话过程之上改变,所以应用带宽需要的准确测量和预测可能需要诸如由可配置设备124执行的实时监视(如本文所述),以检测使用和带宽改变。例如,在用于应用的使用的单个会话的数据流内,可以监视不同的行为。例如,从事务型数据流移动到批量类型的应用行为。此外,不同的人类用户168可以使应用会话具有不同的带宽简档。应用版本化也可以影响带宽(即,最近的升级可以与现有版本不同地利用带宽来提供新的特征)。被监视的数据从可配置设备124发送到多租户控制器122以用于处理。

为了开发准确的应用简档,应用会话的较长时间窗口可以更好地允许多租户控制器122检测对带宽和网络资源要求具有影响的存在的多个特性。在单个应用会话内,可以存在被检测的多个业务类型,诸如:事务(例如,通过因特网142的人对人聊天会话)、实时、双向(例如,voip呼叫(低带宽);视频呼叫,比如skype(高带宽))和/或批量传输(例如,大文件共享应用)。可以通过传输控制协议(tcp)或用户数据报协议(udp)数据流来引导业务。可以使用统计模型针对应用和/或子应用将带宽需要确定为历史趋势。基线应用事务时间可以使用统计模型在每个站点的上下文中计算,每个应用作为历史趋势。还可以使用统计模型为媒体应用计算分组丢失、抖动和mos分数作为历史趋势。

基于应用类型检测,多租户控制器122可以分析其在分支152级别处从可配置设备124所接收的应用会话数据,以确定什么量的带宽对于正确的应用性能是必需的。应用性能分数可以用于记录和调整用于应用的带宽简档,其中简档描述了对于在应用会话期间检测到的数据流的(多个)类型所需的性能和带宽标准(即规则)。在示例中,应用业务质量度量(atqm)是一种类型的性能分数,并且它是针对完成应用事务所花费的时间的量度。为了测量atqm,根据本文描述的方法和系统,配置的设备可以追踪客户端512和服务器160之间的请求和响应(对于事务应用),并且确定从用户168的角度对于完成完整事务所花费的时间。

对于事务数据流,可以确定在基于每个方向的事务的时段期间所需的峰值持续带宽。该确定可以基于历史监视量度。然后可以在业务简档中记录带宽。对于事务应用,事务的大小和事务的频率可以利用比如正常、威布尔或长尾分布(诸如帕累托)的各种分布来建模。这样的分布可以使用参数来表征,诸如在短时间间隔(例如,几百毫秒到几秒)之上的平均/峰值带宽、事务的频率、以及所标识的空间和时间局部,和/或数据挖掘技术(比如中心性和分类)也可以组合应用以微调模型。这样的模型可以用于预测用于一个应用会话的事务的大小和频率,并且从而预测'n'数量的会话的组合。在示例中,在事务的开始时,可以基于正在使用的编解码器来确定需要每秒3mb。通过对等进入会话握手,可配置设备124可以能够例如基于网络业务来确定使用哪个编解码器以及以什么质量协商。可配置设备124可以使用该信息将数据业务放置在适当的数据路径上,例如以避免在高速“通道”上放置批量下载。由于恶意软件通常执行不适合数据通道的数据流(它们发生在所述数据通道上),所以这样的标识可以帮助安全实现和可疑数据流的分析。

频繁地在数据网络中,用于单独应用的单个批量数据流可能潜在地消耗所有可用带宽,但是实际上由于客户端512和服务器160的tcp行为、在任一端处的套接字(socket)缓冲器和流的带宽延迟乘积(bdp),存在可以小于总链路容量的最大带宽。由多租户控制器122接收的监视信息可以用于基于数据流类型来确定对于应用流所看到的最小、平均和最大带宽的范围,并且可以计算并添加到用于应用的业务简档。多租户控制器122可以至少部分地基于流量分类简档来识别事务流已经变为批量流,且反之亦然,并且应用可以至少基于所开发的简档被分类到类别中。这可以帮助利用多个功能容量对应用进行适当分类。例如,单个应用可以启用聊天和视频会议,第一个是事务低带宽,并且第二个是事务、实时和高带宽。用户类型可以部分地确定应用的哪一方面更可能被使用、一天中的时间或一些其他因素。应用的用户168也可以被分类并且合并到应用简档(记账员对贷款人员等)。一旦网络中的辐条设备具有来自多租户控制器122的应用简档,则他们可以更好地适应于改变数据业务处理和链路容量使用。

根据示例性实施例,用于本文所描述的应用会话建模和带宽要求预测的这样的方法和系统可以应用于如上所述的应用会话。此外,这样的方法和系统可以利用如本文所描述的动态自动化qos定义。

根据示例性实施例,本文所描述的方法可以应用于如本文所描述的应用。示例性实施例可以利用如本文所描述的文件传输应用。本文描述的方法和系统可以采用如本文所描述的建模和分析。其他示例性实施例可以利用如本文所描述的用于对数据流进行分类的参数。

以下是说明本文所描述的本发明的非限制性实施例的说明性条款:

一种方法,包括:

从联网辐条设备接收描述去往和来自应用的网络流的信息;

分析该信息以在至少一个维度中表征该应用,所述至少一个维度选自包括双向带宽使用、网络响应时间、应用响应时间、空闲和活动应用会话的数量以及并发应用会话的最大数量的组;以及

将该维度作为业务简档信息发送到至少一个联网辐条设备。

上述条款中的任何一个,其中该信息描述l4级网络流。

一种用于跨多个分布式计算环境控制多个资产的可集中控制多租户控制器,其中,所述控制器被配置为:

从联网辐条设备接收描述去往和来自应用的网络流的信息;

分析该信息以在至少一个维度中表征该应用,所述至少一个维度选自包括双向带宽使用、网络响应时间、应用响应时间、空闲和活动应用会话的数量以及并发应用会话的最大数量的组;以及

将该维度作为业务简档信息发送到联网辐条设备。

上述条款中的任何一个,其中该信息描述l4级网络流。

一种方法,包括:

通过具有集合分布的事务的频率和事务的大小对在联网环境中操作的事务应用进行建模,以产生一个或多个建模参数;以及

分析建模参数以预测一个或多个事务应用会话的频率和数据流大小。

上述条款中的任何一个,其中集合分布选自包括正常、威布尔和帕累托的组。

一种方法,包括:

通过具有集合分布的事务的频率和事务的大小对在联网环境中操作的批量应用进行建模;以及

分析建模参数以预测一个或多个批量应用会话的频率。

上述条款中的任何一个,其中集合分布选自包括正常、威布尔和帕累托的组。

一种方法,包括:

通过具有集合分布的事务的频率和事务的大小对在联网环境中操作的应用进行建模,以产生一个或多个建模参数;

至少部分地基于该建模来检测混合应用业务特性,其中所述混合应用业务特性包括与事务应用的至少一个数据业务特性相关的第一数据业务类型和与批量应用的至少一个数据业务特性相关的第二数据业务类型;以及

分析建模参数以预测一个或多个混合应用会话的频率和数据流大小。

上述条款中的任何一个,其中集合分布选自包括正常、威布尔和帕累托的组。

一种方法,包括:

将与应用使用会话相关的网络使用数据从可配置设备发送到多租户控制器,其中网络使用数据包括与应用相关联的第一类型的数据流以及与应用相关联的第二类型的数据流;

至少部分地基于与所述应用的性能相关的历史数据和相关联的数据流来标识针对与所述应用相关联的第一和第二类型的数据流中的每个的带宽要求;

在所述多租户控制器内将所述带宽要求存储为应用带宽简档;

将应用带宽简档发送到至少一个辐条设备;以及

使用所述应用带宽简档来路由与所述应用相关联的数据流。

上述条款中的任何一个,其中应用分析在每会话基础上执行。

上述条款中的任何一个,其中路由至少部分地基于动态和自动化qos定义。

上述条款中的任何一个,其中应用选自包括事务应用和文件传输应用的组。

上述条款中的任何一个,还包括采用选自包括帕累托和威布尔的组的建模和分析。

上述条款中的任何一个,进一步利用参数来对数据流进行分类。

在传统网络中,指示可用带宽量的属性经常被手动指定并且通常是不正确的和/或期满的。这可能负面影响诸如路由、业务工程和服务质量(qos)控制之类的因素。需要的是利用可以自动化和实时更新的活动和空闲链路的链路带宽检测的机制。传统网络通常在单独接口级别处使用qos标准化控制来管理网络性能,并且将这样的特性确定为业务流的优先化。qos标准化控制包括但不限于整形、监督、随机早期丢弃(red)、加权red、尾部丢弃、低延迟队列、公平队列818以及附接到多个队列类型的缓冲器。这些控制可以用于对业务进行分类并根据业务分类提供例如基于权重的带宽分配。在一些实施例中,qos可以以动态和自动化方式由不需要使用输入并且操作以调整针对网络状况和要求的qos的系统定义。然而,企业需要常常以可以与网络优先级不同的商业优先级来表达,并且当处于冲突时,传统控制可以给予比商业优先级更高的网络优先级。例如,实时时间应用可以具有比批量应用更低的商业优先级,然而当前技术通常将仍然相对于批量应用而优先选择实时应用。

传统网络还可以不允许或促进动态地改变固定的队列、缓冲器、调度器和整形器154的数量。因此,如果需要添加新的应用并且它们需要更多数量的较低延迟队列,则将不可能服务这些应用并且实现所需的性能。所需要的是用于使用被表达为网络策略的商业优先级的方法和系统,其相对于网络优先级优先选择并且执行商业优先级,并且其可以通过动态地增加或减少qos资源(例如,队列、缓冲器、整形器154和调度器)来缩放以确保在策略的改变的情况下满足商业优先级需要。

在传统网络中,具有事务和批量功能和相关数据流的混合应用具有不同级别的带宽要求,传统网络通常在识别和调整以适应于最优应用性能方面较差。需要的是用于标识应用的当前功能容量(例如,在事务或批量操作模式下)并且至少部分地基于应用的当前操作模式并根据业务策略来调整对于应用可用的网络带宽的方法和系统。此外,需要异常业务检测以便表征针对给定应用的典型应用会话的带宽要求是什么以及将分配给应用的带宽的使用限制到适于允许应用正确工作的什么级别。约束带宽可能是有利的,例如,在防止拒绝服务(dos)攻击中,在其期间带宽需要将超过由策略指定的许可带宽阈值。

传统上,使用测试响应测量和/或基于活动业务的估计来确定链路容量。当链路空闲并且通常发生在站点的操作的“开始”时,可以执行测试响应。可以将特定请求发送到由企业或第三方托管的服务器160,并测量可用带宽。基于活动业务的估计是指当存在通过链路的活动业务时系统通过其估计可用带宽的方法。然而,当活动业务流过链路时,测试响应测量可能是破坏性的,并且可能产生错误的结果。基于活动业务的估计依赖于客户端512和服务器160之间的tcp连接的三个关键行为:1)如果在tcp连接的路径上的任何地方存在拥塞,则将存在分组丢失;2)发起具有在每个方向上交换的多于仅仅几个分组的相对长寿命的tcp连接的客户端512将尝试不断地增加其传输数据的速率。服务器160将做同样的事情,如果它发送大量数据的话。对于非常长寿的连接,如果网络状况允许,则客户端512和/或服务器160可以使用整个链路的容量。并且,3)在执行上述行为2之后,如果网络利用率已经达到其限制,则tcp连接将在执行行为2之前正确地确定它们在链路上的份额。

参考图7,位于网络分支152内的配置的设备可以在每个方向(去往和来自)上在连接到网络705的每个链路上采用整形器154。整形器如该术语在本文中使用的那样可以是可配置设备的组件或独立于可配置设备的组件。整形器154是将数据量限制为规定值的网络工件(artifact)。例如,如果整形器154在一个方向上被设置为10mbps,则它将不允许在该方向上大于10mbps,而不管在该方向上正在尝试多少。如果尝试发送大于10mbps,则整形器154将丢弃分组以将速率保持在10mbps处。拥塞控制算法(例如,reno和二进制增加拥塞控制(bic))可以用于带宽估计。对于空闲链路,可以以类似于因特网速度测试的方式执行估计。对于活动链路,可以通过连续监视和校正来确定链路容量。在示例中,链路可以具有入口和出口整形器154,如本文所描述的,其控制可以在链路上放置多少业务或从链路接收多少业务。可以丢弃超过整形器154的限制的任何业务。整形器的限制可以由带宽估计逻辑设置。在开始时,该限制可以设置为“无限制”或非常大的值。带宽估计可以周期性地考虑针对每个整形器154的两个输入:(a)在整形器154处丢弃的分组的计数[drop-sh](b)由于链路上的流收集上的拥塞而丢弃的分组的计数[drop-cng]。带宽估计逻辑可以“寻找”适当的链路容量,如图8a中所描绘的。如果在连续两分钟内在整形器154处未检测到drop-cng但是检测到drop-sh,则在一个示例中,结果可以是将链路带宽增加5%。在另一个示例中,如果在连续2分钟内检测到drop-cng,则链路带宽可以被设置为当前链路带宽的95%处(对此的一个例外可以是在启动/初始化阶段中,其中链路带宽=当前链路带宽的80%,以允许更快的会聚(convergence))。在另一个示例中,如果在超过两个小时内未检测到任何事物,则链路带宽可以增加5%。

根据如本文所述的方法和系统,可以检测这些丢弃,并且如果这些丢弃在一段时间(例如,120秒)内存在,则系统可以宣称它已经检测到在整形器154处的可作用的丢弃(drop-sh)。在分支152处的配置的设备还可以监视可能在tcp连接上发生的分组重传。分组重传可以指示分组丢失(因此它被重传)。然而,分组丢失可能由于许多状况而发生,其中一些不是由于一般网络拥塞。例如,到堪萨斯州的特定服务器160的tcp连接可能看到分组重传,但其他不能。这很可能是由于服务器160或网络问题接近堪萨斯州的服务器160。为了避免正误识,本文描述的系统和方法可以整体地监视跨所有连接的分组重传,评估看到分组重传的应用的数量,并且在每10秒被处理的(在一个假设示例中为)180秒的移动时间窗口上执行这样的操作。因此,180秒的时间窗口每10秒10秒地移动到“右侧”。在另一个示例中,如果十二个这样的连续测量指示例如在该设备处的多于三分之二的当前活动应用看到分组重传,则系统可以宣称它已经检测到在该链路上的在网络528中的可作用的拥塞。这样的拥塞造成的分组丢失(drop-cng)可能导致分组重传。利用drop-sh和drop-cng,系统可以例如执行以下操作:

如果网络中没有拥塞并且如在整形器154处通过丢弃所看到的存在针对更多利用的需求,则可以通过减轻整形器154限制来执行增加链路容量的尝试。如果网络中存在拥塞,则可以通过减小整形器154限制来实现在链路上推送的数据速率的降低。结果可以针对每个tcp连接以调整到新的设置,并且在设定的一段时间之后,在整形器154处确定新的可用容量。

根据本文所述的本发明的方法和系统,可以基于与业务相关联的商业优先级的水平来添加或删除整形器154。这可以例如基于应用需求来动态地执行,其中动态执行按照在多租户控制器122处维持的策略来执行。基于性能的路由可以通过自动地和动态地估计链路容量来近实时地实现。

可以至少部分地基于商业优先级来对网络业务进行分类,并且可以至少部分地基于所分配的商业优先级来确定到在网络上运行的多个应用的带宽分配。网络管理员可以创建多个商业优先级并且为每个商业优先级分配优先级次序和/或排名。在示例中,优先级次序的较低数字可以被认为是较高优先级。例如,管理员可以创建4个类“白金”、“黄金”、“银”和“铜”,并给予他们优先级次序10、20、30和40。比如office365的重要应用可能获得白金的、高优先级排名,而娱乐应用(诸如youtube)可能排名为最低优先级。管理员还可以提供优先级类之间的带宽的百分比分配(例如,50%给白金、30%给黄金等等)。配置的设备可以首先检测每个应用数据流的网络类型,例如实时、批量或事务。配置的设备可以创建针对每个商业优先级(例如,严格优先814、公平818和异常820)的多个队列。严格优先队列814例如可以是用于发送延迟敏感实时业务(例如,语音)的队列。如果业务存在于队列中,则可以在服务其他队列(例如,公平818或异常820)之前对其进行服务。公平优先818队列示例包括但不限于携带事务或批量业务(诸如web应用或文件下载)的队列。这些队列可以以轮循方式与异常队列820一起被找到。异常820队列是携带用于示出异常带宽消耗行为(例如,很少消耗多于10kbps的聊天应用开始消耗其常规消耗的5倍)的应用的业务的队列。异常队列820可以用于将以大富余超过其基于业务简档的带宽的那些流。整形器154可以用在异常队列820之前,以确保异常流不会影响可用于其他流的带宽。异常队列可以具有限制这样的异常行为应用所允许的最大带宽的整形器154。队列的数量和用于每个的缓冲量可以基于使用数据流的当前数量及其网络类型的公式。公平队列818可以被分成用于事务业务对批量业务的公平队列818。

在实施例中,实时业务流可以被分配到实时队列,事务流可以被分配到事务公平队列,并且批量流可以被分配到批量公平队列818,并且由多租户控制器122引导,如本文所描述的。从事务改变到批量(反之亦然)的流可以动态地移动到正确的队列。配置的设备可以按每个商业优先级使用整形器154。该配置的整形器154可以被设置为跨当前针对严格814、公平818和异常820队列排队的应用流的总估计带宽的总和。如果管理员已经给出跨商业优先级的百分比带宽分配,则可以使用该配置的整形器154。管理员可以动态添加或删除商业优先级。这继而可以用于动态地添加或删除商业优先级整形器154和队列。商业优先级调度器可以“排空(drain)”业务。如在该上下文中使用的,“排空”指的是移除位于队列中的分组,并且跨多个商业优先级的队列从队列将其发送出接口。调度器可以使用使用商业优先级和队列的网络类型的组合的算法来决定如何排空它们。该算法可以确保如果接口具有足够的带宽,则具有实时网络类型的较低商业优先级业务将继续具有令人满意的性能,而不影响属于较高商业优先级的实时的、批量或事务应用流的性能。如果足够的带宽不可用于两个商业类,则商业优先级调度器算法可以优先选择较高商业优先级的流。当存在多于一个商业优先级时,算法可以使用类似的方法。

在实施例中,并且参考图8b,被认为对于商业优先级足够的带宽可以是实时流带宽量、用于事务流的持续峰值带宽和批量流的最小持续带宽的总和。该信息可以呈现在应用的业务简档中。在商业优先级中,实时流可以被给予较高优先级,随后是事务流,随后是批量流。事务和批量之间的优先级可以不是严格814,而是可以基于权重,其中为事务流提供较高权重,但是为批量流提供非零权重。然而,实时流可以具有严格814优先级并且首先被排空。算法可以考虑因特网链路的动态改变的链路带宽还有由管理员在业务类之间设置的百分比分配规范。可以针对每个wan接口双向地使用动态的算法监视。其可以针对wan接口上的出口方向应用于朝向wan的wan业务。其还可以针对朝向lan的出口方向应用于来自wan的wan业务,并且配置的设备可以能够以被动方式监视带宽使用而不引入附加数据业务以便测试带宽(即,配置的设备不添加到拥塞)。

在实施例中,配置的辐条设备可以在合理或设置的时间段处调整带宽队列,以确保提供给应用的所有会话的带宽匹配于应用会话的需要,而尊重商业优先级。例如,如果存在p1应用的10个会话,并且每个会话需要10kbps,则可以调整带宽队列,使得向该应用提供100kbps,假定带宽可用于p1应用的其余部分,并且由所有p1应用使用的带宽的总份额不超过一定百分比。如果相同应用的会话数增加到50,则可以调整带宽队列,使得向该应用提供500kbps,而仍然满足其他约束。配置的设备可以取决于所消耗的带宽量来检测异常应用会话,并且可以将这些会话移动到异常队列820,其中提供给这样的应用会话的带宽被限制。

根据示例性实施例,本文描述的用于异常应用会话标识、隔离和限制的这样的方法和系统可以应用于如上所述的应用会话。此外,这样的方法和系统可以利用如本文所描述的动态自动化qos定义。本文描述的方法和系统可以采用建模和分析并使用如本文所述的qos标准化控制。其他示例性实施例可以利用如本文所述的用于对数据流进行分类的参数。

以下是说明本文所描述的本发明的非限制性实施例的说明性条款:

一种方法,包括:

向服务器发行具有入口整形器和出口整形器的指定活动链路上的经调谐请求,所述服务器在一定程度上在前向路径和返回路径二者中利用链路容量;

确定针对活动链路的链路容量;

监视活动链路;以及

当超过入口整形器和出口整形器中的至少一个的限制时丢弃经由该活动链路传播的任何业务。

一种方法,包括:

向服务器发行具有入口整形器和出口整形器的指定活动链路上的经调谐请求,所述服务器在一定程度上在前向路径和返回路径二者中利用链路容量;

确定针对活动链路的链路容量;

监视活动链路;

至少部分地基于使用带宽估计逻辑来确定入口整形器和出口整形器的限制;以及

当超过该限制时丢弃经由该活动链路传播的任何业务。

一种方法,包括:

接收多个商业优先级;

检测与网络中的多个应用数据流中的每个相关联的网络类型,其中网络数据流类型选自包括实时、批量和事务的组;

针对多个商业优先级中的每个创建多个严格优先队列、公平队列和异常队列;以及

将实时网络数据流分配给实时队列、将事务流分配给公平队列、并将批量流分配给批量公平队列。

一种方法,包括:

以预定时间间隔在配置的辐条设备处监视包括应用会话的应用的带宽;以及

调整带宽,使得带宽匹配于应用会话的要求而满足一个或多个定义的商业优先的要求。

上述条款中的任何一个,进一步采用基于多租户控制器的用户或设备身份到网络级身份的映射。

上述条款中的任何一个,其中应用分析在每会话基础上执行。

上述条款中的任何一个,其中路由至少部分地基于动态和自动化qos定义。

上述条款中的任何一个,还包括采用选自包括帕累托和威布尔的组的建模和分析。

上述条款中的任何一个,还包括采用选自包括整形、监督、随机早期丢弃、尾部丢弃、低延迟队列、公平队列、异常队列和缓冲器的组的qos标准化控制。

上述条款中的任何一个,进一步利用参数来对数据流进行分类。

传统上,网络业务工程基于目的地ip地址和/或源ip地址,但不基于更高级别的用户或设备身份。基于使用的策略的创建可以允许企业使用正在访问应用的用户168的身份来执行网络策略。例如,活动目录(ad)904可以用作用户168和组身份信息的源。所需要的是用于通过将ip到用户事件912、914映射到辐条站点来执行用户168或基于用户的策略(其中这样的事件从可能存在于多个其他站点中的多个元件导出)并且使用更高级身份在网络级处执行策略的方法和系统,管理员需要将更高级用户168和/或设备身份映射到网络级身份。如本文所使用的网络级身份可以是l2(mac地址,vlan标签)和/或l3身份(ip地址)和/或l4身份(例如tcp端口号、udp端口号)的术语。

根据本文描述的本发明的方法和系统,集中多租户控制器122可以用于收集与在网络上运行的应用的用户168相关的身份信息,并且使用水平可扩展算法来追踪改变的身份信息,使得多租户控制器122可以使策略保持更新,使得其可以执行基于用户168的网络策略并提供准确的基于用户168的联网和应用监视数据。在实施例中,多租户控制器122可以用于收集ip到用户映射事件912、914,并且可以使用多租户控制器122内的水平可扩展算法来决定哪个辐条站点需要事件。基于该信息,多租户控制器122然后可以将映射分布到正确的辐条站点中的辐条设备。辐条设备可以使用ip到用户映射912、914来标识特定应用流属于哪个用户168或用户组。然后,其可以对该数据流执行基于用户或用户组的策略。辐条设备和中枢设备支持角色,包括但不限于使用dns发现ad的角色[dns角色]、以及使用与ad的轻量目录访问协议(ldap)通信追踪用户168和组身份的改变的角色[ldaprole]。

在实施例中,多租户控制器122可以运行称为身份管理(idm)服务的水平可扩展服务902。对于给定租户,多租户控制器122idm服务可以选择一组元件并且指令它们运行dnsrole并发现所有ad域并列出企业中的ad服务器。dnsrole可以连续监视ad域的添加和删除、ad服务器的添加/删除以及ad服务器的ip地址的改变。dnsrole可以使多租户控制器122idm服务保持被通知这些改变和idm服务902。多租户控制器122可以向租户管理员呈现ad域和ad服务器的列表,并请求凭证以使用ldap和windows管理规范(wmi)与ad服务器通信。wmi是由microsoftad服务器支持的通信协议。windowsad服务器外部的设备可以使用该协议来与windowsad服务器通信,并获得关于windowsad服务器上的事件(包括登录和注销事件)的信息。对于每个ad域,多租户控制器122idm服务可以选择将运行ldaprole的中枢站点处的元件,以使用ldap与用于ad域的一个或多个ad服务器进行通信。多租户控制器122可以使用特定算法来决定哪个中枢站点是其元件应当运行ldaprole的最优中枢站点,并且还确定在与ad服务器通信的中枢站点元件中是否存在多个元件,以及哪些ad服务器参与。该算法可以最小化ad服务器上的负载,实现跨中枢设备元件的公平负载分布,并且包含与lan而不是wan的ldap通信。运行ldaprole的元件可以导出诸如用于用户168和组的全名、ad数字id、ad字符串id之类的基本信息或者某种其他类型的标识信息。其可以针对那些用户168和用户组这样做,多租户控制器122想要追踪所述用户168和用户组以用于执行策略的目的(例如,在策略的身份字段中使用用户168或用户组)以及用于监视和故障排除的目的(例如,用户168存在于具有可配置元件的辐条站点中)。

在实施例中,多租户控制器122可以使现有用户168或用户组身份可用于it管理员,使得管理员可以在策略中使用它们。多租户控制器122可以为每个ad身份生成单独的基于控制器的id,并且进一步保持其id在ad中的映射。多租户控制器122可以向每个元件发送策略,并且代替ad身份,向下发送它本地生成的id。然后,每个元件可以使用该id来执行策略。多租户控制器122idm服务902还可以使ad的信息可用于统计和分析服务,使得它可以显示关于用户168的完整用户名和ad信息,以用于报告和监视的目的。这些基于身份的策略的方法和系统的益处可以包括但不限于1)在策略中使用用户身份可以针对性能和合规性改善wan业务工程,2)多租户控制器122可以优化元件到ad优选通信路径的映射以用于监视用户/组身份添加、删除和改变的目的(多租户控制器122可以在跨数百个ad源和每个企业数百个元件以及跨成千上万个这样的企业的规模完成此),以及3)多租户控制器122对算法的使用可以虑及水平可扩展控制器服务,并且具体地最小化wan上的ldap业务。每个可配置元件可以支持用于使用与ad的windows管理工具(wmi)通信来追踪安全登录事件的角色[wmirole]。安全登录事件可以包括与用户名和ip地址相关的信息。

在实施例中,多租户控制器122可以运行水平可扩展服务ip到站点映射(ism)服务903。对于给定租户,多租户控制器122idm服务可以选择一组元件并且指令它们运行dnsrole并发现企业中的所有ad域和ad服务器的列表。dnsrole可以连续地监视ad域的添加和删除、ad服务器的添加/删除和ad服务器的ip地址的改变,并且使控制器idm服务902保持被通知这些改变和idm服务902。多租户控制器122可以向租户管理员呈现ad域和ad服务器的列表,并请求凭证以与ad服务器的wmi通信。多租户控制器122可以运行算法以决定哪个元件(从所有辐条和中枢元件)将运行将联系特定ad实例的wmi角色。该算法可以使用关于由每个ad所服务的子网/前缀、站点的本地和发现的前缀站点的信息,并且选择辐条或中枢元件以运行wmi角色,使得它可以获得必要的安全登录事件。该算法可以标识正确的ad,包含到lan的wmi通信并通过wan最小化它,并且应对ad的故障。

在实施例中,使用与ad的wmi运行wmi角色的可配置元件可以接收指示ip和ad用户字符串id和ad用户数字id的特定ad登录安全事件,并且将ip到用户映射事件912、914发送到多租户控制器122的ip到站点映射(ism)服务903。在示例中,可配置元件上的wmi角色可以使用wmi从ad接收ad安全事件(登录事件)。该事件可以包括已经登录到ad的用户168的名称和adid和ip地址。然后,wmi角色可以使用该信息形成消息,并且该消息可以被称为ip到用户映射,并将该消息发送到多租户控制器122的ism服务903。ism服务903可以运行算法,其构建基于数据的查找方法,其使用站点的本地和发现的前缀集合915以及ip到用户映射事件912、914中的ip地址来找到以生成ip到站点映射916。它使用该ip到站点映射916来决定应当将给定的ip到用户映射事件912、914发送到哪个辐条站点。ism903可以在ip到用户映射事件912、914中将ad用户id改变为多租户控制器122用户id(其匹配于感兴趣的策略中的用户id)。其还可以将组id添加到用户所属的所有组的事件。ism903可以将丰富的ip到用户映射事件912、914发送到正确的辐条站点,并且还将该ip记录为属于多租户控制器122数据库中的用户。每个数据库条目可以具有30天(或一些其他时间帧)的有效期,在该有效期之后清除该条目。

在实施例中,辐条元件可以使用从ism903服务获得的ip到用户事件912、914来构建ip到用户id和ip到组id高速缓存。对于每个传入的应用流,该高速缓存可以用于确定流的用户168和组id,并使用该id来查找策略并执行策略。当辐条元件为流生成流统计时,它们可以包括用户168和组id作为流统计记录的一部分,并将其发送到多租户控制器统计服务。多租户控制器统计和分析服务可以与用户168和组id信息一起存储统计记录,并且为特定用户168或组提供监视和故障排除信息。多租户控制器122可以从多个元件收集所有ip到用户事件912、914,并将它们映射到具有需要消费该事件的元件的最终站点,以在数据路径上执行策略。多租户控制器122可以映射哪个元件应当与作为ip到用户事件源的哪个ad通信。多租户控制器122可以跨数百个ad源和每个企业的数百个元件以及跨数千个这样的企业衡量(scale)。算法的使用可以虑及水平可扩展的多租户控制器服务,其消除wan上的wmi业务并且减少wan上的ip到用户映射业务量。

以下是说明本文所描述的本发明的非限制性实施例的说明性条款:

一种方法,包括:

在控制器处执行水平可扩展服务身份定义管理器(idm)服务;

将活动目录(ad)域映射到wan网络元件dnsrole和ldaprole;

指令与租户相关联的多个网络元件以使用dnsrole发现企业中的多个ad域和ad服务器;

从运行dnsrole的多个网络元件接收指示网络属性的改变的信息,所述网络属性选自包括ad域、ad服务器的添加和减少以及ad服务器的ip地址的改变的组;

将接收到的ad域和ad服务器发送到租户管理员,并且请求凭证以使用ldap与添加的ad服务器通信;

执行算法以确定哪个元件将联系特定的ad实例以最小化在wan上发生的轻量目录访问协议(ldap)业务量并确保在任何一个网络元件故障的情况下仍然可以实现ad实例;

通过使用网络元件上的ldaprole来在活动目录服务器中监视网络用户的至少一个身份(用户或组)的改变;以及

在多租户控制器处至少部分地基于ad域中的用户身份的映射来更新策略,其中追踪改变身份信息被实现为水平可扩展服务身份定义管理器服务。

一种用于跨多个分布式计算环境控制多个资产的可集中控制多租户控制器,其中,所述控制器被配置为:

在控制器处运行水平可扩展服务身份定义管理器(idm)服务;

将活动目录(ad)域映射到wan网络元件dnsrole和ldaprole;

指令与租户相关联的多个网络元件以使用dnsrole发现企业中的多个ad域和ad服务器;

从运行dnsrole的多个网络元件接收指示对网络属性的改变的信息,所述网络属性选自包括ad域、ad服务器的添加和减少以及ad服务器的ip地址的改变的组;

将接收到的ad域和ad服务器发送到租户管理员,并且请求凭证以使用ldap与添加的ad服务器通信;

执行算法以确定哪个元件将联系特定的ad实例以最小化在wan上发生的轻量目录访问协议(ldap)业务量并确保在任何一个网络元件故障的情况下仍然可以实现ad实例;

在活动目录服务器中从网络元件的ldaprole接收网络的至少一个身份(用户或组)的改变;以及

在多租户控制器处至少部分地基于ad域中的用户身份的映射来更新策略,其中追踪改变身份信息被实现为水平可扩展服务身份定义管理器服务。

一种执行dnsrole和ldaprole的网络元件配置为:

从集中多租户控制器idm服务器获得在哪些域上在使用dns角色中发现ad服务器的指令;

使用dnsrole发现指示对网络属性的改变的信息,所述网络属性选自包括ad域、ad服务器的添加和减少以及ad服务器的ip地址的改变的组,并且将该信息发送到多租户控制器idm服务;

从多租户控制器idm服务接收凭证以使用ldap与所发现的ad服务器通信;以及

通过使用网络元件上的ldaprole来在活动目录服务器中监视网络用户的至少一个身份(用户或组)的改变并将这些改变发送到多租户控制器idm服务。

一种方法,包括:

在控制器处执行水平可扩展服务ip到站点映射(ism)服务;

指令与租户相关联的多个网络元件发现企业中的多个ad域和ad服务器;

从多个网络元件接收指示对网络属性的改变的信息,所述网络属性选自包括ad域、ad服务器的添加和减少以及ad服务器的ip地址的改变的组;

将所接收的ad域和ad服务器发送到租户管理员并请求凭证以使用wmi与添加的ad服务器通信;

执行算法以确定哪个元件将联系特定的ad实例,以便包含通过lan的wmi通信并最小化通过wan的wmi通信;

在网络元件上使用wmi角色来监视ad服务器安全登录事件,包括ip地址、用户adid和用户名;

将登录事件转换为ip到用户事件并将这些发送到控制器中的ism服务;

使用ism服务将这些ip到用户事件映射到合适的辐条站点;

将具有包括用于用户的一个或多个组id的丰富信息的事件发送到辐条站点中的元件;以及

在辐条站点处使用丰富的ip到用户事件以基于用户和组id来执行策略,并利用用户和组信息使流和应用统计丰富。

一种用于跨多个分布式计算环境控制多个资产的可集中控制多租户控制器,其中,所述控制器被配置为:

在控制器处执行水平可扩展服务ip到站点映射(ism)服务;

指令与租户相关联的多个网络元件发现企业中的多个ad域和ad服务器;

将所接收的ad域和ad服务器发送到租户管理员并请求凭证以使用wmi与添加的ad服务器通信;

将凭证发送到运行wmirole的网络元件;

执行算法以确定哪个元件将联系特定的ad实例以便包含通过lan的wmi通信并最小化通过wan的wmi通信;

从元件接收包含用户ip地址、用户adid和用户名的多个ad服务器登录事件;

将这些登录事件转换为ip到用户事件并将这些发送到控制器中的ism服务;

使用ism服务将这些ip到用户事件映射到合适的辐条站点;

将具有包括用于用户的组id的丰富信息的这些事件发送到辐条站点中的元件;以及

在辐条站点处使用丰富的ip到用户事件以基于用户和组id来执行策略,并利用用户和组信息使流和应用统计丰富。

一种方法包括:

从集中多租户控制器的idm服务获得指令,以使用dnsrole发现企业中的多个ad域和ad服务器;

将指示对网络属性的改变的信息发送到多租户控制器idm,所述网络属性选自包括ad域、ad服务器的添加和减少以及ad服务器的ip地址的改变的组;

从多租户控制器接收凭证以使用wmi与添加的ad服务器通信;

使用wmi角色来监视包括ip地址、用户adid和用户名的ad服务器安全登录事件;以及

将登录事件转换为ip到用户事件并将登录事件发送到控制器中的ism服务。

一种方法包括:

在辐条站点处从多租户控制器的ip到站点映射服务接收丰富的ip到用户事件,以至少部分地基于用户和组id来执行策略;以及

利用用户和组信息使流统计和应用统计丰富。

上述条款中的任何一个进一步利用网络身份类型。

对于传统网络,对网络的改变可以包括主要事件。通常,在规划的“中断”窗口期间努力实现规划的改变。此外,通常盲目地做出改变,其中人们“祈祷”事情是可接受的。无论如何,这样的改变是必要的。例如,需要推出新的应用,并且必须调整网络以允许、容纳、控制和路由应用的业务。

由于(1)网络的复杂性,(2)缺乏对网络的端端视图和控制以及(3)缺乏对应用的需要和需求的理解,而网络中的改变规划和执行比科学更具有艺术性。

这样的网络规划不是新的。然而,这样的规划通常超出管理网络中的设备的网络管理工具的能力。这样的规划通常与真实网络隔离地执行并且是复杂的,利用陈旧的数据工作,并且需要从规划视图转换以实现网络中的改变。

根据示例性和非限制性实施例,提供了多租户控制器122以集中地查看和控制网络拓扑、拓扑中的可配置设备124和策略的应用,以解决网络管理的操作需要。多租户控制器122可以用于标识和映射网络的拓扑,并使用网络视图来确定网络资产的最优策略和设备使用。

如本文更全面地描述的,实现了三部分解决方案。首先,从用户交互角度来简化网络528,并且不存在要配置的路由协议和路由转换。其次,受控网络528的端端视图总是可用的。最后,所描述的解决方案部分地基于对应用的理解来构建,并且因此使得用于应用的网络是本地能力。

根据示例性实施例,多租户控制器记录指示所有设备和应用位于何处的数据。如下面更全面地描述的,这提供了全局知识并且虑及提供假设情景。因此,客户可以直接查询多租户控制器122以查看哪些设备和应用驻留在网络704上。

例如,网络528支持450个站点并且希望添加第451个站点。该改变将如何影响路由拓扑和业务包的流量根据示例性实施例,当添加新站点时,在多租户控制器122处更新对网络拓扑的改变。由于多租户控制器122可访问http流,所以多租户控制器122可以例如查询以示出站点之间的所有路径并模拟网络功能。多租户控制器122可在其网络的拓扑图中访问带宽和链路。还可以收集和存储每个链路的利用以供多租户控制器122访问。

根据示例性和非限制性实施例,多租户控制器122可以模拟对网络528的改变的影响。多租户控制器122可以针对网络528中的所有设备追踪所有配置(设备、接口、容量、策略和更多)。配置管理可以是实时的或近实时的,以确保最小的数据延迟。

多租户控制器122还可以保持关于业务类型、业务负载和应用统计的大量监视数据。多租户控制器122还可以虑及创建“空”或假想站点,具体地,不是真实的但是例如正被规划的站点。

在示例性实施例中,可以通过多租户控制器122来模拟向网络528添加新“站点”或设备的效果,其具有查看预计业务流、dc设备和链路上的容量需要、以及通过从传统的高成本网络连接的业务卸载的商业影响的能力。

根据这样的实施例,网络管理员可以提供(a)站点的类型,(b)到站点的规划连接,(c)针对站点的规划策略,以及(d)站点处的最终用户168的预期数量。如本文所使用的,站点的类型通常指的是辐条(远程分支152)、中枢(数据中心128)或服务(其中存在某些网络服务,但是这些站点不同于传统的dc或分支152)。

使用多租户控制器122可从网络528访问的附加数据和这些输入,多租户控制器122可以提供新的规划站点加上网络528中已经存在的所有现有站点的集成视图以及评估新规划站点的路由效果、业务流效果和策略效果,就好像它已经在网络528中那样。

为了估计对应用及其业务的影响,多租户控制器122可以使用从已经被控制和管理的客户的网络中的类似站点收集的任何可用的现有统计和监视数据。

这样的数据的示例包括但不限于(1)应用的类型和性质,(2)用户168的数量或替代用户168的其他数据,诸如例如流的数量/秒、总同时应用会话和流,(3)进入和退出这样的站点的数据的峰值和平均量以及这样的度量的周期性,(4)应用从具有地理和连接相似性的站点所看到的所测量的应用性能、网络连接延迟和分组丢失以及(5)链路/连接上的配置和测量的可用带宽、来自类似提供商的这样的链路上的可用带宽的昼夜或其他周期性可变因素(因为客户通常涉及跨许多站点的相同提供商)。

如下面更全面地描述的,应用简档可以基于从各种类型的站点收集的信息而可访问。应用简档包括带宽、延迟和抖动要求。此外,可以基于从各个站点收集的信息而存在被存储和可访问的用户(组)简档。用户简档可以包括诸如(a)属于组的典型用户168消费哪些应用和(b)用户168访问哪些应用的典型时间是什么之类的信息。使用该信息,如果管理员可以知道将要在该站点处为什么类型的用户(组)则人们可以估计针对新站点将需要什么连接,以及可能有它们中的多少等等。

在网络中添加或改变策略的效果可以使用多租户控制器122来模拟,该多租户控制器122具有查看预计业务流、dc设备和链路上的容量需要、以及通过从传统的高成本网络连接的业务卸载的商业影响的能力。当规划添加或改变策略时,网络管理员提供(a)要添加/改变的策略和(b)他/她打算应用改变的站点。利用多租户控制器122从网络528具有的附加数据和这些输入,多租户控制器122可以提供新策略加上所有现有策略及其应用于的站点的集成视图,并评估路由效果和业务流效果,好像它已经在网络528中那样。

为了估计对应用及其业务的影响,多租户控制器122可以使用从已经被控制和管理的客户的网络中的类似站点收集的任何可用的现有统计和监视数据。除了上述统计之外,多租户控制器122还可以考虑离开或者到达链路或目的地的移动流如何释放、拥塞链路并且移除或增加站点处的负载的估计。例如,如果去往office365.com的业务通过dc,然后到因特网142,则添加具有策略的站点以直接将这样的业务发送到office365.com而不经由dc发送它可以示出如何变更dc处的链路上的负载和拥塞。

根据其他示例性实施例,可以通过多租户控制器122来模拟添加具有附加网络连接(比如新的因特网链路)的新带宽/容量的效果,所述多租户控制器122具有查看预计业务流、dc设备处的容量需要、以及通过从传统的高成本网络连接的业务卸载的商业影响的能力。当规划将新的链路或网络容量添加到站点或站点集合时,网络管理员提供(a)站点和(b)将被添加到站点的网络链路。利用其从网络528具有的附加数据和这些输入,多租户控制器122可以提供新的规划网络连接加上在站点处已经可用的所有现有链路的集成视图,并评估新规划的网络连接的路由效果、业务流效果以及策略效果,就像它已经在站点处那样。

为了估计对应用及其业务的影响,多租户控制器122可以使用从已经被控制和管理的客户的网络中的类似站点收集的任何可用的现有统计和监视数据。

如本文中参考各种示例性实施例所描述的,可以执行估计以预测网络改变对应用和相关网络业务的影响。在所有这些实施例中,可以利用各种输入。例如,可以利用的第一输入包括网络的拓扑。如在本文其他地方所描述的,拓扑可以在多租户控制器122处合成。网络的拓扑可以提供可配置设备124的树形表示、通过mpls144的连接(专用wan)、因特网142(公共wan)和通过专用wan和公共wan的基于ipsec的vpn方法。多租户控制器122还可以基于从分支处的可配置设备124输出的信息来辨别对网络的其他部分(其中可配置设备124可能不存在)的可达性。

第二输入可以包括网络的类型,例如专用wan、公共wan、因特网vpn和专用vpn。

第三输入可以包括在多租户控制器122处维持的应用定义(系统提供的和客户定义的二者)。在本文其他地方描述的身份/用户定义可以是策略中使用的定义的一部分。如本文其他地方所指定的,可以在多租户控制器122处接收和处理和解释用户/身份定义。

第四输入可以包括规定哪个应用被允许在特定站点处使用哪种类型的连接的策略。

第五输入可以包括一些或所有应用上的来自监视模式下的一个或多个现有活动站点的监视数据(遥测)。对于每个应用的来自每个站点的遥测可以包括以下:(a)在每个网络类型上随时间消耗的带宽,包括平均和峰值数据,(b)在每个网络类型上随时间传输的数据,(c)随时间的同时流的数量和(d)在站点和应用级别处的最大流/秒。

第六输入可以包括媒体应用上的来自监视模式下的一个或多个现有活动站点的监视数据(遥测)。对于存在的任何媒体应用的来自每个站点的遥测包括以下附加项目:(a)包括平均值和峰值的对于音频和/或视频的随时间所看到的抖动,(b)包括平均值和峰值的对于音频和/或视频的随时间所看到的分组丢失以及(c)对于音频和/或视频随时间的mos分数。

第七输入可以包括站点参数,诸如:(a)站点类型,例如分支152或dc,(b)网络类型和这样的连接的数量,(c)针对另一类似站点的指针或应用的列表,(d)针对具有所需策略的另一站点的指针的策略选择以及(e)针对另一类似站点的指针或用户168的数量。

根据本文所描述的示例性实施例,可以执行假设使用情况和处理。当确定特定应用应从站点采取哪些路径时,人们可以采取网络的拓扑,应用针对该应用的策略,并且至少部分地基于策略将拓扑减少到所允许的连接。结果是可以携带所提出的应用业务的一组网络链路。

当设法确定来自特定用户168和/或应用的业务从站点采取哪些路径时,人们可以采取网络的拓扑并对应用和用户168应用策略,并且至少部分地基于策略将拓扑减少到所允许的连接。结果是可以携带用于特定用户168或用户组的应用业务的一组网络链路。

当设法确定新分支152在设备和网络容量方面可能看起来像什么时,人们可以如下进行。首先,多租户控制器122可以针对每个应用在适当分类的每站点大小的基础上计算归一化的平均和峰值带宽利用率和站点处的最大流/秒。站点大小可以由现有站点处的同时流决定。

然后,多租户控制器122可以从用户输入或通过参考另一站点来导出新站点处的应用和策略。多租户控制器122可以通过参考另一站点或通过取用户168的数量并乘以例如20(其中底值(floorvalue)为200)来在新站点处导出同时流。

多租户控制器122然后可以如下构建作为估计带宽(bw)利用率和估计的最大流/秒的混合的样本“站点模型”:

average-bwest=缩放到新站点的大小的每个应用的平均bw的总和的平均

peak-bwest=每个应用的峰值bw缩放到新站点的大小的峰值

max-flow/secest=站点处的最大流/秒缩放到新站点的大小

simul-flowsest=如上所述的直接值。

结果所得的simul-flowsest和max-flow/secest可以用于推荐设备类型和容量,而average和peak-bwest可以用于建议网络类型改变以适应平均和峰值带宽需要。

当设法确定应用的业务如何可能由于新的提出的站点而在网络中改变时,可以如下进行。首先,多租户控制器122可以从用户输入或通过参考另一站点而在所提出的站点处导出应用和策略。接下来,人们可以采取网络的拓扑并且添加所提出的站点及其网络连接和类型。接下来,人们可以将策略应用于应用并且基于策略将拓扑减少到所允许的连接。对于每个dc站点,多租户控制器122可以估计来自类似于所提出站点的站点的业务的贡献(bw-increst)。可以通过站点大小和策略相似性来估计相似性,以计及从所提出的站点进入dc的应用业务的量和类型。

结果是可以携带来自和去往所提出的站点的每个应用的业务的一组网络链路,由于添加了所提出的站点,在每个dc站点处带宽增加了bw-increst。

根据示例性实施例,数据中心128应用可以包括应用的阵列,包括但不限于exchange、sfdc和sap。如本文描述的这样的方法和系统可以利用所有方式的数据中心应用并被所有方式的数据中心应用利用。

根据示例性实施例,用于基于控制器的网络拓扑标识的这样的方法和系统可以应用于如上所述的应用会话。此外,这样的方法和系统可以应用于如本文所述的各种分支152类型。

以下是说明本文所描述的本发明的非限制性实施例的说明性条款:

一种方法,包括:

接收描述将包括至少一个应用的第一站点添加到现有网络的信息,其中,所述信息选自包括站点类型、到站点的规划连接和用于站点的规划策略的组;以及

使用从类似于第一站点的第二站点收集的监视数据的统计分析来估计对至少一个应用和相关联的网络业务的操作的影响。

一种方法,包括:

接收描述对现有网络的策略的改变的信息,其中,所述信息选自包括要改变的策略和策略要应用到的网络站点的组;以及

使用从类似于第一站点的第二站点收集的监视数据的统计分析来估计对至少一个应用和相关联的网络业务的操作的影响。

一种方法,包括:

接收描述要添加到现有网络站点的新网络链路的信息,其中,所述信息选自包括站点和要添加的网络链路的组;以及

使用从类似于第一站点的第二站点收集的监视数据的统计分析来估计对至少一个应用和相关联的网络业务的操作的影响。

上述条款中的任何一个,其中应用分析在每会话基础上执行。

上述条款中的任何一个,其中分支类型选自包括零售商店银行、pos设备和分布式计算站点的组。

上述条款中的任何一个,其中至少一个应用包括数据中心应用。

上述条款中的任何一个,其中应用选自包括事务应用和文件传输应用的组。

上述条款中的任何一个还包括执行选自包括帕累托和威布尔的组的建模和分析。

上述条款中的任何一个,其中网络类型选自包括有线和无线的组。

上述条款中的任何一个,进一步利用参数对数据流进行分类。

在传统联网中,sku通常用于计及产品特征、规模和容量。例如,100节点网络可以由一个sku处理,而1000节点网络可能需要“更大”的sku。网络的可用性可以通过部署冗余单元来提供。例如,可靠网络可以具有由相同sku的两个单元保护的网络中的关键点,使得如果一个失败,则另一个接管。这被称为“垂直缩放”。

在web服务架构中,每个服务器160或系统组件的单元同样能够并且可以处理一定数量的加载或事务。通常位于这些组件前的负载平衡器将负载分发到称为集群的系统组件的一个或多个实例。该模型可以提供冗余和扩展二者:单个实例故障意味着实例离开集群,并且其他实例承担负载。随着系统上的负载增加,添加更多实例可能会增加集群的容量。这被称为“水平缩放”。

需要通过在多租户控制器122处运行分配算法以便将分支站点152(和相关联的分支设备152)分配给网络内的每个数据中心128处的至少两个可配置设备124来实现高网络可用性的方法和系统,其中分支站点152映射到中枢对。在分配给分支设备152的中枢对之间的每个数据中心128处,可配置分支设备152可以选择一个中枢设备作为主中枢设备并且将一个中枢设备选择为次中枢设备。可以将业务优先地发送到主中枢设备。在主中枢设备故障时,可配置分支设备152可以将数据流切换到配对的中枢设备中的第二个设备,并且通过故障的主中枢设备停止业务。在给定数据中心128中可以存在若干中枢设备。数据中心128中的该中枢阵列可以被水平缩放,并且一对中枢设备到分支站点152的映射可以由多租户控制器动态改变。该改变可以完全自动化,这取决于动态地增加或减少分支站点152的数量和/或基于在数据中心128中的中枢设备方面的容量的动态增加或减少。

根据本文所述的本发明的方法和系统,可以使用水平缩放解决方案来减少或消除网络缩放问题。在实施例中,在数据中心128(“中枢设备”)处使用的每个设备可以处理来自远程办公室/分支的某网络业务负载。中枢设备可以集群在一起,并且数据负载可以通过多租户控制器122跨集群的元件进行平衡/分布。在该网络架构中,启用无状态中枢设备,并且如果一个中枢设备故障,则另一中枢设备能够接管而不需要在设备之间的任何状态交换。由控制器指定的任何中枢设备可以能够服务远程办公室/分支152网络的业务负载需要直到中枢设备的负载限制。多租户控制器122可以计算和估计来自向中枢设备集群发送业务的网络的远程办公室或分支152中的每个处的设备的负载。在实施例中,多租户控制器122可以分配中枢设备以服务来自远程办公室/分支152的负载,并且从集群动态地添加或删除中枢设备。如本文所描述的采用多租户控制器122的网络可以包括远程办公室或分支152中的一个或多个,每个具有一个或两个分支设备152。网络还可以具有在集群中具有一个或多个中枢设备的一个或多个数据中心128、以及在数据中心128中或在控制和协调网络的云中的多租户控制器122。

参考图11,当创建新的远程办公室并且通过在多租户控制器122处配置它们而将分支设备152添加到网络时,多租户控制器122可以运行“分配算法”并将远程办公室设备分配给在每个数据中心128处的两个特定中枢设备。如果远程办公室设备曾经在监视模式下使用,则算法可以在其负载和分配的推导中考虑。监视模式是指用于分支设备152的特殊模式,其中设备能够看到移入和移出分支152的所有流,但不改变流上的任何东西。从分支152收集的数据传输统计信息可以用作估计业务负载的输入。在每个分支设备152上进行的因特网链路带宽估计可以用作估计业务负载的输入。该算法还可以考虑每个中枢设备的当前已知容量限制、针对集群中的每个中枢设备的当前分配的分支152和其在中枢设备上的估计负载的总和、针对集群中的每个中枢设备的当前分配的分支152和在中枢设备上的实际负载、中枢集群的总容量的可用性、新分支152到中枢集群的所有元件的网络可达性或一些其他因素。

在实施例中,分支设备152可以建立到数据中心128处的其分配的中枢设备中的每个的安全ipsec/vpn隧道。分支设备152可以选择数据中心128处的中枢设备(分配给设备的两个)之一作为主中枢设备。如果到主中枢设备的安全ipsec/vpn隧道失效,则分支设备152可以将其去向数据中心128的业务切换到该数据中心128处的次中枢设备。在实施例中,分支设备152可以执行以如下方式从主中枢设备到次中枢设备的无缝传递:在ipsec/vpn控制平面通信中,分支设备152可以将“开始”命令发布到次中枢设备(作为示例)。次中枢设备可以确认开始命令并更新数据中心128处的本地路由信息。在接收到确认时,分支设备152可以开始在其ipsec/vpn隧道上向次中枢设备发送业务。分支设备152可以停止通过ipsec/vpn隧道向主中枢设备发送业务,并尝试向主中枢设备发送“停止”命令。主中枢设备(如果活动)可以在以下中的一个或多个的情况下针对分支152在数据中心128处停止广告路由:i)在接收到“停止”命令时,ii)在未接收到来自分支152的任何业务的某一时间之后,和/或iii)如果双向转发检测(bfd)检测到去向分支152的通信的丢失。如果主中枢未活动,则由主中枢设备广告的路由可以在数据中心128处自动地老化(ageout)。

由于中枢设备对来自分支设备152的业务的处理由分支设备152及其对到中枢设备的ipsec/vpn隧道状态的查看来决定,所以不需要中枢设备保持任何状态并在它们之间交换状态。随着中枢集群上的容量需要增加(例如,由于越来越多的分支152上线),可以向集群引入新的中枢设备,并且多租户控制器122可以开始将它们用于新的分支152。如果中枢设备从集群永久移除(例如,由于永久故障),则多租户控制器122可以向先前使用故障中枢设备的受影响的分支设备152分配新的或替换的中枢设备。如果由分支设备152生成的负载开始增加并且不再安全地在最初用于将分支152分配给集群中的特定对的中枢设备的参数(例如,在“分配算法”中)内,则多租户控制器122可以重新分配可以处理来自分支152的修改的负载的新的一对中枢设备。在这样的重新分配中,控制器可以i)分配一对新的中枢设备,ii)更新新的次中枢设备的分支设备152(而保持当前活动中枢设备不变;中枢设备可以串联连接),iii)迫使分支设备152“故障转移”或“切换”到具有更多容量的新的次中枢设备,以及iv)更新新的主中枢设备的分支设备152。结果可以是将分支152从较旧的一对中枢设备成功地移动到可以处理更高负载的新的一对中枢设备。

根据示例性和非限制性实施例,用于中枢高可用性和网络负载和缩放的方法和系统可以利用如本文所描述的各种中枢设备类型和分支设备,并且可以至少部分地通过如本文所描述的一个或多个更多的数据中心128类型启用。

以下是示出本文所述的本发明的非限制性实施例的说明性条款:

一种方法,包括:

在分支设备处接收与数据中心相关联的所分配的第一中枢设备和所分配的第二中枢设备;

建立到所分配的第一和第二中枢设备的vpn数据隧道;

将第一中枢设备指定为主设备;

将第二中枢设备指定为次设备;以及

至少部分地基于链路的成本将去往主设备的业务切换到次设备。

一种方法,包括:

在分支设备处接收与数据中心相关联的所分配的第一中枢设备和所分配的第二中枢设备;

建立到所分配的第一和第二中枢设备的vpn数据隧道;

将第一中枢设备指定为主设备;

将第二中枢设备指定为次设备;

如果检测到到主设备的vpn数据隧道的故障,则将去往主设备的业务切换到次设备;以及

在可逆模式和非可逆模式下将业务切换到主设备和次设备。

一种联网分支设备,被配置为:

在分支设备处接收与数据中心相关联的所分配的第一中枢设备和所分配的第二中枢设备;

建立到所分配的第一和第二中枢设备的vpn数据隧道;

将第一中枢设备指定为主设备;

将第二中枢设备指定为次设备;以及

如果检测到到主设备的vpn数据隧道的故障,则将去往主设备的业务切换到次设备。

上述条款中的任何一个还包括至少部分地基于链路的成本将去往主设备的业务切换到次设备。

上述条款中的任何一个,其中第一中枢设备和第二中枢设备经由至少部分地基于以下的算法来分配:

-从分支设备收集的数据传输统计信息用作估计业务负载的输入。

-在分支设备处执行的因特网链路带宽估计用作估计业务负载的输入。

-每个中枢设备的当前已知容量限制。

-到集群中的每个中枢设备的当前分配的分支设备以及它们在中枢设备上的估计负载的总和。

-到集群中的每个中枢设备的当前分配的分支设备以及在中枢设备上的实际负载。

-中枢集群的总容量的可用性。

-新分支设备到中枢集群的所有元件的网络可达性。

-当与中枢设备通信时使用所有分支电路的能力。

-当与中枢设备通信时使用较低成本电路的能力。

上述条款中的任何一个,其中可配置设备包括辐条设备。

上述条款中的任何一个,其中数据中心类型选自包括私有云、科学社区和协同定位中心的组。

在传统的分支路由架构中,通常并联部署多个分支路由器162以向lan和wan侧二者提供高可用性。在wan侧,专用wan链路或因特网链路分布在多个分支路由器上。在lan侧,交换机158连接到涉及复杂布线方案的多个分支路由器162。在复杂布线之上,各种l2(hsrp/vrrp)和l3(ospf/eigrp)协议用于利用并联部署实现高可用性。此外,复杂的业务流也发生在分组首先去到的一个路由器然后在lan侧上被路由回到另一个路由器的情况下,当问题发生时这是无效的并且难以故障排除。

根据各种示例性和非限制性实施例,公开了一种分支路由架构,其中可配置设备124被串联放置,以便能够绕过故障设备的数据流来维持对终止于感兴趣的分支152处的所有可用的wan电路的访问。

如参考图12所示,两个或更多个设备124被串联部署。两个交换机连接到单个可配置设备1202,其连接到串联的第二可配置设备1204。专用wan和因特网电路在第二可配置设备1204上终止。因此,布线和l2/l3拓扑保持相同和简单,无论存在一个可配置设备124还是两个。这允许客户在一个(简单拓扑)或两个可配置设备124(高度可用的拓扑)之间切换,而不对交换机158或wan连接进行任何改变,而同时能够使用所有可用的wan链路上的容量。如图所示,串联部署两个可配置设备1202、1204防止分支152处的单个可配置设备124的故障,并提供高可用性。

根据各种示例性和非限制性实施例,串联部署的可配置设备124使用冗余协议彼此通信以交换状态信息,包括(1)谁处于操作的活动模式并且谁处于操作的备用模式,以及(2)由活动的可配置设备124使用冗余协议发送到备用可配置设备124的各种路径的特性。该协议由可配置设备124自动采用,而不需要来自客户的任何动作。

当活动可配置设备故障时,备用可配置设备可以经由一个或多个协议保持活动来识别失败并切换到活动状态。保持活动(ka)是由一个设备发送到另一设备以检查两者之间的链路是否正在操作的消息。

当可配置设备124故障或变为不活动时,可配置设备124自动短路(称为“旁路”)接口连接,使得另一(活动)可配置设备124具有到电路的直接物理连接148。根据示例性实施例,当两个设备以健康的方式操作时,它们可以自己选择哪一个将是活动的(基于算法,例如,较低的序列号或控制器给定的初始指令)。如果自己选择的活动设备现在具有故障并进入旁路模式,则备份设备将成为新的活动设备,因为它将检测到心跳的丢失。

因此,当前活动可配置设备可以直接处理专用wan和因特网连接,而没有任何路由协议和其他复杂性。此外,根据上述状态同步,备用可配置设备已经被准备好变为活动的,并且因此能够在少量时间内继续业务转发功能。注意,与传统网络不同,链路可用于两个可配置设备124。利用上述的硬件“旁路”特征,在可配置设备124故障之后变为活动的另一个可配置设备124可以直接访问所有电路。

根据各种示例性实施例,所描述的旁路功能可以以软件或硬件或其组合来实现。

根据各种示例性实施例,活动和备用可配置设备124两者可以展现如本文其他地方所述的物理连接148。此外,如本文所描述的这些方法和系统可以应用于如本文所描述的各种分支类型以及包括例如交换机和路由器162的各种分支组件152。可配置设备124还可以包括如本文所描述的辐条设备。本文所述的方法和系统还可以采用如本文所述的各种交换机类型。

以下是说明本文所描述的本发明的非限制性实施例的说明性条款:

一种方法,包括:

串联部署多个可配置设备,其被配置为经由用于交换状态信息的协议彼此通信,其中多个可配置设备中的至少一个处于活动状态,并且多个设备中的至少一个处于备用状态;

通过处于备用状态的多个可配置设备中的至少一个经由协议检测处于活动状态的可配置设备的故障;以及

将处于备用状态的至少一个可配置设备切换到活动状态。

一种系统,包括:

多个可配置设备,其串联部署并且被配置为经由用于交换状态信息的协议彼此通信,其中,多个可配置设备中的至少一个处于活动状态,并且多个设备中的至少一个处于备用状态;

其中,处于备用状态的多个可配置设备中的至少一个适于经由协议检测处于活动状态的可配置设备的故障,并且响应于此,将处于备用状态的至少一个可配置设备切换到活动状态。

一种方法,包括:

串联部署多个可配置设备,其被配置为经由用于交换状态信息的协议彼此通信,其中,多个可配置设备中的至少一个是自身被选择为处于活动状态并且多个设备中的至少一个处于备用状态;

通过处于备用状态的多个可配置设备中的至少一个经由协议检测处于活动状态的可配置设备的故障;以及

将处于备用状态的至少一个可配置设备切换到活动状态。

上述条款中的任何一个,其中连接是物理的。

上述条款中的任何一个,其中分支组件选自包括交换机和路由器的组。

上述条款中的任何一个,其中可配置设备包括辐条设备。

上述条款中的任何一个,其中交换机类型选自包括受管理交换机、不受管理交换机和可堆叠交换机的组。

网际协议安全(ipsec)是用于通过认证和加密通信会话的每个ip分组来保护网际协议(ip)通信的协议组。通过广域网(wan)的企业站点到站点ipsec虚拟专用网络(vpn)将封装、数据加密和数据认证的套组用于数据路径隧道(例如,封装安全有效载荷(esp)和认证报头(ah))和单独的控制信道协议,诸如例如因特网密钥交换(ike)和ikev2用于导出密钥交换,以及用于与在每个站点中的两个网关之间加密什么业务相关的决定。

现有的控制方法通常对于信息技术(it)在密钥交换的管理和配置方面带来显着的复杂性。例如,对于一组n个站点,可能存在n个站点之间的约n2个ipsec隧道。为了提供最强的安全级别,it通常需要手动配置用于在每个对等体的基础上的密钥生成的规则,这大大增加了配置开销。在其中n是几千的情况下,如当联网环境包括数千个节点时,这可能变成过高的任务。因此,it通常将不部署全网状网络,即使需要这样来启用分支到分支通信。

对于最强的安全级别,每个站点处的每个网关具有到每个对等站点的n-1个隧道,并且需要执行极端cpu密集和昂贵的密钥交换计算,使得两个网关可以导出共同的共享秘密,其然后用于导出密码会话密钥以保护隧道。为了维持完美的前向保密,对于每个隧道通常周期性地重复该密钥交换,从而导致数千个密钥交换操作。在若干情况下,在同一对站点之间需要多个隧道(例如vpn传输高可用性,例如多个wan和因特网电路,例如使用虚拟wan(vxwan)的wan上的安全段)204。

在这样的情况下,密钥交换的数量可以增加2到10倍。然而,使用仅软件方法,这样的密钥交换操作的数量是有限的,并且可能不能满足所需的规模。结果通常在有限的网状配置中的时间,其中it不能构建具有每个站点数千到数万隧道的完全网状网络。即使利用现有的基于硬件的解决方案也可能无法扩展到对于完全网状并对于每个基于vxwan的wan段的完全网状所需的隧道数量。

诸如groupvpn的现有方法提供了解决这些问题中的一些但是危害安全性的可扩展实现,因为它们将相同的会话密钥用于跨所有加密数据信道的所有设备之间的通信。在这样的情况下,即使单个危害也可能暴露整个网络。

根据示例性和非限制性实施例,提供了一种通过使用多租户控制器122来创建多个时间限制的共享秘密来替代用于网际协议安全(ipsec)数据加密的传统密钥交换的方法,其中多租户控制器122为每个ipsec加密信道生成共享秘密,并通过双向证书认证信道将它们发送到两个ipsec数据信道端点。然后,端点使用共享秘密和随机数(nonce)来导出会话密钥。可以以策略指定的间隔刷新共享秘密和会话密钥。多个共享秘密机制确保即使面对与多租户控制器122的通信的丢失,ipsec端点也可以继续刷新时间限制的共享秘密并且确保完美的前向保密。

根据示例性和非限制性实施例,公开了一种多租户控制器122驱动的密钥交换模型,其是用于在不安全网络上的每对可扩展密钥生成和分发的高度可扩展和粒度的kerberos样模型。这样的模型为密钥交换提供了零配置模型,其需要由it的很少配置或不需要手动配置。另外,提供了一种多租户控制器122,其按每个隧道生成单独的共享秘密的,由此粒度可以增加到并且包括用于每个加密的vxwan段的单独的共享秘密。还提供了水平扩展以便生成对于完全网状分支网络所需的数亿共享秘密的能力。另外,实施例公开了仅软件的解决方案,其不需要使用定制硬件来实现必要的规模。

此外,提供了利用若干熵源来进行随机数生成的解决方案,其增加了由多租户控制器122生成的共享秘密密钥材料的强度。可以至少部分地基于可用的处理能力而选择和采用用于随机数生成的方法。如下文更全面地描述的,这样的解决方案利用来自多租户控制器122的共享秘密以及来自用于给定数据隧道的每个通信元件的随机信息来生成用于数据隧道的加密和认证的会话密钥。

参考图13,示出了根据示例性和非限制性实施例的流程图。首先,在步骤1300,当多租户控制器122确定应当在两个站点之间建立链路时,多租户控制器122使用以下算法生成共同的共享秘密。首先,多租户控制器122使用例如国家标准和技术研究院(nist)批准的密码安全伪随机数生成器(prng)来生成x位。x的值可以取决于所使用的nistprng的类型而变化。可以使用以下机制中的一个或多个来利用高级熵来对随机数生成器进行种子化:(1)使用依赖于若干个熵池的操作系统/dev/随机,(2)使用fips批准的intelrdrand指令和3)通过收获元件生成的随机数。

根据各种示例性实施例,使用prng的连续调用来导出x位的多个,其被级联以生成长度从512到8192位的共享秘密。

接下来,在步骤1302,多租户控制器122通过其利用每个信道端点而具有的、传输层112安全(tls)保护的(利用数据加密和数据认证)双向证书认证信道来向每个元件(诸如例如,ipsec数据信道端点)发送共享秘密。

接下来,在步骤1304,对于每个共享秘密,多租户控制器122分配基于挂钟的开始和结束有效期。多租户控制器122同时生成多个(n个)共享秘密,并向它们中的每个分配连续的墙锁有效期。多租户控制器122同时将这n个共享秘密发送到信道端点。

接下来,在步骤1306,每个信道端点然后可以生成包括附加随机数据的32字节的“随机数”。信道端点可以交换这些随机数值,并且然后可以使用例如rfc5996规定的密钥材料生成方法来为每个信道生成四个会话密钥,以便(1)加密数据以发送到其他元件,(2)认证并附接用于发送到其他信道端点的数据的加密安全消息摘要,(3)解密从其他信道端点所接收的数据,以及(4)验证所接收数据中附接的消息摘要是正确的。

根据各种实施例,信道端点使用由多租户控制器122指定的密码来加密数据。以由多租户控制器122确定的规则间隔,信道端点使用给定的共享秘密使用上述四个步骤在密钥重置操作中刷新四个会话密钥。

接下来,在步骤1308,在共享秘密有效期期满之前,信道端点可以使用下一个共享秘密(来自由多租户控制器122发送的n个共享秘密的集合)并遵循上述的四个步骤来生成新的会话密钥。即使多租户控制器122在n个共享秘密有效期的整个持续时间内不可达,也维持共享秘密的新鲜度。一旦单个共享秘密期满,则信道端点从多租户控制器122连续接收新的共享秘密,并且多租户控制器122向这两个信道端点发布向上n个总的新鲜秘密。

根据前述示例性实施例,完美前向保密可以通过使密钥重置间隔与共享秘密有效期相同来实现。这样做有助于确保在每个密钥重置中使用新鲜的共享秘密。在各种实施例中,所存储的共享秘密足以在没有来自控制器122的新密钥的刷新的情况下在默认时间段内确保网络操作。这样的时间的典型默认时段是例如三天。在示例性实施例中,网络的客户或用户168可以设置默认时间段。根据一个示例性实施例,可以在每小时的基础上使用相同的共享秘密但是使用新的随机数将会话密钥旋转到可配置设备124(例如信道端点),以增加安全性。

根据各种实施例,信道端点使用由多租户控制器122指定的密码来加密数据。以由多租户控制器122确定的规则间隔,信道端点使用给定的共享秘密使用上述四个步骤在密钥重置操作中刷新四个会话密钥。

根据示例性实施例,多租户控制器122可以作为证书机构操作。当可配置设备124被制造时,其可以连接到多租户控制器122以发布制造证书。可配置设备124可以将该证书用于双向认证的tls信道,以用于与多租户控制器122的安全通信。当可配置设备124被运送到客户并且客户手动授权可配置设备124时,附加的声称(claim)证书可以由多租户控制器122安装在可配置设备124上。在授权之后,可配置设备124可以将该证书用于与多租户控制器122的双向认证的基于tls的通信。可以通过该信道安全地将共享秘密从多租户控制器122发送到两个信道端点。

根据各种实施例,可以在多租户控制器122处改变或更新加密算法,而不影响端点。另外,多租户控制器122可以撤销设备的证书,并告诉其他可配置设备124和实体不信任它。

根据各种示例性实施例,共享秘密的生成不需要是完全基于软件或硬件的。相反,混合软件/硬件过程可以执行共享秘密的生成。

以下是说明本文所描述的本发明的非限制性实施例的说明性条款:

一种方法,包括:

在多租户控制器处生成用于在第一站点和第二站点之间建立链路的共同的共享秘密;

将共享秘密通过安全信道发送到第一站点和第二站点的每个;

分配用于共享秘密的基于挂钟的开始和结束有效期;

如果两个站点中的一个或多个元件不能与多租户控制器通信,则发送具有未来有效性的共享秘密以允许安全链路通信继续;以及

按每个链路每个vxwan使用单独的共享秘密。

一种方法,包括:

在第一信道端点处接收共享秘密;

生成多个随机数值;

与第二信道端点交换随机数值;

生成多个会话密钥;以及

使用共享秘密以预定时间间隔刷新多个会话密钥。

一种系统,包括:

第一站点;

经由网络与第一站点通信的第二站点;以及

多租户控制器,所述多租户控制器被配置为生成用于在第一站点和第二站点之间建立链路的共同的共享秘密,并且通过安全信道将共享秘密发送到第一站点和第二站点中的每个,其中多租户控制器被配置为分配用于共享秘密的基于挂钟的开始和结束有效期。

以上条款中的任何一个,其中共享秘密生成由软件、硬件和/或软件和硬件混合执行。

根据示例性和非限制性实施例,提供了一种方法,通过该方法wan可以调整以适应应用的需要,以便向用户168提供最优或近最优的体验。这样的优化可以至少部分地基于策略。策略可以至少部分地基于在网络上操作的应用,诸如与数据流的处理以确保应用的正常运行、在分支办公室152处存在的最合适的链路上的应用流的路由、或一些其他标准相关的策略。一旦应用流被放置在适当的链路上,则可以根据针对应用流的策略规范来保证足够的网络资源。

策略字符串202可以允许指定特定应用或身份,其提供在网络上发生的数据流上的控制。控制可以是每应用、每身份、应用和身份的组合、或基于一些其他参数。在实施例中,作为策略字符串202的一部分,可以指定虚拟可扩展wan(vxwan)204,该虚拟可扩展wan(vxwan)204使得设备将由该策略标识的特定流集合封装在唯一vxwan204中。vxwan204可以包括标识符或标签,其可以放在线路上,由于属于由策略捕获的流的数据/分组在设备之间转发。vxwan204可以包括仅提供给属于由策略捕获的流的分组的可选的唯一加密。vxwan204可以包括针对特定方向中的流而在网络中的入口点处插入vxwan标签并且在网络中的出口处移除标签的方式。vxwan204可以是双向的,因为相同的vxwan标签可以用于业务的两个方向。vxwan名称空间可以是全局的,并且由多租户控制器122分配和管理,如本文所描述的。

在示例中,可配置分支设备可以执行业务转发决定,并且被提供信息,包括但不限于:应用标识细节和/或应用业务简档。如本文所描述的可配置设备124可以保持路径表征信息。路径表征可以包括关于链路上的带宽可用性、延迟简档、链路上的业务量封盖等的信息。可配置设备124然后可以选择满足在该时刻对于应用的最优或近最优的所有约束的链路。链路的评级可以通过最低网络延迟,或者考虑应用级事务延迟或一些其他标准。

根据本文描述的本发明的方法和系统,多租户控制器122可以至少以其中维持网络中的每个设备的入口点和出口点的网络拓扑数据库的形式维持网络拓扑。多租户控制器122还可以从可配置设备124接收指示哪些域与锚定域相关联的数据,并将这些域分配给saas应用604,使得到saas应用604的更完整的一组入口点是已知的并由多租户控制器122存储。配置的设备可以收集监视数据,诸如关于与应用相关联的数据流和/或与应用相关联的域的信息,诸如在网络分支152处使用中的应用。这样的数据流记录可以携带与设备上的入口点和出口点相关的重要信息。数百万的这些数据流记录可以从遍及网络的设备输出到多租户控制器122。多租户控制器122可以存储信息,包括但不限于网络拓扑数据库,其包括关于在每个网络设备上发生的数据流的入口和出口点的信息以及数据流如何互连、来自网络中的多个设备的单个数据流上的数据流记录、以及如本文所述的锚定域和其他域(其与网络上的应用的使用相关联)。

在实施例中,多租户控制器122可以使用存储的网络拓扑508、域和相关数据流信息来周期性地运行“不对称检测”算法504,其基本上标识通过一个路径退出设备的多个数据流和在不同路径上重新进入设备的返回数据流的存在(即,不对称)。分析技术还可以用于表征与应用使用相关联的层4数据流。配置的辐条设备可以收集并向多租户控制器122发送这样的层4级数据流。如本文所述,可以检测和校正与特定应用和/或锚定域或与应用相关联的其他域相关联的数据流不对称。可以根据需要并且在多租户控制器122之外进行该校正。该改变可以例如通过辐条设备报告给多租户控制器122。多租户控制器122可以标识与网络上的应用使用相关联的不对称流,并且查看哪些数据中心128设备参与该流的传输并且报告这一点。多租户控制器122可以标识在其上发生该不对称的ip地址范围,将它们聚合并且将它们报告给用户168或管理员,使得可以在站点上校正ip前缀配置。为了防止正误识,算法可以在宣称网络中的不对称的存在之前使用包括其他设备和不同应用及其数据流的附加加权因子。多租户控制器122可以读取数据流表,以便允许多租户控制器122确定数据业务如何离开(例如,从锚定域或其他域导出的数据)。可以检测到不对称,并且多租户控制器122可以随后通知配置的设备,并且配置的设备可以采取路由动作以改善针对给定应用的使用的数据流不对称。

根据示例性和非限制性实施例,多租户控制器122可以用于集中地查看和控制网络拓扑、拓扑中的可配置设备124和策略的应用,以解决网络管理的操作需要。多租户控制器122可以记录指示所有设备和应用位于何处的数据,并且标识和映射网络的拓扑,并使用网络视图来确定网络资产的最优策略和设备使用。多租户控制器122可以例如监视和记录何时添加新站点,然后可以更新对网络拓扑的改变。因为多租户控制器122可访问http流,所以多租户控制器122可以被查询以例如示出站点之间的所有路径并模拟网络功能。多租户控制器122可在其网络的拓扑图中访问带宽和链路。还可以收集和存储每个链路的利用以供多租户控制器122访问。多租户控制器122可以模拟对网络的改变的影响。多租户控制器122可以追踪针对网络中的所有设备的所有配置(设备、接口、容量,策略等等)。配置管理可以是实时的或近实时的,以确保最小的数据延迟。多租户控制器122还可以保持关于业务类型、业务负载和应用统计的大量监视数据,并且还可以虑及创建“空”或假想站点,具体地,不是真实的但是例如正在规划的站点。

多租户控制器122可以用于在算法上确定和建立无循环数据转发模型,其可以包括转发表812的创建和管理。该算法可以计及网络故障并且调整无循环数据转发模型来计及网络内的资产损失。多租户控制器122可以至少以其中维持用于网络中的每个设备的入口点和出口点的网络拓扑数据库的形式维持网络拓扑,并且使用该网络数据周期性地运行算法以确定不对称数据流和与这样的不对称数据流相关联的设备。如本文所述,集中配置的多租户控制器122可以是(1)网段和地址以及(2)指示网段如何连接的信息的创建者和源二者。然后,集中多租户控制器122可以经由数据中心128或中枢设备发现什么外部网段未被路由实例控制,并且直接在所配置的设备上建立转发表812,使得业务被转发到正确的接口上,从而产生其中执行各种规则的无循环转发模型。

根据示例性和非限制性实施例,配置的设备还可以收集监视数据,例如与通过设备发送的数据流相关的信息。这样的数据流记录可以携带与设备上的入口点和出口点相关的重要信息。多租户控制器122可以存储信息,包括但不限于网络拓扑数据库,其包括关于在每个网络设备上发生的数据流的入口点和出口点的信息以及数据流如何互连、以及来自网络中多个设备的单个数据流上的数据流记录。多租户控制器122可以标识不对称流,包括与应用或锚定域相关联的不对称流,如本文所描述的,以及查看哪些数据中心设备参与该流的传输,并且推断流不正确地去往例如中枢设备,并报告这一点。多租户控制器122可以标识在其上发生该不对称的ip地址范围,聚合它们并且向用户168或管理员报告它们,使得可以在站点上校正ip前缀配置。

根据本文描述的本发明的方法和系统,多租户控制器122可以从可配置设备124接收指示哪些域与锚定域相关联的数据,并将这些域分配给saas应用604,使得到saas应用604的更完整的一组入口点是已知的并且由多租户控制器122存储。这可以在测量、监视和路由与saas应用604相关联的真实数据流中具有优势,而传统技术可能通过不识别实际上与应用相关联地生成业务的域的完整集合而低估与saas应用604相关联的业务。域类型可以包括但不限于顶级域608(例如,“.com”)、地理域(例如,国家域)和基础设施域(例如“.arpa”)。被标识为与锚定域相关联的域可以被发送到多租户控制器122,并且在多租户控制器122处,可以执行进一步的处理以消除正误识并将它们提取到已校正的域集合。网络内的可配置设备124可以检测应用的锚定域并且标记数据的源和检测的时间。在该检测时间之后,来自相同业务源的正在进行的数据流可以被标记为属于与锚定域相关联的应用。多租户控制器122可以继续从可配置设备124接收关于业务源的数据并对数据流进行分类。

根据示例性和非限制性实施例,可以使用如本文所述的统计和数据挖掘技术来分析锚定域和其他域数据,以用于通过会话来表征应用使用,用于性能和预测规划目的,以改善网络性能。比如中心性和分类的数据挖掘技术可以应用于描述从锚定域和/或应用的使用导出的数据流的微调模型。结果所得的模型可以更好地预测用于典型应用会话的事务的大小和频率,以及应用会话的频率。用于表征与锚定域和/或应用会话相关联的网络活动的建模和分析方法以及对应的网络和带宽要求可以用于针对子信道级别处的带宽要求(事务和批量应用类型)实时监视网络,并标识和预测带宽要求的趋势。基于锚域和应用类型检测,使用实时数据流,多租户控制器122可以分析其在分支级别处从可配置设备124接收的应用会话数据,以确定什么量的带宽对于正确的应用性能是必需的。应用性能分数可以用于记录和调整用于应用的带宽简档,其中简档描述了在应用会话期间检测到的(多种)类型的数据流所需的性能和带宽标准(即规则)。

在实施例中,如本文所描述的整形器154可以用于将与例如给定锚定域和/或应用相关联的数据限制为规定值。可以基于与业务(诸如与锚定域和/或应用会话相关联的业务)相关联的商业优先级别来添加或删除整形器154。这可以例如基于应用需求来动态地执行,其中动态执行根据在多租户控制器122处维持的策略来执行。基于性能的路由可以通过实时或近实时自动地和动态地估计链路容量来实现。如本文所描述的拥塞控制算法可以用于带宽估计。对于空闲链路,可以以类似于因特网速度测试的方式执行估计。对于活动链路,可以通过连续监视和校正来确定链路容量。在示例中,如本文所描述的,链路可以具有入口和出口整形器154,其控制可以在链路上放置多少业务或从链路接收多少业务。可以丢弃超过整形器154的限制的任何业务。整形器154的限制可以由带宽估计逻辑设置。

在实施例中,可以至少部分地基于商业优先来对网络业务进行分类,并且可以至少部分地基于所分配的商业优先来确定对运行在网络上的多个应用的带宽分配。网络管理员可以创建多个商业优先级并且为每个商业优先级分配优先次序和/或排名。配置的设备可以首先检测每个应用数据流的网络类型(例如媒体、批量或事务),并且为每个商业优先创建多个队列,例如严格优先814、公平818和异常820,如本文所述。整形器154可以用在异常队列之前以确保异常流不影响可用于其他流的带宽。

多租户控制器122可以用于自动化前缀发现和传播。典型的网络可以由许多网段组成,其中每个段由通常由网络地址掩码表示的网际协议(ip)地址的范围表示,像这样:10.10.10.0/24,其中“/24”是掩码。该范围可以表示大约254个ip地址。当这样的网络段由汇总路由器设备162呈现时,这些范围可以被聚合到更高的“掩码”——例如两个段10.10.10.0/24和10.10.10.1/24可以被聚合到10.10.10.0/23。有时路由器设备162将自动但是多次这样做,这些可以通过配置手动完成。在实施例中,多租户控制器122可以收集网络段信息,并且因此能够以编程方式找到最聚合的更高级网络地址和掩码。该过程可以称为超网并且可以有助于扩展(在一个公开的非限制性实施例中),并且改善网络的自动学习和控制。

例如,在数据平面学习的情况下,一旦流到达可配置设备124,就可以从分组报头提取源ip信息,并将其与在其上分组被设备接收的接口虚拟局域网(vlan)信息一起发送到多租户控制器122。然而,数据分组可能不携带子网掩码信息。因此,如果多租户控制器122从分支本地段上的客户端512接收到关于单个或少量流的信息,则多租户控制器122可能不能立即标识该前缀的确切长度。在该情况下,多租户控制器122可以尝试找到前缀的最佳拟合长度。例如:如果多租户控制器122接收到关于具有源ip地址的两个流的信息(让我们假设属于vlan10的192.168.1.1和192.168.1.2),则它可以生成前缀192.168.1.0/30以开始并向其他网站广告。随着时间的推移,如果它在相同的段上接收到关于源地址为192.168.1.29的另一个分组的信息,则它可以将前缀长度精炼为192.168.1.0/27。

注意,在数据平面学习方法中,可配置设备124可以选择聚合源ip并且部分地执行多租户控制器122所做的,以帮助多控制器122快速会聚。

精炼过程可以继续,直到多租户控制器122确定前缀的确切长度,因为它学习关于前缀的其余部分的信息。注意,在学习过程期间可能没有业务损失。此外,如果本地段下降并且被设备检测到,则其可以通知多租户控制器122,使得可以从所有远程站点撤销路由。前缀的最小长度应该是多少或多租户控制器122应该多频繁地生成前缀等的过程可以是用户168可配置的。数据平面学习可以被称为慢学习,因为多租户控制器122可能必须等待,直到它具有足够的信息来确定确切的前缀。与数据平面学习不同,如果在可配置设备124之后存在路由设备,则设备可以快得多地学习确切的前缀长度,由此可以在将信息发送到多租户控制器122之前从控制平面业务提取确切的前缀信息。没有路由协议的网络前缀的自动学习和用于设备的零接触部署的复杂配置可能是有利的。当本地段故障时,自动移除前缀并撤销具有那些前缀的路由可能是有利的。

可配置设备可以用于自动路由无协议网络前缀发现。在传统网络中,路由协议可以用于在设备之间交换路由信息。然而,可能需要经由网络语句或用于每个路由协议的重新分配来手动配置本地网络,使得前缀可以被广告给其他路由对等体。分支152中的可配置设备124可以不运行任何路由协议。作为代替,前缀发现可以经由在每个分支站点152处的数据路径学习来自动化。每个分支设备152可以将前缀信息发送到多租户控制器122,其系统地可以经由如上所述的超网算法找到最聚合的更高级网络地址和掩码。可配置设备124可以被配置为针对本地网络段被动地学习前缀信息。可以经由诸如动态主机配置协议(dhcp)、地址解析协议(arp)、侦听路由协议业务、实际数据平面业务等等之类的多种方式来学习前缀。

在传统网络中,通常使用路由协议来在路由对等设备之间交换可达的前缀。可达前缀的源是通过经由网络语句的手动配置或通过从一个路由协议到另一个的重新分配。

为了在数据中心128中无缝部署可配置设备124,多租户控制器122可以自动地学习本地数据中心前缀而不需要管理员手动配置前缀,并且遍及网络分发这些前缀以供业务转发中使用。

在数据中心128中,可配置中枢设备可以与wan-e路由器178边界网关协议(bgp)对等,并且可以学习包括本地数据中心前缀的所有前缀以及经由专用wan学习的远程分支路由。

可配置设备124可以将从专用wan学习的所有前缀发送到多租户控制器122。多租户控制器122可以运行本地算法来标识本地前缀并且将其与远程分离。

bgp学习的前缀携带as-path信息,其是as的有序列表,并且告知接收bgp对等体关于给定前缀已经穿过的as。多租户控制器122知道针对其所对等的数据中心128内的本地可配置设备124和传统路由器178而配置的bgpas号。在一个实施例中,多租户控制器122可以标识仅包含存在于数据中心128中的as号的前缀,并且将那些前缀标记为作为数据中心128的本地的前缀。多租户控制器122可以采用其他方法,比如bgp自治系统(as)过滤,以进一步精炼数据中心中的所标识的本地前缀。

注意,如果撤销了路由或做出了任何改变,则本地设备可以经由bgp更新而检测这些撤销的路由,并相应地更新多租户控制器122。多租户控制器122可以对更新的信息应用算法,并且根据需要调整数据中心中的本地前缀,从而允许网络自动校正任何改变和对任何改变做出反应。

这可以简化数据中心中的可配置设备124的部署,并且可以在数据中心128内进行任何改变的任何时间节省网络管理员配置和移除前缀的时间。

图14和15中的以下示例示出了可以如何利用as-path信息来学习前缀x(本地)和前缀y(远程)。注意,即使当在数据中心128内存在多个as时,中枢设备所配对的as路径列表中的as号的次序(在示例中为as2和as3)可以提供方向,并且可以适当地标识前缀是本地还是远程。用于数据中心128中的设备的零接触部署的网络前缀的撤销和自动学习可以是有利的。

多租户控制器122相关联的覆盖网络可以与传统系统集成。使用专用mpls144wan,企业网络站点可以在点对云类型的模型中连接到mpls服务提供商网络。使用l3vpn服务提供商术语,客户边缘(ce)路由器180可以连接到提供商边缘(pe)路由器176。所有远程站点路由器162可以经由数据中心128中的ce设备180访问位于数据中心128中的应用。因此,可以关键的是,针对无缝集成,不存在到现有网络(特别是数据中心128中的数据中心核心178和ce(也称为wan-e或wan边缘)设备180)的中断。

参照图16,可配置设备124可以在数据中心128中离开路径而部署,而不中断如本文所示的现有网络的物理连接。可配置设备124可以经由单独的接口物理地或逻辑地连接到数据中心128中的ce设备180。可配置设备124可以与核心178和ce180路由器162等进行bgp对等。与ce180对等可以以使得可配置设备124可以仅接收路由但可以不向ce发送任何路由的方式来完成。这可以确保对ce设备的现有操作没有中断。与核心路由器178对等可以以使得可配置中枢设备可以选择性地只广告那些远程分支路由的方式来完成。到核心路由器178的路由广告可以通过附接“没有广告”、公知的社区值来完成。公知的社区值可以指令核心路由器178不向任何其他对等体广告可配置的中枢注入路由,从而不需要特殊的过滤器来防止到网络内的任何其他对等体的路由的意外广告。这可以确保可配置设备124仅吸引去往分支152的选择业务。这还可以确保对去往非控制器关联的站点的业务没有影响,从而改善与现有网络的部署和集成。对ce路由器180没有任何类型的中断的无缝集成是有利的。没有对非控制器关联站点的中断是有利的。用于非控制器关联站点的受控业务处理是有利的。没有过滤要求是有利的。

多租户控制器122关联的环境可以包括零接触多播。在传统网络中,企业客户可以从mpls提供商处以高价购买多播vpn服务,使得他们可以在网络中的不同站点之间发送多播服务。另外,客户可以经由因特网142备份vpn。通常,企业选择不跨公共vpn发送多播业务,这是由于性能问题和配置复杂性或者部署专有解决方案、对昂贵的设备的投资。然而,这样的客户不能基于性能标准使用专用和公共vpn二者。

如图17所示,可配置设备124可以拦截通过分支设备152的多播业务(特别是因特网组管理协议(igmp)业务),而同时将业务转发到专用wan朝向下一跳路由器162,例如ce。分支152中的可配置设备124可以将igmp报告信息转发到多租户控制器122。多租户控制器122可以基于所接收的igmp协议业务来维持多播组数据库,并且可以将组成员信息分发到位于数据中心128中的可配置中枢设备。在从多租户控制器122接收到多播组成员信息时,其可以创建多播状态并将vpn链路放置到作为该组的成员的分支152。中枢设备然后可以重建igmp加入并且将其发送到核心路由器178,核心路由器178可以在其转发表812中将接口添加到可配置中枢。当位于dc中的源开始发送分组时,可配置中枢设备可以接收分组的副本但是将vpn链路上的分组复制到作为多播组的成员的各个远程分支152,如图17所示。

注意,多播业务的源也可以存在于分支152处,并且在这样的情况下,多租户控制器122将多播组信息发送到存在于分支152处的可配置设备124,并且该设备执行通过vpn链路执行到各个成员可配置设备124的分组复制。如果在专用wan中支持多播而不是基于性能在各个vpn链路上复制业务,则可配置设备124也可以选择使用专用wan用于多播业务。

零配置多播业务递送可能是有利的。用于多播业务的基于性能的路径选择可能是有利的。

可配置中枢设备可以在传统和混合wan之间提供桥接/转接点。在使用专用ip/mplswan的传统企业中,远程分支152和数据中心128可以经由服务提供商mpls144网络彼此连接。为了冗余,企业客户可以选择两个服务提供商,并将他们的关键站点双归属(dualhome)于两个提供商。在一个mpls提供商中故障的情况下,站点可以经由第二提供商网络继续到达彼此。然而,使所有站点双归属可能不是成本高效的。因此,企业可以选择仅使关键站点双归属,并使其他站点为单归属(当可能时)。然而,这可能对网络管理员创建操作挑战以管理路由和相关策略,以确保来自单归属站点的业务被允许在稳定状态下以及在故障状况时通过适当的(多个)双归属站点转接。

与使任何给定站点成为传统网络中的转接点相关的路由策略可能不是微不足道的,并且可能需要仔细规划和复杂配置以避免路由循环。例如,在图18中,站点3可以是单归属的,并且广告可以传播到连接到mpls提供商1的所有站点的前缀。站点1和站点2可以双归属于两个提供商。站点2可以向mpls提供商2广告前缀,并且该前缀可以到达站点1。站点1可以具有不将前缀广告回mpls提供商1的适当的过滤器,否则可能创建循环,特别是如果as路径信息由于路由任何转接站点处的重新分配而丢失的话。类似地,如果从mpls提供商2接收回前缀到mpls提供商1,则站点2可以不广告该前缀。

另外,当来自站点3的业务注定到站点1时站点1丢失到提供商1的连接时,适当的配置可能需要就位以允许业务转接通过站点2。

基于多租户控制器122的方法可以提供与企业的现有网络基础设施的无缝集成。企业客户可能不需要任何复杂的配置或路由策略,以确保在稳定状态或故障状况期间站点之间的合适业务流。在mplswan144的故障时,可配置中枢可以用作转接点以无缝修复损坏的wan的一部分。类似地,在初始部署阶段期间,当并非所有站点都已被迁移到多租户控制器122关联的环境时,可配置中枢可以提供转接点以促进在网络的其余部分中的无缝部署,如图19中所示。

利用部署模型,可配置中枢和分支设备152可以跨宽带因特网连接142构建安全和全网状覆盖。可配置中枢bgp可以与企业数据中心128中的核心和wan-边缘路由器178对等,以及可以接收整个网络路由,包括来自非控制器关联的站点的路由。例如,如图20所示,站点1可能由于丢失到mpls提供商144的连接而仅经由vpn到达站点2。当站点1尝试向其中多租户控制器122可能还未被部署的站点3发送业务时,可以首先将业务发送到站点2处的可配置中枢。由于可配置中枢具有整个网络的知识,因此它可以进行ip查找并且确定该站点不可经由多租户控制器122到达,因此它可以向wan-边缘路由器178转发该业务,wan-边缘路由器178然后将该业务路由到适当的目的地。可配置中枢可以在vpn和传统网络之间提供容易的转接点,而不需要复杂的路由策略。在没有显式和复杂路由的情况下的vpn和传统网络之间的无缝路由可能是有利的。在故障时单归属站点的高可用性可能是有利的。

多租户控制器122可以使用包括但不限于bgp社区的各种bgp属性来构建组合mplswan144拓扑的端到端拓扑映射图,并且经由图形用户接口向网络管理提供完整的专用wan拓扑视图。

在传统网络中,企业和mpls服务提供商之间的协议(也称pe-ce路由协议)的常见选择可以是bgp。企业通常可以按每站点运行不同的bgp自治系统号(as号)。因此,当路由经由mpls服务提供商网络从一个站点交换到另一个站点时,包含在路由传播期间转接的所有as的as路径属性可以与前缀一起被携带。在集中中枢位置中,可配置设备124可以经由bgp与企业wan路由器178对等,并且可以接收具有完好的bgp路径信息的远程站点路由。中枢站点可以将该信息转发到多租户控制器122。多租户控制器122的拓扑构建器组件可以利用该信息来标识本地中枢站点(例如数据中心)路由和远程站点路由,并且可以构建图形拓扑映射图。另外,多租户控制器122还可以具有vpn拓扑的完整知识。组合两者,拓扑构建器可以产生整个企业wan网络的完整的端到端视图。

多租户控制器122关联的方法可以提供组合网络中的所有可能wan的企业网络的动态和完整视图以及标识本地对远程路由的能力等。可以实时地反映可能由于mplswan144中的故障和/或专用网络上的bgp路由撤销所引起的状态转变。

双向转发可以用于检测专用和公共链路故障。使用专用mplswan144,企业网络站点可以以点到云类型的模型连接到mpls服务提供商网络。使用l3vpn服务提供商术语,客户边缘(ce)路由器180可以连接到提供商边缘(pe)路由器176。为了满足客户服务级别协议(sla)以便在故障时更快地会聚,bfd可以在pe-ce链路之间与路由协议一起使用。然而,以该方式使用bfd可以允许仅针对客户站点和提供商边缘路由器176之间的本地链路或节点的故障检测。因此,可以在企业网络中的每个pe-ce链路处配置bfd会话。由于bfd可能仅在本地段上运行的事实,它可能不足以检测端到端故障。企业网络可能不检测服务提供商网络内的任何软或硬故障,这可能花费几小时并且在一些情况下花费几天来故障排除并针点型找出(pinpoint)问题的根本原因,从而可能增加平均修复时间(mttr)和减少企业网络的可用性。另外,提供商边缘(pe)路由器通常可以仅支持有限数量的bfd会话,并且可能不一定能够在每个和每一个pe-ce链路上支持bfd。因此,bfd可能只可用于高端客户,或者可能作为优质服务提供给企业客户。一些企业可以采取建立跨mpls网络144的覆盖并且在覆盖网络上运行bfd以检测服务提供商网络内的断开和其他故障。这可能增加复杂性并且破坏可能意图外包wan网络而简化企业网络管理员的网络操作的mplsvpn144的目的。

可以以新颖的方式利用bfd来监视任何两个给定站点之间的端到端的路径的健康,而不需要复杂的配置。因此,在故障时并且特别是在节电(brownout)的情况下的端到端业务会聚可能非常快,并且提高了企业网络中的总体可用性和用户体验。

在传统网络中,企业客户可能希望在pe-ce链路之间使用bfd以及bgp或内部网关协议(igp)协议之一,包括static、路由信息协议(rip)、开放最短路径优先(ospf)和增强型内部网关路由协议(eigrp)等,以用于快速故障检测。故障检测本身可能只是问题的一小部分,其中最终目标是尽可能快地恢复业务。因此,为了加快路由会聚,并恢复其他可用路径上的业务,诸如bgp、ospf和中间系统到中间系统(isis)等之类的路由协议可以向bfd过程注册。在链路故障检测时,可以立即向路由协议通知关于这样的故障,使得它们可以重新计算它们的路由表并找到替代路径以到达期望的目的地。由于路由协议是bfd的消费者,所以路由协议的存在可能是bfd有效的先决条件。

多租户控制器122相关联的方法利用bfd来检测跨企业网络中的专用ip/mplswan144的端到端故障。代替向路由协议注册bfd的传统过程,该方法可以在跨专用wan的每个企业站点处的可配置设备124之间建立端到端bfd会话。每个可配置设备124可以经由bfd主动地监视对每个其他站点的可达性,而不明确地建立端到端bgp或者配置跨专用wan的任何其他路由协议。在检测到沿着路径的异常时,可配置设备124在没有手动干预的情况下动态地引导业务远离受影响的路径。这可以提供不仅快速地检测节点故障的本地pe-ce本地链路的能力,而且还可以使得企业客户能够检测服务提供商网络中的节电和其他故障。

多租户控制器122相关联的方法利用bfd来检测跨企业网络中的专用mplswan144的端到端故障。代替向路由协议注册bfd的传统过程,该方法可以在跨mplswan144的两个给定企业站点之间独立地建立端到端bfd会话,并且在检测到故障时,动态地重新路由业务而不需要通知路由协议以重新计算替代的路径。与传统的bfd不同,其有效性可能不限于本地pe-ce链路/节点故障,而可能在范围上更广泛得多。它可以使得企业客户网络能够自动检测服务提供商网络中的节电和其他故障。此外,该方法可以减轻服务提供商通过利用pe路由器176上的用于其他关键功能的宝贵资源来在其处提供pe-ce级别bfd的需要。

中枢高可用性和切换可以由多因素辐条设备引导。每个辐条站点设备可以在每个中枢站点中被分配两个中枢元件以用于ha的目的,以确保辐条站点可以在中枢设备故障时继续具有到中枢站点的vpn隧道。使用bgp或ospf主中枢设备可以将属于该辐条的前缀注入到核心交换机中,并将主中枢设备指定为中枢站点到辐条站点方向上的业务的优选下一跳。确定要利用哪个中枢设备可以由辐条站点设备决定。本发明描述了辐条站点可以如何决定哪个中枢元件是其主中枢。

辐条元件可以使用多个因素来确定应该是辐条站点的主中枢的中枢元件对内的优选中枢元件。辐条可以具有多个专用和公共wan电路。这些电路通常具有不同的定价模型——定价是基于带宽或基于量的。基于量的定价可以遵循蜂窝电话计划,比如其中对于固定的每月成本每月具有一定量的允许量并且对于超过允许的量按消耗的每兆字节具有成本的定价模型。

对于每个专用和公共wan电路,辐条设备可以建立到分配给它的中枢元件ha对中的两个中枢元件的网际协议安全(ipsec或ipsec)vpn隧道。辐条设备可以使用算法来决定该对中的哪个中枢元件应该是其主中枢元件。该算法可以作为输入而采取每个专用和公共wan电路的带宽、每个电路的定价模型、到公共和专用wan电路中的每个上的两个中枢站点的单独ipsecvpn隧道的健康、到中枢核心路由器178的中枢设备的路由可达性等。该算法的目的可以是在保持基于量的成本低的同时优化应用性能。该算法可以虑及默认ha行为,并且还可以虑及管理员指定关于分支中的哪些电路可以被允许默认活动的规则,哪些是备份(除了在默认活动电路的故障时以及当备份电路不可以使用时)。该算法可以使用保护组的概念来实现其结果。辐条设备124可以决定从分配给它的ha中枢对选择一个中枢设备178作为其主中枢设备,因为它能够使用较低成本的分支电路。如果主中枢设备现在仅可在基于较高成本的电路上达到,但是辐条可以使用较低成本的电路到达ha对中的第二设备,则其可以使第二中枢设备为主设备。用于中枢站点的辐条驱动的ha决定可能是有利的。基于应用性能、成本考虑和超越规则的主要ha元件的多因素确定可能是有利的。

可以在创建安全隧道之前提供用于设备安全性的设备认证,其中这样的设备认证是企业特定的和/或特定于利用多租户控制器122的可配置网络。通过wan网络的企业站点到站点ipsecvpn可以要求建立隧道的两个网关或元件基于企业要求相互认证。这些要求可以确保只有可信和经认证的设备可以使用ipsecvpn通过专用或公共网络交换专用企业数据。现有的认证方法可以遵循以下两种方法之一:

·使用手动配置的预共享密钥。该方法可能需要it按每个对等体提供单独的预共享密钥。对于1000个对等体,这可能意味着手动生成1000个预共享密钥,并为完全网状网络配置它们100万次。替代的选项是使用单个密钥,但是即使是单个路由器162的危害也可能暴露整个网络,从而导致较弱的安全性。

·代替预共享密钥,客户可以使用pki(公钥基础设施)。这可能需要他们具有完整的pki基础设施来管理证书、密钥,并使用离线crl(证书撤销列表)分发机制来管理证书撤销。他们可能必须确保针对其(多个)ca(证书机构)服务器的高安全性和可用性。他们可能必须仍然手动预置每个网关设备以使用pki。

所公开的非限制性实施例的vpn认证可以使用具有分层级别的证书认证的内置pki,其可以消除几乎所有的手动配置,可以提供非常高的认证安全性,并且仍然可以给予管理员对元件的认证的控制。所公开的非限制性实施例可以提供以下中的一个或多个:

·三层的、基于pki的认证,其可以阶段性地升级认证以得到更高的安全性。

·第一层可以是制造安装证书(mic)和私钥,其可以在从授权制造站点运送时提供设备确实性。

·由客户的手动声称,其可以确保it在每个设备在网络中被承认之前对每个设备授权,并且可以参与建立vpn和激活策略

·第二层可以是每租户声称安装证书(cic),其可以在手动授权之后将元件绑定到租户

·内置和完全自动化的pki基础设施,其中具有用于mic和cic的单独证书机构,并且其可以管理证书的整个生命周期

·客户控制的设备授权撤销(解除声称(declaim))。

·客户还可以控制给定的声称设备是否可以与其他设备一起参与vpn。

·通过允许客户还安装可能由客户自己的证书机构所发行的租户安装证书(tic)与现有客户pki基础设施集成。

在制造时,在元件离开可信制造站点之前,设备可以安装有经签名的证书和私钥。私钥可以保持在tpm(可信平台模块)模块等中,并且证书可以由仅专有制造的证书机构(称为micca)签名。在制造期间,元件可以使用安全tls加密信道等来联系多租户控制器122,以使其证书被签名。多租户控制器122可以检查以确保请求来自制造位置并且硬件id/序列号有效。多租户控制器122可以将硬件id绑定到证书中的默认租户,并且可以签名证书。已制造但未分配给任何租户的元件可以标记为“可用”。使用tpm和经签名的证书可以确保当租户接收到元件时,其是真实的元件并且可以被信任。多租户控制器122可以托管可以发行签名证书的micca。多租户控制器122还可以维持证书到特定硬件元件的绑定。它还可以维持哪些硬件元件不再可信的撤销列表等。被报告为已被危害的硬件元件可以被标记为由ca撤销。ca可以使用该信息来确保租户可以仅声称未撤销的可信元件。当硬件运送到租户时,其可以被标记为“已分配”给该特定租户。当仅具有mic并且已经被标记为“已分配”的元件联系多租户控制器122时,该元件可以被允许为仅由租户“声称”。可能不允许该元件设置vpn。多租户控制器122和元件之间的通信可以是tls加密的和pki认证的。元件到多租户控制器122通信可以使用双向证书认证,其中元件使用mic作为客户端证书,并且双方可以验证他们的证书由专有ca签名。

当租户的管理员登录到多租户控制器122时,他们可以看到分配给他们的当前在线的所有“可用”元件。管理员可以验证元件硬件id匹配于他们已经订购(order)的元件,并且元件可以安装在正确的客户位置中。然后他们手动“声称”元件。这向多租户控制器122提供来自管理员的授权,该元件现在可以完全参与网络并且可以建立vpn。

多租户控制器122可以向元件(与硬件id分开的元件id)发出新的声称安装证书,并且它可以将该元件绑定到声称安装证书(cic)中的租户并签名证书。多租户控制器122可以使用单独的cicca来签名该证书。多租户控制器122和元件然后可以基于mic等断开现有的通信信道并且与cic建立新的通信信道。这可以是tls加密和双向证书认证的信道,其中元件使用cic作为客户端证书,其中双方可以验证其证书由可信ca签名。

在验证该元件与cic证书通信时,多租户控制器122可以允许该元件与客户网络中的其他站点处的元件建立vpn。因此,只有具有租户特定声称证书的手动授权元件可以进行vpn。这可以表示第二pki层。

在声称元件之后,如果租户具有其自己的pki基础设施,则在管理员的请求下,多租户控制器122可以使用来自租户的ca的经签名的证书,并且它可以将它们安装在元件上。这些经签名的证书可以由管理员通过他们的登录手动预置,或者多租户控制器122可以使用诸如scep(简单证书登记协议)之类的协议来获取它们。这些证书可以被称为“租户安装证书”(tic),并且可以由作为租户自己的pki基础设施的一部分的ticca等签名。

在安装tic之后,元件和多租户控制器122可以再次断开与cic通信建立的现有通信信道,然后再次使用cic或tic作为客户端证书与该元件重新建立它。此时,它们二者都可以进行类似于如本文所述的基于cic的通信的证书验证。此外,多租户控制器122验证该元件(如果它与cic连接)也可以具有已经由租户的ticca签名的经签名的tic。这可以表示第三pki层。

除了基于mic、cic和ticpki的认证和授权之外,租户管理员还可以具有临时禁用特定声称元件参与vpn的控制。这可能不会撤销证书,但可能只暂停该元件进行vpn的能力。管理员可以启用暂停的元件以在将来的时间重新建立vpn。

如果mic或cic接近期满或被损坏,则多租户控制器122可以在没有管理员干预的情况下为它们透明地分配新的经签名证书。对于tic证书,多租户控制器122可以透明地使用scep或其他协议来代表该元件获得新的经签名证书。客户还可以手动安装tic证书以代替旧的期满或损坏的证书。

当客户不再想要使用元件并且想要处置其或者为了rma(退货授权)原因而返回其时,他们可以“解除声称”该元件。当管理员解除声称元件时,多租户控制器122可以指令该元件擦去其tic和cic以及相关联的私钥。多租户控制器122还可以将元件标记为解除声称并且不再分配给客户。多租户控制器122还可以将cic标记为已撤销,并指令租户ca将tic标记为已撤销。因此,该元件进入“可用”状态,并且可能不再能够参与建立vpn,因为其不具有cic并且不处于“声称”状态。

该三层认证和授权可以为可以是多租户的前两层提供深度安全性和pki基础设施,并且可以管理用于前两层的完整证书生命周期。第三层可以具有与租户的环境中的现有pki基础设施集成的能力,从租户的ca获取经签名证书,并将其用于针对vpn建立的授权。这可以给予管理员在针对网络承认元件之前手动地授权该元件(声称该元件)并且还有当他们想要处置该元件等时对该元件解除授权的完全控制和能力。如果透明地处理租户绑定的证书/私钥,则将该授权转换为新的证书/密钥可以绑定到租户或被移除。对于所声称的元件,可以以容易使用的方式提供进一步粒度的vpn级别授权。

站点到站点联网模型和底层vpn链路/隧道创建可以基于动态规则。基于多租户控制器122的联网模型可以使用逻辑链路,其然后可以使用公共wan(与因特网142相同)网络或专用wan(与mpls144相同)网络上的ipsec隧道(也称为vpnlink或vpnlink)来实现以用于站点之间的通信。多租户控制器122可以使用基于规则的方法来动态地启动和拆除站点之间的链路。基于规则的方法可以使用以下中的一个或多个来决定何时启动和拆除隧道:

·站点类型的知识(中枢或辐条)

·辐条站点之间的数据量

·辐条站点之间的应用性能

·租户管理员给出的指令

当站点与wan网络相关联时,多租户控制器122可以创建逻辑“站点wan接口”等。

对于属于两个单独站点(无论是中枢还是辐条)的站点-wlan接口的每对,多租户控制器122可以创建可以是两个站点之间的逻辑连接的链路。链路可以分为以下类别,诸如:

·中枢到辐条(h2s)链路

·辐条到辐条(s2s)链路

[动态规则1-默认]对于每个中枢到辐条(h2s)链路,多租户控制器122可以指令两个站点中的合适元件建立ipsec隧道以激活链路。在辐条中,合适的元件可以是成对的当前活动的元件。在中枢中,合适的元件可以是用于该辐条站点的指定主中枢元件。

[管理员规则1]多租户控制器122可以向管理员提供不允许建立特定的h2s链路的控制。多租户控制器122可以使用该指令并覆盖默认规则。

[动态规则2]多租户控制器122可以监视通过每对辐条站点之间的mpls144或经由中枢站点传播的每对辐条站点之间的业务总量,所述中枢站点充当用于ipsec隧道上的两个辐条之间的业务的转接站点(即,业务通过ipsec隧道从辐条1去到中枢站点a,并且通过第二ipsec隧道从中枢站点a到辐条2)等。如果基于公式在某一时间段内业务量超过某一阈值,则多租户控制器122可以决定应激活辐条之间的链路。其可以指令两个辐条站点中的元件在它们之间直接建立ipsec隧道,使得辐条站点之间的业务可以使用它们之间的直接ipsec隧道。

[动态规则3]对于使用经由[动态规则2]激活的链路,多租户控制器122可以继续监视两个辐条站点之间的业务总量。如果在某一时间段内总量下降到低于特定阈值,则多租户控制器122可以决定去激活该链路。其可以指令两个站点中的两个元件破坏ipsec隧道。

[动态规则4]多租户控制器122可以针对应用监视每对辐条站点之间的应用性能,所述应用的数据通过所述站点之间的mpls144或经由中枢站点传播,所述中枢站点充当用于ipsec隧道上的两个辐条之间的业务的转接站点(即,业务通过ipsec隧道从辐条1去到中枢站点a,并且通过第二ipsec隧道从中枢站点a到辐条2)等。如果应用性能差,则基于直接在两个站点之间的ipsecvpn的带宽信息和历史延迟,或者基于建模和预测分析等,多租户控制器122可以决定激活两个辐条站点之间的链路。

[管理员规则2]多租户控制器122可以向租户管理员提供永久地允许建立特定的辐条到辐条链路的控制。多租户控制器122可以使用该指令作为对规则的覆盖。

[管理员规则3]多租户控制器122可以向租户管理员提供不允许建立特定的辐条到辐条链路的控制。多租户控制器122可以使用该指令作为对规则的覆盖。

传统ipsecvpn可以具有以下方法之一:

·在每个路由器162上指定的手动配置的辐条指示其应当与哪个其他路由器162进行vpn;或者

·指定辐条路由器162可以针对所有业务联系中枢路由器162,并且如果中枢路由器162可以决定业务是否意在用于另一辐条站点,则它可以告诉发源辐条路由器162直接与目的地分离路由器162建立ipsecvpn。

当前公开的非限制性实施例可以提供以下新功能中的一个或多个:

·提供多租户控制器122驱动的集中控制,以用于跨所有可配置设备建立ipsec

·提供动态建立辐条到中枢ipsec隧道作为具有零配置的默认

·提供站点之间的应用性能驱动的ipsec隧道建立

·提供站点之间的数据量驱动的ipsec隧道建立

·为租户管理员给出的指令提供永久允许两个站点总是使用公共wan或专用wan上的ipsec隧道彼此通信的方法

·为租户管理员给出的指令提供永久不允许两个站点使用公共wan或专用wan上的ipsec隧道彼此通信的方法。

现有的集中式密钥生成(kerberos和groupvpn等)可以要求多租户控制器122始终可用。这些可以在高度可靠的lan或wan环境内操作,由此可以利用非常高的sla来确保集中密钥生成器的网络可达性。然而,对于可能仅通过因特网电路可达的集中多租户控制器122,可以可能的是,由于多个isp,可能存在多租户控制器122可达性中的中断。这些中断可能由于自然灾害、洲际海底电缆的断裂、核心对等点处的设备故障等而发生。这些中断可以持续数小时至数天等的时段。在这样的情况下,密钥生成可能不为加密数据信道提供高可用性和弹性。

根据本公开的方法和系统,可以在故障时提供vpn高可用性以到达多租户控制器122。在其中由多租户控制器122集中生成共享秘密以使两个站点建立ipsec隧道的多租户控制器122驱动模型中,可以可能的是,由于早先解释的网络连接问题或客户内部网络,多租户控制器122可能在某些延长的时间段内可能是不可达的。由于共享秘密可能期满,多租户控制器122可以根据一组元件的需求而生成新的共享秘密,然而如果这些元件不能联系多租户控制器122,则他们可能不获得新的共享秘密,这将最终导致ipsec隧道失效(bringdown),从而中断数据路径业务。

本公开的非限制性实施例提供了允许数据路径在延长的时间段内在无头(headless)(设备在不能与多租户控制器122通信时主动地起作用)模式下操作的机制。多租户控制器122可以针对共享秘密基于挂钟而分配固定的有效期。对于每个ipsec数据隧道,多租户控制器122可以发行具有将来的开始和结束有效期的多个共享秘密。所发行的共享秘密的数量可能覆盖完整的无头时段。如果已经建立ipsec隧道的两个元件不能到达多租户控制器122,则它们仍然可以具有足够的共享秘密以在无头时段内密钥重置ipsec数据隧道。

基于安全考虑和标准化最佳实践,多租户控制器122可以确定用于使用特定共享秘密的最大有效期。当多租户控制器122决定使用ipsec数据隧道激活链路时,多租户控制器122可以为两个元件生成共享秘密,并且基于挂钟来设置共享秘密的开始和结束有效时间。

开始时间可以是当前挂钟时间之前的时间,并且结束时间可以是超过当前挂钟的时间。开始时间的确定可以基于尝试获得开始时间的公平分布的特定分布算法。多租户控制器122可以为数百万vpn链路发行新的共享秘密,并且公平分布确保多租户控制器122可以均匀被加载并且不遭受重新发行负载的峰值。多租户控制器122可以具有默认无头时段值。该值可以由租户管理员在多租户控制器122指定的最小和最大界限等内改变。多租户控制器122可以使用无头时段值,并将其除以最大共享秘密有效期,以获得它应生成以覆盖无头期满时段的共享秘密的最大数量。多租户控制器122可以向这两个元件发送预分配的共享秘密的完整列表。这些元件可以使用第一共享秘密,并且在它期满之前的某一时段时,元件通知多租户控制器122以请求新的共享秘密来确保它们继续具有覆盖无头时段的共享秘密的充满的流水线。多租户控制器122可以响应于与其联系的第一元件并且向具有ipsec数据隧道的两个元件发行单个新的共享秘密。多租户控制器122可以生成多个共享秘密以确保从当前时间到最大无头时段的总时段被充分数量的共享秘密完全覆盖。如果元件不能到达多租户控制器122以发送通知,则它仍然可以继续使用来自预分配列表的下一个可用共享秘密。如果元件的对等元件可以通知多租户控制器122,则多租户控制器122可以生成新的共享秘密。如果两个元件都不能到达多租户控制器122,则多租户控制器122可以不发行新的共享秘密。

如果两个元件都不能到达多租户控制器122并且多个共享秘密已经期满并且它们中的一个或两个能够在此之后到达多租户控制器122,则多租户控制器122可以遵循相同的方法并且可以发行多个共享秘密以覆盖从当前时间起的无头时段。如果仅一个元件可以到达多租户控制器122,则它可以继续从多租户控制器122请求新的共享秘密。如果一个(或两个元件)不能到达多租户控制器122并且它(或者它们)消耗了所有的共享秘密,则意味着该元件(或两个元件)可以超出所允许的最大无头时段而操作。在该情况下,元件可能会使ipsec隧道失效。如果元件的对等体能够与多租户控制器122通话,则其可以继续从多租户控制器122请求新的共享秘密,即使其不能使用它们。因此,共享秘密刷新机制可以操作,只要任何一个元件可以到达多租户控制器122。

该公开的非限制性实施例可以虑及使用仅经由因特网142可达的基于云的多租户控制器122,其发行集中密钥但是仍然确保在临时中断的情况下处于到达多租户控制器122,其对现有加密数据信道(ipsec)存在零影响而确保加密的安全性得以保留。

集中管理的垫层(shim)ip地址可以用于优化ipsec安全策略。具有多个公共wan或专用wan接口上的多个ipsecvpn隧道的辐条可能需要基于策略等来决定其应当使用哪个出口vpn隧道。辐条可以维持当前活动的ipsecvpn隧道安全关联(sa)等的数据库。隧道可以由一个在入站方向上并且另一个在出站方向上的一对sa组成。每个隧道可以在内核中使用以下参数中的一个或多个来标识——称为安全参数索引(spi)的32位索引,以及ipsec对等体的目的地ipv4或ipv6地址等。每个应用流可以被映射到ipsecsa对,并且该映射可以在内核中使用安全策略数据库(spd)来实现。该数据库可以包括可以具有基于应用流的报头字段的字段的分类规则。对于应用流的每个分组,可以提取该字段以形成针对spd中的分类规则进行的查找和密钥。

spd中的条目的数量可能变得非常大。作为用于具有1000个用户的辐条的示例,每个用户具有两个设备,每个设备具有20到30个应用流,可以在spd中产生40,000到60,000个条目。这可能会减慢spd查找,并可能会增加分组处理的延迟。

此外,每当存在新的应用流或当现有应用流完全停止运行时,spd可能必须被修改,并且在其被修改时,它可能不被用于分组处理,这可能进一步延迟分组处理。添加或删除应用流可能是频繁的活动。这可能是问题,即使对于具有几千个spd条目的较小分支152也是如此。所公开的非限制性实施例可以提供使用附加垫层ip报头,其可以按每ipsec隧道使用垫层ip地址。在完成spd查找之前,可以将该垫层ip报头附接到应用流。使用垫层ip报头可以显著减少spd中的条目的数量。由于垫层ip被绑定到ipsec隧道并且隧道的创建/删除可以以与应用流创建/删除相比明显更低的速度发生,所以可以以非常低的速率更新spd。这两个因素都可以改善分组处理性能。

每个ipsec隧道可以被给予64位数的路径id,并且对于每个这样的路径id,多租户控制器122可以为ipsec隧道的每一侧分配一对垫层ip地址。

在进行策略查找之后,数据路径可以确定路径id,然后可以附接包括用于路径id的垫层ip地址对的垫层ip报头。然后可以仅使用垫层ip地址来查找安全策略数据库。对于具有1000个ipsec隧道的辐条,这可能导致仅具有1000个条目的spd,相比于针对具有1000个用户的分支152的40,000至60,000个。对于具有50个用户和2000至3000个流的较小分支152,与应用流的改变速率相比,改变ipsec隧道的速率可以降低因子x。与在基于应用流报头字段的spd的情况下将发生的相比,这可能导致spd的非常低的更新速率。多租户控制器122可以使用数据库驱动算法来管理ip地址空间。该算法可以是高度可扩展的,并且可以管理用于跨成千上万个租户的数以亿计的流的垫层ip。使用垫层ip报头来改善spd查找性能可能是有利的。使用多租户控制器122驱动的高度可扩展的多租户垫层ip地址管理可能是有利的。

内嵌(inline)bfd可以用于ipsecvpn隧道健康管理和控制协商。传统的ipsec控制协议可以使用称为“失效对端检测”(dpd)的方法,其可以是检测对等体是否失效的控制信道方法。由于传统的ipsec控制信道可能在带外,所以控制信道可能是健康的,但是数据信道可能仍然失效。例如,控制信道可以在udp端口500上运行,其可以被防火墙允许,但是数据信道ipsecesp可能被阻止。

如果失效对端检测检测到控制信道失效,则其可以拆除数据信道,并且对等体可以使用ike或ikev2等来建立新的数据信道。因此,控制信道信令可以用于确定数据信道的健康。然而,可以可能的是,数据信道工作良好,并且问题是仅控制信道相关的。这可能导致数据信道业务中的不必要中断。代替使用dpd,当前公开的非限制性实施例可以通过在ipsecvpn隧道的两端之间发送双向转发检测(bfd)消息来使用数据信道内的带内信令。这可以确保快速检测到数据隧道故障。如果bfd指示数据隧道失效,则其可以触发控制信道开始协商以确定故障的原因。控制信道可以不立即破坏ipsecsa,而是保持它们直到硬期满。这可以确保如果数据隧道中的中断是临时的,则隧道可以不被破坏,而是可以在中断消失时立即使用。多租户控制器122相关联的方法可以将公共wan或专用wan上的每个ipsec数据隧道视为两个元件之间的直接路径。bfd可以用于确保该路径是健康的且可用的。这可以类似于路由将如何使用bfd来检测直接连接到相邻路由器162等的物理电路的健康。

两侧使用bfd作为应用,其可以使用垫层ip地址作为源和目的地ip地址在两侧上发送bfd消息。当ipsecvpn控制守护进程(daemon)建立ipsec数据隧道时,它可以发信号通知bfd守护进程以创建bfd会话。它可以提供用于bfd分组的源和目标ip以及还有用于该会话的路径id。bfd守护进程可以根据rfc5880发送bfd分组。bfd消息间隔可以保持为750ms。这可能导致2.25秒故障检测时段。如果bfd守护进程检测到隧道失效,则它可以发信号通知ipsecvpn控制守护进程并且向其提供隧道的路径id。然后,ipsec控制守护进程可以与相关对等体开始控制信道协商,以找到针对故障的原因并采取校正动作。bfd守护进程可以继续发送回声(echo)分组,并且如果其发现数据隧道启动,则它可以再次使用路径id发信号通知vpn控制守护进程,以指示ipsec隧道启动。使用bfd作为带内信令来指示ipsec数据隧道的健康可能是有利的。使用数据隧道健康故障来驱动ipsec控制信道协商而不是迂回的(round)其他方式可能是有利的。

根据本公开的方法和系统,可以针对带宽来优化vpn隧道健康管理。如本文所解释的,可配置设备124可以使用bfd来监视ipsec数据隧道的健康。为了支持从活动到备份ipsec数据隧道的快速故障切换并最小化业务中断,在一个公开的非限制性实施例中,可配置设备124可以与750ms一样频繁地发送bfd回声分组。当存在从分支152到其他数据中心128和分支124的大量ipsec隧道(诸如以千计)时,bfd业务的量可以很大。为了减少bfd业务的带宽消耗但仍然进行快速故障检测,本发明可以使用在隧道上接收的加密的应用业务作为隧道启动的指示并抑制bfd回声分组。在没有应用业务的情况下,可以使用bfd分组来检查隧道的健康。在该方法的变型中,应用业务分组也可以用于携带bfd信令信息。

nat可以针对vpn隧道和用于具有和不具有nat的vpn隧道的ip地址改变管理而集成。需要建立vpn链路的两个站点中的设备可以在网络地址转换器(nat)之后。nat可以是目的地ipnat或具有nat的pat(端口地址转换)类型的源nat等。nat设备可以重新启动,并且在重新引导下,它们也可能经历其面向接口的wan的ip地址改变。ipsec隧道的仅一侧可以在nat之后。可配置设备124本身可以具有可以经历改变的静态ip地址或dhcpip地址。nat设备可以是具有可以从允许ipsec移动到不允许ipsec业务(并且反之亦然)的规则的防火墙nat。如果其不允许业务,则其可能保留需要超时的高速缓存拒绝条目,否则即使策略被移动为允许,ipsec会话也仍可能由于高速缓存拒绝ipsec条目而被拒绝。

本文描述的公开的非限制性实施例可以确保ipsec数据隧道保持在大多数前述场景中,并且仅在如果在可配置设备124之一前存在nat设备的情况下才需要ipsec数据隧道。如果存在在两个可配置设备124之前的nat设备,则它们中的一个应是目的地nat设备。

该公开的非限制性实施例可以使用发起者和响应者的概念以及多租户控制器122的使用来告诉每一侧该对等体的ip地址。如果在一方之前存在目的地nat,则其可以要求多租户控制器122将仅该nat的ip地址指定为对等目的地ip。本文描述的公开的非限制性实施例可以使用nat穿越。例如,它可以通过udp发送ipsec分组。双方可以发送请求消息,其中它们可以携带关于发源设备的原始ip地址和端口号以及它可以向其发送分组的ip地址和端口的特定有效载荷。进行接收的设备可以将该信息与最外层nat穿越udp/ip报头的ip和端口进行比较。使用这一点,每一方发现它是否可能在静态或动态nat之后,或者该对等是否可能在静态或动态nat等之后。基于此,它们都可能导出它们作为发起者或响应者的角色。一旦建立了该角色,它们可以完成它们的控制信道通信以建立ipsec数据隧道。双方还可以追踪任一侧的ip地址的动态改变,并且透明地更新它们的远程地址而最小化业务中断。如果数据隧道可能由于ip或nat角色的改变、nat重新启动、nat策略改变等而崩塌,则控制隧道可以尝试重新建立发起者和响应者的概念,并且可以虑及角色按次序改变(如果有必要的话),以保持控制通道。如果存在由于高速缓存拒绝条目(其超时由于连续的控制信道协商分组而不期满)而拒绝控制信道通信的防火墙nat设备,则可配置设备124上的控制信道可以使用指数退避超时方法来决定何时发送下一个控制信道分组。使用此,它们可以在发送下一个控制信道分组之前等待几秒到几分钟。这可以允许防火墙nat使其高速缓存拒绝条目期满。防火墙nat上的更新的策略可以允许控制信道通信,并且一旦高速缓存拒绝条目由于期满而被删除,则新的允许条目可以由防火墙nat插入。由于此,可配置设备124之间的控制信道通信可以最终成功。追踪具有和不具有用于站点到站点ipsecvpn的nat的可配置设备124的ip地址的改变的能力可能是有利的。追踪源nat设备的ip地址的改变的能力可能是有利的。使用指数退避时间来发送下一个控制分组的能力可能是有利的。

可以跨租户并且跨单个租户内的站点来检测应用。如在上面的其他实施例中所描述的,本文描述的方法和系统可以带来创新的方法来动态地检测应用。从一个或多个站点动态学习的应用标识信息也可以由多租户控制器122学习并被推送到相同租户的其他站点。

此外,由于多租户控制器122作为云递送的多租户服务被递送,所以在多租户控制器122处学习的信息可以被聚合和清理,并且该聚合后的信息也可以被分发到其他租户的站点。上述两者可以虑及跨站点和租户的应用标识的集体改进。在不具有这一点的情况下,在一个站点处学习的信息可能保持本地化在同一站点处,并且每个站点可能必须独立地完成学习过程。该收集和散播可以虑及应用定义的非常快速会聚。例如,如果站点处的设备学习到srv1.lync-int.com与office365相关联,则所有其他站点都会很快知道这一点。

辐条设备可以使用在本文的实施例中描述的基于锚定域的方法来检测应用(更具体地为,saas应用604)。在所有提到的方法中,当业务开始流过辐条设备时,应用定义可以不断地精炼。这些精炼被推送到多租户控制器122,其中它们可以通过分析平台被聚合和清理,并且可以被分发到相同租户的其他站点和其他租户的站点。这是涉及设备和多租户控制器122的慢反馈回路的另一示例。

用于wan的当前可用的解决方案涉及可以手动预置或通过集中管理站(其在仅管理设备等时停止)预置的器具和路由器162。本文所述的所公开的非限制性实施例提供了一种新的基于多租户控制器122的方法,其针对朝向广域网空间的应用定义的学习和散播。

在一个公开的非限制性实施例中,多租户控制器122相关联的方法涉及辐条设备不能与应用相关联的所有http域名,并且可以标识、分析和分类它们以增强应用定义,以便例如确定相关性和无关性。

可配置设备124可以检查进入和离开分支152的所有业务,并且收集尝试动态地将它们与已知应用相关联的http域名集合,如上述实施例中所述。未被发现与已知应用相关的所有域名可以被聚集并发送到多租户控制器122以用于进一步分析。在多租户控制器122处,可以使用数据挖掘技术等来分析这些域名,并且它们可以进一步被分类为以下类别中的一个或多个:

·新的应用,导致新的应用定义

·现有应用,导致现有应用的增强

·不感兴趣,并且因此被忽略。

这可以有助于改善整个系统在标识应用中的有效性。

本文所公开的非限制性实施例描述了可以基于在客户的网络上观察到的业务而不断地和自动地演进和适配的wan网络。

如本文所述,多租户控制器122虑及在实际进行改变之前规划和可视化网络的改变(即,版本化)。在这样的“预览”模式下,网络管理员能够以不同的方式做出所提出的改变并且看到其效果。当这样的改变和效果被认为对于管理员用户是满意的时,他/她将想要将改变提交到网络,并且因此将所规划的改变转换为所提交的改变。这可以允许将“网络”视为数据库——资产、配置、状态和统计的集合。数据库被版本化,其允许追踪对数据库的改变作为提交事务序列。就像源代码控制和版本化系统,它允许通过一系列提交和合并来对其各种软件组件进行版本化和追踪,这可以允许“网络”版本化。

管理员用户基于网络的版本而“预览”他的改变及其效果,并且一旦满意并且她准备好提交该改变,则多租户控制器122创建网络的新版本。可以由多租户控制器122追踪和保持多于一个版本的网络,使得如果任何改变对网络造成危害,则管理员可以回到网络的先前的“安全”版本。

多租户控制器122可以虑及比较两个不同的版本,其将突显配置和资产库存改变。除了从网络收集的统计数据之外,多租户控制器122还可以保持所有配置、资产库存和状态信息。网络的版本是创建该版本时的配置、资产库存和状态的快照。对于统计信息,版本化是添加到从网络收集的统计数据的时间序列的版本记录。为了比较两个版本,多租户控制器122做出表示两个版本的两个快照的“差异比较(diff)”。统计数据不以相同方式进行比较。作为代替,统计可以在版本及其相应的存在时间的上下文中分析。

如在其他实施例中所提到的,多租户控制器122从云递送,并且管理用户在一个中心位置处与系统交互,并且可以包括半分布式控制平面高速缓存(具有对应的统计)。然而,这并不意味着部署在客户的网络中的所有元件都需要来到该单个中心位置以检索其预置信息并执行其功能。作为代替,多租户控制器122功能被分解,并且一些延迟敏感的功能跨全球分布,以对元件产生更好的响应时间。客户的网络中的元件可以跨宽广地理位置部署。这些元件可能需要获取其预置信息并将精细粒度统计推送到多租户控制器122。如果所有的多租户控制器122功能像网络门户和api网关一样集中,则元件可能在与多租户控制器122通信并高效地执行其功能中遭受高延迟。为了减轻这种情况,一些关键的延迟敏感的多租户控制器122功能被分解并跨全球分布,而其余保持集中。这一切都发生在后端中,并且客户不觉知这一切,并且他们继续来到一个地方与系统交互。这些功能跨宽广的地理位置的分布而从客户的角度仍然作为集中式多租户控制器122起作用可能是有利的。

可以在数据路径层处提供用于性能、路径选择、服务和vxwan选择的多阶段的、多因素分类和策略执行。策略可以使用与基于应用、身份、性能、路径、服务和vxwan的隔离相关的更高级别的构造。在进入的流分组中可用的信息尽管在较低网络层114处。进入的流和分组可能需要由网络层处和较高策略层112处的数据路径分类,以找到它们匹配于哪个策略规则。这涉及使用两阶段分类。

在该两阶段分类之后,数据路径可能需要基于策略中的vxwan204、服务、性能和路径指令来选择对于应用的最佳路径。数据路径可以使用确保策略满足针对应用的最佳可能性能108和应用的可达性110的特定机制。

策略集合可以由策略规则组成。每个策略规则可以指定包括应用和身份的分类栏。可以使用更高级l7构造和潜在地使用多个基于l7规则表达的规则来指定应用。应用本身可以包括一组应用。

类似地,可以使用基于字符串的名称来指定身份。每个身份可以指定单独的用户168或设备,或者可以指定组用户168或设备,并且在一些情况下,组可以标识其他组。如果业务与分类栏匹配,则每个策略规则还可以指定要采取的动作。该动作就性能、路径指令、服务和vxwan隔离而言。可能存在多个策略规则,其形成策略集合的一部分。策略集合可以应用于多个站点。多租户控制器122将策略集合的所有策略规则发送到站点中的元件的数据路径。

在每个策略规则中,多租户控制器122可以将应用规范转换为应用id或应用id列表,并且将身份规范转换为身份id列表。多租户控制器122可以将路径指令转换为路径id列表,将服务转换为服务id,将vxwan204转换为网络隔离标识符,并且将性能转换为性能id。然后,其可以使用这些id来形成策略规则,并将策略规则发送到元件数据路径。其还提供用于每个策略规则的id。

数据路径可以使用多级分类方法来对业务进行分类。在第一阶段中,其可以取得应用业务并将业务标识为属于特定应用id或应用id列表,并且标识为属于身份id或身份id列表。作为分类的第一阶段的一部分,数据路径可以使用一组帮助器模块,其将应用和身份id映射到诸如ip地址、tcp和udp端口、ipdscp(差分服务代码点)字段、层2vlan标签、层2vlan优先等之类的的网络级别构造。在第二阶段中,其可以取得来自第一阶段的id,并进行另一个分类查找以标识业务匹配于的策略规则。如果多个策略规则匹配于进入的业务,则数据路径可以使用特定算法来消除歧义。其可以使用应用和身份字段二者以及路径、服务、vxwan204和性能字段来消除歧义。

在找到策略规则匹配之后,数据路径可以使用策略中的动作字段以便执行策略。为此,其可以使用帮助器模块来将路径id映射到数据路径级别下一跳接口或隧道,将性能id映射到数据路径级别bw控制队列,并且将网络隔离标识符映射到网络路径级别封装垫层。数据路径可以使用基于vxwan指令、服务指令、路径指令规则和性能指令需要来排序路径选择的特定算法。

一旦最终策略规则已经匹配,则数据路径可以添加用于进入的流的流条目,并且属于流的后续分组使用该流条目,而不是使用经历完整多级分类。

虽然在数据路径层处使用了应用和/或身份,但是为了安全的目的,针对在数据路径级别处的应用性能和隔离的路径选择的应用和身份二者的使用可能是有利的,并且基于路径指令、隔离需要和性能需要的组合的最佳路径的选择可能是有利的。

本文描述的方法和系统可以部分地或整体地通过在处理器上执行计算机软件、程序代码和/或指令的机器来部署。处理器可以是服务器160、客户端512、网络基础设施、移动计算平台、固定计算平台或其他计算平台的一部分。处理器可以是能够执行程序指令、代码、二进制指令等的任何种类的计算或处理设备。处理器可以是或包括信号处理器、数字处理器、嵌入式处理器、微处理器或任何变体,诸如协处理器(数学协处理器、图形协处理器、通信协处理器等)等,其可以直接或间接地促进存储在其上的程序代码或程序指令的执行。另外,处理器可以使得能够执行多个程序、线程和代码。线程可以被同时执行以增强处理器的性能并且促进应用的同时操作。以实现的方式,本文所描述的方法、程序代码、程序指令等可以实现在一个或多个线程中。线程可以产生可以被分配与其相关联的优先级的其他线程;处理器可以基于优先级或基于在程序代码中提供的指令的任何其他次序来执行这些线程。处理器可以包括存储如本文和其他地方描述的方法、代码、指令和程序的存储器。处理器可以通过接口来访问可以存储如本文和其他地方描述的方法、代码和指令的存储介质。与处理器相关联的用于存储能够由计算或处理设备执行的方法、程序、代码、程序指令或其他类型的指令的存储介质可以包括但不限于cd-rom、dvd、存储器、硬盘、闪速驱动器、ram、rom、高速缓存等中的一个或多个。

处理器可以包括可以增强多处理器的速度和性能的一个或多个核。在实施例中,该过程可以是组合两个或更多个独立核(称为管芯)的双核处理器、四核处理器、其他芯片级多处理器等。

可以通过在服务器160、客户端512、防火墙、网关、中枢、路由器162或其他这样的计算机和/或联网硬件上执行计算机软件的机器来部分或整体地部署本文所述的方法和系统。软件程序可以与服务器160相关联,服务器160可以包括文件服务器、打印服务器、域服务器、因特网服务器、内联网服务器和其他变体,诸如辅助服务器、主机服务器、分布式服务器等。服务器160可以包括存储器、处理器、计算机可读介质、存储介质、端口(物理和虚拟)、通信设备和能够通过有线或无线介质访问其他服务器160、客户端512、机器和设备的接口等中的一个或多个。如本文和其他地方描述的方法、程序或代码可以由服务器160执行。另外,对于执行如本申请中所描述的方法所需的其他设备可以被认为是与服务器160相关联的基础设施的一部分。

服务器160可以向其他设备提供接口,所述其他设备包括但不限于客户端512、其他服务器160、打印机、数据库服务器、打印服务器、文件服务器、通信服务器、分布式服务器等。另外,该耦合和/或连接可以促进跨网络远程执行程序。这些设备中的一些或全部的联网可以促进在一个或多个位置处的程序或方法的并行处理,而不偏离本发明的范围。另外,通过接口附接到服务器160的所有设备可以包括能够存储方法、程序、代码和/或指令的至少一个存储介质。中央储存库可以提供要在不同设备上执行的程序指令。在该实现中,远程储存库可以充当用于程序代码、指令和程序的存储介质。

软件程序可以与客户端512相关联,客户端512可以包括文件客户端、打印客户端、域客户端、因特网客户端、内联网客户端和其他变体,诸如辅助客户端、主机客户端、分布式客户端等等。客户端512可以包括存储器、处理器、计算机可读介质、存储介质、端口(物理和虚拟)、通信设备和能够通过有线或无线介质访问其他客户端、服务器160、机器和设备的接口等中的一个或多个。如本文和其他地方描述的方法、程序或代码可以由客户端512执行。另外,对于执行本申请中描述的方法所需的其他设备可以被认为是与客户端512相关联的基础设施的一部分。

客户端512可以提供到其他设备的接口,所述其他设备包括但不限于服务器160、其他客户端512、打印机、数据库服务器、打印服务器、文件服务器、通信服务器、分布式服务器等。另外,该耦合和/或连接可以促进跨网络远程执行程序。这些设备中的一些或全部的联网可以促进在一个或多个位置处的程序或方法的并行处理,而不偏离本发明的范围。另外,通过接口附接到客户端512的所有设备可以包括能够存储方法、程序、应用、代码和/或指令的至少一个存储介质。中央储存库可以提供要在不同设备上执行的程序指令。在该实现中,远程储存库可以充当用于程序代码、指令和程序的存储介质。

本文所描述的方法和系统可以部分地或整体地通过网络基础设施来部署。网络基础设施可以包括如本领域中已知的诸如计算设备、服务器160、路由器162、中枢、防火墙、客户端512、个人计算机、通信设备、路由设备和其他有源和无源设备、模块和/或组件之类的元件。与网络基础设施相关联的(多个)计算和/或非计算设备除了其他组件之外还可以包括诸如闪速存储器、缓冲器、堆叠、ram、rom等之类的存储介质。本文和其他地方描述的过程、方法、程序代码、指令可以由一个或多个网络基础设施元件执行。

本文和其他地方描述的方法、程序代码和指令可以在具有多个小区的蜂窝网络上实现。蜂窝网络可以是频分多址(fdma)网络或码分多址(cdma)网络。蜂窝网络可以包括移动设备、小区站点、基站、中继器、天线、塔等。

本文和其他地方描述的方法、程序代码和指令可以在移动设备上或通过移动设备来实现。移动设备可以包括导航设备、蜂窝电话、移动电话、移动个人数字助理、膝上型计算机、掌上型计算机、上网本、寻呼机、电子书阅读器、音乐播放器等。除了其他组件之外,这些设备还可以包括诸如闪速存储器、缓冲器、ram、rom和一个或多个计算设备之类的存储介质。可以使得与移动设备相关联的计算设备能够执行存储在其上的程序代码、方法和指令。可替代地,移动设备可以被配置为与其他设备协作地执行指令。移动设备可以与基站进行通信,所述基站与服务器160对接并被配置为执行程序代码。移动设备可以在对等到对等网络、网状网络或其他通信网络上通信。程序代码可以存储在与服务器160相关联的存储介质上,并且由嵌入在服务器160内的计算设备执行。基站可以包括计算设备和存储介质。存储设备可以存储由与基站相关联的计算设备执行的程序代码和指令。

计算机软件、程序代码和/或指令可以在机器可读介质上存储和/或访问,所述机器可读介质可以包括:计算机组件、设备和记录介质,其在某一时间区间内保留用于计算的数字数据;被称为随机存取存储器(ram)的半导体存储器;大容量存储,通常用于更永久的存储,诸如光盘、磁存储器的形式,比如硬盘、磁带、磁鼓、磁卡和其他类型;处理器寄存器、高速缓存存储器、易失性存储器、非易失性存储器;光学存储器,诸如cd、dvd;可移动介质,诸如闪速存储器(例如,usb棒或钥匙)、软盘、磁带、纸带、穿孔卡、独立ram盘、zip驱动器、可移动大容量存储、离线等;其他计算机存储器,诸如动态存储器、静态存储器、读/写存储、可变存储、只读、随机存取、顺序存取、位置可寻址、文件可寻址、内容可寻址、网络附接存储、存储区域网络、条形码、磁性油墨等等。

本文描述的方法和系统可以将物理和/或或无形物品从一个状态变换到另一个状态。本文描述的方法和系统还可以将表示物理和/或无形物品的数据从一个状态变换到另一个状态。

本文描述和描绘的元件(包括贯穿附图的流程图和框图中)暗示元件之间的逻辑边界。然而,根据软件或硬件工程实践,所描绘的元件及其功能可以在机器上通过具有能够执行存储在其上的程序指令的处理器的计算机可执行介质实现为单片软件结构、独立软件模块、或采用外部例程、代码、服务等等的模块、或这些的任何组合,并且所有这样的实现可以在本公开的范围内。这样的机器的示例可以包括但不限于个人数字助理、膝上型计算机、个人计算机、移动电话、其他手持式计算设、医疗设备、有线或无线通信设备、换能器、芯片、计算器、卫星、平板pc、电子书、小工具、电子设备、具有人工智能的设备、计算设备、联网设备、服务器160、路由器162等。此外,在流程图和框图中描绘的元件或任何其他逻辑组件可以实现在能够执行程序指令的机器上。因此,尽管前述附图和描述阐述了所公开的系统的功能方面,但是除非另有明确说明或以其他方式从上下文是清楚的,否则不应当从这些描述推断用于实现这些功能方面的软件的特定布置。类似地,将理解,以上标识和描述的各步骤可以变化,并且步骤的次序可以适应于本文公开的技术的特定应用。所有这样的变化和修改旨在落入本公开的范围内。因此,除非由特定应用要求或明确说明或以其他方式从上下文是清楚的,否则不应将用于各步骤的次序的描绘和/或描述理解为要求用于这些步骤的特定执行次序。

上述方法和/或过程及其步骤可以以适于特定应用的硬件、软件或硬件和软件的任何组合实现。硬件可以包括专用计算设备或特定计算设备或特定计算设备的特定方面或组件。过程可以实现在一个或多个微处理器、微控制器、嵌入式微控制器、可编程数字信号处理器或其他可编程设备以及内部和/或外部存储器中。过程还可以或作为代替体现在专用集成电路、可编程门阵列、可编程阵列逻辑或可以被配置为处理电子信号的任何其他设备或设备的组合中。还将理解,一个或多个过程可以被实现为能够在机器可读介质上执行的计算机可执行代码。

计算机可执行代码可以使用结构化编程语言(诸如c)、面向对象编程语言(诸如c++)或任何其他高级或低级编程语言(包括汇编语言、硬件描述语言和数据库编程语言和技术)来创建,其可以被存储、编译或解释以在上述设备以及处理器、处理器架构或不同硬件和软件的组合的异构组合、或者能够执行程序指令的任何其他机器之一上运行。

因此,在一个方面中,上述每个方法及其组合可以体现在计算机可执行代码中,所述代码当在一个或多个计算设备上执行时执行其步骤。在另一方面中,方法可以体现在执行其步骤的系统中,并且可以以多种方式跨设备分布,或者所有功能可以集成到专用的、独立设备或其他硬件中。在另一方面中,用于执行与上述过程相关联的步骤的器件可以包括上述硬件和/或软件中的任何一个。所有这样的排列和组合旨在落入本公开的范围内。

虽然已经结合所示和详细描述的优选实施例公开了本发明,但是对其的各种修改和改善对于本领域技术人员而言将是显而易见的。因此,本发明的精神和范围不受前述示例所限制,而是应在可由法律允许的最宽泛的意义上理解。

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