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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 28
- 230000007175 bidirectional communication Effects 0.000 title 1
- 238000004891 communication Methods 0.000 claims abstract description 75
- 238000005259 measurement Methods 0.000 claims abstract description 63
- 239000002609 medium Substances 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 101150045440 ISP1 gene Proteins 0.000 description 3
- 101100353471 Mus musculus Prss28 gene Proteins 0.000 description 3
- 101100509103 Schizosaccharomyces pombe (strain 972 / ATCC 24843) ish1 gene Proteins 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 235000002595 Solanum tuberosum Nutrition 0.000 description 2
- 244000061456 Solanum tuberosum Species 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 239000006163 transport media Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
- H04L43/0835—One way packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
- H04L43/0841—Round trip packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/0858—One way delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/087—Jitter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
- H04L43/106—Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/121—Shortest path evaluation by minimising delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/125—Shortest path evaluation based on throughput or bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/128—Shortest path evaluation for finding disjoint paths
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
- H04L45/3065—Route determination based on the nature of the carried application for real time traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/70—Routing based on monitoring results
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-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
[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.
[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.
[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.
[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ó.
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)
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)
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虚拟专用网络路由器组成架构 |
-
2012
- 2012-12-26 US US13/727,392 patent/US9686189B2/en active Active
-
2013
- 2013-12-26 EP EP13826823.0A patent/EP2920929B1/en active Active
- 2013-12-26 WO PCT/US2013/077733 patent/WO2014105917A1/en active Application Filing
- 2013-12-26 RU RU2015125312A patent/RU2657184C2/ru active
- 2013-12-26 CN CN201380068289.4A patent/CN104969518B/zh active Active
- 2013-12-26 JP JP2015550756A patent/JP6472756B2/ja active Active
- 2013-12-26 BR BR112015015221-0A patent/BR112015015221B1/pt active IP Right Grant
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 |