CN104969518A - 路由数据 - Google Patents

路由数据 Download PDF

Info

Publication number
CN104969518A
CN104969518A CN201380068289.4A CN201380068289A CN104969518A CN 104969518 A CN104969518 A CN 104969518A CN 201380068289 A CN201380068289 A CN 201380068289A CN 104969518 A CN104969518 A CN 104969518A
Authority
CN
China
Prior art keywords
node
data
communication session
client
routing
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
CN201380068289.4A
Other languages
English (en)
Other versions
CN104969518B (zh
Inventor
S.克斯库拉
T.贝茨
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN104969518A publication Critical patent/CN104969518A/zh
Application granted granted Critical
Publication of CN104969518B publication Critical patent/CN104969518B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/70Routing based on monitoring results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data 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/128Shortest path evaluation for finding disjoint paths
    • 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
    • H04L45/306Route determination based on the nature of the carried application
    • H04L45/3065Route determination based on the nature of the carried application for real time traffic
    • 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
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • H04L43/0835One way packet loss
    • 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
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • H04L43/0841Round trip packet loss
    • 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
    • H04L43/0852Delays
    • H04L43/0858One way delays
    • 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
    • H04L43/0852Delays
    • H04L43/087Jitter
    • 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
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • 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
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
    • 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/121Shortest path evaluation by minimising delays
    • 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/125Shortest path evaluation based on throughput or bandwidth
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

描述了在通过覆盖网络的双向通信会话中路由数据。确定用于经由覆盖网络的相应多个中继节点在从第一节点到第二节点的第一方向上的通信会话中路由数据的单向性能测量。基于性能测量,选择(多个)中继节点以用于在从第一节点到第二节点的第一方向上路由数据。经由(多个)所选中继节点在通过覆盖网络的从第一节点到第二节点的通信会话中路由数据。用于在第一方向上路由数据的(多个)中继节点的选择与用于在通信会话中的从第二节点到第一节点的第二方向上路由数据的一个或多个中继节点的选择单独地执行。

Description

路由数据
背景技术
通信系统允许用户通过网络彼此通信。例如,用户可以使用用户终端(诸如移动电话、平板、膝上型电脑或PC等)执行客户端(或“客户端应用”)以用于访问通信系统。由通信系统的提供商向用户终端提供(例如下载)客户端,并且客户端包括用于在用户终端处执行以使得能够访问通信系统的软件。
通信系统的节点可以形成覆盖网络。节点可以例如为客户端、服务器或中继节点。覆盖网络是建于另一网络顶部上的计算机网络。覆盖网络中的节点可以被认为是通过虚拟或逻辑链路连接的,每一个虚拟或逻辑链路对应于通过底层网络中的一个或多个物理链路的路径。底层网络可以例如为互联网。
当用户使用通信系统参与到通过覆盖网络的双向通信会话中时,数据可以经由覆盖网络中的中继节点在用户的客户端之间来回路由。因为并不是通信系统内的所有节点都可以能够彼此直接通信,例如由于其防火墙或网络地址转换(NAT)设定,所以使用中继节点。它们可以使用可具有较少约束的中继节点以便调解通信。这样,中继节点被用来在可能不能够彼此之间通信的节点之间进行可行的通信。中继节点可以被选择成最小化用户的客户端之间的通过覆盖网络的双向通信会话中的往返时间(RTT)。
发明内容
提供该发明内容以便以简化形式引入在以下具体实施方式中进一步描述的概念的选择。该发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
提供了一种方法,通过该方法选择中继节点以单独用于在第一节点与第二节点之间的通过覆盖网络的双向通信会话中的不同方向中路由数据。确定用于在经由覆盖网络的相应多个中继节点的从第一节点到第二节点的第一方向上的通信会话中路由数据的多个单向性能测量。基于所确定的单向性能测量,选择一个或多个中继节点以用于在从第一节点到第二节点的第一方向上路由数据。经由一个或多个所选中继节点在通过覆盖网络的从第一节点到第二节点的第一方向上的通信会话中路由数据。用于在第一方向上路由数据的一个或多个中继节点的选择与用于在通信会话中的从第二节点到第一节点的第二方向上路由数据的一个或多个中继节点的选择单独地执行。
可以应用对应但单独的方法来选择用于在通信会话中的第二方向上路由数据的一个或多个中继节点。也就是说,可以确定用于经由覆盖网络的相应多个中继节点在从第二节点到第一节点的第二方向上的通信会话中路由数据的多个第二单向性能测量。基于所确定的多个第二单向性能测量,选择一个或多个所述中继节点以用于在从第二节点到第一节点的第二方向上路由数据。经由用于第二方向的一个或多个所选中继节点在通过覆盖网络的从第二节点到第一节点的第二方向上的通信会话中路由数据。用于在第二方向上路由数据的一个或多个中继节点的选择与用于在通信会话中的第一方向上路由数据的一个或多个中继节点的选择单独地执行。
附图说明
为了更好地理解所述实施例并且示出可以如何将所述实施例付诸实践,现在将通过示例的方式对以下各图做出引用,其中:
图1示出通信系统的示意图;以及
图2是用于在通过覆盖网络的双向通信会话中路由数据的过程的流程图。
具体实施方式
图1示出通信系统100的覆盖网络的节点。覆盖网络可以例如为对等(P2P)网络。第一用户102(用户A)使用客户端104访问通信系统100。客户端104包括软件,其在用户终端(诸如移动电话、平板、膝上型电脑或PC等)上执行时施行允许用户102连接到通信系统100所必需的功能。类似地,第二用户106(用户B)使用客户端108访问通信系统100。客户端108包括软件,其在用户终端(诸如移动电话、平板、膝上型电脑或PC等)上执行时施行允许用户106连接到通信系统100所必需的功能。由通信系统100的提供商向相应用户102和106的用户终端提供(例如下载)客户端104和108。
客户端104被布置成经由第一互联网服务提供商(ISP)112通信。客户端104在其上执行的用户终端至少包括用于执行客户端104的处理器、用于存储数据的存储器、以及用于连接到互联网的网络接口,使得客户端104可以经由ISP 112通信。在图1中所示的通信系统100中,涉及通信系统100的要发送到客户端104以及从客户端104发送的所有数据都经由ISP 112路由。类似地,客户端108被布置成经由第二互联网服务提供商(ISP)116通信。客户端108在其上执行的用户终端至少包括用于执行客户端108的处理器、用于存储数据的存储器以及用于连接到互联网的网络接口,使得客户端108可以经由ISP 116通信。在图1中所示的通信系统中,涉及通信系统100的要发送到客户端108以及从客户端108发送的所有数据都经由ISP 116路由。通信系统100可以是或者可以不是基于服务器的通信系统。
通信系统100的覆盖网络包括第一中继节点118和第二中继节点120。可以经由中继节点118或中继节点120通过覆盖网络在ISP 112的客户端104与ISP 116的客户端108之间路由数据。中继节点118和120可以位于任何网络上(例如另一ISP中)并且可以存在任何网络之间的多个网络。要指出的是,互联网是可以能够彼此通信的各网络的网络。通信系统100的覆盖网络可以包括比图1中示出的那些更多的许多节点。特别地,通信系统100的覆盖网络可以包括可经由其在客户端104与客户端108之间路由数据的多于两个中继节点,但是为了清楚起见仅在图1中示出并在本文中描述两个中继节点118和120。中继节点118和120可以是中继服务器或P2P中继节点(例如网络中的其它用户终端)。
在操作中,两个用户102和106通过通信系统100参与到彼此的双向通信会话中。数据经由:(i)ISP 112,(ii)中继节点118和120中的一个,以及(iii)ISP 116从客户端104传送到客户端108。类似地,数据经由:(i)ISP 116,(ii)中继节点118和120中的一个,以及(iii)ISP 112从客户端108传送到客户端104。
通信会话可以是实时媒体会话,其中在通信会话中传送的数据是实时媒体数据。例如,通信会话可以是用户102和106之间的呼叫。
图1图示了从客户端104行进到客户端108的数据分组可以如何遵循要么经由中继节点118要么经由中继节点120的两个可能路径之一。用来切换来自ISP1 112的数据分组的对等的选择通常取决于ISP1 112处可用的对等协定,并且实际路由常常基于目标地址并且很多时候遵循某种预定的路由策略(热土豆式路由、冷土豆式路由等)。可以存在覆盖网络上可用的中继候选者的大量选择,尽管在图1中出于清楚起见仅示出两个中继节点118和120。可能通过选择底层网络(例如互联网)的特定网络中的中继节点(目标地址)来影响所使用的对等,因而控制分组从ISP1 112采取哪一出口点或者沿途的底层网络(例如互联网)的任何其它网络。
关于从客户端104到客户端108的数据的路由的确定可以由客户端104执行。客户端104上的应用级逻辑做出用于在覆盖网络上路由的决定。路由可以在客户端应用104上通过选择中继节点(其通过其地址影响分组经过系统100的路径)来决定。利用特定ip地址选择中继节点,并且然后ISP 112可以通过与地址的其余部分的情况不同的对等点将数据从其网络路由出。这可以是因为ISP 112具有与特定网络的直接对等协定并且因而具有那里的优选路径,如与将其发送到所有业务量去往的默认网关(其更可能要拥塞)相对的那样。类似地,关于从客户端108到客户端104的数据的路由的确定可以由客户端108以如上文关于客户端104所决定的路由所述的对应方式来执行。
要指出的是,在图1中所示的网络的任何节点之间的底层网络(例如互联网)上所进行的路由可以是非对称的。也就是说,在两个节点之间的一个方向上通过底层网络的数据分组所采取的路径可以与在这两个相同节点之间的另一方向上通过底层网络的数据分组所采取的路径不相同。例如,经由中继节点118从ISP 112路由到ISP 116的数据分组未必在底层网络(例如互联网)上横穿与经由相同中继节点118从ISP 116路由到ISP 112的分组相同组的网络。例如,经由中继节点118从ISP 112路由到ISP 116的数据分组可以穿过互联网的网络Z、U和X,而经由中继节点118从ISP 116路由到ISP 112的数据分组可以替代地穿过互联网的网络Z、Y和X。相比于在相反方向上行进的数据分组的等待时间而言,互联网业务量中的这种通常非对称性(其造成网络中的非对称拥塞)可以导致从客户端104行进到客户端108的数据分组的不同等待时间。
中继节点可以基于在覆盖网络中的节点之间行进的数据分组的平均或预期RTT(往返时间)来选择。例如,如图1中所示,数据经由中继节点118从客户端104行进到客户端108所花费的平均时间为98ms,并且数据经由中继节点118从客户端108行进到客户端104所花费的平均时间为54ms,因此在图1中所示的示例中,横穿上部路径将导致152ms(98+54)的平均RTT。此外,在图1中所示的示例中,数据经由中继节点120从客户端104行进到客户端108所花费的平均时间为81ms,并且数据经由中继节点120从客户端108行进到客户端104所花费的平均时间为64ms,因此在图1中所示的示例中,横穿下部路径将导致145ms(81+64)的平均RTT。这将暗示着下部路径具有较低等待时间,因为其具有较低RTT,并且因而将导致比上部路径更好的用户体验。在该情形中,当选择中继节点120使得将使用下部路径时,客户端108将会看到以81ms等待时间从客户端104到达的数据分组,而客户端104将会看到以64ms等待时间从客户端108到达的数据分组。图1中所示的具体平均时间仅是示例。在上述示例中给出的时间是平均时间,因此对于每一个数据分组,实际时间可能由于例如抖动而与平均时间不同。
然而,作为基于数据分组的RTT的上述方法的改进,根据本文所描述的方法,被选择用于在通信会话中的第一方向上路由数据的中继节点可以与被选择用于在通信会话中的第二方向(与第一方向相反)上路由数据的中继节点不同。也就是说,当选择用于路由数据的中继节点时,考虑到数据将行进的方向。
当考虑到媒体方向并且单独地考虑到不同方向上的数据的路由时,在图1中所示的示例中,从ISP 116行进到ISP 112的数据将经历通过上部路径(即经由中继节点118)而不是下部路径(即经由中继节点120)移动的较低等待时间。因而代替使用单个中继来在两个方向上中继媒体,对于每一个方向单独地考虑多个中继节点并且选择中继节点的组合从而取决于媒体传输的方向而将最佳质量(例如最少等待时间)交付给两个端点。这样,对于ISP 116(并且因此客户端108)的经历将保持与上文给出的示例中的相同(也就是说,在下部路径中经由中继节点120的81ms路由),但是ISP 112(并且因此客户端104)将会看到较低等待时间,以其接收到的在上部路径中经由中继节点118路由的媒体流中的平均等待时间54ms(而不是64ms)。
出于简单起见,上述示例仅使用等待时间作为交付给最终用户的性能/质量的预测值/测量,但是性能测量也可以是任何适当的度量,诸如带宽测量、抖动测量、分组丢失测量或多个度量的组合。例如,可以使用测量的集合的平均。性能测量可以是当前值的实时测量(例如选择的有效测量),或者是已经存储在路由节点处的过去以来的性能测量。例如,可以使用非线性网络质量模型以提供性能测量,其中非线性网络质量模型组合带宽、抖动、分组丢失和单向延迟。这样,性能测量给出最终用户所感知的仅在特定路径上的一个方向上流动的数据的质量的指示。通过针对一对一呼叫使用多个中继(即用于不同方向的不同中继节点)并且取决于媒体方向而优化中继节点的选择,可以改进最终用户体验。
图2示出用于确定通过通信系统100的覆盖网络在双向通信会话中路由数据的过程的流程图。方法可以在客户端104处执行以用于经由中继节点118或中继节点120通过通信系统100在用户102和106之间的呼叫中将数据路由到客户端108。
客户端104意图将数据发送给客户端108,例如作为用户102和106之间的呼叫的部分。在步骤S202中,客户端104确定用于经由中继节点118将数据从客户端104路由到客户端108的单向性能测量,并且客户端104确定用于经由中继节点120将数据从客户端104路由到客户端108的单向性能测量。如上文所述,性能测量可以例如为等待时间、带宽、抖动、分组丢失测量或这样的测量的组合。针对每一个中继节点确定单向性能测量。
在其它实施例中,除客户端104之外的其它应用可以确定用于将数据从客户端104路由到客户端108的单向性能测量。例如,单向性能测量可以由驻留在网络上的不同应用在步骤S202之前执行,并且在该情形中,步骤S202包括从确定它们的节点检索已经确定的单向性能测量。在其中客户端104执行单向性能测量的主动测量的实施例中,测量更为最新和有用。然而,实质上网络之间的连接并不非常经常地改变,并且使客户端104检索平均连接性估计(例如按照网络之间的单向等待时间)是足够的并且该数据可以通过其它措施在实际做出路由决定之前收集。在一个示例中,客户端104可以从捕获聚集延迟的表格检索单向性能测量,并且决定两个端点相比网络Y应当通过网络X中继,这是因为存在以下证据:相比于通过网络Y通信时,通过网络X通信时的延迟更小。
例如,在性能测量为等待时间测量的情况下,则在将数据从客户端104路由到客户端108之前可以将时间戳包括在数据中。时间戳可以由客户端104包括在数据中。客户端108可以测量其接收到数据的时间。基于所测量的时间和包括在数据中的时间戳,可以确定将数据从客户端104路由到客户端108所花费的时间。这可以由客户端108确定并且然后被发送回到客户端104,或者客户端108接收到数据的时间的测量可以被发送回到客户端104,使得客户端104可以执行将数据从客户端104发送到客户端108所花费的时间的确定。针对每一个路由(例如在图1中所示的示例中,经由中继节点118和经由中继节点120)确定将数据从客户端104发送到客户端108所花费的时间。为了使该方法有效地工作,数据通信的端点应当彼此时间同步(即它们应当使其时钟同步)。在其它示例中,每一个路由可以包括多于一个中继节点。单向等待时间测量可以以除上述示例中那样之外的其它方式来实现。
在步骤S204中,客户端104基于所确定的性能测量选择中继节点之一(118或120)。执行选择以提供最佳用户体验,例如可以执行选择以最小化数据传输的等待时间。
在步骤S206中,经由ISP 112和ISP 116并且经由所指示的所选中继节点,也就是说经由中继节点118或中继节点120,将数据从客户端104路由到客户端108。
基于在步骤S202中所确定的性能测量,在步骤S204中选择中继节点以提供最佳性能。例如,当性能测量为等待时间测量时,所选中继节点可以对应于最低等待时间。在图1中所示的示例中,步骤S204将基于用于该路由的较低等待时间(相比于用于经由中继节点118路由数据的98ms,为81ms)而选择中继节点120以将数据从客户端104路由到客户端108。
上文关于图2所述的对应方法也可以在客户端108处实现以用于在通信会话中将数据从客户端108路由到客户端104。
客户端108意图将数据发送到客户端104,例如作为用户102和106之间的呼叫的部分。
在与步骤S202对应的步骤中,客户端108确定用于经由中继节点118将数据从客户端108路由到客户端104的单向性能测量,并且路由节点114确定用于经由中继节点120将数据从客户端108路由到客户端104的单向性能测量。如上文所述,性能测量可以例如为等待时间、带宽、抖动、分组丢失测量或这样的测量的组合。针对每一个中继节点确定单向性能测量。
例如,在性能测量为等待时间测量的情况下,则在将数据从客户端108路由到客户端104之前,可以将时间戳包括在数据中。时间戳可以由客户端108包括在数据中。客户端104可以测量其接收到数据的时间。基于所测量的时间和包括在数据中的时间戳,可以确定将数据从客户端108发送到客户端104所花费的时间。这可以由客户端104确定并且然后被发送回到客户端108,或者客户端104接收到数据的时间的测量可以被发送回到客户端108,使得客户端108可以执行将数据从客户端108路由到客户端104所花费的时间的确定。针对每一个路由(例如在图1中所示的示例中,经由中继节点118和经由中继节点120)确定将数据从客户端108发送到客户端104所花费的时间。为了使该方法高效地工作,数据通信的端点应当彼此时间同步(即它们应当使其时钟同步)。可以以除上述示例中那样之外的其它方式来实现单向等待时间测量。
在对应于步骤S204的步骤中,客户端108基于针对将数据从客户端108路由到客户端104所确定的性能测量来选择中继节点之一(118或120)。执行选择以提供最佳用户体验,例如可以执行选择以最小化数据传输的等待时间。
在对应于步骤S206的步骤中,经由ISP 116和ISP 112并且经由所指示的所选中继节点,也就是说经由中继节点118或中继节点120,将数据从客户端108路由到客户端104。
在上文给出的示例中,在步骤S204中选择一个中继节点。在其它示例中,可以选择多于一个(例如十个)中继节点,例如从大概一千个可能的中继节点的池中选择。然后经由所选中继节点并行地路由数据分组。
基于所确定的性能测量选择中继节点以提供最佳性能。例如,当性能测量为等待时间测量时,所选中继节点可以对应于最低等待时间。在图1中所示的示例中,将基于用于该路由的较低等待时间(相比于经由中继节点120路由数据的64ms,为54ms)来选择中继节点118以将数据从客户端108路由到客户端104。
可以在选择用于路由数据的中继节点的步骤中考虑到多于一个性能测量。例如,可以针对每一个路由来测量等待时间和分组丢失并且将其用于选择路由数据的路由。
因此可以看出,选择用于将数据从客户端104路由到客户端108的中继节点的方法与选择用于将数据从客户端108路由到客户端104的中继节点的方法单独地执行。也就是说,用于在一个方向上路由数据的中继节点的选择与在通信会话中的另一方向上传送的数据的路由独立地执行。换言之,针对每一个方向独立地优化双向通信会话中的数据的路由。在实时媒体流中,数据分组在一个方向上发送并且仅控制分组在逆向方向上发送。控制分组可以例如指示已经成功地接收多少数据分组等。在双向实时媒体会话中,所建立的相同输运信道(会话)可以被用来在两个方向上交换媒体,但是在端点之间的单个会话中两个端点在发送媒体,逆向方向上的控制分组可以与相反方向上的数据共享会话(在多路复用协议的情形中)。不同路由可以适应于不同类型的分组,即数据分组和控制分组,并且因而路径应当被选择以便优化具体方向上的媒体交付。
在本文所描述的方法中,取决于业务量的方向而在双向通信会话中使用多个中继节点。如上文所述,通信系统100的覆盖网络可以是P2P网络。
如上文所述,在图1中仅示出并且在上文的示例中仅描述两个中继节点(118和120)。然而,任何数目的中继节点可以在覆盖网络中是可用的。此外,图1中所示出的每一个路由只包括一个中继节点。在其它示例中,路由可以包括一个或多个中继节点。情况可以是,在基于服务器的通信系统中,存在比完全P2P通信系统(其可以具有例如多于一千万个中继候选者的全局选择池)更少的可用中继节点(例如可以存在从中选择的大概十个到五十个数据中心,或者云中的数千个边缘计算节点)。
针对媒体的方向优化用于承载实时媒体的流会话的拓扑,因为相比用于确认分组的返回路径上的网络特性,媒体方向上的网络特性具有与所感知的用户体验的较高相关性。为了获益于该非对称性,覆盖网络基于媒体的方向而使用用于单个呼叫的多个且不同的中继节点(例如中继服务器),这与总是使用用于两个方向上的媒体的相同中继节点相反。中继节点的选择可以基于单向等待时间测量在不同的选择过程中实行以用于通信会话中的每一个数据行进的方向。这样的优化将导致牵涉到实时媒体会话中的用户的改进的体验。
客户端104与通信系统100之间的通信经由ISP 112发生,并且类似地客户端108与通信系统100之间的通信经由ISP 116发生。通信系统100可以不是基于服务器的通信系统100,使得客户端104和108可以在不经由相应服务器来路由数据的情况下与通信系统100通信。用于做出路由决定的逻辑在客户端104和108中实现。为了实现路由决定,客户端104已经搜集关于不同网络之间的单向延迟测量的足够统计以知晓从中提议中继候选者的网络(考虑到媒体的方向)以用于最优质量。
一般地,本文所描述的任何功能(例如图2中所示的功能步骤)可以使用软件、固件、硬件(例如固定逻辑电路)或这些实现方式的组合在模块在实现。图2中单独示出的步骤可以或者可以不被实现为单独的模块或步骤。如本文所使用的术语“模块”、“功能性”、“组件”和“逻辑”一般表示软件、固件、硬件或其组合。在软件实现方式的情形中,模块、功能性或逻辑表示在处理器(例如一个或多个CPU)上执行时施行指定任务的程序代码。程序代码可以存储在一个或多个计算机可读存储器设备中。本文所描述的技术的特征是独立于平台的,这意味着技术可以在具有各种处理器的各种计算平台上实现。
例如,用户设备还可以包括使用户设备的硬件执行操作的实体(例如软件),例如处理器功能块等。例如,用户设备可以包括计算机可读介质,其可以被配置为维持使用户设备、并且更具体地使用户设备的操作系统和相关联的硬件施行操作的指令。因而,指令用来配置操作系统和相关联的硬件以施行操作并且这样导致操作系统和相关联的硬件的变换以施行功能。指令可以由计算机可读介质通过各种不同配置提供给用户设备。
计算机可读介质的一个这样的配置是信号承载介质并且因而被配置成诸如经由网络将指令(例如作为载波)传送给计算设备。计算机可读介质还可以被配置为计算机可读存储介质并且因而不是信号承载介质。计算机可读存储介质的示例包括随机存取存储器(RAM)、只读存储器(ROM)、光盘、闪速存储器、硬盘存储器、以及可以使用磁性、光学和其它技术来存储指令和其它数据的其它存储器设备。
尽管已经以具体针对结构特征和/或方法动作的语言描述了本主题,但是要理解的是,在随附权利要求中所限定的主题未必限于上文所描述的具体特征或动作。而是,上文所描述的具体特征和动作是作为实现权利要求的示例形式而公开的。

Claims (10)

1. 一种在第一节点与第二节点之间的通过覆盖网络的双向通信会话中路由数据的方法,该方法包括:
确定用于经由覆盖网络的相应多个中继节点在从第一节点到第二节点的第一方向上的通信会话中路由数据的多个单向性能测量;
基于所确定的单向性能测量,选择所述中继节点中的一个或多个以用于在从第一节点到第二节点的第一方向上路由数据;以及
经由一个或多个所选中继节点在通过覆盖网络的从第一节点到第二节点的第一方向上的通信会话中路由数据,
其中所述选择与用于在通信会话中的从第二节点到第一节点的第二方向上路由数据的一个或多个中继节点的选择单独地执行。
2. 权利要求1的方法,还包括:
确定用于经由覆盖网络的相应多个中继节点在从第二节点到第一节点的第二方向上的通信会话中路由数据的多个第二单向性能测量;
基于所确定的多个第二单向性能测量,选择所述中继节点中的一个或多个以用于在从第二节点到第一节点的第二方向上路由数据;以及
经由用于第二方向的一个或多个所选中继节点在通过覆盖网络的从第二节点到第一节点的第二方向上的通信会话中路由数据,
其中用于在第二方向上路由数据的所述中继节点中的一个或多个的所述选择与用于在通信会话中的第一方向上路由数据的所述中继节点中的一个或多个的所述选择单独地执行。
3. 权利要求1或2的方法,其中被选择用于在通信会话中的第一方向上路由数据的一个或多个中继节点与被选择用于在通信会话中的第二方向上路由数据的一个或多个中继节点不同。
4. 前述权利要求中任一项的方法,其中所述性能测量中的每一个包括以下各项中的至少一个:等待时间测量、带宽测量、抖动测量和分组丢失测量。
5. 前述权利要求中任一项的方法,其中所述数据是实时媒体数据,并且其中所述通信会话是实时媒体会话。
6. 权利要求5的方法,其中实时媒体会话是通过网络的用户之间的呼叫。
7. 前述权利要求中任一项的方法,其中该方法在第一节点处实现。
8. 前述权利要求中任一项的方法,其中在除第一节点之外的其它节点处测量多个单向性能测量,并且其中确定多个单向性能测量的步骤包括从所述节点检索单向性能测量。
9. 一种被配置成在节点和第二节点之间的通过覆盖网络的双向通信会话中路由数据的节点,该节点包括:
性能模块,其被配置成确定用于经由覆盖网络的相应多个中继节点在从所述节点到第二节点的第一方向上的通信会话中路由数据的多个单向性能测量;
选择模块,其被配置成基于所确定的单向性能测量来选择所述中继节点中的一个或多个以用于在从所述节点到第二节点的第一方向上路由数据;以及
路由模块,其被配置成经由一个或多个所选中继节点在通过覆盖网络的从所述节点到第二节点的第一方向上的通信会话中路由数据,
其中选择模块被配置成与用于在通信会话中的从第二节点到第一节点的第二方向上路由数据的一个或多个中继节点的选择单独地执行用于在第一方向上路由数据的所述中继节点中的一个或多个的所述选择。
10. 一种被配置成在第一节点和第二节点之间的通过覆盖网络的双向通信会话中路由数据的计算机程序产品,该计算机程序产品体现在计算机可读存储介质上并且被配置成当在处理器上执行时施行以下操作:
确定用于经由覆盖网络的相应多个中继节点在从第一节点到第二节点的第一方向上的通信会话中路由数据的多个单向性能测量;
基于所确定的单向性能测量,选择所述中继节点中的一个或多个以用于在从第一节点到第二节点的第一方向上路由数据;以及
经由一个或多个所选中继节点在通过覆盖网络的从第一节点到第二节点的第一方向上的通信会话中路由数据,
其中所述选择与用于在通信会话中的从第二节点到第一节点的第二方向上路由数据的一个或多个中继节点的选择单独地执行。
CN201380068289.4A 2012-12-26 2013-12-26 用于路由数据的方法和装置 Active CN104969518B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/727392 2012-12-26
US13/727,392 US9686189B2 (en) 2012-12-26 2012-12-26 Routing data in a bi-directional communication session over an overlay network using relay nodes
PCT/US2013/077733 WO2014105917A1 (en) 2012-12-26 2013-12-26 Routing data

Publications (2)

Publication Number Publication Date
CN104969518A true CN104969518A (zh) 2015-10-07
CN104969518B CN104969518B (zh) 2018-04-20

Family

ID=50031516

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380068289.4A Active CN104969518B (zh) 2012-12-26 2013-12-26 用于路由数据的方法和装置

Country Status (7)

Country Link
US (1) US9686189B2 (zh)
EP (1) EP2920929B1 (zh)
JP (1) JP6472756B2 (zh)
CN (1) CN104969518B (zh)
BR (1) BR112015015221B1 (zh)
RU (1) RU2657184C2 (zh)
WO (1) WO2014105917A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106254410A (zh) * 2016-02-05 2016-12-21 物联智慧科技(深圳)有限公司 网络系统及建立数据连接的方法
CN108989220A (zh) * 2018-09-05 2018-12-11 中国联合网络通信集团有限公司 路由方法和路由系统

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11316789B2 (en) * 2020-02-10 2022-04-26 Syntropy Network Limited System and method for selecting data routing paths having reduced latencies in a distributed computer network
US20220200907A1 (en) * 2005-11-14 2022-06-23 Syntropy Network Limited System and method for selecting data routing paths having reduced latencies in a distributed computer network
US9191360B2 (en) * 2013-01-22 2015-11-17 International Business Machines Corporation Address management in an overlay network environment
US10389608B2 (en) * 2013-03-15 2019-08-20 Amazon Technologies, Inc. Network traffic mapping and performance analysis
US9762508B2 (en) * 2014-10-02 2017-09-12 Microsoft Technology Licensing, Llc Relay optimization using software defined networking
WO2016147826A1 (ja) * 2015-03-16 2016-09-22 株式会社リコー 通信制御装置、通信システム、及び通信制御プログラム並びに通信制御方法
US9913283B1 (en) 2015-08-28 2018-03-06 Sprint Spectrum L.P. Assigning a frame configuration in a relay enabled communication network
JP6254620B2 (ja) * 2016-02-02 2017-12-27 エヌ・ティ・ティ・コミュニケーションズ株式会社 端末、通信方法、及びプログラム
JP6904011B2 (ja) * 2017-03-31 2021-07-14 日本電気株式会社 サーバ、端末、制御システム、制御方法及びプログラム
US11489698B2 (en) * 2018-02-01 2022-11-01 Edgewater Networks, Inc. Monitoring data link health using connectionless loops over redundant IP networks
US20190253341A1 (en) 2018-02-15 2019-08-15 128 Technology, Inc. Service Related Routing Method and Apparatus
TWI761733B (zh) * 2019-11-26 2022-04-21 智易科技股份有限公司 網路路徑選擇方法及應用其之網路節點裝置
US11271851B2 (en) 2020-02-10 2022-03-08 Syntropy Network Limited System and method for autonomous selection of routing paths in a computer network
EP4140106A1 (en) 2020-04-23 2023-03-01 Juniper Networks, Inc. Session monitoring using metrics of session establishment
US11621902B2 (en) * 2021-04-24 2023-04-04 Syntropy Network Limited System, method, utility, and governance for distributed data routing over the internet

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000079730A2 (en) * 1999-06-18 2000-12-28 Digital Island, Inc. On-demand overlay routing for computer-based communication networks
WO2002051052A2 (en) * 2000-12-21 2002-06-27 Comgates Ltd. A system and method for routing a media stream
CN1625873A (zh) * 2002-02-20 2005-06-08 三菱电机株式会社 用于将第一终端经由多个网络连接到第二终端的方法与系统
US20080049637A1 (en) * 2006-08-22 2008-02-28 Morrill Robert J System and method for establishing calls over a call path having best path metrics
CN101729365A (zh) * 2008-10-27 2010-06-09 华为技术有限公司 路径建立方法、承载网路由器和网络系统
US20110267952A1 (en) * 2010-04-30 2011-11-03 Brocade Communications Systems, Inc. Dynamic latency-based rerouting
CN202178777U (zh) * 2011-01-08 2012-03-28 珠海清华科技园创业投资有限公司 一种mpls虚拟专用网络路由器组成架构

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI20001578A (fi) * 2000-06-30 2001-12-31 Nokia Networks Oy QoS-arkkitehtuuri
US7586899B1 (en) 2000-08-18 2009-09-08 Juniper Networks, Inc. Methods and apparatus providing an overlay network for voice over internet protocol applications
US7620033B2 (en) 2004-05-21 2009-11-17 Alcatel-Lucent Usa Inc. Method for optimal path selection in traversal of packets through network address translators
CN101167271B (zh) * 2005-04-28 2012-05-30 松下电器产业株式会社 通信中继装置及通信中继方法
US20060291412A1 (en) * 2005-06-24 2006-12-28 Naqvi Shamim A Associated device discovery in IMS networks
US7672235B1 (en) 2006-06-14 2010-03-02 Roxbeam Media Network Corporation System and method for buffering real-time streaming content in a peer-to-peer overlay network
US7843831B2 (en) * 2006-08-22 2010-11-30 Embarq Holdings Company Llc System and method for routing data on a packet network
US7873338B2 (en) * 2006-11-06 2011-01-18 Motorola Mobility, Inc. Method and apparatus for determining an appropriate link path in a multi-hop communication system
US8644162B2 (en) * 2007-07-16 2014-02-04 Echostar Technologies L.L.C. Network performance assessment apparatus, systems, and methods
US7844724B2 (en) * 2007-10-24 2010-11-30 Social Communications Company Automated real-time data stream switching in a shared virtual area communication environment
EP2139178A1 (en) * 2008-06-27 2009-12-30 Alcatel, Lucent Method of determining a routing path
US8619775B2 (en) 2008-07-21 2013-12-31 Ltn Global Communications, Inc. Scalable flow transport and delivery network and associated methods and systems
US8289894B2 (en) * 2008-09-15 2012-10-16 Sharp Laboratories Of America, Inc. Systems and methods for inter relay interference coordination
US8798034B2 (en) * 2009-03-31 2014-08-05 Motorola Solutions, Inc. System and method for selecting a route based on link metrics incorporating channel bandwidth, spatial streams and/or guard interval in a multiple-input multiple-output (MIMO) network
KR101602458B1 (ko) * 2010-10-08 2016-03-28 삼성전자주식회사 패킷 라우팅 장치 및 방법
US8930979B2 (en) 2010-11-11 2015-01-06 Time Warner Cable Enterprises Llc Apparatus and methods for identifying and characterizing latency in a content delivery network

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000079730A2 (en) * 1999-06-18 2000-12-28 Digital Island, Inc. On-demand overlay routing for computer-based communication networks
WO2002051052A2 (en) * 2000-12-21 2002-06-27 Comgates Ltd. A system and method for routing a media stream
CN1625873A (zh) * 2002-02-20 2005-06-08 三菱电机株式会社 用于将第一终端经由多个网络连接到第二终端的方法与系统
US20080049637A1 (en) * 2006-08-22 2008-02-28 Morrill Robert J System and method for establishing calls over a call path having best path metrics
CN101729365A (zh) * 2008-10-27 2010-06-09 华为技术有限公司 路径建立方法、承载网路由器和网络系统
US20110267952A1 (en) * 2010-04-30 2011-11-03 Brocade Communications Systems, Inc. Dynamic latency-based rerouting
CN202178777U (zh) * 2011-01-08 2012-03-28 珠海清华科技园创业投资有限公司 一种mpls虚拟专用网络路由器组成架构

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106254410A (zh) * 2016-02-05 2016-12-21 物联智慧科技(深圳)有限公司 网络系统及建立数据连接的方法
CN108989220A (zh) * 2018-09-05 2018-12-11 中国联合网络通信集团有限公司 路由方法和路由系统
CN108989220B (zh) * 2018-09-05 2021-04-02 中国联合网络通信集团有限公司 路由方法和路由系统

Also Published As

Publication number Publication date
CN104969518B (zh) 2018-04-20
RU2015125312A (ru) 2017-01-10
RU2657184C2 (ru) 2018-06-08
BR112015015221A2 (pt) 2017-07-11
BR112015015221B1 (pt) 2023-01-17
JP2016502372A (ja) 2016-01-21
JP6472756B2 (ja) 2019-02-20
US20140177460A1 (en) 2014-06-26
EP2920929A1 (en) 2015-09-23
US9686189B2 (en) 2017-06-20
EP2920929B1 (en) 2019-05-01
WO2014105917A1 (en) 2014-07-03

Similar Documents

Publication Publication Date Title
CN104969518A (zh) 路由数据
JP6562563B2 (ja) 帯域幅予測を使用するネットワークパス選択
CN102084689B (zh) 选择性先验反应式路由
US8493869B2 (en) Distributed constraints-based inter-domain network traffic management
EP2911348A1 (en) Control device discovery in networks having separate control and forwarding devices
CN102571856B (zh) 一种中转节点的选择方法、设备和系统
US10153964B2 (en) Network routing using dynamic virtual paths in an overlay network
JP2005311863A (ja) トラフィック分散制御方法、制御装置及びネットワークシステム
US11902133B2 (en) Network performance monitoring using an active measurement protocol and relay mechanism
US11689431B2 (en) SLA packet steering in network service function chaining
Akin et al. Comparison of routing algorithms with static and dynamic link cost in SDN
Zinner et al. Using concurrent multipath transmission for transport virtualization: analyzing path selection
CN111901237B (zh) 源路由选路方法及系统、相关设备及计算机可读存储介质
Reed et al. Current trends and controversies in Internet peering and transit: Implications for the future evolution of the Internet
JP2011244312A (ja) ノード装置、最適パス決定方法及びプログラム
Habib et al. Improving application QoS with residential multihoming
Barbera et al. CLAPS: a cross-layer analysis platform for P2P video streaming
Das et al. Network Performance Analysis of Dynamic Routing protocols real time applications
Akin et al. Comparison of routing algorithms with static and dynamic link cost in SDN-extended version
Jelassi et al. Connections analysis of voice traffic over MANETs and their impact on delay variation
Bui et al. Relay node selection in large-scale VoIP overlay networks
Yang A Taxonomy of Communication Networks
Mohamed et al. Software defined network traffic routing optimization: A systematic literature
Gutiérrez et al. Using BGP-4 to Migrate to a Future Internet

Legal Events

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