CN110945842A - 在软件定义网络中基于性能分数针对应用的路径选择 - Google Patents

在软件定义网络中基于性能分数针对应用的路径选择 Download PDF

Info

Publication number
CN110945842A
CN110945842A CN201880049335.9A CN201880049335A CN110945842A CN 110945842 A CN110945842 A CN 110945842A CN 201880049335 A CN201880049335 A CN 201880049335A CN 110945842 A CN110945842 A CN 110945842A
Authority
CN
China
Prior art keywords
performance
tunnel
application
network
data flow
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
CN201880049335.9A
Other languages
English (en)
Other versions
CN110945842B (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 CN110945842A publication Critical patent/CN110945842A/zh
Application granted granted Critical
Publication of CN110945842B publication Critical patent/CN110945842B/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
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • 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/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • 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/5019Ensuring fulfilment of SLA
    • H04L41/5022Ensuring fulfilment of SLA by giving priorities, e.g. assigning classes of service
    • 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/5019Ensuring fulfilment of SLA
    • H04L41/5025Ensuring fulfilment of SLA by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
    • 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
    • H04L43/045Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
    • 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/16Threshold monitoring
    • 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
    • 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/302Route determination based on requested QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/645Splitting route computation layer and forwarding layer, e.g. routing according to path computational element [PCE] or based on OpenFlow functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/825Involving tunnels, e.g. MPLS
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Environmental & Geological Engineering (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种方法可以包括接收被导向软件定义网络(SDN)中的目的地的应用的数据流。所述方法还可以包括识别应用的分类。所述方法可以附加地包括识别与应用的分类相关联的性能阈值集。所述方法还可以包括确定应用的数据流在SDN中的当前性能。所述方法还可以包括中基于性能阈值集和应用的数据流在SDN的当前性能来生成针对应用的性能分数。所述方法可以进一步包括使得针对应用的性能分数经由界面被呈现。

Description

在软件定义网络中基于性能分数针对应用的路径选择
技术领域
本公开中讨论的实施例涉及软件定义网络中的针对应用的改进的路径选择。
背景技术
网络的使用是允许在不同的计算设备之间通信的有用工具。一些网络业务可服从针对网络业务的预期服务级别的协定或要求。此类协定或要求有时被称为“服务级别协定”(SLA)。
本公开中要求保护的主题不限于解决任何缺点或者仅在诸如上述那些的环境中操作的实施例。相反,本背景技术仅被提供来图示可以实践本公开中描述的一些实施例的一个示例技术领域。
发明内容
在独立权利要求中陈述本发明的各方面并且在从属权利要求中陈述优选的特征。一个方面的特征可以被单独或者与其他方面相结合地应用于每个方面。
本公开的一个或多个实施例可以包括一种方法,所述方法可以包括接收被导向软件定义网络(SDN)中的目的地的应用的数据流。所述方法还可以包括识别应用的分类。所述方法可以附加地包括识别与应用的分类相关联的性能阈值集。所述方法还可以包括确定应用的数据流在SDN中的当前性能。所述方法还可以包括中基于性能阈值集和应用的数据流在SDN的当前性能来生成针对应用的性能分数。所述方法可以进一步包括使得针对应用的性能分数经由界面被呈现。
本公开的一个或多个实施例可以附加地包括用于便于此类方法的执行的系统和/或非暂时性计算机可读介质。
将至少通过权利要求中特别指出的要素、特征和组合来实现并完成实施例的目的和优点。
应当理解的是,前面的一般描述和下面的详细描述都仅仅是示例和说明性的,而不限制如要求保护的本发明。
附图说明
将通过使用附图来以更多的详情和细节描述并说明示例实施例,在附图中:
图1图示实现软件定义网络的网络组件的示例系统;
图2图示在网络设备之间具有多个路径的示例系统;
图3图示用于在网络中生成针对应用的性能分数的示例方法的流程图;以及
图4图示示例计算系统。
具体实施例
本公开的一些实施例涉及对软件定义网络(SDN)的操作和选择数据路径的改进。在SDN中,与常规联网不同,网络控制平面可以在功能上与物理拓扑和数据平面分开。在控制平面上,控制设备可以监视SDN以及设备(例如,路由器)之间的数据平面隧道的路径特性。在至少一些实施例中,SDN可以包括一个或多个虚拟化组件,诸如在虚拟机、管理程序或基于云的服务器上运行的路由器。本公开可以提供一种用于当应用与SDN有关时确定应用的性能的机制。
本公开的一些实施例涉及对用于软件定义网络中的应用的网络路径的表征和选择的改进。本文描述的技术可以在每隧道基础上确定用于丢失、延迟和抖动的网络度量。本文描述的系统可以提供关于哪些应用经过哪些隧道的可见性。这些系统可以使应用与其相应的隧道度量相关联。这些系统可以确定指示应用在相应隧道上的性能的应用分数。在至少一些实施例中,应用分数可以用于测定应用性能。在至少一些实施例中,可以基于应用分数来为应用选择新路径。在至少一些实施例中,可以基于SLA来改变用于应用的隧道。SLA可以包括用于一个或多个网络性能度量(诸如带宽、可用性、抖动、延迟、丢失和/或其他度量)的商定阈值水平。
在本公开的一些实施例中,不是仅考虑网络路径性能的最近快照,而是网络设备还可以考虑次要因素,诸如各种路径的历史性能和/或与特定路径相关联的成本。例如,网络设备可以考虑潜在路径中的每一个在给定时间段内下降至SLA以下的次数,并且可以选择具有最好性能的路径。在一些实施例中,可以使用机器学习算法来比较各种路径的历史性能。这样的机器学习算法可以包括随着时间的推移而考虑并持续地细化的多个因素(例如,抖动、延迟、丢失、成本、载体声誉(carrier reputation)等)。通过使用历史性能和/或其他因素,可以做出选择以找到更可能满足数据流的SLA的路径,而不是简单地基于最近快照来选择路径。
本公开的实施例可以提供对计算机网络和对计算机本身的操作的改进。例如,可以改进应用的性能,因为可以将更可能满足性能要求的路径用于应用,从而允许实现提高的响应时间和提高的应用性能。附加地,网络业务可以通过选择更可能满足数据流的SLA的路径来以提高的性能而流动。例如,使用本公开的实施例可以更可能将网络业务放在更可靠的路径上,从而导致数据的更少的重传。通过实现较少的重传,可以保存宝贵的网络资源,诸如带宽,并且可以提供增加的响应时间。附加地,由于减少的重传次数,所以可以减少流经内部网络域的业务的量,从而为内部网络域提供优良的性能。本公开可以包括成本节约作为选择路径时的一个因素的另一优点可以包括在路径选择过程中考虑与特定路径相关联的成本。本文描述的路径选择技术还可以被用于软件即服务(“SaaS”)和/或基于云的应用。
参考附图说明本公开的实施例。
图1图示依照本公开的一个或多个实施例的实现软件定义网络的网络组件的示例系统100。在一些实施例中,可以在诸如由系统100所图示的软件定义网络中实现确定应用性能和网络路径选择。系统100可以包括内部网络域105和一个或多个外部网络域。系统100可以包括一个或多个边缘网络设备110(诸如边缘网络设备110a-110d)、控制设备120、通信网络130以及外部网络设备140和141(诸如外部网络设备140a-140d和141a-141d)。
系统100可以实现软件定义网络。软件定义网络可以包括通过软件来管理而不是通过硬件来控制的网络。因此,软件定义网络可以支持多种类型的连接,诸如因特网、多协议标签交换(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可以识别应用的分类。可以通过应用的类型来对应用进行分类。例如,可以基于下表来对应用进行分类:
Figure BDA0002377997210000051
应用的分类例如可以与性能阈值集相关联。性能阈值集可以包括任何数量和类型的度量,诸如网络度量和/或应用度量。例如,性能阈值集可以包括丢失、延迟和抖动。附加示例可以包括平均意见分数(“MOS分数”)(例如,用于实时应用)、TCP会话超时/重传等。示例性能阈值集可以如在下表中一样。性能阈值集的值可以基于可在用户与应用之间容忍的端到端度量的部分。下表中的值可以表示分支边缘到中央办公室边缘/云边缘度量。
Figure BDA0002377997210000061
边缘网络设备110a可以例如在每隧道基础上确定应用的当前性能。边缘网络设备110a可以将应用的当前性能与性能阈值集相比较。至少部分地基于此比较,边缘网络设备110a可以生成针对应用的性能分数。当针对应用的性能分数低于分数阈值时,边缘网络设备110a可以为应用识别和/或选择不同的路径和/或隧道以提高针对应用的性能分数。
在示例中,对于给定应用,边缘网络设备110a可以使用以下技术来生成性能分数。首先,边缘网络设备110a可以使用以下表达式来计算单独的延迟、丢失和抖动分数,其可以被称为“IM”:
如果(AM<=DM)IM=10否则IM=DM/AM*10,
其中AM是当前性能并且其中DM是性能阈值集,边缘网络设备110a然后可以使用单独的延迟、丢失和抖动分数(诸如使用以下表达式)来生成性能分数:
如果类既是延迟敏感的又是丢失敏感的或者如果类既不是丢失敏感的又不是延迟敏感的,则性能分数=sum(IM[i])/3;
否则如果类是丢失敏感的但不是延迟敏感的,则性能分数=((IM[延迟]+IM[抖动])*0.5+IM[丢失])/2
边缘网络设备110a还可在确定哪一个路径将被用于数据流时考虑次要因素,诸如各个路径的历史性能。历史性能的一个示例方面可以包括在历史性能数据下降至阈值以下的给定持续时间期间的实例的数量。这样的确定可以对从高于阈值转向低于阈值的行为进行计数,但是也可以使用用于这样的确定的其他机制。历史性能的另一示例方面可以包括历史性能数据在给定时间跨度内低于阈值的持续时间。历史性能的另一示例方面可以包括路径的载体的考虑事项。附加地,第一载体的其他声誉、性能、意见等数据可以被包括在路径选择中。
可以被包括在路径选择中的另一示例方面可以是与使用某个路径相关联的成本。例如,如果第一网络与第二网络相比承载数据更昂贵,则路径选择判定可以支持通过第二网络的不太昂贵的路径。
在一些实施例中,基于历史性能来确定路径可以包括在确定路径时使用诸如机器学习算法之类的分析方法或其他分析方法。在一些实施例中,分析方法可以基于所分析的历史性能来产生路径的给定分数并且可以表示路径的合计历史性能。例如,第一网络设备210a可以在对于数据流执行路径选择时而不是每次接收到数据流执行历史数据分析时查看分数。在一些实施例中,可以随着时间的推移而持续地细化分数。
在一些实施例中,用于确定合计历史性能的分析方法可以包括机器学习算法。与本公开一致的机器学习算法的一个示例可以包括随机森林算法,其中算法中的变量可以包括历史性能的各方面中的一个或多个,诸如历史性能数据下降至阈值以下的次数、历史性能数据下降至阈值以下多长时间和/或路径的载体的声誉。在这些和其他实施例中,可以在生成合计历史性能时或者在执行路径选择时包括历史性能的多个方面。
例如,对于随机森林算法,可以生成用于将给定路径的性能表征为分数的多个判定树。判定树可以包括被考虑的一组变量(例如,低于阈值的持续时间、越过阈值的次数、成本、载体声誉等)和针对变量的给定组合的预期分数。可以基于变量及其对应分数的此类已知组合的随机分组来生成判定树。多个判定树可以用于分析路径的历史性能数据。例如,可以将要分析的路径的历史性能数据通过判定树来传递以为判定树中的每一个生成分数。判定树之间的公共或平均分数可以用于提供路径的分数。在一些实施例中,可以在接收到数据流时、在测量网络性能的探测返回时、周期性地或者在任何其他基础上使用判定树来分析历史性能数据。在一些实施例中,可以存储分数,使得当网络设备执行路径选择判定时,可能已经生成分数,使得网络设备获得该分数并在执行路径选择时将该分数与其他潜在路径的分数相比较。虽然描述了随机森林算法,但是可以执行任何其他机器学习、分析方法或其他分析以比较路径的历史性能来服从SLA为数据流选择路径。
在一些实施例中,合计历史性能可以包括针对历史性能的一个或多个数据点的加权因子。例如,最近的历史性能数据点与过去更遥远的数据点相比可以被更重地加权。在这些和其他实施例中,加权因子可以包括半衰期或其他衰减函数,使得某些数据点变得影响越来越小,并且/或者最终对合计历史性能没有影响。在一些实施例中,可以在判定在确定合计历史性能时使用历史性能的哪些数据点时使用截止点。例如,这样的截止点可以将合计历史性能集中于历史性能的一定数量的最近数据点,或可以用于对合计历史性能做出贡献的某个持续时间的数据点。
在一些实施例中,合计历史性能可以基于近期历史性能(例如,在某个时间段内,诸如在上周、最近两周或上个月内)、长期历史性能(例如,比在某个时间段内更早期,诸如比一周更早、比两周更早或者早不止一个月)或两者的组合。
在一些实施例中,控制设备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可以包括防火墙、数据过滤器、安全特征、数据丢失防止(DLP)特征、出口控制或管理合规性特征等,可以通过边缘网络设备110d来路由数据。作为另一示例,控制设备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)回声探测、抖动探测、传输控制协议(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中的哪一个来将数据流路由到第二网络设备210b。例如,如果针对应用的数据流服从SLA,则第一网络设备210a可以确定路径220a-d中的任一个是否符合SLA。例如,第一网络设备210a可以观察、查找、请求或者以其他方式获得针对各种路径220a-d的与SLA相关联的最近的历史性能数据。如果仅一个路径满足与SLA相关联的网络性能度量,则第一网络设备210a可以沿着该路径路由数据流。然而,如果多个路径满足SLA网络性能度量,则可以考虑那些路径(或所有可能的路径)的历史性能。附加地或可替代地,如果所有路径都不满足SLA性能度量,则可以考虑所有路径220a-d的历史性能。可以使用路径220a-d的历史性能的各个方面中的任一个来确定哪一个路径将承载数据流。图3可以图示历史性能数据的各种示例并且可以用于阐明历史性能的此类方面的示例。
在不脱离本公开的范围的情况下,可以对图2做出修改、添加或省略。例如,虽然被图示为包括两个网络设备210a-b,但是系统200可以包括任何数量的网络设备。作为另一示例,如作为四个路径220a-d所图示的,可以包括任何数量的网络上的任何数量的路径。
图3图示用于在网络中生成针对应用的性能分数的示例方法300的流程图。可以基于针对应用的性能分数来对网络做出改变。该方法可以由处理逻辑执行,所述处理逻辑可以包括硬件(电路、专用逻辑等)、软件(诸如在通用计算机系统或专用机器上运行的)或两者的组合,该处理逻辑可以被包括在网络设备(例如,图1-2的边缘网络设备110或210)中的任一个或另一计算机系统或设备中。然而,可以使用另一系统或系统的组合来执行这些方法。为了说明的简单,本文描述的方法被描绘和描述为一系列行为。然而,依照本公开的行为可以以各种次序和/或同时地发生,并且可以包括在本文中未被呈现和描述的其它行为。进一步地,并不是所有图示的行为都可以用于实现依照所公开的主题的方法。另外,本领域的技术人员应理解和领会的是,可以经由状态图或事件将方法可替代地表示为一系列相互关联的状态。附加地,本说明书中公开的方法能够被存储在制品(诸如非暂时性计算机可读介质)上,以便于将此类方法输送并转移到计算设备。如本文所使用的术语制品旨在包含可从任何计算机可读设备或存储介质访问的计算机程序。尽管被图示为分立块,但是取决于所期望的实施方式,各种块可以被划分成附加块,被组合成较少的块,或者被消除。
方法300可以在块305处开始,在块305处,处理逻辑可以接收被导向软件定义网络(SDN)中的目的地的应用的数据流。
在块310处,处理逻辑可以例如通过查找应用分类表来识别应用的分类。应用分类表可以用应用或应用的标识符作为关键字。应用的分类可以包括关于图1描述的分类。
在块315处,处理逻辑可以识别与应用的分类相关联的性能阈值集。性能阈值可以包括针对延迟、丢失、抖动、延迟/抖动敏感度、丢失敏感度等的阈值。结合图1进一步描述示例性能阈值。
在块320处,处理逻辑可以确定应用的数据流在SDN中的当前性能。处理逻辑可以识别路径的组件中的任一个(诸如隧道、链路、边缘设备等)的当前性能。
在块325处,处理逻辑可以基于性能阈值集和应用的数据流在SDN中的当前性能来生成针对应用的性能分数。例如,可以基于隧道保持高于SLA阈值的持续时间来生成针对应用的性能分数。在这些和其他实施例中,可以优于保持在SLA阈值之上达较长时间段的那些隧道而选取保持高于阈值达较短时间段的隧道。在另一示例中,可以基于可能发生在SLA阈值之上的波动的数量来生成针对应用的性能分数。在另一个示例中,可以基于载体信息来生成针对应用的性能分数。在又一个示例中,可以基于在该链路上承载业务的成本来生成针对应用的性能分数。在至少一些实施例中,处理逻辑可以基于以上度量及其他度量来周期性地更新针对应用的性能分数。在块330处,处理逻辑可以使针对应用的性能分数经由界面(诸如图形用户界面(GUI))被呈现。
在块335处,处理逻辑可以基于性能分数采取附加动作。在至少一些实施例中,处理逻辑可以识别与应用相关联的第一隧道,数据流被配置为经过所述第一隧道行进;并且基于针对应用的性能分数来选择第二隧道。
在至少一些实施例中,当基于针对应用的性能分数来选择第二隧道时,处理逻辑可以确定跨第二隧道的数据流比跨第一隧道的数据流更可能满足性能阈值集。
在至少一些实施例中,处理逻辑可以监视第一隧道和第二隧道的一个或多个网络性能度量并且存储第一隧道和第二隧道的网络性能度量的历史性能数据。例如,处理逻辑可以观察或者以其他方式对隧道和/或路径中的消息执行一个或多个计算或分析并且可以监视这些路径和/或隧道的网络性能度量。
可以至少部分地基于第一隧道和第二隧道的网络性能度量的历史性能数据来选择第二隧道。在至少一些实施例中,可以基于第二隧道在历史上高于性能阈值集的持续时间比第一隧道在历史上高于性能阈值集的持续时间更长而选择第二隧道。在至少一些实施例中,性能阈值集包括延迟阈值、丢失百分比阈值和抖动阈值。在至少一些实施例中,性能阈值集包括延迟/抖动敏感度阈值和丢失百分比敏感度阈值。
在至少一些实施例中,可以沿着一个或多个路径向目的地周期性地发送消息以确定路径和/或隧道的网络性能度量。例如,网络设备(诸如图2的第一网络设备210a)可以周期性地发送探测来确定通过网络(诸如图2的网络230a-b)到其他网络设备(诸如图2的第二网络设备210b)的各种路径(诸如路径220a-d)的抖动、延迟、丢失等。
本领域的技术人员应领会的是,对于这些过程、操作和方法,可以以不同的次序实现所执行的功能和/或操作。进一步地,所概述的功能和操作仅作为示例被提供,并且在不背离所公开的实施例的实质的情况下,这些功能和操作中的一些可以是可选的,被组合成较少的功能和操作,或者被扩展成附加功能和操作。例如,可以考虑、分析并选择任何数量的隧道。在至少一些实施例中,选择准则可以用于对任何数量的隧道进行排名。
图4图示根据本公开中描述的至少一个实施例的示例计算系统400。系统400可以包括被配置为选择通过其路由数据流的路径或者便于这种路径选择的任何适合的系统、装置或设备。计算系统400可以包括处理器410、存储器420、数据存储装置430和通信单元440,这些全部可以被通信地耦合。在一些实施例中,可以将本公开的网络设备(例如,图1的边缘网络设备110或图2的网络设备210)或其他计算设备中的任一个实现为计算系统400。附加地或可替代地,可以将网络设备或其他计算设备中的一个或多个实现为在诸如计算系统400这样的物理计算系统上操作的虚拟机。
通常,处理器410可以包括任何适合的专用或通用计算机、计算实体或包括各种计算机硬件或软件模块的处理设备,并且可以被配置为执行存储在任何适用的计算机可读存储介质上的指令。例如,处理器410可以包括微处理器、微控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA),或被配置为解释和/或执行程序指令和/或处理数据的任何其他数字或模拟电路。
尽管在图4中被图示为单个处理器,但是应理解的是,处理器410可以包括跨任何数量的网络或物理位置分布的任何数量的处理器,这些处理器被配置为单独地或共同地执行本公开中描述的任何数量的操作。在一些实施例中,处理器410可以解释和/或执行程序指令并且/或者处理存储在存储器420、数据存储装置430或存储器420和数据存储装置430中的数据。在一些实施例中,处理器410可以从数据存储装置430取出程序指令并且将这些程序指令加载到存储器420中。
在程序指令被加载到存储器420中之后,处理器410可以执行程序指令,诸如用于执行图3的方法300的指令。例如,处理器410可以生成针对应用的性能分数并且基于性能分数在网络中做出采取某个动作。
存储器420和数据存储装置430可以包括用于承载或者在上面存储计算机可执行指令或数据结构的计算机可读存储介质或一个或多个计算机可读存储介质。此类计算机可读存储介质可以是可以由通用或专用计算机(诸如处理器410)访问的任何可用的介质。在一些实施例中,计算系统400可以包括或者可以不包括存储器420和数据存储装置430中的任何一个。
作为示例,此类计算机可读存储介质可以包括非暂时性计算机可读存储介质,包括随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、紧致盘只读存储器(CD-ROM)或其他光盘存储装置、磁盘存储装置或其他磁存储设备、闪速存储器设备(例如,固态存储器设备)或可以用于以计算机可执行指令或数据结构的形式承载或者存储期望的程序代码并且可以由通用或专用计算机访问的任何其他存储介质。以上所述的组合也可以被包括在计算机可读存储介质的范围内。计算机可执行指令可以包括例如被配置为使处理器410执行某个操作或一组操作的指令和数据。
通信单元440可以包括被配置为通过网络(诸如MPLS连接、互联网、蜂窝网络(例如,LTE网络)等)发送或者接收信息的任何组件、设备、系统或其组合。在一些实施例中,通信单元440可以与其他位置、同一位置处的其他设备或甚至同一系统内的其他组件进行通信。例如,通信单元440可以包括调制解调器、网卡(无线的或有线的)、光通信设备、红外通信设备、无线通信设备(诸如天线)、芯片组(诸如蓝牙设备、802.6设备(例如,城域网(MAN))、WiFi设备、WiMax设备、蜂窝通信设施或其他设备)和/或类似物或其任何组合。通信单元440可以允许与本公开中描述的网络和/或任何其他设备或系统交换数据。例如,通信单元440可以允许系统400与其他系统(诸如网络设备、控制设备和/或其他网络)进行通信。
在不脱离本公开的范围的情况下,可以对系统400做出修改、添加或省略。例如,数据存储装置430可以包括位于多个位置中并由处理器410通过网络访问的多个不同的存储介质。
如上面所指示的,本公开中描述的实施例可以包括使用包括各种计算机硬件或软件模块的专用或通用计算机(例如,图4的处理器410),如在下面更详细地讨论的。进一步地,如上面所指示的,可以使用用于承载或者在上面存储计算机可执行指令或数据结构的计算机可读介质(例如,图4的存储器420或数据存储装置430)来实现本公开中描述的实施例。
如本公开中所使用的,术语“模块”或“组件”可以指代被配置为执行模块或组件和/或软件对象或软件例程的动作的具体硬件实施例,所述模块或组件和/或软件对象或软件例程可以被存储在计算系统的通用硬件(例如,计算机可读介质、处理设备或某个其他硬件)上和/或由计算系统的通用硬件(例如,计算机可读介质、处理设备或某个其他硬件)执行。在一些实施例中,本公开中描述的不同组件、模块、引擎和服务可以作为在计算系统上执行的对象或进程(例如,作为单独的线程)被实现。尽管本公开中描述的系统和方法中的一些通常被描述为用软件(存储在通用硬件上和/或由通用硬件执行)来实现,但是具体硬件实施方式或软件和具体硬件实施方式的组合也是可能的并被设想。在本说明书中,“计算实体”可以是如本公开中先前定义的任何计算系统,或在计算系统上运行的任何模块或模块的组合。
依照惯例,附图中图示的各种特征可以不按比例绘制。本公开中呈现的图示不意在为任何特定装置(例如,设备、系统等)或方法的实际视图,而仅仅是被用来描述本公开的各种实施例的理想化表示。因此,为了清楚可以任意地放大或者缩小各种特征的尺寸。另外,为了清楚可以简化附图中的一些。因此,附图可以不描绘给定装置(例如,设备)的所有组件或特定方法的所有操作。
在本公开中并且尤其在所附权利要求(例如,所附权利要求的主体)中使用的术语通常旨在作为“开放”术语(例如,术语“包括有”应该被解释为“包括有但不限于”,术语“具有”应该被解释为“至少具有”,术语“包括”应该被解释为“包括但不限于”等)。
附加地,如果意图介绍特定数目的权利要求引述特征(recitation),则这样的意图将在该权利要求中被显式地引述,并且在没有这种引述特征的情况下不存在这样的意图。例如,作为理解的辅助手段,以下所附权利要求可以包含使用用于介绍权利要求引述特征的介绍性短语“至少一个”和“一个或多个”。
另外,即使显式地引述了所介绍的权利要求引述特征的具体数量,本领域的技术人员也应认识到,这种引述特征应该被解释为意指至少所引述的数量(例如,仅仅引述“两个引述特征”而没有其他修饰词的情况意指至少两个引述特征或两个或更多个引述特征)。此外,在使用类似于“A、B和C中的至少一个等”或“A、B和C中的一个或多个等”的约定的那些情况下,通常这样的构造旨在包括仅A、仅B、仅C、A和B一起、A和C一起、B和C一起或A、B和C一起等。
进一步地,无论在说明书、权利要求书还是在附图中,呈现两个或更多个替代术语的任何析构词或短语应该被理解为设想了包括这些术语中的一个、这些术语中的任何一个或两个术语的可能性。例如,短语“A或B”应该被理解为包括“A”或“B”或“A和B”的可能性。
然而,即使当同一权利要求包括介绍性短语“一个或多个”或“至少一个”以及诸如“一”或“一个”这样的不定冠词(例如,“一”和/或“一个”应该被解释为意指“至少一个”或“一个或多个”)时,此类短语的使用也不应该被解释为暗示通过不定冠词“一”或“一个”对权利要求引述特征的介绍将包含这样介绍的权利要求引述特征的任何特定权利要求限制为包含仅一个这种引述特征的实施例;对用于介绍权利要求引述特征的定冠词的使用来说也是如此。
此外,术语“第一”、“第二”、“第三”等的使用在本文中不一定用于表示元件的具体次序或数量。通常,术语“第一”、“第二”、“第三”等用于区分作为通用标识符的不同元件。在没有示出术语“第一”、“第二”、“第三”等表示具体次序的情况下,这些术语不应该被理解为表示具体次序。此外,在没有示出术语“第一”、“第二”、“第三”等表示具体数量的元件的情况下,这些术语不应该被理解为表示具体数量的元件。例如,第一微件(widget)可以被描述为具有第一侧面,而第二微件可以被描述为具有第二侧面。相对于第二微件使用术语“第二侧面”可以是为了将第二微件的这种侧面与第一微件的“第一侧面”区分开,而不是为了表示第二微件具有两个侧面。
本公开中叙述的所有示例和条件语言意在用于教导目的以帮助读者理解本发明和由本发明人为进一步发展本技术所贡献的构思,并且将被解释为不限于这样具体地叙述的示例和条件。尽管已详细地描述了本公开的实施例,但是应该理解的是,在不脱离本公开的精神和范围的情况下,能对其做出各种变化、替换和变更。

Claims (23)

1.一种方法,所述方法包括:
接收被导向软件定义网络(SDN)中的目的地的应用的数据流;
识别所述应用的分类;
识别与所述应用的分类相关联的性能阈值集;
确定所述应用的所述数据流在所述SDN中的当前性能;
基于所述性能阈值集和所述应用的所述数据流在所述SDN中的当前性能来生成针对所述应用的性能分数;以及
使得针对所述应用的所述性能分数经由界面被呈现。
2.根据权利要求1所述的方法,进一步包括:
识别与所述应用相关联的第一隧道,所述数据流被配置为经过所述第一隧道行进;以及
基于针对所述应用的所述性能分数来选择第二隧道。
3.根据权利要求2所述的方法,其中,基于针对所述应用的所述性能分数来选择所述第二隧道包括:确定跨所述第二隧道的所述数据流比跨所述第一隧道的所述数据流更可能满足所述性能阈值集。
4.根据权利要求2或3所述的方法,进一步包括:
监视所述第一隧道和所述第二隧道的一个或多个网络性能度量;以及
存储所述第一隧道和所述第二隧道的所述网络性能度量的历史性能数据,其中,所述第二隧道是至少部分地基于所述第一隧道和所述第二隧道的所述网络性能度量的所述历史性能数据来选择的。
5.根据权利要求2至4中的任一项所述的方法,其中,所述第二隧道是基于所述第二隧道在历史上高于所述性能阈值集的持续时间比所述第一隧道在历史上高于所述性能阈值集的持续时间更长而被选择的。
6.根据权利要求1至5中的任一项所述的方法,其中,所述性能阈值集包括延迟阈值、丢失百分比阈值和抖动阈值。
7.根据权利要求1至6中的任一项所述的方法,其中,所述性能阈值集包括延迟/抖动敏感度阈值和丢失百分比敏感度阈值。
8.一种系统,包括:
存储器;以及
一个或多个处理器,所述一个或多个处理器被配置为执行操作,所述操作包括:
接收被导向软件定义网络(SDN)中的目的地的应用的数据流;
识别所述应用的分类;
识别与所述应用的分类相关联的性能阈值集;
确定所述应用的所述数据流在所述SDN中的当前性能;
基于所述性能阈值集和所述应用的所述数据流在所述SDN中的当前性能来生成针对所述应用的性能分数;以及
使得针对所述应用的所述性能分数经由界面被呈现。
9.根据权利要求8所述的系统,所述一个或多个处理器被配置为执行另外的操作,该操作包括:
识别与所述应用相关联的第一隧道,所述数据流被配置为经过所述第一隧道行进;以及
基于针对所述应用的所述性能分数来选择第二隧道。
10.根据权利要求9所述的系统,其中,当基于针对所述应用的所述性能分数来选择所述第二隧道时,所述一个或多个处理器被配置为确定跨所述第二隧道的所述数据流比跨所述第一隧道的所述数据流更可能满足所述性能阈值集。
11.根据权利要求9或10所述的系统,所述一个或多个处理器被配置为执行另外的操作,该操作包括:
监视所述第一隧道和所述第二隧道的一个或多个网络性能度量;以及
存储所述第一隧道和所述第二隧道的所述网络性能度量的历史性能数据,其中,所述第二隧道是至少部分地基于所述第一隧道和所述第二隧道的所述网络性能度量的所述历史性能数据来选择的。
12.根据权利要求9至11中的任一项所述的系统,其中,所述第二隧道是基于所述第二隧道在历史上高于所述性能阈值集的持续时间比所述第一隧道在历史上高于所述性能阈值集的持续时间更长而被选择的。
13.根据权利要求8至12中的任一项所述的系统,其中,所述性能阈值集包括延迟阈值、丢失百分比阈值和抖动阈值。
14.根据权利要求8至13中的任一项所述的系统,其中,所述性能阈值集包括延迟/抖动敏感度阈值和丢失百分比敏感度阈值。
15.一种非暂时性计算机可读介质,所述非暂时性计算机可读介质包括存储在其上的计算机可读指令,所述计算机可读指令可由处理器执行以执行操作或者控制操作的执行,所述操作包括:
接收被导向软件定义网络(SDN)中的目的地的应用的数据流;
识别所述应用的分类;
识别与所述应用的分类相关联的性能阈值集;
确定所述应用的所述数据流在所述SDN中的当前性能;
基于所述性能阈值集和所述应用的所述数据流在所述SDN中的当前性能来生成针对所述应用的性能分数;以及
使得针对所述应用的所述性能分数经由界面被呈现。
16.根据权利要求15所述的非暂时性计算机可读介质,所述操作进一步包括:
识别与所述应用相关联的第一隧道,所述数据流被配置为经过所述第一隧道行进;并且
基于针对所述应用的所述性能分数来选择第二隧道。
17.根据权利要求16所述的非暂时性计算机可读介质,其中,基于针对所述应用的所述性能分数来选择所述第二隧道包括:确定跨所述第二隧道的所述数据流比跨所述第一隧道的所述数据流更可能满足所述性能阈值集。
18.根据权利要求16或17所述的非暂时性计算机可读介质,所述操作进一步包括:
监视所述第一隧道和所述第二隧道的一个或多个网络性能度量;以及
存储所述第一隧道和所述第二隧道的所述网络性能度量的历史性能数据,其中,所述第二隧道是至少部分地基于所述第一隧道和所述第二隧道的所述网络性能度量的所述历史性能数据来选择的。
19.根据权利要求16至18中的任一项所述的非暂时性计算机可读介质,其中,所述第二隧道是基于所述第二隧道在历史上高于所述性能阈值集的持续时间比所述第一隧道在历史上高于所述性能阈值集的持续时间更长而被选择的。
20.根据权利要求15至19中的任一项所述的非暂时性计算机可读介质,其中,所述性能阈值集包括延迟阈值、丢失百分比阈值和抖动阈值。
21.一种设备,所述设备包括:
用于接收被导向软件定义网络(SDN)中的目的地的应用的数据流的装置;
用于识别所述应用的分类的装置;
用于识别与所述应用的分类相关联的性能阈值集的装置;
用于确定所述应用的所述数据流在所述SDN中的当前性能的装置;
用于基于所述性能阈值集和所述应用的所述数据流在所述SDN中的当前性能来生成针对所述应用的性能分数的装置;以及
用于使得针对所述应用的所述性能分数经由界面被呈现的装置。
22.根据权利要求21所述的设备,进一步包括用于实现根据权利要求2至7中的任一项所述的方法的装置。
23.一种计算机程序、计算机程序产品或计算机可读介质,所述计算机程序、计算机程序产品或计算机可读介质包括指令,所述指令当由计算机执行时,使所述计算机执行根据权利要求1至7中的任一项所述的方法的步骤。
CN201880049335.9A 2017-07-31 2018-07-27 在软件定义网络中基于性能分数针对应用的路径选择 Active CN110945842B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/665,296 US10700982B2 (en) 2017-07-31 2017-07-31 Path selection for an application based on a performance score in a software-defined network
US15/665,296 2017-07-31
PCT/US2018/044120 WO2019027833A1 (en) 2017-07-31 2018-07-27 PATH SELECTION FOR A PERFORMANCE SCORE-BASED APPLICATION IN A SOFTWARE DEFINED NETWORK

Publications (2)

Publication Number Publication Date
CN110945842A true CN110945842A (zh) 2020-03-31
CN110945842B CN110945842B (zh) 2023-03-31

Family

ID=63405345

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880049335.9A Active CN110945842B (zh) 2017-07-31 2018-07-27 在软件定义网络中基于性能分数针对应用的路径选择

Country Status (6)

Country Link
US (3) US10700982B2 (zh)
EP (1) EP3662621B1 (zh)
JP (1) JP7008788B2 (zh)
CN (1) CN110945842B (zh)
CA (1) CA3071837A1 (zh)
WO (1) WO2019027833A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111726253A (zh) * 2020-06-18 2020-09-29 北京天润融通科技股份有限公司 云计算核心网络系统
CN112019371A (zh) * 2019-05-31 2020-12-01 瞻博网络公司 动态应用sla度量生成、分发和基于意图的sd-wan链路选择

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10523556B2 (en) * 2017-08-08 2019-12-31 Versa Networks, Inc. Method and system for routing connections in a software-defined wide area network
US11038834B2 (en) * 2018-01-31 2021-06-15 Hewlett Packard Enterprise Development Lp Selecting an external link of a plurality of external links
US10972379B2 (en) * 2018-04-15 2021-04-06 Versa Networks, Inc. Application performance based path-selection
US11388096B2 (en) * 2018-05-04 2022-07-12 T-Mobile Usa, Inc. Performance driven software defined networking
US11050656B2 (en) * 2018-05-10 2021-06-29 Dell Products L.P. System and method to learn and prescribe network path for SDN
US10972387B2 (en) * 2018-06-16 2021-04-06 Versa Networks, Inc. Application performance based path-selection using dynamic metrics
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
US11038690B2 (en) * 2018-10-04 2021-06-15 EMC IP Holding Company LLC Policy-driven dynamic consensus protocol selection
US10855555B2 (en) * 2019-03-11 2020-12-01 Juniper Networks, Inc. On-demand probing for quality of experience metrics
US11770311B2 (en) * 2019-04-05 2023-09-26 Palo Alto Networks, Inc. Automatic and dynamic performance benchmarking and scoring of applications based on crowdsourced traffic data
US11574241B2 (en) 2019-04-24 2023-02-07 Cisco Technology, Inc. Adaptive threshold selection for SD-WAN tunnel failure prediction
US10951490B2 (en) 2019-05-09 2021-03-16 Cisco Technology, Inc. Intelligent tunnel assignment and dynamic SLA threshold configuration to increase availability and utilization of SD-WAN tunnels
US10904125B2 (en) 2019-05-30 2021-01-26 Cisco Technology, Inc. Active probe construction using machine learning for measuring SD-WAN tunnel metrics
US10911330B2 (en) * 2019-06-12 2021-02-02 Cisco Technology, Inc. Intent based application fabric
CN112217655B (zh) * 2019-07-11 2022-08-02 奇安信科技集团股份有限公司 Sd-wan系统中网络设备配置方法、装置和计算机设备
US10938717B1 (en) * 2019-09-04 2021-03-02 Cisco Technology, Inc. Policy plane integration across multiple domains
US11863428B2 (en) * 2019-11-22 2024-01-02 Vmware, Inc. Dynamic route configuration and load balancing for edge gateways
US11265242B2 (en) 2020-01-15 2022-03-01 Cisco Technology, Inc. Systems and methods for applying SD-WAN policies to router-generated traffic
US11166221B2 (en) 2020-04-06 2021-11-02 Cisco Technology, Inc. Ethernet bridging in SDN-based wireless mesh networks
US11296947B2 (en) 2020-06-29 2022-04-05 Star2Star Communications, LLC SD-WAN device, system, and network
US11252084B1 (en) * 2020-09-29 2022-02-15 Palo Alto Networks, Inc. Enhanced SD-WAN path quality measurement and selection
US11563495B2 (en) * 2020-09-30 2023-01-24 Infinera Corporation Optical modules with virtual transport functions
US11758515B2 (en) * 2020-12-29 2023-09-12 Verizon Patent And Licensing Inc. Optimized user equipment network access selection
US11632327B2 (en) * 2021-05-27 2023-04-18 Cisco Technology, Inc. Estimating the efficacy of predictive routing for prospective deployments
US11671374B2 (en) 2021-07-14 2023-06-06 Cisco Technology, Inc. SaaS application clustering for path probing to support application-based routing
US11677656B1 (en) 2021-11-30 2023-06-13 Cisco Technology, Inc. Detecting path performance oscillations using path stability metrics
CN114338400B (zh) * 2021-12-31 2024-05-14 中国电信股份有限公司 Sdn网络动态控制方法及装置
US20240064085A1 (en) * 2022-08-16 2024-02-22 Cisco Technology, Inc. Method to select best path for saas using application and network telemetry

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140362686A1 (en) * 2013-06-07 2014-12-11 Brocade Communications Systems, Inc. Techniques for end-to-end network bandwidth optimization using software defined networking
US20150156086A1 (en) * 2013-12-04 2015-06-04 Radware, Ltd. Behavioral network intelligence system and method thereof
CN105052083A (zh) * 2013-03-15 2015-11-11 思科技术公司 用于网络的可编程管理引擎
US20160234099A1 (en) * 2015-02-10 2016-08-11 Verizon Patent And Licensing Inc. Application-based path computation
US20160254984A1 (en) * 2015-02-27 2016-09-01 Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. Method and system for delivering service-enabled flow paths across multiple domains in sdn networks
US20160359672A1 (en) * 2015-06-04 2016-12-08 Cisco Technology, Inc. Dynamic, broker-based virtual service platform (vsp) engagement for computer networks
US20170214623A1 (en) * 2016-01-21 2017-07-27 Cox Communications, Inc. Rerouting network traffic flows based on selection criteria

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6178113B2 (ja) * 2013-05-23 2017-08-09 株式会社東芝 通信システム
US9288135B2 (en) * 2013-12-13 2016-03-15 International Business Machines Corporation Managing data flows in software-defined network using network interface card
US10425294B2 (en) 2014-01-06 2019-09-24 Cisco Technology, Inc. Distributed and learning machine-based approach to gathering localized network dynamics
JP6434821B2 (ja) * 2015-02-19 2018-12-05 アラクサラネットワークス株式会社 通信装置及び通信方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105052083A (zh) * 2013-03-15 2015-11-11 思科技术公司 用于网络的可编程管理引擎
US20140362686A1 (en) * 2013-06-07 2014-12-11 Brocade Communications Systems, Inc. Techniques for end-to-end network bandwidth optimization using software defined networking
US20150156086A1 (en) * 2013-12-04 2015-06-04 Radware, Ltd. Behavioral network intelligence system and method thereof
US20160234099A1 (en) * 2015-02-10 2016-08-11 Verizon Patent And Licensing Inc. Application-based path computation
US20160254984A1 (en) * 2015-02-27 2016-09-01 Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. Method and system for delivering service-enabled flow paths across multiple domains in sdn networks
US20160359672A1 (en) * 2015-06-04 2016-12-08 Cisco Technology, Inc. Dynamic, broker-based virtual service platform (vsp) engagement for computer networks
US20170214623A1 (en) * 2016-01-21 2017-07-27 Cox Communications, Inc. Rerouting network traffic flows based on selection criteria

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112019371A (zh) * 2019-05-31 2020-12-01 瞻博网络公司 动态应用sla度量生成、分发和基于意图的sd-wan链路选择
CN112019371B (zh) * 2019-05-31 2022-07-29 瞻博网络公司 用于网络管理的方法和设备
US11831520B2 (en) 2019-05-31 2023-11-28 Juniper Networks, Inc. Dynamic application SLA metric generation, distribution, and intent-based SD-WAN link selection
CN111726253A (zh) * 2020-06-18 2020-09-29 北京天润融通科技股份有限公司 云计算核心网络系统
CN111726253B (zh) * 2020-06-18 2023-10-17 北京天润融通科技股份有限公司 云计算核心网络系统

Also Published As

Publication number Publication date
CN110945842B (zh) 2023-03-31
JP7008788B2 (ja) 2022-01-25
US11722421B2 (en) 2023-08-08
WO2019027833A1 (en) 2019-02-07
US20200382429A1 (en) 2020-12-03
US20230019788A1 (en) 2023-01-19
EP3662621A1 (en) 2020-06-10
CA3071837A1 (en) 2019-02-07
JP2020529761A (ja) 2020-10-08
EP3662621B1 (en) 2022-10-19
US11451484B2 (en) 2022-09-20
US10700982B2 (en) 2020-06-30
US20190036828A1 (en) 2019-01-31

Similar Documents

Publication Publication Date Title
CN110945842B (zh) 在软件定义网络中基于性能分数针对应用的路径选择
CN110754066B (zh) 网络路径选择
US11381474B1 (en) Wan link selection for SD-WAN services
US20210135978A1 (en) Intelligent adaptive transport layer to enhance performance using multiple channels
US10721165B2 (en) Controlling a software-defined network
US11405279B2 (en) Virtualized software-defined network
EP3369210B1 (en) System and method for troubleshooting sdn networks using flow statistics
US20190036814A1 (en) Traffic steering with path ordering
US20190036780A1 (en) Generating a data model for a virtualized software-defined network
US11283683B2 (en) Network modification impact prediction
WO2019012546A1 (en) EFFICIENT CHARGE BALANCING MECHANISM FOR SWITCHES IN A SOFTWARE-DEFINED NETWORK
US20240031235A1 (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