CN110754066A - 网络路径选择 - Google Patents

网络路径选择 Download PDF

Info

Publication number
CN110754066A
CN110754066A CN201880040511.2A CN201880040511A CN110754066A CN 110754066 A CN110754066 A CN 110754066A CN 201880040511 A CN201880040511 A CN 201880040511A CN 110754066 A CN110754066 A CN 110754066A
Authority
CN
China
Prior art keywords
network
performance
path
historical performance
paths
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201880040511.2A
Other languages
English (en)
Other versions
CN110754066B (zh
Inventor
桑德普·巴贾杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN110754066A publication Critical patent/CN110754066A/zh
Application granted granted Critical
Publication of CN110754066B publication Critical patent/CN110754066B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0859Retrieval of network configuration; Tracking network configuration history by keeping history of different configuration generations or by rolling back to previous configuration versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5051Service on demand, e.g. definition and deployment of services in real time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/245Link aggregation, e.g. trunking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5077Network service management, e.g. ensuring proper service fulfilment according to agreements wherein the managed service relates to simple transport services, i.e. providing only network infrastructure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/14Routing performance; Theoretical aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results

Abstract

一种方法可以包括监视通过网络定向到目的地的多个路径的网络性能度量,以及存储这些路径的历史性能数据。该方法还可以包括:接收定向到目的地的数据流,其中该数据流可以受网络性能协议的约束。该方法可以另外包括:确定路径的合计历史性能,以及比较路径的合计历史性能。该方法还可以包括:基于对合计历史性能的比较,通过网络路由数据流。

Description

网络路径选择
技术领域
本公开中论述的实施例涉及改进的网络路径选择。
背景技术
网络的使用是允许不同计算设备之间进行通信的有用工具。一些网络流量可能要受网络流量的预期服务级别的协议或要求的约束。此类协议或要求有时被称为“服务级别协议”(SLA)。
本公开中要求保护的主题不限于解决任何缺点或仅在诸如上述环境中操作的实施例。相反,提供该背景仅是为了说明可以实践本公开中描述的一些实施例的一个示例技术领域。
发明内容
本公开的一个或多个实施例可以包括一种方法,该方法包括针对通过网络到达目的地的第一路径和通过网络到达目的地的第二路径,监视一个或多个网络性能度量。该方法还可以包括存储第一路径和第二路径的网络性能度量的历史性能数据。该方法还可以另外包括接收定向到目的地的数据流,其中该数据流可基于网络性能度量中的至少一个网络性能度量而受网络性能协议的约束。该方法还可以包括确定第一合计历史性能高于第二合计历史性能,其中第一合计历史性能基于所存储的第一路径的历史性能数据,并且第二合计历史性能基于所存储的第二路径的历史性能数据。该方法还可以另外包括基于第一合计历史性能高于第二合计历史性能,沿着第一路径路由数据流。
本公开的一个或多个实施例可以包括一种方法,该方法包括:监视通过网络到目的地的多个路径的网络性能度量,以及存储这些路径的历史性能数据。该方法还可以包括:接收定向到目的地的数据流,其中该数据流可以受网络性能协议约束。该方法可以另外包括确定路径的合计历史性能,以及比较路径的合计历史性能。该方法还可以包括基于对合计历史性能的比较,通过网络路由数据流。
本公开的一个或多个实施例可以另外包括用于促进这类方法的执行的系统和/或非暂态计算机可读介质。
实施例的目的和优点将至少通过权利要求中具体指出的要素、特征和组合来实现和获得。
应当理解,前面的一般描述和下面的详细描述都仅仅是示例和解释性的,并不限制本发明,如所声明的那样。
附图说明
通过使用附图,将以附加的特性和细节来描述和说明示例实施例,其中:
图1示出了实现软件定义的网络的网络组件的示例系统;
图2示出了在网络设备之间具有多个路径的示例系统;
图3示出了随着时间的网络性能度量的示例图;
图4示出了选择在其上路由数据流的路径的示例方法的流程图;以及
图5示出了示例计算系统。
具体实施方式
本公开的一些实施例涉及对网络路径的选择的改进。例如,当接收到受SLA约束的数据流时,其中,具有多条可能到达目的地的潜在路径,网络设备决定将使用哪一条路径将数据流路由到目的地。SLA可以包括针对一个或多个网络性能度量(例如带宽、可用性、抖动、延迟、丢失和/或其他)的商定阈值水平。
在本公开的一些实施例中,并非仅考虑网络路径性能的最新快照,网络设备在确定将沿着哪条路径来路由数据流时可以考虑各种路径相对于SLA的历史性能。例如,网络设备可以考虑给定时间段内每个潜在路径下降到SLA以下的次数,并选择具有性能最佳的路径。在一些实施例中,可以使用机器学习算法来比较各种路径的历史性能。这样的机器学习算法可以包括随着时间的推移而考虑并不断完善的多个因素(例如,抖动、延迟、丢失、成本、运营商声誉等)。通过使用历史性能和/或其他因素,可以做出选择以找到更可能满足数据流的SLA的路径,而不是简单地基于最新快照来选择路径。
本公开的实施例可以提供对计算机网络和计算机本身的操作的改进。例如,可以改善利用SLA的应用的性能,因为可以将更可能满足SLA性能的路径用于该应用,从而允许增加响应时间并提高应用性能。另外,通过选择更可能满足数据流的SLA的路径,网络流量可以提高的性能来流过。例如,使用本公开的实施例可能更有可能将网络流量放在更可靠的路径上,从而导致较少的数据重传。通过提供更少的重传,可以保留宝贵的网络资源,例如带宽,并可以提供增加的响应时间。此外,由于减少了重传次数,因此可以减少流经内部网络域的流量,从而为内部网络域提供出色的性能。本公开在选择路径方面将节省成本作为一个因素的另一优点可以包括在路径选择过程中考虑与特定路径相关联的成本。
参考附图说明本公开的实施例。
图1根据本公开的一个或多个实施例的示出了实现软件定义的网络的网络组件的示例系统100。在一些实施例中,网络路径选择可以在诸如系统100所示的软件定义的网络中实现。系统100可以包括内部网络域105和一个或多个外部网络域。系统100可以包括一个或多个边缘网络设备110(例如边缘网络设备110a-110d)、控制设备120、通信网络130以及外部网络设备140和141(例如外部网络设备140a-140d和141a-141d)。
系统100可以实现软件定义的网络。软件定义的网络可以包括由软件管理而不是由硬件控制的网络。这样,软件定义的网络可以支持多种类型的连接,例如Internet、多协议标签交换(MPLS)连接、和/或蜂窝连接(例如长期演进(LTE)、LTE高级、全球微波接入互操作性(WiMAX)、4G和/或其他)。另外,软件定义的网络可以支持各种连接之间的负载均衡或负载分担。此外,由于网络的分布式性质,软件定义的网络可以支持虚拟专用网(VPN)、防火墙、以及其他安全性服务。例如,在软件定义的网络中,控制平面可以在功能上与物理拓扑分离。在一些实施例中,软件定义的网络可以将网络的控制平面(将通过软件来管理)与网络的数据平面(在网络的硬件上操作)分开。如本文所使用的,术语控制平面可以指的是在网络本身的控制和管理中使用的通信和连接,而不是指可能在数据平面发生的通过网络的数据传输。如本文所使用的,术语数据平面可以指代在通过网络的数据的发送和接收中使用的通信和连接。例如,控制平面可以包括定向到网络内的网络设备的管理性流量,而数据平面可以包括经过网络内的网络设备的流量。
在一些实施例中,软件定义的网络可以被实现为软件定义的广域网(SD-WAN)、局域网(LAN)、城域网(MAN)等。尽管可以在SD-WAN的上下文中描述网络路径选择的一个或多个实施例,但是这样的实施例也可以在任何网络中实现。
在一些实施例中,控制设备120可以被配置为通过指导边缘网络设备110的操作的一个或多个方面来管理内部网络域105的控制平面。例如,控制设备120可以生成策略和/或将策略分发给一个或多个边缘网络设备110。策略可以包括一个或一组与网络流量的处理有关的规则,例如路由、优先级、介质等。在一些实施例中,这些策略可包括用于各种数据流的SLA。例如,与视频应用相关联的数据流可以具有如下SLA:该数据流应沿着延迟小于第一阈值的路径被路由;并且与语音传输应用相关联的数据流可以具有如下SLA:该数据流应沿着丢失低于第一阈值且抖动低于第二阈值的路径被路由。
内部网络域105可以作为具有特定功能和/或协议的安全且受控的域来操作。在一些实施例中,边缘网络设备110可以基于控制设备120所创建和/或传播的一个或多个策略来操作。在这些和其他实施例中,边缘网络设备110可以基于控制设备120所创建和/或传播的策略来在内部网络域105内路由数据流量。
在一些实施例中,边缘网络设备(例如,边缘网络设备110a)可以接收将被路由到另一边缘网络设备(例如,边缘网络设备110d)的数据流。边缘网络设备110a可以确定数据流受SLA约束,并且边缘网络设备110a存在多个潜在路径以将流量路由到边缘网络设备110d。边缘网络设备110a可以在确定哪个路径用于数据流时考虑各种路径的历史性能。这样的路径选择确定可以在图2-图4中更详细地描述。
在一些实施例中,控制设备120可以与每个边缘网络设备110形成控制平面连接。控制平面连接可以促进边缘网络设备110和控制设备120之间的管理数据的交换,用于管理和控制内部网络域105。控制平面连接可以用作通过通信网络130的隧道,例如数据报传输层安全性(DTLS)隧道。在一些实施例中,通过控制平面连接发送的数据可以促进控制设备120确定通信网络130的拓扑。例如,控制设备120可以与边缘网络设备110进行通信以确定通信网络130中的边缘网络设备110之间存在哪些物理连接。另外或可替代地,通过控制平面连接传输的数据可以促进控制设备120确定边缘网络设备110之间、通信网络130上的最优或期望路径。这种通信可以促进路径选择。附加地或替代地,控制设备120可以通过控制平面连接将路由信息传送给边缘网络设备110。在这些和其他实施例中,控制平面连接可以包括控制设备120与边缘网络设备110之间的永久连接,使得如果控制设备120与给定边缘网络设备110之间的连接断开,则边缘网络设备110可能无法或以其他方式不允许通过内部网络域105进行通信。
在一些实施例中,控制设备120可以维护存储内部网络域105内的路由信息的中央路由表。例如,控制设备120可以与各种边缘网络设备110通信以确定通过通信网络130可用于边缘网络设备110的物理连接。在一些实施例中,边缘网络设备110可以包括彼此之间的一个或多个物理连接。在这些和其他实施例中,控制设备120可以结合中央路由表生成和/或更新一个或多个策略,以确定通过内部网络域105的路径,并且可以将这些路径传送给边缘网络设备110。在至少一个实施例中,控制设备120可以提供与去往边缘网络设备110的数据流有关的策略和其他类别规则,而不是涉及通过内部网络域105的每个单独的流。
在这些和其他实施例中,边缘网络设备110可能没有存储整个系统100的拓扑和/或路由路径。每个边缘网络设备110可能不需要分别相互查询以确定可达性。取而代之,控制设备120可以将这样的信息提供给边缘网络设备110。另外地或可替代地,可以例如基于控制设备120的一个或多个策略,将可达性和/或基础设施信息的子集提供给边缘网络设备110。
在网络路径选择确定中,如果网络流量是受SLA约束的数据流,则执行路径选择确定的边缘网络设备110可以考虑通过内部网络域105的连接上的各种潜在路径的历史性能。
除了生成用于指导边缘网络设备110进行路径选择决策的策略之外,控制设备120还可以生成边缘网络设备110要遵循的其他策略。在一些实施例中,控制设备120可以生成策略以使内部网络域105内的某些网络流量流通过某些类型的连接(例如LTE,MPLS)和/或通过某些边缘网络设备110进行路由。例如,控制设备120可以检查中央路由表并确定边缘网络设备110a和边缘网络设备110c之间存在直接连接。除了允许数据直接在边缘网络设备110a和边缘网络设备110c之间路由之外,控制设备120可以生成策略以替代地使数据通过边缘网络设备110d路由。例如,出于各种原因,数据可通过边缘网络设备110d被路由,例如因为边缘网络设备110d可能包括防火墙、数据过滤器、安全性功能、数据丢失防护(DLP)功能、导出控制、或管理合规性功能等。作为另一示例,控制设备120可以生成策略以使得一个或多个边缘网络设备110通过与数据中心相关联的边缘网络设备110路由流量,例如,因为数据中心包括防火墙、数据过滤器等。使用这种方法,可以基于控制设备120传播到边缘网络设备110的策略和流量路由来容易地控制和引导内部网络域105内的流量流动。
边缘网络设备110可以在内部网络域105的边界处操作。边缘网络设备110可以包括可以在内部网络域105内操作的一个或多个物理和/或逻辑连接。这样的连接可被示为通信网络130的一部分。另外或替代地,边缘网络设备110可包括在内部网络域105外部操作的一个或多个物理和/或逻辑连接。例如,边缘网络设备110可被连接至(一个或多个)外部网络设备140和/或141。
在一些实施例中,边缘网络设备110可以操作以将来自相关联的外部网络设备140和141的流量路由到内部网络域105中。另外或替代地,边缘网络设备110可以操作以将来自内部网络域105的流量路由到相关联的外部网络设备140和141。在一些实施例中,边缘网络设备110可以使用通常的通信协议来与相关联的外部网络设备140和141通信,所述通信协议例如可以是开放式最短路径优先(OSPF)、边界网关协议(BGP)、虚拟路由器冗余协议(VRRP)、以及双向转发检测(BFD)等。附加地或替代地,边缘网络设备110可以支持其他网络功能,诸如虚拟局域网(VLAN)标记、服务质量(QoS)监视、互联网协议(IP)转发、互联网协议安全性(IPsec)、访问控制列表(ACL)等。
例如,利用QoS监视,边缘网络设备110可以提供可以被监视的一个或多个网络性能度量,诸如抖动、带宽、错误率、比特率、吞吐量和/或其他度量。在一些实施例中,边缘网络设备110可以通过周期性地发送消息以测量一个或多个网络性能度量来监视网络性能度量。此类消息可以采用任何格式,例如互联网控制消息协议(ICMP)回声探测(probe)、抖动探测、传输控制协议(TCP)探测、用户数据报协议(UDP)回声探测等。在这些和其他实施例中,可以以任何频率发送监视消息,例如每三十秒,每六十秒,每两分钟,每五分钟,每十分钟等。另外或替代地,可以响应于一个或多个事件来发送监视探测。在一些实施例中,对于这样的消息的频率,可以在没有流量流动时以降低的频率发送和/或可以在流量沿路径流动时以升高的频率发送。
在一些实施例中,边缘网络设备110可以本地维护一个或多个本地路由表。在一些实施例中,边缘网络设备110可以基于从控制设备120发送的一个或多个策略来调整或修改本地路由表。例如,边缘网络设备110可以基于一个或多个策略来去除、丢弃一个或多个条目,或以其他方式不将一个或多个条目添加到本地路由表。在一些实施例中,边缘网络设备110可以包括用于基于边缘网络设备110处理的流量来更新、修改和/或生成本地路由表的逻辑。边缘网络设备110可以基于使用一种或多种网络协议(例如BGP和/或OSPF)而获悉的直接接口路由、静态路由和/或动态路由,来自动填充一个或多个本地路由表。在一些实施例中,对于内部网络域105外部的数据的路由决策可以由特定边缘网络设备110执行,而无需来自控制设备120的特定指导、输入或控制。例如,特定边缘网络设备110可以基于该特定边缘网络设备110已经从控制设备120接收到的一个或多个策略、参考该特定边缘网络设备110的本地路由表、和/或基于路径的历史性能,来选择路径。
在一些实施例中,边缘网络设备110和/或控制设备120中的一个或多个可以被实现为在一个或多个物理计算设备上操作的一个或多个虚拟机。附加地或替代地,边缘网络设备110和/或控制设备120可各自包括单独的独立计算设备。
在不脱离本公开的范围的情况下,可以对图1进行修改,增加或省略。例如,尽管被示为包括四个边缘网络设备110和一个控制设备120,但是系统100可以包括任意数量的边缘网络设备110和控制设备120,例如成千上万的边缘网络设备110以及多于五个的控制设备120。作为另一个示例,如单个通信网络130所示,通信网络130可以包括多种类型的通信连接。
图2根据本公开的一个或多个实施例示出了在网络设备210之间具有多个路径的示例系统200。网络设备210(例如第一网络设备210a和第二网络设备210b)可以被配置为通过一个或多个网络230(例如第一网络230a和第二网络230b)路由数据流。在第一和第二网络设备210a和210b之间可以存在多个路径220(例如,穿过第一网络230a的第一路径220a和第二路径220b,以及穿过第二网络230b的第三路径220c和第四路径220d)。
网络设备210a-b可以包括被配置为执行以下操作的任何设备或系统:接收要通过网络230a-b中的一个或多个来路由的数据流,以及通过网络230a-b中的一个或多个来路由数据流。例如,网络设备210a-b可以被实现为图1的边缘网络设备110。在一些实施例中,网络设备210a-b可以从一个或多个电子设备(未示出)接收数据流。
在一些实施例中,网络设备210a-b可以监视通过网络230a-b的路径220a-d的网络性能。例如,第一网络设备210a可以通过网络230a-b周期性地发送探测或其他消息,以测量各种路径的各种度量(诸如QoS度量)的网络性能。附加地或替代地,网络设备210a-b可以存储关于路径220a-d的性能的数据。这样存储的网络性能可以被称为历史性能数据。历史性能数据可以被本地维护,和/或可以被传送到中央设备(诸如图1的控制设备120)。
在第一网络设备210a处接收到定向到第二网络设备210b的数据流之后,第一网络设备210a可以确定使用路径220a-d中的哪条路径来将数据流路由到第二网络设备210a。例如,如果数据流受SLA约束,则第一网络设备210a可以确定路径220a-d中的任何一条路径是否符合SLA。例如,第一网络设备210a可以观察、查找、请求或以其他方式获得与针对各种路径220a-d的SLA相关联的最新历史性能数据。如果只有一个路径满足与SLA关联的网络性能度量,则第一网络设备210a可以沿该路径路由数据流。但是,如果多个路径满足SLA网络性能度量,则可以考虑这些路径(或所有可能的路径)的历史性能。另外地或可替代地,如果没有路径满足SLA性能度量,则可以考虑所有路径220a-d的历史性能。路径220a-d的历史性能的各个方面中的任何一个方面都可以用来确定哪个路径将承载数据流。图3可以示出历史性能数据的各种示例,并且可以用于阐明历史性能的这些方面的示例。
图3示出了历史性能随时间的示例图300a和300b,并且可以用于描述历史性能的各个方面以及它们如何影响路径选择。图300a和300b可以包括历史性能数据310a和310b以及SLA阈值320a和320b。例如,图300a示出了历史性能数据310a具有完全高于SLA阈值320a的四个区域,并且最近的历史性能数据点位于阈值320a之上。在一些实施例中,对SLA的遵从可以包括在阈值320a和/或320b之上,在阈值320a和/或320b之下,和/或在阈值320a和/或320b与另一阈值(未示出)之间。将以超过阈值作为相对于SLA的商定性能的方式来描述历史性能各个方面的示例。
历史性能的一个示例方面可以包括在给定的持续时间内历史性能数据下降到阈值320以下的实例数目。这样的确定可以对从阈值320以上到阈值320以下的动作进行计数,尽管可以使用用于这种确定的其他机制。在图300a中,历史性能数据310a下降到阈值320a以下四次。在图300b中,历史性能数据310b下降到阈值320b以下三次。因此,在这些和其他实施例中,由图300b表示的路径可能比由图300a表示的路径更可取,因为该路径的历史性能数据较不频繁地下降到阈值320以下。
历史性能的另一示例方面可以包括在给定的时间跨度中历史性能数据310低于阈值的持续时间。例如,在图300a中,历史性能数据310a在短的持续时间内低于阈值。相反,在图300b中,历史性能数据310b在延长的持续时间内低于阈值。因此,在这些和其他实施例中,由图300a表示的路径可能比由图300b表示的路径更可取,因为该路径花费较少时间在阈值320以下。
返回图2,历史性能的另一示例方面可以包括对路径的运营商的考虑。例如,如果第一路径220a和第二路径220b由提供了第一网络230a的第一运营商提供,第三路径220c和第四路径220d由提供了第二网络230b的第二运营商提供,则第一和第二运营商的性能和/或声誉可以用于路径选择。例如,第一路径220a和第二路径220b(和/或第一网络230a中的任何其他连接)两者的历史性能数据可以被组合成第一运营商的运营商历史性能数据。可以对于第二运营商的第二网络230b中的第三路径220c和第四路径220d执行相同的操作。另外,第一运营商的其他声誉、性能、观点等数据可以包括在路径选择中。图300a和300b可以说明第一和第二运营商的运营商历史性能数据的示例。
可以被包括在路径选择中的另一示例方面可以是与使用特定路径相关联的成本。例如,如果第一网络230a比第二网络230b在携带数据上更昂贵,则路径选择决策可以偏爱较便宜的通过第二网络230b的路径。
在一些实施例中,基于历史性能确定路径可以包括:在确定路径中使用诸如机器学习算法之类的分析或其他分析。在一些实施例中,分析可以基于所分析的历史性能来产生路径的给定分数,并且可以表示路径的合计历史性能。例如,在每次接收到数据流时,第一网络设备210a可以在针对数据流执行路径选择时而不是执行历史数据分析时查看得分。在一些实施例中,分数可以随着时间继续地完善。
在一些实施例中,用于确定合计历史性能的分析可以包括机器学习算法。与本公开相一致的机器学习算法的一个示例可以包括随机森林算法,其中该算法中的变量可以包括历史性能的一个或多个方面,例如历史性能数据下降到阈值以下的次数、历史性能数据下降到阈值以下的时长、和/或路径运营商的声誉。在这些和其他实施例中,历史性能的多个方面可以被包括在生成合计历史性能中或者在执行路径选择中。
例如,对于随机森林算法,可以生成多个决策树以将给定路径的性能表征为得分。决策树可以包括被考虑的一组变量(例如,低于阈值的持续时间,越过阈值的次数,成本,运营商声誉等)以及给定变量组合的预期得分。可以基于这样的变量的已知组合及其对应分数的随机分组来生成决策树。多个决策树可用于分析路径的历史性能数据。例如,可以将要分析的路径的历史性能数据经过决策树,以针对每个决策树生成分数。决策树之间的共同分数或平均分数可用于提供路径的分数。在一些实施例中,当接收到数据流时,当测量网络性能的探测周期性地返回时,或在任何其他基础上,可以使用决策树来分析历史性能数据。在一些实施例中,可以存储分数,使得当网络设备执行路径选择决策时,分数可以已经生成,使得网络设备获得分数并将其与执行路径选择时的其他潜在路径的分数进行比较。尽管描述了随机森林算法,但是可以执行任何其他机器学习分析或其他分析以比较路径的历史性能,以选择用于受SLA的约束的数据流的路径。
在一些实施例中,合计历史性能可以包括针对历史性能的一个或多个数据点的加权因子。例如,相比于过去的数据点中越远的数据点,较新的历史性能数据点的权重可能越重。在这些和其他实施例中,加权因子可以包括半衰期或其他衰减函数,使得某些数据点的影响越来越小,和/或最终对合计历史性能没有影响。在一些实施例中,可以使用截止(cutoff)点来确定历史性能的哪些数据点用于确定合计历史性能。例如,这样的截止点可以将合计历史性能集中在历史性能的一定数量的最近数据点上,或者集中在可用来对合计历史性能做出贡献的数据点的一定的持续时间上。
在一些实施例中,合计历史性能可以基于近期历史性能(例如,在诸如上周、上两周、或上个月之类的特定时间段内)、长期历史性能(例如,超过特定时间段(例如,一周以上、两周以上、或一个月以上),或两者兼而有之。
在不脱离本公开的范围的情况下,可以对图2和/或3进行修改、增加或省略。例如,尽管被示为包括两个网络设备210a-b,但是系统200可以包括任何数量的网络设备。作为另一示例,如四个路径220a-d所示,可以包括任何数量的网络上的任何数量的路径。
图4根据本公开的一个或多个实施例示出了选择在其上路由数据流的路径的示例方法400的流程图。尽管被示为离散的块,但是根据特定的实现方式,各种块可以被划分为附加的块,被组合为更少的块,或被消除。
在框405处,可以沿着一条或多条路径将消息周期性地发送到目的地,以确定该路径的网络性能度量。例如,网络设备(例如,图2的第一网络设备210a)可以周期性地发送探测以确定通过网络(例如图2的网络230a-b)到其他网络设备(例如图2的第二网络设备210b)的各种路径(例如,路径220a-d)的抖动、延迟、丢失等。
在框410处,可以监视路径的网络性能度量。例如,网络设备可以对框405的消息进行观察或以其他方式执行一个或多个计算或分析,以确定和/或监视路径的网络性能度量。
在框415处,可以存储路径的网络性能度量的历史性能数据。例如,网络设备可以在本地存储各种路径的历史性能数据。附加地或替代地,网络设备可以将性能数据传送到诸如图1的控制设备120之类的集中式设备。
在框420处,可以接收到定向到目的地的数据流。数据流可能要受网络性能协议(例如SLA)的约束。例如,网络设备可以接收数据流,其中策略或其他规则将该数据流指定为要受SLA约束。
在框425处,可以确定路径是否满足网络性能协议。例如,网络设备可以观察路径的历史性能数据的最新点,以确定满足SLA的路径数量(如果有)。如果仅一个路径满足该协议(框430),则方法400可以进行至框445。如果多个路径满足该协议(框435),则方法400可以进行至框450。如果没有路径满足该协议(框440),方法400可以进行到框450。
在框445处,在框425处确定一条路径满足网络性能协议之后,可以沿着满足网络性能的这一条路径来路由数据流。在沿着满足网络性能的路径路由数据流之后,方法400可以返回到框405。
在框450处,在确定多个路径满足网络性能协议(框435)或者没有路径满足网络性能协议(框440)之后,可以确定路径的合计历史性能。在一些实施例中,确定路径的合计历史性能可以包括使用分析或机器学习算法来将各种路径的历史性能数据组合成合计历史性能。该分析可以基于历史性能数据的任意多个方面,例如性能下降到SLA的度量的阈值水平以下的次数,或者性能下降到SLA的度量的阈值水平以下的持续时间。附加地或可替代地,网络的运营商或提供商的一个或多个特征可以被包括在确定合计历史性能中。在一些实施例中,合计历史性能可以由分数表示。
在框455处,可以比较各种路径的合计历史性能。例如,如果合计历史性能由分数表示,则网络设备可以比较各种路径的分数。
在框460处,可以沿着具有最佳合计历史性能的路径来路由数据流。附加地或可替代地,可以沿着合计历史性能高于阈值的一条或多条路径来路由数据流。因此,由于考虑了路径的历史性能,因此可以使用更可能满足SLA的路径。在一些实施例中,如果多个路径具有相同的合计历史性能,则网络设备可以将多个路径标识为要使用的路径,并且可以使用诸如等价多路径(ECMP)之类的多路径路由协议来路由数据流。在框460之后,方法400可以返回到框405。
本领域的技术人员将理解,对于这些过程、操作和方法,所执行的功能和/或操作可以以不同的顺序来实现。此外,所概述的功能和操作仅作为示例提供,并且某些功能和操作可以是可选的,可以组合为较少的功能和操作,或者可以扩展为附加的功能和操作,而不背离所公开实施例的实质。
图5根据本公开中描述的至少一个实施例示出了示例计算系统500。系统500可以包括被配置为选择在其上路由数据流的路径或促进这种路径选择的任何合适的系统、装置或设备。计算系统500可以包括处理器510、存储器520、数据存储装置530和通信单元540,它们都可以通信地耦合。在一些实施例中,本公开的任何网络设备(例如,图1的边缘网络设备110或图2的网络设备210)或其他计算设备可以被实现为计算系统500。附加地或替代地,可以将一个或多个网络设备或其他计算设备实现为在诸如计算系统500的物理计算系统上运行的虚拟机。
通常,处理器510可以包括任何适当的专用或通用计算机、计算实体、或包括各种计算机硬件或软件模块的处理设备,并且可以被配置为执行存储在任何适用的计算机可读存储介质上的指令。例如,处理器510可以包括微处理器、微控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或被配置来解释和/或执行程序指令和/或处理数据的任何其他数字或模拟电路。
尽管在图5中被示为单个处理器,但是应当理解,处理器510可以包括分布在任意数量的网络或物理位置上的任意数量的处理器,这些处理器被配置为单独地或共同地执行如本公开所描述的任何数目的操作。在一些实施例中,处理器510可以解释和/或执行存储在存储器520、数据存储装置530、或存储器520和数据存储装置530中的程序指令和/或处理数据。在一些实施例中,处理器510可以从数据存储装置530获取程序指令,并将程序指令加载到存储器520中。
在将程序指令加载到存储器520中之后,处理器510可以执行程序指令,例如执行图4的方法400的指令。例如,处理器510可以确定数据流与SLA相关联,并且可以基于路径的历史性能为数据流选择路径。
存储器520和数据存储装置530可以包括计算机可读存储介质或一个或多个计算机可读存储介质,用于承载或在其上存储计算机可执行指令或数据结构。这样的计算机可读存储介质可以是可以由诸如处理器510之类的通用或专用计算机访问的任何可用介质。在一些实施例中,计算系统500可以包括或者可以不包括存储器520和数据存储装置530中的任何一个。
举例来说,这样的计算机可读存储介质可以包括非暂态计算机可读存储介质,其包括:随机存取存储器(RAM),只读存储器(ROM),电可擦可编程只读存储器(EEPROM),光盘只读存储器(CD-ROM),或其他光盘存储设备、磁盘存储设备或其他磁性存储设备,闪存设备(例如固态存储设备),或可用于以计算机可执行指令或数据结构形式携带或存储所需程序代码、以及可以由通用或专用计算机访问的任何其他介质。以上的组合也可以包括在计算机可读存储介质的范围内。计算机可执行指令可以包括例如被配置为使处理器510执行某个操作或一组操作的指令和数据。
通信单元540可以包括被配置为通过诸如MPLS连接、互联网、蜂窝网络(例如,LTE网络)之类的网络来发送或接收信息的任何组件、设备、系统或其组合。在一些实施例中,通信单元540可以与位于同一系统内其他位置、同一位置的其他设备、或者甚至其他组件进行通信。例如,通信单元540可以包括调制解调器、网卡(无线或有线)、光通信设备、红外通信设备、无线通信设备(例如天线)、芯片组(例如蓝牙设备、802.6设备(例如城域网(MAN))、WiFi设备、WiMax设备、蜂窝通信设施或其他)和/或类似物,或其任意组合。通信单元540可以允许与网络和/或本公开中描述的任何其他设备或系统交换数据。例如,通信单元540可以允许系统500与其他系统通信,例如网络设备、控制设备、和/或其他网络。
在不脱离本公开的范围的情况下,可以对系统500进行修改、增加或省略。例如,数据存储装置530可以包括位于多个位置并且由处理器510通过网络访问的多个不同的存储介质。
如上所述,本公开中描述的实施例可以包括使用包括各种计算机硬件或软件模块在内的专用或通用计算机(例如,图5的处理器510),如下面更详细的讨论。此外,如上所述,可以使用计算机可读介质(例如,图5的存储器520或数据存储装置530)来实现本公开中描述的实施例,所述计算机可读介质用于承载或具有存储在其上的计算机可执行指令或数据结构。
如本公开中所使用的,术语“模块”或“组件”可以指被配置为执行模块或组件的动作的特定硬件实现方式,和/或指可以存储在计算系统的通用硬件(例如,计算机可读介质、处理设备或一些其他硬件)上和/或由该通用硬件执行的软件对象或软件例程。在一些实施例中,本公开中描述的不同组件、模块、引擎和服务可以被实现为在计算系统上执行的对象或过程(例如,作为单独的线程)。虽然本公开中描述的一些系统和方法通常被描述为以(存储在通用硬件上和/或由通用硬件执行的)软件来实现,但是特定的硬件实现方式或软件与特定的硬件实现方式的组合也是可能的并且可以预期的。在该描述中,“计算实体”可以是如本公开先前所定义的任何计算系统,或者是在计算系统上运行的任何模块或模块的组合。
根据惯例,附图中所示的各种特征可能未按比例绘制。本公开中呈现的图示并不意味着是任何特定装置(例如,设备、系统等)或方法的实际视图,而仅仅是用于描述本公开的各种实施例的理想化表示。因此,为了清楚起见,各种特征的尺寸可以任意地扩大或减小。另外,为了清楚起见,一些附图可以被简化。因此,附图可能并没有描绘给定装置(例如,设备)的所有组件或特定方法的所有操作。
在本公开中,尤其是在所附权利要求(例如,所附权利要求的主体)中使用的术语通常旨在作为“开放式”术语(例如,术语“包括”应解释为“包括但不限于”,术语“具有”应被解释为“至少具有”,术语“包含”应被解释为“包括但不限于”等等)。
另外,如果打算引入所引入的权利要求叙述中的特定数目,则将在权利要求中明确地陈述这种意图,并且在没有这种陈述的情况下,不存在这种意图。例如,为了帮助理解,所附权利要求可以包含对介绍性短语“至少一个”和“一个或多个”的使用以引入权利要求的叙述。
另外,即使明确地叙述了所引入的权利要求叙述中的特定数目,本领域技术人员将认识到,这样的叙述应被解释为意味着至少所叙述的数目(例如,仅仅记载了“两次叙述”,而没有其他修饰语,则表示至少两次叙述,或两次或更多次叙述)。此外,在使用类似于“A,B和C中的至少一个等等”或“A,B和C中的一个或多个等等”的情形中,通常使用这样的构造旨在包括:单独的A,单独的B,单独的C,A和B一起,A和C一起,B和C一起,或A、B和C一起等。
此外,无论是在说明书、权利要求书还是附图中,呈现两个或更多个替代术语的任何析构词或短语均应理解为考虑包括一个术语,两个术语中的仅一个或两个术语的可能性。例如,短语“A或B”应被理解为包括可能性“A”或“B”或“A和B”。
然而,此类短语的使用不应解释为暗示由不定冠词“a”或“an”引入的权利要求叙述将任何包含该引入的权利要求叙述的特定权利要求限制为仅包含一个这样的叙述的实施方式,即使相同的权利要求包括介绍性短语“一个或多个”或“至少一个”以及不定冠词,例如“a”或“an”(例如,““a”或“an”也应解释为是指“至少一个”或“一个或多个”)也是如此;使用用于引入权利要求叙述的定冠词也是如此。
另外,对术语“第一”、“第二”、“第三”等的使用在本文中不一定用于表示要素的特定顺序或数量。通常,术语“第一”、“第二”、“第三”等作为通用标识符用于区分不同要素。在没有表明术语“第一”、“第二”、“第三”等表示特定顺序的情况下,这些术语不应被理解为表示特定顺序。此外,在没有表明术语“第一”、“第二”、“第三”等表示特定数量个要素的情况下,这些术语不应被理解为表示特定数量个要素。例如,第一微件(widget)可被描述为具有第一侧(side),而第二微件可被描述为具有第二侧。相对于第二微件使用术语“第二侧”可以用于将第二微件的这一侧与第一微件的“第一侧”区分开,而不是标识第二微件具有两侧。
本公开中记载的所有示例和条件性语言旨在用于教学目的,以帮助读者理解本发明并且理解发明人为进一步发展本领域所做出的构思,并且这些示例和条件性语言应被解释为不限于这些具体记载的示例和条件。尽管已经详细描述了本公开的实施例,但是应当理解,在不脱离本公开的精神和范围的情况下,可以对其进行各种改变、替换和变更。

Claims (20)

1.一种方法,包括:
针对通过网络到达目的地的第一路径和通过所述网络到达所述目的地的第二路径,监视一个或多个网络性能度量;
存储所述第一路径和所述第二路径的网络性能度量的历史性能数据;
接收定向到所述目的地的数据流,所述数据流基于所述网络性能度量中的至少一个网络性能度量而受网络性能协议的约束;
确定第一合计历史性能高于第二合计历史性能,所述第一合计历史性能基于所存储的所述第一路径的历史性能数据,并且所述第二合计历史性能基于所存储的所述第二路径的历史性能数据;以及
基于所述第一合计历史性能高于所述第二合计历史性能,沿着所述第一路径路由所述数据流。
2.如权利要求1所述的方法,还包括:
确定所述第一路径和所述第二路径是否满足所述网络性能协议,
其中,确定所述第一合计历史性能高于所述第二合计历史性能是响应于以下项中的一项来执行的:
所述第一路径和所述第二路径均满足所述网络性能协议,或者
所述第一路径和所述第二路径均不满足所述网络性能协议。
3.如权利要求1所述的方法,其中,所述第一合计历史性能基于所述第一路径的所述网络性能度量中的所述至少一个网络性能度量低于阈值性能度量的持续时间。
4.如权利要求1所述的方法,其中,所述第一合计历史性能基于给定持续时间内所述第一路径的所述网络性能度量中的所述至少一个网络性能度量下降到阈值性能度量以下的次数。
5.如权利要求1所述的方法,其中,所述第一合计历史性能基于所述第一路径的第一网络提供商,并且所述第二合计历史性能基于所述第二路径的第二网络提供商。
6.如权利要求5所述的方法,其中,所述第一合计历史性能基于所述第一网络提供商的网络中的其他路径的性能,并且所述第二合计历史性能基于所述第二网络提供商的网络中的其他路径的性能。
7.如权利要求1所述的方法,其中,所述合计历史性能是使用机器学习算法来确定的。
8.如权利要求1所述的方法,还包括:沿着所述第一路径周期性地发送消息,以测量所述第一路径的所述一个或多个网络性能度量。
9.一种系统,包括:
目的地网络设备;
路由网络设备,所述目的地网络设备能通过网络、通过第一路径和第二路径从所述路由网络设备到达,所述路由网络设备包括:
一种或多种存储指令的非暂态计算机可读介质;和
一个或多个处理器,被配置为执行所述指令以使所述系统执行操作,所述操作包括:
监视所述第一路径和所述第二路径的一个或多个网络性能度量;
将所述第一路径和所述第二路径的网络性能度量的历史性能数据存储在所述一种或多种非暂态计算机可读介质中;
接收定向到所述目的地网络设备的数据流,所述数据流基于所述网络性能度量中的至少一个网络性能度量而受网络性能协议的约束;
确定第一合计历史性能高于第二合计历史性能,所述第一合计历史性能基于所存储的所述第一路径的历史性能数据,并且所述第二合计历史性能基于所存储的所述第二路径的历史性能数据;以及
基于所述第一合计历史性能高于所述第二合计历史性能,沿着所述第一路径路由所述数据流。
10.如权利要求9所述的系统,所述操作还包括:
确定所述第一路径和所述第二路径是否满足所述网络性能协议,
其中,确定所述第一合计历史性能高于所述第二合计历史性能是响应于以下项中的一项来执行的:
所述第一路径和所述第二路径均满足所述网络性能协议,或者
所述第一路径和所述第二路径均不满足所述网络性能协议。
11.如权利要求9所述的系统,其中,所述第一合计历史性能基于所述第一路径的所述网络性能度量中的所述至少一个网络性能度量低于阈值性能度量的持续时间。
12.如权利要求9所述的系统,其中,所述第一合计历史性能基于给定持续时间内所述第一路径的所述网络性能度量中的所述至少一个网络性能度量下降到阈值性能度量以下的次数。
13.如权利要求9所述的系统,其中,所述第一合计历史性能基于所述第一路径的第一网络提供商,并且所述第二合计历史性能基于所述第二路径的第二网络提供商。
14.如权利要求13所述的系统,其中,所述第一合计历史性能基于所述第一网络提供商的网络中的其他路径的性能,并且所述第二合计历史性能基于所述第二网络提供商的网络中的其他路径的性能。
15.如权利要求9所述的系统,其中,所述合计历史性能是使用机器学习算法来确定的。
16.如权利要求9所述的系统,所述操作还包括:沿着所述第一路径周期性地发送消息,以测量所述第一路径的所述一个或多个网络性能度量。
17.一种方法,包括:
监视通过网络到达目的地的多个路径的网络性能度量;
存储所述多个路径的历史性能数据;
接收定向到所述目的地的数据流,所述数据流受网络性能协议的约束;
确定所述多个路径的合计历史性能;
比较所述多个路径的所述合计历史性能;以及
基于对所述合计历史性能的比较,通过所述网络路由所述数据流。
18.如权利要求17所述的方法,还包括:
确定所述多个路径是否满足所述网络性能协议,
其中,比较所述多个路径的所述合计历史性能是响应于以下项中的一项来执行的:
所述多个路径中的至少两个路径满足所述网络性能协议,或者
所述多个路径中的至少两个路径不满足所述网络性能协议。
19.如权利要求17所述的方法,其中,所述多个路径中的给定路径的合计历史性能基于以下项中的至少一项:所述给定路径的网络性能度量低于阈值性能度量的持续时间;以及在给定的持续时间内所述给定路径的网络性能度量下降到阈值性能度量以下的次数。
20.如权利要求17所述的方法,其中,所述第一合计历史性能基于所述多个路径的多个网络提供商。
CN201880040511.2A 2017-06-20 2018-06-18 网络路径选择 Active CN110754066B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/628,545 2017-06-20
US15/628,545 US10462042B2 (en) 2017-06-20 2017-06-20 Network path selection
PCT/US2018/038025 WO2018236724A1 (en) 2017-06-20 2018-06-18 NETWORK PATH SELECTION

Publications (2)

Publication Number Publication Date
CN110754066A true CN110754066A (zh) 2020-02-04
CN110754066B CN110754066B (zh) 2022-12-02

Family

ID=62976126

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880040511.2A Active CN110754066B (zh) 2017-06-20 2018-06-18 网络路径选择

Country Status (4)

Country Link
US (4) US10462042B2 (zh)
EP (1) EP3643016B1 (zh)
CN (1) CN110754066B (zh)
WO (1) WO2018236724A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112565078A (zh) * 2020-11-20 2021-03-26 普联技术有限公司 网络选路方法、装置、设备及计算机可读存储介质
CN113141305A (zh) * 2021-05-31 2021-07-20 深圳华云信息系统有限公司 通信方法、装置、电子设备和计算机可读存储介质
WO2021164158A1 (zh) * 2020-02-21 2021-08-26 北京交通大学 一种跨协议融合传输的自适应调度系统和方法

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10454714B2 (en) 2013-07-10 2019-10-22 Nicira, Inc. Method and system of overlay flow control
US10135789B2 (en) 2015-04-13 2018-11-20 Nicira, Inc. Method and system of establishing a virtual private network in a cloud service for branch networking
US10498652B2 (en) 2015-04-13 2019-12-03 Nicira, Inc. Method and system of application-aware routing with crowdsourcing
US10841206B2 (en) * 2016-05-31 2020-11-17 128 Technology, Inc. Flow modification including shared context
US11706127B2 (en) 2017-01-31 2023-07-18 Vmware, Inc. High performance software-defined core network
US20180219765A1 (en) 2017-01-31 2018-08-02 Waltz Networks Method and Apparatus for Network Traffic Control Optimization
US10992568B2 (en) 2017-01-31 2021-04-27 Vmware, Inc. High performance software-defined core network
US20200036624A1 (en) 2017-01-31 2020-01-30 The Mode Group High performance software-defined core network
US10778528B2 (en) 2017-02-11 2020-09-15 Nicira, Inc. Method and system of connecting to a multipath hub in a cluster
CN108540380B (zh) * 2017-03-02 2021-08-20 华为技术有限公司 多子流网络传输方法及装置
US10523539B2 (en) 2017-06-22 2019-12-31 Nicira, Inc. Method and system of resiliency in cloud-delivered SD-WAN
US10999100B2 (en) 2017-10-02 2021-05-04 Vmware, Inc. Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external SAAS provider
US11115480B2 (en) 2017-10-02 2021-09-07 Vmware, Inc. Layer four optimization for a virtual network defined over public cloud
US11005684B2 (en) 2017-10-02 2021-05-11 Vmware, Inc. Creating virtual networks spanning multiple public clouds
US11223514B2 (en) 2017-11-09 2022-01-11 Nicira, Inc. Method and system of a dynamic high-availability mode based on current wide area network connectivity
US10848462B2 (en) * 2018-03-28 2020-11-24 Wipro Limited Method and system for managing policies in a network security system
US10803865B2 (en) 2018-06-05 2020-10-13 Voicify, LLC Voice application platform
US10636425B2 (en) 2018-06-05 2020-04-28 Voicify, LLC Voice application platform
US10235999B1 (en) 2018-06-05 2019-03-19 Voicify, LLC Voice application platform
US10749795B2 (en) * 2018-07-06 2020-08-18 Citrix Systems, Inc. Systems and methods for selecting communication paths for applications sensitive to bursty packet drops
US10686544B2 (en) * 2018-09-19 2020-06-16 At&T Intellectual Property I, L.P. Machine learning techniques for selecting paths in multi-vendor reconfigurable optical add/drop multiplexer networks
US10581736B1 (en) * 2018-11-13 2020-03-03 At&T Intellectual Property I, L.P. Traffic matrix prediction and fast reroute path computation in packet networks
US10855555B2 (en) * 2019-03-11 2020-12-01 Juniper Networks, Inc. On-demand probing for quality of experience metrics
CN109995599A (zh) * 2019-04-28 2019-07-09 武汉烽火技术服务有限公司 一种网络性能异常的智能告警方法
FR3095729A1 (fr) * 2019-04-30 2020-11-06 Orange Procédés et dispositifs de mesure de réputation dans un réseau de communication
US10904125B2 (en) 2019-05-30 2021-01-26 Cisco Technology, Inc. Active probe construction using machine learning for measuring SD-WAN tunnel metrics
US10979316B2 (en) 2019-05-31 2021-04-13 Juniper Networks, Inc. Dynamic application SLA metric generation, distribution, and intent-based SD-WAN link selection
US11075824B2 (en) 2019-06-19 2021-07-27 128 Technology, Inc. In-line performance monitoring
US11212238B2 (en) 2019-08-27 2021-12-28 Vmware, Inc. Providing recommendations for implementing virtual networks
US11044190B2 (en) 2019-10-28 2021-06-22 Vmware, Inc. Managing forwarding elements at edge nodes connected to a virtual network
US11863428B2 (en) * 2019-11-22 2024-01-02 Vmware, Inc. Dynamic route configuration and load balancing for edge gateways
US11489783B2 (en) 2019-12-12 2022-11-01 Vmware, Inc. Performing deep packet inspection in a software defined wide area network
US11394640B2 (en) 2019-12-12 2022-07-19 Vmware, Inc. Collecting and analyzing data regarding flows associated with DPI parameters
US11438789B2 (en) 2020-01-24 2022-09-06 Vmware, Inc. Computing and using different path quality metrics for different service classes
US11405422B2 (en) * 2020-02-19 2022-08-02 Juniper Networks, Inc. Transmitting multiple copies of an encrypted packet via multiple tunnels between a transmitting network device and a receiving network device
CN111683013B (zh) * 2020-06-08 2022-03-08 腾讯科技(深圳)有限公司 一种加速网络的路由方法和加速网络
US11245641B2 (en) 2020-07-02 2022-02-08 Vmware, Inc. Methods and apparatus for application aware hub clustering techniques for a hyper scale SD-WAN
US11363124B2 (en) 2020-07-30 2022-06-14 Vmware, Inc. Zero copy socket splicing
US11252084B1 (en) * 2020-09-29 2022-02-15 Palo Alto Networks, Inc. Enhanced SD-WAN path quality measurement and selection
US11444865B2 (en) 2020-11-17 2022-09-13 Vmware, Inc. Autonomous distributed forwarding plane traceability based anomaly detection in application traffic for hyper-scale SD-WAN
US11575600B2 (en) 2020-11-24 2023-02-07 Vmware, Inc. Tunnel-less SD-WAN
DE102020132397A1 (de) 2020-12-07 2022-06-09 Iav Gmbh Ingenieurgesellschaft Auto Und Verkehr Verfahren, Steuergerät und Fahrzeug zur Validierung der Lokalisierung eines Fahrzeuges durch Referenzierung zu statischen Objekten im Umfeld
US20220200915A1 (en) * 2020-12-21 2022-06-23 Juniper Networks, Inc. Network policy application based on session state
US11929903B2 (en) 2020-12-29 2024-03-12 VMware LLC Emulating packet flows to assess network links for SD-WAN
EP4189937A1 (en) * 2021-01-18 2023-06-07 VMware, Inc. Network-aware load balancing
CN116783874A (zh) 2021-01-18 2023-09-19 Vm维尔股份有限公司 网络感知的负载平衡
US11533252B2 (en) 2021-02-22 2022-12-20 Cisco Technology, Inc. Replacing static routing metrics with probabilistic models
US11637768B2 (en) 2021-05-03 2023-04-25 Vmware, Inc. On demand routing mesh for routing packets through SD-WAN edge forwarding nodes in an SD-WAN
US11729065B2 (en) 2021-05-06 2023-08-15 Vmware, Inc. Methods for application defined virtual network service among multiple transport in SD-WAN
US11489720B1 (en) 2021-06-18 2022-11-01 Vmware, Inc. Method and apparatus to evaluate resource elements and public clouds for deploying tenant deployable elements based on harvested performance metrics
US11916777B2 (en) * 2021-07-06 2024-02-27 Cisco Technology, Inc. Learning SLA violation probability from intelligent fine grained probing
CN113269658B (zh) * 2021-07-16 2022-01-21 北京达佳互联信息技术有限公司 核心数据的生产时长的预估方法、装置、设备及存储介质
US20230116163A1 (en) * 2021-09-29 2023-04-13 Juniper Networks, Inc. Opportunistic mesh for software-defined wide area network (sd-wan)
US11943146B2 (en) 2021-10-01 2024-03-26 VMware LLC Traffic prioritization in SD-WAN
US11909815B2 (en) * 2022-06-06 2024-02-20 VMware LLC Routing based on geolocation costs
CN115134293B (zh) * 2022-09-01 2022-11-25 浪潮通信信息系统有限公司 电信路由推荐方法、装置及服务器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104335540A (zh) * 2012-03-30 2015-02-04 英国电讯有限公司 用于选择通信链路的方法
CN105103504A (zh) * 2013-03-28 2015-11-25 英国电讯有限公司 多播路由选择系统和方法
US20160218963A1 (en) * 2013-08-30 2016-07-28 British Telecommunications Public Limited Company Determination and use of link performance measures
US20160285752A1 (en) * 2015-03-25 2016-09-29 Ca, Inc. Voip route selection using call metrics

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110238855A1 (en) * 2000-09-25 2011-09-29 Yevgeny Korsunsky Processing data flows with a data flow processor
US6965575B2 (en) * 2000-12-29 2005-11-15 Tropos Networks Selection of routing paths based upon path quality of a wireless mesh network
US7668966B2 (en) * 2001-11-02 2010-02-23 Internap Network Services Corporation Data network controller
US7222190B2 (en) * 2001-11-02 2007-05-22 Internap Network Services Corporation System and method to provide routing control of information over data networks
US7133365B2 (en) * 2001-11-02 2006-11-07 Internap Network Services Corporation System and method to provide routing control of information over networks
US7561517B2 (en) * 2001-11-02 2009-07-14 Internap Network Services Corporation Passive route control of data networks
EP1570604A4 (en) * 2002-12-13 2008-05-07 Internap Network Services Corp TOPOLOGY-AWARE ROUTE CONTROL
US7843843B1 (en) * 2004-03-29 2010-11-30 Packeteer, Inc. Adaptive, application-aware selection of differntiated network services
IL166390A (en) * 2005-01-19 2011-08-31 Tejas Israel Ltd Routing method and system
US8144587B2 (en) * 2006-08-22 2012-03-27 Embarq Holdings Company, Llc System and method for load balancing network resources using a connection admission control engine
US7864706B1 (en) 2008-04-04 2011-01-04 Force 10 Networks, Inc. Border gateway protocol peer dampening
US8918693B2 (en) * 2010-10-06 2014-12-23 Cleversafe, Inc. Data transmission utilizing data processing and dispersed storage error encoding
EP2469762A1 (en) * 2010-12-24 2012-06-27 British Telecommunications Public Limited Company Communications network management
US9461876B2 (en) * 2012-08-29 2016-10-04 Loci System and method for fuzzy concept mapping, voting ontology crowd sourcing, and technology prediction
US9167591B2 (en) * 2012-09-06 2015-10-20 Dell Products, Lp Method and apparatus for determining optimized wireless link selection for a mobile device along a predicted path
US9338085B2 (en) * 2013-09-04 2016-05-10 Verizon Patent And Licensing Inc. Smart mobility management entity for UE attached relay node
US8811172B1 (en) * 2014-04-10 2014-08-19 tw telecom holdings inc. Network path selection using bandwidth prediction
US9749188B2 (en) 2014-05-13 2017-08-29 Cisco Technology, Inc. Predictive networking architecture for next-generation multiservice, multicarrier WANs
US11616728B2 (en) * 2015-06-30 2023-03-28 British Telecommunications Public Limited Company Modifying quality of service treatment for data flows
US10742448B2 (en) * 2016-07-14 2020-08-11 Cox Communications, Inc. Method for smart data routing through interconnected networks
US10511507B2 (en) * 2017-05-09 2019-12-17 Cisco Technology, Inc. Routing network traffic based on whether an application associated with traffic is a rerouting application as defined by a policy and whether a second path ranking exceeds a first path ranking
US10902065B1 (en) * 2018-05-04 2021-01-26 Massachusetts Mutual Life Insurance Company Systems and methods for computational risk scoring based upon machine learning
JP2020048030A (ja) * 2018-09-18 2020-03-26 キオクシア株式会社 インタフェース装置及びプログラム並びにデータ通信方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104335540A (zh) * 2012-03-30 2015-02-04 英国电讯有限公司 用于选择通信链路的方法
CN105103504A (zh) * 2013-03-28 2015-11-25 英国电讯有限公司 多播路由选择系统和方法
US20160218963A1 (en) * 2013-08-30 2016-07-28 British Telecommunications Public Limited Company Determination and use of link performance measures
US20160285752A1 (en) * 2015-03-25 2016-09-29 Ca, Inc. Voip route selection using call metrics

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021164158A1 (zh) * 2020-02-21 2021-08-26 北京交通大学 一种跨协议融合传输的自适应调度系统和方法
CN112565078A (zh) * 2020-11-20 2021-03-26 普联技术有限公司 网络选路方法、装置、设备及计算机可读存储介质
CN113141305A (zh) * 2021-05-31 2021-07-20 深圳华云信息系统有限公司 通信方法、装置、电子设备和计算机可读存储介质

Also Published As

Publication number Publication date
EP3643016B1 (en) 2021-08-11
CN110754066B (zh) 2022-12-02
US11245616B2 (en) 2022-02-08
US20200021516A1 (en) 2020-01-16
EP3643016A1 (en) 2020-04-29
US11611503B2 (en) 2023-03-21
WO2018236724A1 (en) 2018-12-27
US10462042B2 (en) 2019-10-29
US20220255848A1 (en) 2022-08-11
US11863429B2 (en) 2024-01-02
US20180367445A1 (en) 2018-12-20
US20230208749A1 (en) 2023-06-29

Similar Documents

Publication Publication Date Title
CN110754066B (zh) 网络路径选择
CN110945842B (zh) 在软件定义网络中基于性能分数针对应用的路径选择
US10721165B2 (en) Controlling a software-defined network
US11405279B2 (en) Virtualized software-defined network
US11201817B2 (en) Traffic steering in fastpath
US11018937B2 (en) Determining an effect of a network configuration change
US20190036814A1 (en) Traffic steering with path ordering
US9769070B2 (en) System and method of providing a platform for optimizing traffic through a computer network with distributed routing domains interconnected through data center interconnect links
ES2841323T3 (es) Una estrategia de red basada en intención impulsada por datos que utiliza un controlador SDN distribuido ligero para brindar experiencias inteligentes al consumidor
US20190036780A1 (en) Generating a data model for a virtualized software-defined network
JP2019523621A (ja) 複数のチャネルを使用してパフォーマンスを向上するインテリジェントアダプティブトランスポートレイヤー
US11283683B2 (en) Network modification impact prediction
US20190222511A1 (en) Randomized vnf hopping in software defined networks
US20190036842A1 (en) Traffic steering in fastpath
WO2022064258A1 (en) Edge cloud platform for mission critical applications

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant