BR112015015221B1 - Método para rotear dados em uma sessão de comunicação bidirecional através de uma rede sobreposta entre um primeiro nó e um segundo nó - Google Patents

Método para rotear dados em uma sessão de comunicação bidirecional através de uma rede sobreposta entre um primeiro nó e um segundo nó Download PDF

Info

Publication number
BR112015015221B1
BR112015015221B1 BR112015015221-0A BR112015015221A BR112015015221B1 BR 112015015221 B1 BR112015015221 B1 BR 112015015221B1 BR 112015015221 A BR112015015221 A BR 112015015221A BR 112015015221 B1 BR112015015221 B1 BR 112015015221B1
Authority
BR
Brazil
Prior art keywords
node
data
client
routing
communication session
Prior art date
Application number
BR112015015221-0A
Other languages
English (en)
Other versions
BR112015015221A2 (pt
Inventor
Silver Keskkula
Tony Bates
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 BR112015015221A2 publication Critical patent/BR112015015221A2/pt
Publication of BR112015015221B1 publication Critical patent/BR112015015221B1/pt

Links

Images

Classifications

    • 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
    • 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/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
    • 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
    • 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

ROTEAR DADOS. A invenção diz respeito a rotear dados em uma sessão de comunicação bidirecional através de uma rede sobreposta. Medições de desempenho unidirecional são determinadas para rotear dados na sessão de comunicação em uma primeira direção a partir de um primeiro nó para um segundo nó via uma pluralidade dos respectivos nós de retransmissão da rede sobreposta. Baseado nas medições de desempenho, nó(s) de retransmissão é(são) selecionado(s) para uso ao rotear dados na primeira direção a partir do primeiro nó para o segundo nó. Dados são roteados na sessão de comunicação a partir do primeiro nó para o segundo nó através da rede sobreposta via o(s) nó(s) de retransmissão selecionado (s). A seleção do(s) nó(s) de retransmissão para uso ao rotear dados na primeira direção é executada separadamente para a seleção de um ou mais nós de retransmissão para uso ao rotear dados em uma segunda direção a partir do segundo nó para o primeiro nó na sessão de comunicação.

Description

ANTECEDENTES
[001] Os sistemas de comunicação permitem aos usuários se comunicarem uns com outros através de uma rede. Por exemplo, um usuário pode utilizar um terminal do usuário (tal como um telefone celular, tablet, laptop ou PC, etc.) para executar um cliente (ou "aplicativo cliente") para acessar o sistema de comunicação. O cliente é proporcionado (por exemplo, transferido) para o terminal do usuário por um provedor do sistema de comunicação, e o cliente compreende software para execução no terminal do usuário para permitir acesso ao sistema de comunicação.
[002] Os nós de um sistema de comunicação podem formar uma rede sobreposta. Os nós podem, por exemplo, ser clientes, servidores ou nós de retransmissão. Uma rede sobreposta é uma rede de computadores que é constituída na parte de cima de outra rede. Os nós na rede sobreposta podem ser pensados como sendo conectados por ligações virtuais ou lógicas, cada uma das quais corresponde a um trajeto, através de uma ou mais ligações físicas, na rede sobreposta. A rede subjacente pode, por exemplo, ser a Internet.
[003] Quando os usuários utilizam o sistema de comunicação pa ra entrar em sessões de comunicação bidirecional através da rede sobreposta, os dados podem ser roteados para trás e para frente entre os clientes dos usuários via um nó de retransmissão na rede sobreposta. Os nós de retransmissão são utilizados devido a nem todos os nós dentro de um sistema de comunicação poder estar aptos a se comunicar diretamente uns com os outros, por exemplo, devido ao seus parâmetros de firewall ou de Tradução de Endereço de Rede (NAT). Eles podem utilizar um nó de retransmissão que pode possuir menos restrições de modo a intermediar a comunicação. Deste modo, os nós de retransmissão são utilizados para tornar a comunicação viável entre os nós que podem não estar aptos a se comunicar diretamente uns com os outros. O nó de retransmissão pode ser escolhido para minimizar o tempo de viagem de ida e volta (RTT) na sessão de comunicação bidirecional através da rede sobreposta entre os clientes dos usuários.
SUMÁRIO
[004] Este Sumário é proporcionado para introduzir uma seleção de conceitos de uma forma simplificada, os quais são adicionalmente descritos abaixo na Descrição Detalhada. Este Sumário não é pretendido para identificar aspectos chave ou aspectos essenciais do assunto reivindicado, nem é pretendido para ser utilizado para limitar o escopo do assunto reivindicado.
[005] É proporcionado um método pelo qual os nós de retrans missão são escolhidos separadamente para rotear dados em direções diferentes em uma sessão de comunicação bidirecional através de uma rede sobreposta entre um primeiro nó e um segundo nó. Uma pluralidade de medições de desempenho unidirecional é determinada para rotear os dados na sessão de comunicação em uma primeira direção a partir do primeiro nó para o segundo nó via uma respectiva pluralidade de nós de retransmissão da rede sobreposta. Baseado nas medições determinadas do desempenho unidirecional, um ou mais dos nós de retransmissão são selecionados para uso em roteamento de dados na primeira direção a partir do primeiro nó para o segundo nó. Os dados são roteados na sessão de comunicação na primeira direção a partir do primeiro nó para o segundo nó através da rede sobreposta via o um ou mais nós de retransmissão selecionados. A seleção do um ou mais nós de retransmissão para uso em roteamento de os dados na primeira direção é executada separadamente da uma seleção de um ou mais nós de retransmissão para uso em roteamento de dados em uma segunda direção a partir do segundo nó para o primeiro nó na sessão de comunicação.
[006] Um método correspondente, porém separado, pode ser aplicado para selecionar um ou mais nós de retransmissão para rotear dados na segunda direção na sessão de comunicação. Ou seja, uma segunda pluralidade de medições de desempenho unidirecional podem ser determinadas para rotear dados na sessão de comunicação na segunda direção a partir do segundo nó para o primeiro nó via uma pluralidade dos respectivos nós de retransmissão da rede sobreposta. Baseado na segunda pluralidade de medições de desempenho unidi- recional determinada, um ou mais dos ditos nós de retransmissão são selecionados para uso em roteamento de dados na segunda direção a partir do segundo nó para o primeiro nó. Os dados são roteados na sessão e comunicação na segunda direção a partir do segundo nó para o primeiro nó através da rede sobreposta via o um ou mais nós de retransmissão selecionados para a segunda direção. A seleção do um ou mais nós de retransmissão para uso em roteamento de dados na segunda direção é executada separadamente da seleção do um ou mais nós de retransmissão para uso em roteamento de dados na primeira direção na sessão de comunicação.
BREVE DESCRIÇÃO DOS DESENHOS
[007] Para um melhor entendimento das concretizações descritas e para apresentar como as mesmas podem ser colocadas em efeito, agora será feita referência, a título de exemplo, aos seguintes desenhos, nos quais:
[008] a Figura 1 apresenta uma ilustração esquemática de um sistema de comunicação; e
[009] a Figura 2 é um fluxograma para um processo para rotear dados em uma sessão de comunicação bidirecional através de uma rede sobreposta.
DESCRIÇÃO DETALHADA
[0010] A Figura 1 apresenta nós de uma rede sobreposta de um sistema de comunicação 100. A rede sobreposta pode, por exemplo, ser uma rede ponto a ponto (P2P). Um primeiro usuário 102 ("Usuário A") utiliza um cliente 104 para acessar o sistema de comunicação 100. O cliente 104 compreende software que quando executado em um terminal do usuário (tal como um telefone celular, tablet, laptop ou PC, etc.) executa as funções necessárias para permitir ao usuário 102 se conectar com o sistema de comunicação 100. De forma similar, um segundo usuário 106 ("Usuário B") utiliza um cliente 108 para acessar o sistema de comunicação 100. O cliente 108 compreende software que quando executado em um terminal do usuário (tal como um telefone celular, tablet, laptop ou PC, etc.) executa as funções necessárias para permitir ao cliente 106 se conectar com o sistema de comunicação 100. Os clientes 104 e 108 são proporcionados (por exemplo, transferidos) para os terminais de usuário dos respectivos usuários 102 e 106 por um provedor do sistema de comunicação 100.
[0011] O cliente 104 é disposto para se comunicar via um primeiro Provedor de Serviço Internet (ISP) 112. O terminal do usuário no qual o cliente 104 é executado inclui pelo menos um processador para executar o cliente 104, uma memória para armazenar dados, e uma interface de rede para conexão com a Internet, de modo que o cliente 104 possa se comunicar via o ISP 112. No sistema e comunicação 100 apresentado na Figura 1, todos os dados se relacionando com o sistema de comunicação 100 que são para ser enviados para e a partir do cliente 104 são roteados via o ISP 112. De forma similar, o cliente 108 é disposto para se comunicar via um segundo Provedor de Serviço Internet (ISP) 116. O terminal do usuário no qual o cliente 108 é executado inclui pelo menos um processador para executar o cliente 108, uma memória para armazenar dados, e uma interface de rede para conexão com a Internet, de modo que o cliente 108 possa se comunicar via o ISP 116. No sistema de comunicação apresentado na Figura 1, todos os dados se relacionando com o sistema de comunicação 100 que são para ser enviados para e a partir do cliente 108 são roteados via o ISP 116. O sistema de comunicação 100 pode ou não ser um sistema de comunicação baseado em servidor.
[0012] A rede sobreposta do sistema de comunicação 100 inclui um primeiro nó de retransmissão 118 e um segundo nó de retransmissão 120. Os dados podem ser roteados através da rede sobreposta entre o cliente 104 e o ISP 112 e o cliente 108 do ISP 116 via o nó de retransmissão 118 ou o nó de retransmissão 120. Os nós de retransmissão 118 e 120 podem estar situados em qualquer rede (por exemplo, em outro ISP) e podem existir uma pluralidade de redes entre quaisquer das redes. É observador que a Internet é uma rede de redes que podem estar aptas se comunicarem umas com as outras. A rede sobreposta do sistema de comunicação 100 pode incluir muito mais nós diferentes destes apresentados na Figura 1. Em particular, a rede sobreposta do sistema de comunicação 100 pode incluir mais do que dois nós de retransmissão via os quais os dados podem ser roteados entre o cliente 104 e o cliente 108, mas somente para clareza, os dois nós de retransmissão 118 e 120 são apresentados na Figura 1 descritos neste documento. Os nós de retransmissão 118 e 120 podem ser servidores de retransmissão ou nós de retransmissão P2P (por exemplo, ouros terminais de usuário na rede).
[0013] Em operação, os dois usuários 102 e 106 entram em uma sessão de comunicação bidirecional um com o outro através do sistema de comunicação 100. Os dados são transmitidos a partir do cliente 104 para o cliente 108 via: (i) o ISP 112, (ii) um ou mais nós de re- transmissão 118 e 120, e (iii) o ISP 116. De forma similar, os dados são transmitidos a partir do cliente 108 para o cliente 104 via: (i) o ISP 116, (ii) um dos nós de retransmissão 118 e 129, e (iii) o ISP 112.
[0014] A sessão de comunicação pode ser uma sessão de mídia em tempo real, onde os dados transmitidos na sessão de comunicação são dados de mídia em tempo real. Por exemplo, a sessão de comunicação pode ser uma chamada entre os usuários 102 e 106.
[0015] A Figura 1 ilustra como pacotes de dados se movimentando a partir do cliente 104 para o cliente 108 podem seguir um dentre dois caminhos possíveis, via o nó de retransmissão 118 ou via o nó de re-transmissão 120. A escolha da troca de tráfego para passar o controle dos pacotes de dados a partir do ISP1 112 normalmente depende do acordos de troca de tráfego disponíveis no ISP1 112 e o roteamento real frequentemente é baseado no endereço destino e mais frequentemente segue alguma política predeterminada de roteamento (rotea- mento batata quente, roteamento batata fria, etc.). Pode ser uma seleção maior de candidatos para retransmissão disponíveis na rede sobreposta, apesar de somente dois nós de retransmissão 118 e 120 serem apresentados na Figura 1 por clareza. É possível influenciar a troca de tráfego utilizada por selecionar um nó de retransmissão (endereço destino) em uma rede particular da rede sobreposta (por exemplo, Internet) e, por consequência, controlar qual ponto de saída os pacotes adotam a partir do ISP1 112 ou de quaisquer outras redes da rede subjacente (por exemplo, Internet) ao longo do caminho.
[0016] A determinação quanto ao roteamento dos dados a partir do cliente 104 para o cliente 108 pode ser executada pelo cliente 104. A lógica em nível de aplicativo no cliente 104 toma a decisão em relação ao roteamento na rede sobreposta. A rota é decidida no aplicativo cliente 104 pela seleção de um nó de retransmissão (o qual através de seu endereço influência o caminho que os pacotes adotam através do sistema 100). Um nó de retransmissão é escolhido com um endereço IP específico, e então, o ISP 112 pode rotear os dados para fora de sua rede através de um ponto de troca de tráfego diferente do no caso do resto dos endereços. Isto pode ser devido ao ISP 112 possuir um acordo de troca de tráfego direto com a rede específica e, por consequência, possuir um caminho preferencial oposto a enviar o mesmo para o dispositivo de interconexão de redes preestabelecido para onde todo o tráfego e dirige (o qual é mais provável de estar congestionado). De forma similar, a determinação quanto ao roteamento de dados a partir do cliente 108 para o cliente 104 pode ser executada pelo cliente 108 de uma maneira correspondente à descrita acima em relação ao roteamento decidido pelo cliente 104.
[0017] É observado que a rota adotada na rede subjacente (por exemplo, Internet) entre quaisquer dos nos da rede apresentada na Figura 1 pode ser assimétrica. Ou seja, o caminho adotado pelos pacotes de dados através da rede sobreposta em uma direção entre dois nós pode não ser o mesmo que o caminho adotado pelos pacotes de dados através da rede subjacente na outra direção entre estes mesmos dois nós. Por exemplo, pacotes de dados roteados a partir do ISP 112 para o ISP 116 via o nó de retransmissão 118 não necessariamente percorrem o mesmo conjunto de redes na rede subjacente (por exemplo, Internet) como os pacotes roteados a partir do ISP 116 para o ISP 112 via o mesmo nó de retransmissão 118. Por exemplo, pacotes de dados roteados a partir do ISP 112 para o ISP 116 via o nó de retransmissão 118 podem passar através das redes Z, U e X da Internet, ao passo que pacotes de dados roteados a partir do ISP 116 para o ISP 112 via o nó de retransmissão 118 podem ao invés disso passar através das redes Z, Y e X da Internet. Isto, e a assimetria geral no trafego da Internet (o que gera o congestionamento assimétrico na rede), pode resultar em diferentes latências para pacotes de dados percorrendo a partir do Cliente 104 para o Cliente 108 comparado com latências para pacotes de dados percorrendo na direção oposta.
[0018] Um nó de retransmissão pode ser escolhido baseado no RTT (tempo da viagem de ida e volta) médio ou esperado dos pacotes de dados percorrendo entre os nós na rede sobreposta. Por exemplo, como apresentado na Figura 1, o tempo médio levado para dados percorrer do cliente 104 até o cliente 108 via o nós de retransmissão 118 é 98 ms e o tempo médio levado para dados percorrerem a partir do cliente 108 até o cliente 104 via o nós de retransmissão 118 é 54 ms, de modo que nos exemplos apresentados na Figura 1, percorrer o caminho superior resultaria em um RTT médio de 152 ms (98 + 54). Adicionalmente, no exemplo apresentado na Figura 1, o tempo médio levado para dados percorrerem a partir do cliente 104 até o cliente 108 via o nó de retransmissão 120 é 81 ms e o tempo médio levado para dados percorrerem a partir do cliente 108 até o cliente 104 via o nó de retransmissão 120 é 64 ms, de modo que o exemplo apresentado na Figura 1 percorrendo o caminho inferior resultaria em um RTT médio de 145 ms (81 + 64). Isto sugeriria que o caminho inferior possui la- tência inferior, devido ao mesmo possuir RTT inferior, e assim, resultaria em uma melhor experiência de uso do que o caminho superior. Neste caso, quando escolhendo o nó de retransmissão 120 de modo que o caminho inferior poderia ser utilizado, o cliente 108 veria pacotes de dados chegando a partir do cliente 104 com latências de 81 ms, enquanto o cliente 104 veria pacotes de dados chegando a partir do cliente 108 com latências de 64 ms. Os tempos médios específicos apresentados na Figura 1 são somente a título de exemplo. Os tempos dados no exemplo descrito acima são temos médios, de modo que para cada pacote de dados o tempo real pode ser diferente dos tempos médios devido, por exemplo, à instabilidade.
[0019] Entretanto, como um melhoramento para o método descrito acima que é baseado no RTT de pacotes de dados, de acordo com métodos descritos neste documento, um nó de retransmissão selecionado para uso em roteamento de dados em uma primeira direção em uma sessão de comunicação pode ser diferente do nó de retransmissão selecionado para uso em roteamento de dados em uma segunda direção (oposta à primeira direção) na sessão de comunicação. Ou seja, quando um nó de retransmissão é selecionado para rotear dados, a direção na qual os dados irão percorrer é considerada.
[0020] Quando a direção da mídia é considerada e o roteamento de dados em diferentes direções é considerado separadamente, no exemplo apresentado na Figura 1, os dados percorrendo a partir do ISP 116 para o ISP 112 experimentariam uma menor latência se movendo através do caminho superior (isto é, via o nós de retransmissão 118) ao invés do caminho inferior (isto é, via o nós de retransmissão 120). Por consequência, ao invés de utilizar uma única retransmissão para retransmitir mídia em ambas as direções, vários nós de retransmissão são considerados para cada direção separadamente e uma combinação de nós de retransmissão é escolhida, a qual distribui a melhor qualidade (por exemplo, menor latência) para ambos os pontos finais dependendo da direção de transferência de mídia. Deste modo, a experiência para o ISP 116 (e, portanto, para o cliente 108) permaneceria a mesma como no exemplo dado acima (ou seja, roteamento de 81 ms via o nó de retransmissão 120 no caminho inferior), mas o ISP 112 (e, portanto, o cliente 104) veria uma menor latência, em uma latência média de 54 ms (ao invés de 64 ms) em seu fluxo de mídia recebido roteado via o nó de retransmissão 118 no caminho superior.
[0021] Por simplicidade, o exemplo descrito acima utiliza somente latência como um prognosticador / medida do desempenho /qualidade distribuída para o usuário, mas a medição de desempenho pode ser qualquer métrica adequada, tal como medição de largura de banda, uma medição de instabilidade, uma medição de perda de pacote ou uma combinação de várias métricas. Por exemplo, uma média de uma coleção de medidas pode ser utilizada. As medições de desempenho podem ser uma medição em tempo real de um valor atual (isto é, uma medição ativa na seleção), ou uma medição de desempenho a partir do passado que foi armazenada no nó de roteamento. Por exemplo, um modelo de qualidade de rede não linear poderia ser utilizado para proporcionar a medição de desempenho, onde o modelo de qualidade de rede não linear combina largura de banda, instabilidade, perda de pacote e atraso unidirecional. Desse modo, a medição de desempenho fornece uma indicação da qualidade percebida pelo usuário final dos dados fluindo em somente uma direção em um caminho particular. Por utilizar várias retransmissões (isto é, diferentes nós de retransmissão para diferentes direções) para uma chamada um para um e otimizar a escolha de nó de retransmissão dependendo da direção da mídia, a experiência do usuário final pode ser melhorada.
[0022] A Figura 2 apresenta um fluxograma para um processo pa ra determinar roteamento de dados em uma sessão de comunicação bidirecional através da rede sobreposta do sistema de comunicação 100. O método pode ser executado no cliente 104 para rotear dados para o cliente 108 via o nó de retransmissão 118 ou o nó de retransmissão 120 em uma chamada entre os usuários 102 e 106 através do sistema de comunicação 100.
[0023] O cliente 104 pretende enviar dados para o cliente 108, por exemplo, como parte de uma chamada entre os usuários 102 e 106. Na etapa S202, o cliente 104 determina uma medição de desempenho unidirecional para rotear dados a partir do cliente 104 para o cliente 108 via o nó de retransmissão 118 e o cliente 104 determina uma medição de desempenho unidirecional para rotear dados a partir do cliente 104 para o cliente 108 via o nó de retransmissão 120. Co mo descrito acima, as medições de desempenho podem ser, por exemplo, medições de latência, de largura de banda, de instabilidade, de perda de pacote ou uma combinação de tais medições. Uma medição de desempenho unidirecional é determinada para cada nó de retransmissão.
[0024] Em outras concretizações, um aplicativo diferente do cliente 104 pode determinar as medições de desempenho unidirecional para rotear dados a partir do cliente 104 para o cliente 108. Por exemplo, as medições de desempenho unidirecional poderiam ser executadas por um aplicativo diferente residindo na rede antes da etapa S202, e neste caso, a etapa S202 compreende recuperar as medições de desempenho unidirecional já determinadas a partir do nó que determinou as mesmas. Nas concretizações nas quais o cliente 104 executa a medição ativa das medições de desempenho unidirecional, as medições são mais atualizadas e úteis. Entretanto, em essência, as conexões entre as redes não se alteram muito frequentemente e é suficiente que o cliente 104 recupere as estimativas médias de conectividade (por exemplo, em termos de latências unidirecionais entre as redes) e estes dados podem ser agrupados por outros dispositivos antes de decisões de roteamento serem realmente tomadas. Em um exemplo, o cliente 104 pode recuperar as medições de desempenho unidirecio- nal a partir de uma tabela que captura as retransmissões agregadas e decide que os dois pontos finais devem ser retransmitidos através da rede X oposto à rede Y devido a existir evidência de que a retransmissão é menor quando se comunicando através da rede X comparado com quando se comunicando através da rede Y.
[0025] Por exemplo, onde as medições de desempenho são medi ções de latência, então, uma marca de tempo pode ser incluída nos dados antes de rotear os dados a partir do cliente 104 para o cliente 108. A marca de tempo pode ser incluída nos dados pelo cliente 104. O cliente 108 pode medir um tempo no qual ele recebe os dados. Baseado neste tempo medido e na marca de tempo incluída nos dados, o tempo levado para rotear dados a partir do cliente 104 para o cliente 108 pode ser determinado. Isto pode ser determinado pelo cliente 108 e então enviado de volta para o cliente 104 ou a medição do tempo no qual o cliente 108 recebe os dados pode ser enviada de volta para o cliente 104 de modo que o cliente 104 pode executar a determinação do tempo levado para enviar os dados a partir do cliente 104 para o cliente 108. O tempo levado para enviar os dados a partir do cliente 104 para o cliente 108 é determinado para cada rota (isto é, via o nó de retransmissão 118 e via o nó de retransmissão 120 no exemplo apresentado na Figura 1). De modo que este método funcione de forma eficaz, os pontos finais da comunicação de dados devem ser sincronizados no tempo um com o outro (isto é, eles devem ter os mesmos relógios sincronizados). Em outros exemplo, cada rota pode incluir mais do que um nó de retransmissão. As medições de latência unidirecional podem ser implementadas de outros modos diferentes do exemplo descrito acima.
[0026] Na etapa S204, o cliente 104 seleciona um dos nós de re transmissão (118 ou 120) baseado nas medições de desempenho de-terminadas. A seleção é executada para proporcionar a melhor experiência do usuário, por exemplo, a seleção pode ser executada para minimizar a latência da transferência de dados.
[0027] Na etapa S206, os dados são roteados a partir do Cliente 104 para o cliente 108 via o ISP 112 e o ISP 116 e via o nó de retransmissão selecionado indicado, ou seja, via o nó de retransmissão 118 ou o nó de retransmissão 120.
[0028] O nó de retransmissão é selecionado na etapa S204 para proporcionar o melhor desempenho baseado nas medições de desempenho determinadas na etapa S202. Por exemplo, quando as medições de desempenho são medições de latência, o nó de retransmissão selecionado pode corresponder à menor latência. No exemplo, apresentado na Figura 1, a etapa S204 irá selecionar o nó de retransmissão 120 para rotear dados a partir do cliente 104 para o cliente 108 baseado na menor latência para esta rota (81 ms comparado com 98 ms para rotear os dados via o nó de retransmissão 119).
[0029] Um método correspondente a este descrito acima em rela ção à Figura 2 também pode ser implementado no cliente 108 para rotear dados a partir do cliente 108 para o cliente 104 na sessão de comunicação.
[0030] O cliente 108 pretende enviar dados para o cliente 104, por exemplo, como parte de uma chamada entre os usuários 102 e 106.
[0031] Em uma etapa correspondendo à etapa S202, o cliente 108 determina uma medição de desempenho unidirecional para rotear dados a partir do cliente 108 para o cliente 104 via o nó de retransmissão 118 e o nó de roteamento 114 determina uma medição desempenho unidirecional para rotear dados a partir do cliente 108 para o cliente 104 via o nó de retransmissão 118 e o nó de roteamento 114 determina uma medição de desempenho unidirecional para rotear dados a partir do cliente 108 para o cliente 104 via o nó de retransmissão 120. Como descrito acima, as medições de desempenho podem ser, por exemplo, medições de latência, de largura de banda, de instabilidade, de perda de pacote ou uma combinação de tais medições. Uma medição de desempenho unidirecional é determinada para cada nó de re-transmissão.
[0032] Por exemplo, onde as medições de desempenho são medi ções de latência então, uma marca de tempo pode ser incluída nos dados antes de rotear os dados a partir do cliente 108 para o cliente 104. A marca de tempo pode ser incluída nos dados pelo cliente 108. O cliente 104 pode medir um tempo no qual ele recebe os dados. Ba- seado neste tempo medido e na marca de tempo incluída nos dados, o tempo levado para enviar os dados a partir do cliente 108 para o cliente 104 pode ser determinado. Isto pode ser determinado pelo cliente 104 e então enviado de volta para o cliente 108 ou a medição do tempo na qual o cliente 104 recebe os dados pode ser enviada de volta para o cliente 108 de modo que o cliente 108 pode executar a determinação do tempo levado para rotear os dados a partir do cliente 108 para o cliente 104. O tempo levado para enviar os dados a partir do cliente 108 para o cliente 104 é determinado para cada rota (isto é, via o nó de retransmissão 118 e via o nó de retransmissão 120 no exemplo apresentado na Figura 1). De modo que este método funcione de forma eficaz, os pontos finais da comunicação de dados devem ser sincronizados no tempo um com o outro (isto é, eles devem possuir os mesmos relógios sincronizados). As medições de latência unidirecio- nal podem ser implementadas de outros modos diferentes do exemplo descrito acima.
[0033] Em uma etapa correspondendo à etapa S204, o cliente 108 seleciona um dos nós de retransmissão (118 ou 120) baseado nas medições de desempenho determinadas para rotear dados a partir do cliente 108 para o cliente 104. A seleção é executada para proporcionar a melhor experiência do usuário, por exemplo, a seleção pode ser executada para minimizar a latência da transferência de dados.
[0034] Em uma etapa correspondendo à etapa S206, os dados são roteados a partir do cliente 108 para o cliente 104 via o ISP 116 e o ISP 112 e via o nó de retransmissão selecionado indicado, ou seja, via o nó de retransmissão 118 ou o nó de retransmissão 120.
[0035] Nos exemplos dados acima, um nó de retransmissão é se lecionado na etapa S204. Em outros exemplos, mais do que um (por exemplo, dez) nós de retransmissão poderiam ser selecionados, por exemplo, a partir de um conjunto de aproximadamente mil nós de re- transmissão possíveis. Os pacotes de dados então podem ser roteados em paralelo via os nós de retransmissão selecionados.
[0036] O nó de retransmissão é selecionado para proporcionar o melhor desempenho baseado nas medições de desempenho determinadas. Por exemplo, quando as medições de desempenho são medições de latência, o nó de retransmissão selecionado pode corresponder à menor latência. No exemplo, apresentado na Figura 1, o nó de retransmissão 119 será selecionado para rotear dados a partir do cliente 108 para o cliente 104 baseado na menor latência para esta rota (54 ms comparados com 64 ms para rotear dados via o nó de retransmissão 120).
[0037] Mais do que uma medição de desempenho pode ser consi derada na etapa de selecionar um nó de retransmissão para rotear os dados. Por exemplo, a latência e a perda de pacote podem ser medidas para cada rota e utilizadas para selecionar uma rota para rotear os dados.
[0038] Portanto, pode ser visto que o método para selecionar o nó de retransmissão para rotear dados a partir do cliente 104 para o cliente 108 é executado separadamente do método para selecionar o nó de retransmissão para rotear dados a partir do cliente 108 para o cliente 104. Ou seja, a seleção de um nó de retransmissão para rotear dados em uma direção é executada independentemente da rota dos dados transmitidos na outra direção na sessão de comunicação. Em outras palavras, a rota dos dados na sessão de comunicação bidirecional é otimizada para cada direção independentemente. Em um fluxo de mídia em tempo real, pacotes de dados são enviados em uma direção e somente pacotes de controle são enviados na direção inversa. Os pacotes de controle podem, por exemplo, indicar quantos pacotes de dados foram recebidos com sucesso, etc. Em uma sessão de mídia em tempo real bidirecional, o mesmo canal (sessão) de transporte estabe- lecido poderia ser utilizado para trocar mídia em ambas as direções, mas com uma única sessão entre pontos finais onde ambos os pontos finais estão enviando mídia, os pacotes de controle na direção inversa podem compartilhar a sessão com dados na direção oposta (no caso de um protocolo multiplexado). Diferentes rotas podem ser adequadas para diferentes tipos de pacotes, isto é, pacotes de dados e pacotes de controle, e assim, o caminho deve ser escolhido de modo a otimizar a distribuição de mídia em uma direção específica.
[0039] Nos métodos descritos neste documento, vários nós de re transmissão são utilizados em uma sessão de comunicação bidirecional dependendo da direção de tráfego. Como descrito acima, a rede sobreposta do sistema de comunicação 100 pode ser uma rede P2P.
[0040] Como descrito acima, somente dois nós de retransmissão (118 e 120) são apresentados na Figura 1 e descritos nos exemplos acima. Entretanto, qualquer número de nós de retransmissão pode estar disponível na rede sobreposta. Adicionalmente, cada uma das rotas apresentadas na Figura 1 inclui apenas um nó de retransmissão. Em outros exemplo, uma rota pode incluir um ou mais nós de retransmissão. Pode ser o caso no qual em um sistema baseado em servidor existam menos nós de retransmissão disponíveis (por exemplo, podem existir aproximadamente dez até quinze centros de dados a partir dos quais escolher, ou milhares de nós de computador de borda na nuvem) do que em um sistema de comunicação P2P de maneira completa (o qual pode possuir, por exemplo, um conjunto global de seleção de mais do que dez milhões de candidatos para retransmissão).
[0041] A topologia para sessões de fluxo transportando mídia em tempo real é otimizada para a direção da mídia desde que as características da rede na direção da mídia possuem uma correlação mais forte com a experiência percebida do usuário do que as características de rede no caminho de retorno utilizado para pacotes de reconheci- mento. De modo a se beneficiar desta assimetria, a rede sobreposta utiliza vários e diferentes nós de retransmissão (por exemplo, servidores de retransmissão) para uma única chamada baseada na direção da mídia, oposto a sempre utilizar o mesmo nó de retransmissão para mídia em ambas as direções. A seleção dos nós de retransmissão pode ser realizada baseada nas medições de latência unidirecional em processos distintos de seleção para cada direção de percurso de dados na sessão de comunicação. Tal otimização irá resultar em experiência melhorada para os usuários envolvidos em uma sessão de mídia em tempo real.
[0042] A comunicação entre o cliente 104 e o sistema de comuni cação 100 ocorre via o ISP 112, e de forma similar, a comunicação entre o cliente 108 e o sistema de comunicação 100 ocorre via o ISP 116. O sistema de comunicação 100 pode não ser um sistema de comunicação baseado em servidor 100 de modo que os clientes 104 e 108 podem se comunicar com o sistema de comunicação 100 sem rotear dados via os respectivos servidores. A lógica para tomar decisões de ro- teamento é implementada nos clientes 104 e 108. De modo a implementar a decisão de roteamento, o cliente 104 coletou estatísticas suficientes a cerca de medições de atraso unidirecional entre diferentes rede para saber a partir de qual rede propor candidatos para retransmissão (considerando a direção da mídia) para qualidade ótima.
[0043] Geralmente, qualquer uma das funções descritas neste do cumento (por exemplo, as etapas funcionais apresentadas na Figura 2) pode ser implementada em módulos utilizando software, firmware, hardware (por exemplo, sistema de circuitos com lógica fixa) ou uma combinação destas implementações. As etapas apresentadas separadamente na Figura 2 podem ou não ser implementadas como módulos ou etapas separadas. Os termos "módulo", "funcionalidade", "componente" e "lógica" como utilizados neste documento geralmente representam software, firmware, hardware, ou uma combinação dos mesmos. No caso de uma implementação por software, o módulo, funcionalidade, ou lógica representa código de programa que executa tarefas especificadas quando executado em um processador (por exemplo, CPU ou CPUs). O código de programa pode ser armazenado em um ou mais dispositivos de memória legíveis por computador. Os aspectos das técnicas descritas neste documento são independentes da plataforma, significando que as técnicas podem ser implementadas em várias plataformas de computação possuindo vários processadores.
[0044] Por exemplo, os dispositivos de usuário também podem incluir uma entidade (por exemplo, software) que causa que o hardware dos dispositivos de usuário execute operações, por exemplo, blocos funcionais processadores, e assim por diante. Por exemplo, os dispositivos de usuário podem incluir um meio legível por computador que pode ser configurado para manter instruções que causam que os dispositivos de usuário, e mais particularmente, o sistema operacional e o hardware associado dos dispositivos de usuário, executem operações. Assim, as instruções funcionam para configurar o sistema operacional e o hardware associado para executar as operações e deste modo resultar na transformação do sistema operacional e do hardware associado para executar funções. As instruções podem ser proporcionadas pelo meio legível por computador para os dispositivos de usuário através de várias diferentes configurações.
[0045] Uma configuração de um meio legível por computador é meio transportando sinal e assim, é configurado para transmitir instruções (por exemplo, como uma onda portadora) para o dispositivo de computação, tal como via uma rede. O meio legível por computador também pode ser configurado como um meio de armazenamento legível por computador e assim, não é um meio de transporte de sinal. Exemplos de um meio de armazenamento legível por computador in- cluem uma memória de acesso aleatório (RAM), memória somente para leitura (ROM), um disco ótico, memória flash, memória em disco rígido, e outros dispositivos de memória que podem utilizar técnicas magnéticas, óticas e outras técnicas para armazenar instruções e outros dados.
[0046] Apesar de o assunto ter sido descrito em linguagem específi ca para aspectos estruturais e/ou atos metodológicos, é para ser entendido que o assunto definido nas concretizações anexas não está necessariamente limitado aos aspectos ou atos específicos descritos acima. Ao invés disso, os aspectos ou atos específicos descritos acima são revelados como formas ilustrativas para implementar as concretizações.

Claims (6)

1. Método para rotear dados em uma sessão de comunicação bidirecional através de uma rede sobreposta entre um primeiro nó (104) e um segundo nó (108), a rede sobreposta construída em cima de uma rede subjacente, o método compreendendo: determinar uma primeira pluralidade de medições de desempenho unidirecional para rotear dados na sessão de comunicação em uma primeira direção do primeiro nó (104) para o segundo nó (108) por meio de uma respectiva pluralidade de nós de retransmissão (118, 120) da rede sobreposta; com base na primeira pluralidade de medições de desempenho unidirecional determinada, selecionar um ou mais dos nós de retransmissão (118, 120) para uso em roteamento de dados na primeira direção do primeiro nó (104) para o segundo nó (108); rotear dados na sessão de comunicação na primeira direção do primeiro nó (104) para o segundo nó (108) sobre a rede sobreposta por meio de um ou mais nós de retransmissão (118, 120) selecionados para a primeira direção; caracterizado pelo fato de: determinar uma segunda pluralidade de medições de desempenho unidirecional para rotear dados na sessão de comunicação em uma segunda direção do segundo nó (108) para o primeiro nó (104) através de uma respectiva pluralidade de nós de retransmissão (118, 120) da rede sobreposta; com base na segunda pluralidade de medições de desempenho unidirecional determinada, selecionar um ou mais dos nós de retransmissão (118, 120) para uso em roteamento de dados na segunda direção do segundo nó (108) para o primeiro nó (104); e rotear dados na sessão de comunicação na segunda direção do segundo nó (108) para o primeiro nó (104) sobre a rede sobreposta por meio de um ou mais nós de retransmissão (118, 120) selecionados para a segunda direção, em que a seleção de um ou mais nós de retransmissão (118, 120) da rede sobreposta para uso em roteamento de dados na primeira direção é realizada separadamente à seleção de um ou mais nós de retransmissão (118, 120) da rede sobreposta para uso em roteamento de dados na segunda direção e independentemente dos um ou mais nós de retransmissão (118, 120) selecionados para uso em roteamento de dados na segunda direção na sessão de comunicação; e em que os um ou mais nós de retransmissão (118, 120) selecionados para uso em roteamento de dados na primeira direção na sessão de comunicação são diferentes dos um ou mais nós de retransmissão (118, 120) selecionados para uso em roteamento de dados na segunda direção na sessão de comunicação.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que cada uma das medições de desempenho compreende pelo menos uma dentre: uma medição de latência, uma medição de largura de banda, uma medição de instabilidade e uma medição de perda de pacote.
3. Método, de acordo com a reivindicação 1 ou 2, caracterizado pelo fato de que os dados são dados de mídia em tempo real, e em que a sessão de comunicação é uma sessão de mídia em tempo real.
4. Método, de acordo com a reivindicação 3, caracterizado pelo fato de que a sessão de mídia em tempo real é uma chamada entre usuários através da rede.
5. Método, de acordo com qualquer uma das reivindicações de 1 a 4, caracterizado pelo fato de que as etapas de determinação, seleção e roteamento do método para a primeira direção são implementadas no primeiro nó (104), e as etapas de determinação, seleção e roteamento do método para a segunda direção são implementadas no segundo nó (108).
6. Método, de acordo com qualquer uma das reivindicações de 1 a 5, caracterizado pelo fato de que a primeira pluralidade de medições de desempenho unidirecional é medida em um nó diferente do primeiro nó (104), e em que a etapa de determinar a pluralidade de medições de desempenho unidirecional para a primeira direção compreende recuperar as medições de desempenho unidirecional a partir do nó.
BR112015015221-0A 2012-12-26 2013-12-26 Método para rotear dados em uma sessão de comunicação bidirecional através de uma rede sobreposta entre um primeiro nó e um segundo nó BR112015015221B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
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
US13/727,392 2012-12-26
PCT/US2013/077733 WO2014105917A1 (en) 2012-12-26 2013-12-26 Routing data

Publications (2)

Publication Number Publication Date
BR112015015221A2 BR112015015221A2 (pt) 2017-07-11
BR112015015221B1 true BR112015015221B1 (pt) 2023-01-17

Family

ID=50031516

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112015015221-0A BR112015015221B1 (pt) 2012-12-26 2013-12-26 Método para rotear dados em uma sessão de comunicação bidirecional através de uma rede sobreposta entre um primeiro nó e um segundo nó

Country Status (7)

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

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12034641B2 (en) * 2005-11-14 2024-07-09 Syntropy Network Limited System and method for selecting data routing paths having reduced latencies in a distributed computer network
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
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 エヌ・ティ・ティ・コミュニケーションズ株式会社 端末、通信方法、及びプログラム
TWI599201B (zh) * 2016-02-05 2017-09-11 物聯智慧科技(深圳)有限公司 網路系統及建立資料連線的方法
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
CN108989220B (zh) * 2018-09-05 2021-04-02 中国联合网络通信集团有限公司 路由方法和路由***
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
WO2021217070A1 (en) 2020-04-23 2021-10-28 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

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275470B1 (en) * 1999-06-18 2001-08-14 Digital Island, Inc. On-demand overlay routing for computer-based communication networks
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
US20030141093A1 (en) 2000-12-21 2003-07-31 Jacob Tirosh System and method for routing a media stream
US7099277B2 (en) 2002-02-20 2006-08-29 Mitsubishi Electric Research Laboratories, Inc. Dynamic optimal path selection in multiple communications networks
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
EP1865627A1 (en) * 2005-04-28 2007-12-12 Matsushita Electric Industrial Co., Ltd. Communication relay apparatus and communication relay method
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
US8619600B2 (en) 2006-08-22 2013-12-31 Centurylink Intellectual Property Llc System and method for establishing calls over a call path having best path metrics
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
CN101729365B (zh) 2008-10-27 2012-06-27 华为技术有限公司 路径建立方法、承载网路由器和网络***
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
US8427958B2 (en) * 2010-04-30 2013-04-23 Brocade Communications Systems, Inc. Dynamic latency-based rerouting
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
CN202178777U (zh) 2011-01-08 2012-03-28 珠海清华科技园创业投资有限公司 一种mpls虚拟专用网络路由器组成架构

Also Published As

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

Similar Documents

Publication Publication Date Title
BR112015015221B1 (pt) Método para rotear dados em uma sessão de comunicação bidirecional através de uma rede sobreposta entre um primeiro nó e um segundo nó
US11212140B2 (en) Network-link method useful for a last-mile connectivity in an edge-gateway multipath system
US10644977B2 (en) Scalable distributed end-to-end performance delay measurement for segment routing policies
CN106209490B (zh) 选择和监控多个服务关键性能指标的方法和***
EP2774332B1 (en) Service assurance using network measurement triggers
CN111630817B (zh) 一种路由方法及设备
BR112013032366B1 (pt) Aparelho de arquitetura expandida de gerenciamento e controle de serviço de nuvem para interface com um estrato de rede
US10153964B2 (en) Network routing using dynamic virtual paths in an overlay network
CN111555982B (zh) 一种基于IPv6扩展头的报文智能选路的方法和***
Vdovin et al. Network utilization optimizer for SD-WAN
Zinner et al. Using concurrent multipath transmission for transport virtualization: analyzing path selection
Gilliard et al. Explicit congestion notification-based congestion control algorithm for high-performing data centers
O'Halloran Dynamic adaptation of OSPF interface metrics based on network load
Ramadža et al. Network performance monitoring within MPLS traffic engineering enabled networks
Galinski et al. Network controller extension for unsplittable data flows in the SDN environment
Geleji et al. QoS routing across multiple autonomous systems using the path computation element architecture
Shah Performance Evaluation of MPLS in a Virtualized Service Provider Core (with/without Class of Service)
Daba Quality of Service Comparison of Seamless Multi-Protocol Level Switching and Multi-Protocol Level Switching Networks
Mousheng et al. Controllable network architecture based on SDN
Rus et al. Implementation of QoS-Aware virtual routers
Zaw et al. Large Flow Detection and Delay Measuring for Multipath Routing over SDN
Quiroz Martiña Research on path establishment methods performance in SDN-based networks
Gayer Concepts and mechanisms for consistent route transitions in software-defined networks
Mohamed et al. Software defined network traffic routing optimization: A systematic literature
Mon et al. Bandwidth Allocation Scheme using Segment Routing on Software-Defined Network

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: AS CLASSIFICACOES ANTERIORES ERAM: H04L 12/735 , H04L 12/725 , H04L 12/721 , H04L 12/729 , H04L 12/727 , H04L 12/715 , H04L 12/26

Ipc: H04L 12/735 (2013.01), H04L 12/725 (2013.01), H04L

B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 26/12/2013, OBSERVADAS AS CONDICOES LEGAIS