BR112021015465A2 - Dispositivos e método para controlar as configurações de roteamento de rede - Google Patents

Dispositivos e método para controlar as configurações de roteamento de rede Download PDF

Info

Publication number
BR112021015465A2
BR112021015465A2 BR112021015465-5A BR112021015465A BR112021015465A2 BR 112021015465 A2 BR112021015465 A2 BR 112021015465A2 BR 112021015465 A BR112021015465 A BR 112021015465A BR 112021015465 A2 BR112021015465 A2 BR 112021015465A2
Authority
BR
Brazil
Prior art keywords
cluster
routing
routing configuration
clusters
allocated
Prior art date
Application number
BR112021015465-5A
Other languages
English (en)
Inventor
Stefano PARIS
Jeremie Leguay
Wei Chen
Qian Cao
Davide SANVITO
Antonio Capone
Ilario FILIPPINI
Original Assignee
Huawei Technologies Co., Ltd.
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 Huawei Technologies Co., Ltd. filed Critical Huawei Technologies Co., Ltd.
Publication of BR112021015465A2 publication Critical patent/BR112021015465A2/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/46Cluster building
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering

Landscapes

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

Abstract

dispositivos e método para controlar as configurações de roteamento de rede. são propostos dispositivos e métodos para controlar as configurações de roteamento de rede. o dispositivo é configurado para obter uma matriz de tráfego predita e uma pluralidade de matrizes de tráfego e para determinar, a partir de uma pluralidade de agrupamentos, dispostos em uma estrutura hierárquica sobre a matriz de tráfego predita e a pluralidade de matrizes de tráfego, um primeiro agrupamento alocado a um nível de hierarquia inferior que contém a matriz de tráfego predita. cada um dos agrupamentos está associado a uma configuração de roteamento e a pluralidade de agrupamentos é alocada a pelo menos dois níveis de hierarquia diferentes. o dispositivo seleciona, a partir da pluralidade de agrupamentos, um segundo agrupamento alocado a um nível de hierarquia superior que inclui pelo menos o primeiro agrupamento e um terceiro agrupamento alocados ao nível de hierarquia inferior que contém uma matriz de tráfego atual, determina uma segunda configuração de roteamento associada com o segundo agrupamento; e ativa a segunda configuração de roteamento como uma configuração de roteamento de rede.

Description

DISPOSITIVOS E MÉTODO PARA CONTROLAR AS CONFIGURAÇÕES DE ROTEAMENTO DE REDE CAMPO TÉCNICO
[0001] A presente divulgação se refere ao campo da Engenharia de Tráfego (TE) em uma rede, por exemplo, em uma Rede Definida por Software (SDN). A divulgação está particularmente preocupada com o roteamento do tráfego pela rede. Para este fim, a divulgação se refere a um dispositivo para controlar as configurações de roteamento de rede e um método correspondente. O controle das configurações de roteamento de rede é baseado em matrizes de tráfego, as quais são agrupadas em agrupamentos de diferentes níveis de hierarquia.
ANTECEDENTES
[0002] O TE desempenha um papel fundamental no gerenciamento de rede, pois permite otimizar a utilização dos recursos de rede. Hoje em dia, por exemplo, controladores SDN ou Elementos de Computação de Caminho (PCE) integram métodos de TE, a fim de otimizar continuamente a rede. No entanto, alterações repentinas e imprevisíveis de rede, por exemplo, variações de tráfego e / ou falhas de rede, ainda representam um grande desafio para os métodos de TE convencionais. Os métodos de TE convencionais, os quais foram concebidos para lidar com as alterações de rede, podem ser amplamente classificados em três classes: TE Dinâmico, TE Estático e TE Semiestático.
[0003] O TE dinâmico reconfigura a rede cada vez que um novo evento, como uma alteração de tráfego ou falha de enlace, ocorre na rede. Um sistema de monitoramento é normalmente usado por métodos de TE Dinâmico, a fim de coletar informações durante um período de tempo relativamente curto e para predizer a evolução futura do sistema de rede. Por exemplo, um certo número de matrizes de tráfego anteriores é usado para predizer a próxima matriz de tráfego. Essa predição é então usada como uma entrada dos métodos de TE Dinâmico para reconfigurar a rede. Métodos sofisticados, como programação linear, podem ser usados para computar a melhor configuração de rede sempre que o tráfego muda. No entanto, reconfigurar a rede com muita frequência pode afetar sua estabilidade, uma vez que a programação de equipamentos de hardware leva tempo. Assim, reconfigurações de rede muito frequentes podem resultar em pior desempenho. Por esta razão, métodos de TE que reduzem o número de reconfigurações de rede também foram propostos, por exemplo, métodos que reconfiguram apenas a rede, se o benefício da reconfiguração, conforme capturado por uma função objetiva, for maior do que o benefício de continuar usando a configuração de rede atual. No entanto, a eficácia dos métodos de TE Dinâmico depende da precisão do método de predição que é usado para estimar a evolução do sistema. Na verdade, erros de predição podem levar a grandes desvios no desempenho de rede quando otimizados por métodos de TE Dinâmicos.
[0004] FIG. 9 mostra um exemplo de uma arquitetura geral de um controlador SDN, em que as informações coletadas por um sistema de monitoramento são usadas por um mecanismo de TE Dinâmico, a fim de predizer o próximo estado do sistema de rede e, consequentemente, computar / atualizar uma configuração de roteamento de rede.
[0005] Em contraste com o TE Dinâmico descrito acima, o
TE Estável computa uma única configuração, a qual fornece perda de desempenho limitada, em caso de erros de predição ou eventos imprevisíveis, com relação à configuração ideal. Uma das primeiras técnicas de TE Estável é o roteamento inconsciente, o qual seleciona aleatoriamente os caminhos (rotas) para conectar uma origem e um destino usando um pequeno subconjunto de nós pré-selecionados sem usar qualquer conhecimento do tráfego. As técnicas de roteamento que são totalmente inconscientes a qualquer informação de tráfego e alterações no sistema podem fornecer a maior robustez contra qualquer evolução de sistema. No entanto, a perda de desempenho pode aumentar rapidamente à medida que o tamanho de rede aumenta. Por este motivo, um conhecimento parcial do tráfego também pode ser integrado na computação da configuração de rede para melhorar o roteamento inconsciente.
[0006] Alguns métodos de TE Estável computam uma configuração de rede com garantias de desempenho para qualquer matriz de tráfego (TM) que pertença a um domínio / conjunto limitado obtido usando as informações coletadas pelo sistema de monitoramento. Outros métodos introduzem diferentes modelos para incerteza de tráfego, por exemplo, expressando a carga máxima que pode ser esperada em um enlace (modelo canalizado (“pipe”)) ou um limite superior no tráfego que emana de um nó de origem e direcionado a um nó de destino (modelo de mangueira (“hose”)). Com base nesses modelos, uma configuração de rede com garantias de desempenho é computada. No entanto, esses modelos de incerteza incluem menos informações do que a abordagem de múltiplas TM, proporcionando assim maiores perdas de desempenho. Para melhorar ainda mais a otimização da solução, alguns métodos consideram apenas as TMs mais prováveis para construir o conjunto limitado e computar a configuração ideal. Um termo de penalidade é adicionado na otimização para TMs menos prováveis. Embora tal método forneça uma boa solução quando o tráfego varia suavemente, ele não pode garantir uma configuração viável contra eventos inesperados ou improváveis, uma vez que eles são excluídos da computação.
[0007] Finalmente, os métodos de TE Semiestático fornecem um conjunto limitado de configurações de roteamento. Isso permite, por um lado, não reconfigurar a rede com tanta frequência como no TE Dinâmico. Por outro lado, também limita a robustez de cada configuração de roteamento única, reduzindo assim a perda de desempenho. Algumas abordagens dividem o polítopo de TM em alguns subconjuntos de acordo com algumas dimensões e computam um roteamento robusto para cada subconjunto. Embora representem uma tentativa inicial de dividir o domínio da TM em múltiplas partes, essas abordagens apresentam várias limitações: as direções de divisão são arbitrárias; o número de subconjuntos criados é limitado; e a partição é realizada no domínio do tráfego ou no domínio do tempo. Portanto, elas podem alcançar apenas uma melhoria de desempenho limitada em comparação com todo o conjunto de possibilidades de divisão do espaço TM. Abordagens mais sofisticadas, como roteamento afim e multipolar, foram propostas mais recentemente para superar essas limitações. Em particular, essas técnicas computam um conjunto de configurações de roteamento que podem ser facilmente combinadas para gerar uma configuração de roteamento para uma nova realização de tráfego. No entanto,
a combinação de múltiplas configurações pode resultar na utilização de um grande número de caminhos e uma taxa de divisão de fluxo que pode não ser lidada por dispositivos de rede.
[0008] Entre todo o conjunto de métodos de TE Semiestático, apenas alguns deles consideram como anomalias ou predições erradas do espaço de TM impactam na escolha das melhores opções de divisão. Dentro desse conjunto de métodos, a maioria deles apenas fornece uma análise de robustez da técnica de agrupamento original, sem projetar explicitamente um método para gerenciar predições imprecisas. Em outra abordagem, a fim de gerenciar anomalias, o polítopo de TM de operação normal é expandido na direção da anomalia para incluí-la. Uma nova configuração de roteamento robusta é computada para o novo polítopo e usada sempre que ocorre a anomalia. As limitações desta técnica são a necessidade de predizer qualquer possível anomalia para ampliar adequadamente o polítopo de TM e a ausência de qualquer garantia de frequência de reconfiguração, conforme a alteração da configuração é acionada por anomalias.
[0009] Existem várias maneiras pelas quais as atualizações de roteamento são tradicionalmente implementadas. A abordagem mais direta é o “quebrar antes de fazer”, a qual consiste em interromper a comunicação entre a origem e o destino, aguardar que todos os pacotes na rota cheguem ao seu destino, remover as entradas relevantes das tabelas de roteamento dos roteadores ao longo da rota atual, estabelecer a nova rota instruindo os roteadores ao longo da nova rota para terem uma entrada para a conexão e, por fim, retomar a comunicação.
[0010] No entanto, além de muito tempo necessário para concluir a atualização, isso resulta na interrupção da conexão por um período de tempo significativo e possivelmente na perda de pacotes que já estão percorrendo a rota original. A abordagem oposta, “fazer antes de quebrar”, a qual ativa o novo caminho antes de desativar o antigo, pode aliviar o problema de descarte de pacotes, mas ainda pode levar a um processo de transição lento. Mais recentemente, técnicas de atualização baseadas na sincronização do relógio dos dispositivos foram propostas, a fim de manter a consistência de toda a rede com precisão de microssegundos. No entanto, essas técnicas requerem sincronização de tempo rigorosa, o que pode ser um overhead inadmissível.
SUMÁRIO
[0011] Tendo em vista os métodos de TE mencionados acima e suas desvantagens, as modalidades da presente invenção visam fornecer uma abordagem melhorada de TE. Em particular, a invenção visa um controle melhorado das configurações de roteamento de rede ao longo do tempo. Um objetivo é permitir uma atualização / alteração mais suave das configurações de roteamento de rede, particularmente no caso de alterações repentinas e imprevisíveis de rede. A abordagem da invenção deve ser utilizável em conjunto com métodos de TE Dinâmico, TE Estático ou TE Semiestático. A atualização / alteração das configurações de roteamento de rede deve incluir a atualização suave de rotas (caminhos) de uma configuração de roteamento para as rotas de outra configuração de roteamento.
[0012] O objetivo é alcançado pelas modalidades da invenção, conforme descrito nas reivindicações independentes anexas. Implementações vantajosas das modalidades da invenção são definidas adicionalmente nas reivindicações dependentes.
[0013] Alterar todas as rotas de uma configuração de roteamento de rede para todas as rotas de outra configuração de roteamento de rede instantaneamente, por exemplo, no caso de uma alteração repentina e imprevisível de rede, é muito difícil, pois isso exigiria uma sincronização perfeita entre os equipamentos de rede. FIG. 10 mostra um cenário, no qual três configurações de roteamento de rede TE Estável (R1, R2 e R3, cada uma associada a um agrupamento C1, C2 e C3 de matrizes de tráfego) são aplicadas sucessivamente em todos os equipamentos de rede (por exemplo, comutadores). O principal problema em tal cenário é que uma alteração abrupta de configuração de roteamento de rede (por exemplo, de R1 para R2, ou R2 para R3) pode levar a perdas de pacotes, e as abordagens "fazer antes de quebrar" podem não ser sempre aplicáveis sem interbloqueios (ou seja, sem perdas de pacotes).
[0014] Assim, as modalidades da invenção baseiam-se na proposta de construir uma hierarquia de agrupamentos de matrizes de tráfego, cada qual associado a uma configuração de roteamento. Ou seja, efetivamente uma hierarquia de configurações de roteamento é construída. Isso habilita a pré-busca de uma configuração de roteamento pai (nível de hierarquia superior) e, em seguida, removê-la na transição entre duas configurações de roteamento filho (nível de hierarquia inferior), a fim de atualizar suavemente a rede de uma configuração de roteamento filho para a outra. Desse modo, pesos de balanceamento de carga também podem ser usados, a fim de mover progressivamente o tráfego no conjunto de rotas em evolução das respectivas configurações de roteamento.
[0015] Um primeiro aspecto da invenção fornece um dispositivo para controlar as configurações de roteamento de rede em uma rede, o dispositivo sendo configurado para: obter uma matriz de tráfego predita e uma pluralidade de matrizes de tráfego; determinar, a partir de uma pluralidade de agrupamentos, os agrupamentos sendo dispostos em uma estrutura hierárquica sobre a matriz de tráfego predita e a pluralidade de matrizes de tráfego, um primeiro agrupamento alocado a um nível de hierarquia inferior que contém a matriz de tráfego predita, em que cada um da pluralidade de agrupamentos está associado a uma configuração de roteamento, e a pluralidade de agrupamentos é alocada a pelo menos dois níveis de hierarquia diferentes, um agrupamento alocado a um nível de hierarquia superior incluindo múltiplos agrupamentos adjacentes alocados ao nível de hierarquia abaixo; selecionar, a partir da pluralidade de agrupamentos, um segundo agrupamento alocado a um nível de hierarquia superior que inclui pelo menos o primeiro agrupamento e um terceiro agrupamento alocado ao nível de hierarquia inferior que contém uma matriz de tráfego atual; determinar uma segunda configuração de roteamento associada ao segundo agrupamento; e ativar a segunda configuração de roteamento como uma configuração de roteamento de rede.
[0016] Notavelmente, um agrupamento é / inclui um conjunto de TMs. A pluralidade de matrizes de tráfego pode ser, ou pode ser baseada em, observações anteriores, cenários de tráfego sintéticos e / ou predições anteriores (isto é, matrizes de tráfego preditas anteriores). Uma configuração de roteamento é então atribuída a cada agrupamento, não a cada TM individual incluída no agrupamento. A configuração de roteamento é válida para todas as TMs contidas no agrupamento. Agrupar TMs é, em princípio, conhecido (veja acima). Uma configuração de roteamento de rede é uma configuração de roteamento válida atualmente para a rede. O primeiro agrupamento é particularmente o agrupamento de nível de hierarquia mais baixo que contém a TM predita (os agrupamentos pai, incluindo esse agrupamento, também contêm a TM predita), e o terceiro agrupamento é particularmente o agrupamento de nível de hierarquia mais baixo que contém a matriz de tráfego atual.
[0017] Ao definir a configuração de roteamento do segundo agrupamento como uma configuração de roteamento de rede, em que o segundo agrupamento é de um nível de hierarquia mais alto e, portanto, contém as rotas das configurações de roteamento associadas a cada um do terceiro agrupamento (contendo a matriz de tráfego atual) e do primeiro agrupamento (contendo a matriz de tráfego predita, ou seja, as rotas atualmente ativas), uma transição suave entre as configurações de roteamento é obtida. Além disso, uma transição suave pode ser obtida para definir a configuração de roteamento associada ao primeiro agrupamento como a configuração de roteamento de rede. Uma transição suave é particularmente possível no caso de alterações repentinas e / ou imprevisíveis na rede. O dispositivo do primeiro aspecto é compatível com TE Dinâmico, TE Estático ou TE Semiestático.
[0018] Em uma forma de implementação do primeiro aspecto, o dispositivo é ainda configurado para, para ativar a segunda configuração de roteamento: enviar um comando indicando a segunda configuração de roteamento para uma pluralidade de ou todos os comutadores na rede.
[0019] Assim, a segunda configuração de roteamento pode ser implementada em todos os comutadores como uma configuração de roteamento de rede.
[0020] Em uma forma de implementação do primeiro aspecto, o dispositivo é ainda configurado para, para ativar a segunda configuração de roteamento: determinar um peso para cada caminho de roteamento de uma pluralidade de caminhos de roteamento contidos na segunda configuração de roteamento; e ativar os caminhos de roteamento da segunda configuração de roteamento.
[0021] Dessa forma, o balanceamento de carga pode ser desacoplado do roteamento. Diferentes escalas de tempo de balanceamento de carga e alterações de configurações de roteamento podem ser implementadas.
[0022] Em uma forma de implementação do primeiro aspecto, o dispositivo é ainda configurado para, para ativar a segunda configuração de roteamento: enviar um comando indicando os pesos determinados da pluralidade de caminhos de roteamento da segunda configuração de roteamento para uma pluralidade de ou todos os comutadores na rede.
[0023] Assim, o balanceamento de carga pode ser implementado em todos os comutadores.
[0024] Em uma forma de implementação do primeiro aspecto, o dispositivo é ainda configurado para: desativar uma configuração de roteamento como uma configuração de roteamento de rede, em particular desativando cada caminho de roteamento de uma pluralidade de caminhos de roteamento contidos na configuração de roteamento, se a configuração de roteamento for associada a um agrupamento que não contém a matriz de tráfego predita.
[0025] Em uma forma de implementação do primeiro aspecto, o dispositivo é ainda configurado para: determinar uma primeira configuração de roteamento associada ao primeiro agrupamento; e ativar a primeira configuração de roteamento como uma configuração de roteamento de rede.
[0026] Assim, uma transição de uma terceira configuração de roteamento associada ao terceiro agrupamento para a primeira configuração de roteamento associada ao primeiro agrupamento, por meio da segunda configuração de roteamento associada ao segundo agrupamento de nível de hierarquia superior, pode ser implementada suavemente.
[0027] Em uma forma de implementação do primeiro aspecto, o dispositivo é ainda configurado para: selecionar, como o segundo agrupamento, um agrupamento alocado a um nível de hierarquia superior que é determinado com base em um desvio da matriz de tráfego predita da matriz de tráfego atual.
[0028] Em uma forma de implementação do primeiro aspecto, o dispositivo é ainda configurado para: determinar um nível de hierarquia superior mais para cima no caso de um desvio maior e um nível de hierarquia superior mais para baixo no caso de um desvio menor.
[0029] Assim, alterações repentinas e / ou imprevisíveis da matriz de tráfego, por exemplo, indicando alguma anomalia ou falha na rede, podem ser tratadas de forma eficaz.
[0030] Em uma forma de implementação do primeiro aspecto, o dispositivo é ainda configurado para: mesclar pelo menos dois agrupamentos adjacentes no mesmo nível de hierarquia para gerar um novo agrupamento em um nível de hierarquia mais acima.
[0031] Assim, o dispositivo é capaz de criar novos agrupamentos e níveis de hierarquia de agrupamentos.
[0032] Em uma forma de implementação do primeiro aspecto, o dispositivo é ainda configurado para, para mesclar os pelo menos dois agrupamentos adjacentes: mesclar as matrizes de tráfego contidas em cada um dos pelo menos dois agrupamentos adjacentes em um conjunto de matrizes de tráfego; calcular um poliedro convexo aproximando-se do casco convexo do conjunto; e manter apenas os pontos extremos do poliedro convexo.
[0033] Em uma forma de implementação do primeiro aspecto, o dispositivo é ainda configurado para: gerar uma nova configuração de roteamento associada ao novo agrupamento com base nas configurações de roteamento associadas respectivamente a cada um dos pelo menos dois agrupamentos adjacentes.
[0034] Em uma forma de implementação do primeiro aspecto, o dispositivo é ainda configurado para: gerar a pluralidade de agrupamentos alocados aos pelo menos dois níveis de hierarquia.
[0035] Um segundo aspecto da invenção fornece um método para controlar as configurações de roteamento de rede em uma rede, o método compreendendo: obter uma matriz de tráfego predita; determinar, a partir de uma pluralidade de agrupamentos, um primeiro agrupamento que é alocado a um nível de hierarquia inferior que contém a matriz de tráfego predita, em que cada um da pluralidade de agrupamentos contém uma pluralidade de matrizes de tráfego, cada um da pluralidade de agrupamentos está associado a uma configuração de roteamento, e a pluralidade de agrupamentos é alocada a pelo menos dois níveis de hierarquia diferentes, um agrupamento alocado a um nível de hierarquia superior incluindo múltiplos agrupamentos adjacentes alocados ao nível de hierarquia abaixo; selecionar, a partir da pluralidade de agrupamentos, um segundo agrupamento alocado a um nível de hierarquia superior que inclui pelo menos o primeiro agrupamento e um terceiro agrupamento alocado ao nível de hierarquia inferior que contém uma matriz de tráfego atual; determinar uma segunda configuração de roteamento associada ao segundo agrupamento; e ativar a segunda configuração de roteamento como uma configuração de roteamento de rede.
[0036] Em uma forma de implementação do segundo aspecto, o método compreende ainda, para ativar a segunda configuração de roteamento: enviar um comando indicando a segunda configuração de roteamento para uma pluralidade de ou todos os comutadores na rede.
[0037] Em uma forma de implementação do segundo aspecto, o método compreende ainda, para ativar a segunda configuração de roteamento: determinar um peso para cada caminho de roteamento de uma pluralidade de caminhos de roteamento contidos na segunda configuração de roteamento; e ativar os caminhos de roteamento da segunda configuração de roteamento.
[0038] Em uma forma de implementação do segundo aspecto, o método compreende ainda, para ativar a segunda configuração de roteamento: enviar um comando indicando os pesos determinados da pluralidade de caminhos de roteamento da segunda configuração de roteamento para uma pluralidade de ou todos os comutadores na rede.
[0039] Em uma forma de implementação do segundo aspecto, o método compreende ainda: desativar uma configuração de roteamento como uma configuração de roteamento de rede, em particular, desativando cada caminho de roteamento de uma pluralidade de caminhos de roteamento contidos na configuração de roteamento, se a configuração de roteamento estiver associada com um agrupamento que não contém a matriz de tráfego predita.
[0040] Em uma forma de implementação do segundo aspecto, o método compreende ainda: determinar uma primeira configuração de roteamento associada ao primeiro agrupamento; e ativar a primeira configuração de roteamento como uma configuração de roteamento de rede.
[0041] Em uma forma de implementação do segundo aspecto, o método compreende ainda: selecionar, como o segundo agrupamento, um agrupamento alocado a um nível de hierarquia superior que é determinado com base em um desvio da matriz de tráfego predita da matriz de tráfego atual.
[0042] Em uma forma de implementação do segundo aspecto, o método compreende ainda: determinar um nível de hierarquia superior mais acima no caso de um desvio maior e um nível de hierarquia superior mais abaixo no caso de um desvio menor.
[0043] Em uma forma de implementação do segundo aspecto, o método compreende ainda: mesclar pelo menos dois agrupamentos adjacentes no mesmo nível de hierarquia para gerar um novo agrupamento em um nível de hierarquia mais acima.
[0044] Em uma forma de implementação do segundo aspecto, o método compreende ainda, para mesclar os pelo menos dois agrupamentos adjacentes: mesclar as matrizes de tráfego contidas em cada um dos pelo menos dois agrupamentos adjacentes em um conjunto de matrizes de tráfego; calcular um poliedro convexo aproximando o casco convexo do conjunto; e manter apenas os pontos extremos do poliedro convexo.
[0045] Em uma forma de implementação do segundo aspecto, o método compreende ainda: gerar uma nova configuração de roteamento associada ao novo agrupamento com base nas configurações de roteamento associadas respectivamente a cada um dos pelo menos dois agrupamentos adjacentes.
[0046] Em uma forma de implementação do segundo aspecto, o método compreende ainda: gerar a pluralidade de agrupamentos alocada aos pelo menos dois níveis de hierarquia.
[0047] O método do segundo aspecto e suas formas de implementação alcançam as mesmas vantagens e efeitos do que o dispositivo do primeiro aspecto e suas respectivas formas de implementação.
[0048] Deve-se notar que todos os dispositivos, elementos, unidades e meios descritos no presente pedido podem ser implementados nos elementos de software ou hardware ou qualquer tipo de combinação dos mesmos. Todas as etapas que são realizadas pelas várias entidades descritas no presente pedido, bem como as funcionalidades descritas a serem realizadas pelas várias entidades, pretendem significar que a respectiva entidade está adaptada ou configurada para realizar as respectivas etapas e funcionalidades. Mesmo se, na seguinte descrição de modalidades específicas, uma funcionalidade ou etapa específica a ser realizada por entidades externas não for refletida na descrição de um elemento detalhado específico dessa entidade a qual realiza essa etapa ou funcionalidade específica, deve ficar claro para uma pessoa versada na técnica que esses métodos e funcionalidades podem ser implementados nos respectivos elementos de software ou hardware, ou qualquer tipo de combinação dos mesmos.
BREVE DESCRIÇÃO DOS DESENHOS
[0049] Os aspectos descritos acima e as formas de implementação da presente invenção serão explicados na seguinte descrição de modalidades específicas em relação aos desenhos anexos, nos quais: FIG. 1 mostra um dispositivo de acordo com uma modalidade da invenção.
[0050] FIG. 2 mostra um procedimento de exemplo realizado por um dispositivo de acordo com uma modalidade da invenção.
[0051] FIG.3 mostra um dispositivo de acordo com a presente invenção implementado em uma arquitetura de um controlador SDN.
[0052] FIG. 4 mostra um procedimento realizado por um dispositivo de acordo com uma modalidade da invenção.
[0053] FIG. 5 mostra um procedimento realizado por um dispositivo de acordo com uma modalidade da invenção.
[0054] FIG. 6 mostra um procedimento realizado por um dispositivo de acordo com uma modalidade da invenção.
[0055] FIG. 7 mostra em (a) um dispositivo de acordo com uma modalidade da invenção implementada em uma arquitetura de um controlador SDN, o qual fornece sinais C1 e C2 para comutadores, e mostra em (b) uma tabela de encaminhamento em um comutador após pré-busca do sinal C1.
[0056] FIG. 8 mostra um método de acordo com uma modalidade da invenção.
[0057] FIG. 9 mostra um exemplo de três agrupamentos de matrizes de tráfego e três configurações de roteamento associadas.
[0058] FIG. 10 mostra um exemplo de arquitetura de um controlador SDN configurado para TE Dinâmico.
DESCRIÇÃO DETALHADA DAS MODALIDADES
[0059] FIG. 1 mostra um dispositivo de acordo com uma modalidade da invenção. O dispositivo 100 é, em particular, configurado para controlar as configurações de roteamento de rede em / de uma rede.
[0060] O dispositivo 100 é para este fim configurado para obter uma matriz de tráfego predita 101a e uma pluralidade de matrizes de tráfego 101, por exemplo, matrizes de tráfego de histórico. O dispositivo 100 pode predizer a própria matriz de tráfego predita 101a, por exemplo, com base na informação histórica sobre o tráfego, ou pode receber a matriz de tráfego predita 101a de outro dispositivo ou unidade, por exemplo, um controlador ou um dispositivo de predição de matriz de tráfego dedicado.
[0061] O dispositivo 100 é ainda configurado para determinar um primeiro agrupamento 102a e um segundo agrupamento 102b de uma pluralidade de agrupamentos 102. Os agrupamentos 102 da pluralidade de agrupamentos 102 são dispostos em uma estrutura hierárquica sobre a matriz de tráfego predita 101a e a pluralidade de matrizes de tráfego
101. Em particular, os agrupamentos 102 são alocados a pelo menos dois níveis de hierarquia diferentes. Desse modo, um agrupamento 102 alocado a um nível de hierarquia superior inclui pelo menos dois agrupamentos adjacentes 102 alocados ao nível de hierarquia abaixo. Além disso, cada agrupamento 102 está associado a uma configuração de roteamento 104. O dispositivo 100 pode ser configurado para manter e gerenciar (por exemplo, criar) os próprios agrupamentos 102, ou pode ser fornecido com as informações sobre os agrupamentos 102 de outro dispositivo.
[0062] O primeiro agrupamento 102a é alocado a um nível de hierarquia inferior - por exemplo, ao nível de hierarquia mais baixo - que contém a matriz de tráfego predita 101a. O segundo agrupamento 102b é alocado a um nível de hierarquia superior - por exemplo, a um nível de hierarquia que é um ou mais níveis acima do nível de hierarquia inferior / mais baixo associado ao primeiro agrupamento 102a - que inclui pelo menos o primeiro agrupamento 102a e um terceiro agrupamento 102c. Desse modo, o terceiro agrupamento 102c é alocado ao nível de hierarquia inferior / mais baixo que contém uma matriz de tráfego atual 101c. Ou seja, o primeiro agrupamento 102a e o terceiro agrupamento 102c podem estar no mesmo nível de hierarquia, mas isso não é crucial. O segundo agrupamento 102c pode conter agrupamentos 102 adicionais, seja no caso que - na estrutura hierárquica que é usada - um agrupamento 102 em um nível de hierarquia superior incluir mais de dois agrupamentos adjacentes 102 do nível de hierarquia abaixo, ou no caso que o segundo agrupamento 102c é mais do que um nível de hierarquia acima do primeiro e / ou terceiro agrupamento 102.
[0063] Além disso, o dispositivo 100 é configurado para determinar uma segunda configuração de roteamento 104b associada ao segundo agrupamento 102b e para ativar a segunda configuração de roteamento 104b como uma configuração de roteamento de rede.
[0064] Assim, uma transição suave da primeira configuração de roteamento 104a associada ao primeiro agrupamento 102a (incluindo um primeiro conjunto de rotas) para a segunda configuração de roteamento 104b (incluindo o primeiro conjunto de rotas e um segundo conjunto de rotas, ou seja, as rotas da terceira configuração de roteamento 104c associada ao terceiro agrupamento 102c), e posteriormente à terceira configuração de roteamento 104c (incluindo apenas o segundo conjunto de rotas) pode ser alcançada.
[0065] FIG. 2 mostra isto com mais detalhes. Em particular, a FIG. 2 mostra como com o dispositivo 100 de acordo com uma modalidade da invenção, movendo-se suavemente de uma configuração de roteamento R1 (correspondendo à primeira configuração de roteamento 104a na FIG. 1) para outra configuração de roteamento R2 (correspondendo à terceira configuração de roteamento 104c na FIG. 1) é possível, particularmente considerando uma configuração de roteamento pai sobreposta R12 (correspondendo à segunda configuração de roteamento 104b na FIG. 1), a qual normalmente consiste na união das configurações de roteamento R1 e R2.
[0066] O dispositivo 100 é configurado para primeiro pré- buscar lentamente a configuração de roteamento pai R12 em, de preferência, todos os comutadores na rede. Uma vez feito isso, o dispositivo 100 é configurado para remover as rotas de R1 dos comutadores. Neste processo, em uma frequência superior, o dispositivo 100 pode ajustar pesos de balanceamento de carga em quatro etapas:
 Etapa 1 (pré-busca de R12): o balanceamento de carga é alcançado no conjunto de rotas de R1, conforme as novas rotas de R12 vindas de R2 não estão todas instaladas;  Etapa 2 (ativação do R12): o balanceamento de carga é alcançado no R12 conforme todas as rotas são instaladas;  Etapa 3 (remoção de R1): o balanceamento de carga é alcançado apenas em R2, enquanto as rotas R1 estão sendo removidas;  Etapa 4 (ativação de R2): o balanceamento de carga é alcançado em R2.
[0067] FIG. 2 descreve graficamente o processo das quatro etapas acima. No topo, a FIG. 2 mostra que as configurações de roteamento pai R12 e R23, associadas aos agrupamentos C12 e C23 de matrizes de tráfego em um nível de hierarquia superior, se sobrepõem às suas configurações de roteamento filho R1, R2 e R3, as quais estão associadas aos agrupamentos C1, C2 e C3 de tráfego, respectivamente, de matrizes no nível de hierarquia abaixo. No fundo, a FIG. 2 descreve a evolução da tabela de encaminhamento para um comutador.
[0068] Conforme ilustrado na FIG. 3, o dispositivo 100 pode ser implementado em ou como um controlador SDN. O dispositivo 100 pode incluir pelo menos dois módulos: um módulo gerador de Hierarquia de Roteamento de Agrupamento (HCR) e um módulo de Manutenção de Configuração de TE (TCM).
[0069] O módulo de HCR começa a partir de um conjunto de soluções de roteamento de agrupamento (ou seja, configurações de roteamento 104 associadas a agrupamentos 102) computadas sobre agrupamentos 102 de TMs 101. Cada agrupamento 102 contém um conjunto de TMs 101 subsequentes e uma configuração de roteamento 104 associada, em que a configuração de roteamento 104 é construída para ser robusta contra variações de tráfego dentro do agrupamento 102. Essas soluções podem ser fornecidas por um algoritmo de agrupamento, como um Roteamento Robusto Agrupado (CRR). Começando deste conjunto inicial, o HCR pode construir um conjunto de soluções de roteamento de agrupamento pai (ou seja, configurações de roteamento de nível superior 104 associadas a agrupamentos de nível superior 102) em que cada configuração de roteamento 104 é o agregado de pares de soluções de roteamento de agrupamento consecutivas do nível inferior. A operação pode ser iterada para construir uma estrutura de hierarquia, em que cada configuração de roteamento pai 104 é a agregação de, por exemplo, pares de configurações de roteamento filho do nível de hierarquia inferior.
[0070] A TCM pode decidir quais configurações de roteamento 104 computadas pelo HCR devem ser armazenadas e ativadas pelos comutadores 300 na rede, a fim de mover suavemente entre duas configurações de roteamento 104. Mais especificamente, quando a TM 101 está se movendo em direção a um agrupamento 102 diferente daquele um associado à configuração de roteamento 104 atual, um par de roteamento de agrupamento de nível superior na hierarquia pode ser selecionado. O módulo seleciona os pares de roteamento de agrupamento de modo que o agrupamento contenha a TM 101a predita. A configuração de roteamento 104 associada (isto é, o roteamento associado ao par de roteamento de agrupamento 102/104 selecionado) é então carregada em todos os comutadores 300. Por construção, o conjunto de rotas na nova configuração de roteamento 104 é um superconjunto das rotas atualmente configuradas nos comutadores de rede 300, uma vez que os pares de roteamento de agrupamento selecionados estão em um nível superior na hierarquia.
[0071] A TCM também computa a nova taxa de divisão das diferentes rotas que são pré-buscadas nos comutadores 300. Uma vez que durante a transição a configuração pré-buscada 104 contém um superconjunto das rotas atualmente instaladas nos comutadores 300, a transição pode ser suave. Isso significa que as rotas antigas não serão removidas abruptamente, mas o tráfego será movido das rotas antigas para as novas rotas de maneira suave.
[0072] Ambos os módulos podem ser executados continuamente pelo dispositivo 100. O HCR pode, assim, ser executado em uma frequência inferior para atualizar os agrupamentos 102 e as configurações de roteamento 104 conforme novas informações estão disponíveis, enquanto a TCM pode ser executada em uma frequência superior para manter a rede em sua melhor configuração conforme o sistema evolui, e para orquestrar as transições entre as configurações de roteamento 104.
[0073] O módulo HCR ilustrado na FIG. 4 pode incluir dois submódulos / funções: a Geração de Agrupamento Pai e a Geração de Roteamento Pai. Ambos os módulos podem ser executados sob demanda sempre que novas soluções de roteamento devem ser geradas, por exemplo, como segue em relação à FIG. 4.
[0074] S1: pares de agrupamentos adjacentes 102 são mesclados para criar um agrupamento pai 102 incluindo a união dos membros de TMs 101 de cada agrupamento 102. Um conjunto de N-1 agrupamentos pai 102 pode ser criado.
[0075] S2: para cada agrupamento pai 102, uma configuração de roteamento pai 104 correspondente é gerada, em que o conjunto de rotas de cada configuração de roteamento 104 é a união das rotas dos dois agrupamentos filho 102, e um conjunto de pesos de balanceamento de carga sobre o novo conjunto de roteadores é computado.
[0076] S3-S4: se o topo da hierarquia ainda não foi alcançado (ou seja, se houver pelo menos dois agrupamentos 102 no nível L atual), o processo é reiterado começando do conjunto de pares de roteamento de agrupamento do nível L de hierarquia atual.
[0077] O módulo de TCM orquestra a pré-busca e a ativação das configurações de roteamento 104. Sempre que uma transição de, por exemplo, configuração de roteamento RjL para Rj+1L é necessária, o módulo pode pré-buscar a configuração de roteamento pai correspondente RjL+1, e então ativá-la por balanceamento de carga do tráfego sobre os conjuntos de rotas associados. A configuração de roteamento RjL pode então ser removida e a configuração de roteamento Rj+1L é pré-buscada. Finalmente, a transição para Rj+1L é concluída balanceando a carga do tráfego sobre o conjunto final de rotas de Rj+1L e removendo a configuração de roteamento RjL+1.
[0078] As operações realizadas pelo módulo HCR são detalhadas na FIG. 5 e descritas a seguir.
[0079] S1.1: o módulo HCR inicializa o nível da hierarquia: L = 1.
[0080] S1.2: para cada par de agrupamentos 102 subsequentes (adjacentes no tempo) no nível L, o HCR cria um novo agrupamento 102 de um nível superior L + 1 mesclando os dois agrupamentos 102. Para este fim, as TMs 101 dos dois agrupamentos 102 do nível L podem ser mescladas em um novo conjunto e o poliedro convexo que se aproxima do casco convexo do novo conjunto pode ser computado. Apenas os pontos extremos do poliedro convexo podem ser mantidos.
[0081] S1.3: para o novo agrupamento C(i,i+1)L+1, o HCR computa a configuração de roteamento associada R(i,i+1)L+1 mesclando os caminhos das configurações de roteamento Rj(i)L e Rj(i+1)L associados aos agrupamentos CiL e Ci+1L subsequentes do nível inferior L.
[0082] S1.4: se o nível L real for maior do que o número máximo de níveis na estrutura hierárquica, a execução é interrompida. Caso contrário, é prosseguido com a etapa S1.5.
[0083] S1.5: o HCR incrementa o nível da hierarquia: L: = L + 1.
[0084] As operações do módulo de TCM são mostradas na FIG. 6, em que:  a TM y(t) é representada como um vetor onde cada entrada representa um fluxo origem-destino. O número de dimensões é igual ao número de fluxos OD;  um agrupamento C(t) é representado por seus pontos extremos, ou seja, uma lista de vetores. Cada vetor da lista representa uma pseudomatriz onde cada entrada é um fluxo origem-destino de tamanho decidido pelo módulo de agrupamento;  uma configuração de TE / roteamento R(t) é uma matriz que associa a cada fluxo origem-destino o conjunto de enlaces que são usados para rotear o tráfego. R(t) tem um número de linhas igual ao número de enlaces e um número de colunas igual ao número de fluxos origem-destino. O produto R(t) * y(t) fornece a carga de tráfego dos enlaces no tempo t.
[0085] S1: o dispositivo 100 pode predizer ou obter a TM 101a predita do próximo período de tempo y(t + 1) como uma função da informação histórica das TMs 101 coletadas, por exemplo, pelo sistema de monitoramento. A quantidade de dados históricos F, bem como outros parâmetros da função de predição fTM(...), são fornecidos como parâmetros de entrada por um aplicativo de gerenciamento. Um exemplo de uma função de predição usada pelo dispositivo 100 pode ser um ARIMA(m, n) com F = (m, n) aplicado a cada entrada do vetor TM.
[0086] S2: os agrupamentos 102 que contêm a TM C(t + 1) predita são então computados. Para este fim, cada entrada da TM 101a predita pode ser comparada com cada entrada (ou seja, fluxos origem-destino) dos pontos extremos de cada agrupamento 102 para verificar se o agrupamento 102 contém a TM 101a predita.
[0087] S3: se o agrupamento C(t) que contém a TM atual (no tempo t) for diferente do agrupamento C(t + 1) que contém a próxima TM predita (ou seja, a TM 101a predita do próximo período de tempo t + 1 pertence a um agrupamento diferente do atual), continuar para a etapa S4.
[0088] Caso contrário, vá para INTERROMPER.
[0089] S4: o dispositivo 100 recupera o agrupamento pai CP(t+1) que contém o agrupamento atual C(t) (no tempo t) e o agrupamento C(t + 1) que contém a próxima TM 101a predita. Por exemplo, o agrupamento pai 102 pode ser encontrado percorrendo de baixo para cima a hierarquia de agrupamentos 102 computados pelo módulo HCR: ele começa a partir dos nós na hierarquia que representam C(t) e C(t + 1) e percorre os nós em níveis superiores na hierarquia até que o mesmo nó pai seja encontrado.
[0090] S5: o dispositivo 100 pode então selecionar a configuração de roteamento RP(t+1) associada ao agrupamento CP(t+1). Por construção, a configuração de roteamento RP(t+1) contém os caminhos de roteamento de R(t) e R(t + 1), que representam as configurações de roteamento de C(t) e C(t + 1), respectivamente.
[0091] S6: o dispositivo 100 pode então selecionar o comando C1, o qual contém os caminhos de roteamento da configuração RP(t+1), para todos os comutadores 300. Este comando permite pré-buscar a configuração de roteamento 104 antes que os novos caminhos / rotas sejam realmente usados.
[0092] S7: uma vez que o comando C1 foi recebido por todos os comutadores 300, o dispositivo 100 pode computar os novos pesos a serem atribuídos a todas as rotas pré-buscadas da configuração de roteamento RP(t+1). Esses pesos são usados pelo mecanismo de balanceamento de carga interno de cada comutador 300 para dividir o tráfego em múltiplas rotas durante a transmissão. Por exemplo, os pesos são usados por um algoritmo de escalonamento de escalonamento circular (“round-robin”) ponderado, a fim de selecionar o caminho a ser usado para a transmissão.
[0093] S8: o dispositivo 100 pode, então, selecionar o comando C2, que contém os pesos do caminho computados no conjunto S7, para todos os comutadores 300. Uma vez que RP(t+1) contém os caminhos / rotas de R(t) e R(t + 1), a transição dos caminhos em R(t) para os caminhos em R(t + 1) é realizada suavemente.
[0094] Conforme ilustrado na FIG. 7(a), os seguintes sinais e comandos podem ser usados pelo dispositivo 100: C1: o dispositivo 100 pode pré-buscar tabelas de plano de encaminhamento contendo regras que são um superconjunto de regras previamente instaladas nos comutadores 300 (as novas regras de encaminhamento podem sobrepor as regras de encaminhamento instaladas antes de enviar este novo comando C1); C2: o dispositivo 100 pode atualizar pesos de balanceamento de carga para ativar as novas configurações de roteamento 104 como configuração de roteamento de rede. O número de pesos enviados para cada túnel pode não ser fixo, mas pode variar de acordo com um tamanho da configuração de roteamento 104 pré-buscada.
[0095] Conforme ilustrado na FIG. 7(b), o resultado do comando C1 pode ser observado na estrutura de dados de plano de encaminhamento de um comutador 300, pois será composto por:  pesos de balanceamento de carga que são diferentes de zero para rotas pertencentes à configuração de roteamento ativa (R1 na FIG. 7(b));  cada vez que a configuração de roteamento de rede 104 é atualizada, novas rotas que se sobrepõem parcialmente com a configuração de roteamento 104 ativa podem ser observadas a partir das regras de encaminhamento (R12 na FIG. 7(b)).
[0096] FIG. 8 mostra um método 800 de acordo com uma modalidade da invenção. O método 800 pode ser usado para controlar as configurações de roteamento de rede em uma rede. O método 800 pode ser realizado pelo dispositivo 100 de acordo com uma modalidade da invenção.
[0097] O método 800 compreende: uma etapa 801 de obtenção de uma matriz de tráfego predita 101a e uma pluralidade de matrizes de tráfego 101. Além disso, uma etapa 802 de determinação, a partir de uma pluralidade de agrupamentos, de um primeiro agrupamento 102a alocado a um nível de hierarquia inferior que contém a matriz de tráfego predita 101a. Desse modo, os agrupamentos 102 são dispostos em uma estrutura hierárquica sobre a matriz de tráfego predita 101a e a pluralidade de matrizes de tráfego 101, cada um da pluralidade de agrupamentos 102 está associado a uma configuração de roteamento 104 e a pluralidade de agrupamentos 102 é alocada em pelo menos dois níveis de hierarquia diferentes, um agrupamento 102 alocado a um nível de hierarquia superior, incluindo múltiplos agrupamentos adjacentes 102 alocados para o nível de hierarquia abaixo.
[0098] Além disso, o método 800 compreende uma etapa 803 de seleção, a partir da pluralidade de agrupamentos 102, um segundo agrupamento 102b alocado a um nível de hierarquia superior que inclui pelo menos o primeiro agrupamento 102a e um terceiro agrupamento 102c alocados ao nível de hierarquia inferior que contém uma matriz de tráfego atual 101c. Além disso, uma etapa 804 de determinação de uma segunda configuração de roteamento 104b associada ao segundo agrupamento 102b. Finalmente, uma etapa 805 de ativação da segunda configuração de roteamento 104b como uma configuração de roteamento de rede.
[0099] Em resumo, as modalidades da presente invenção alcançam benefícios múltiplos. Em particular, o roteamento e o balanceamento de carga podem ser desacoplados, para que o roteamento possa ser atualizado suavemente, sem degradar o desempenho. A suavidade é obtida através da atualização dos pesos de balanceamento de carga. A modalidade da invenção funciona para atualizações de roteamento em todas as abordagens de TE: Dinâmico, Estável e Semiestável.
[00100] A presente invenção foi descrita em conjunto com várias modalidades como exemplos, bem como implementações. No entanto, outras variações podem ser compreendidas e efetuadas por aquelas pessoas versadas na técnica e praticando a invenção reivindicada, a partir dos estudos dos desenhos, desta divulgação e das reivindicações independentes. Nas reivindicações, assim como na descrição, a palavra "compreendendo" não exclui outros elementos ou etapas e o artigo indefinido "um" ou "uma" não exclui uma pluralidade. Um único elemento ou outra unidade pode cumprir as funções de várias entidades ou itens citados nas reivindicações. O mero fato de que certas medidas são citadas nas diferentes reivindicações dependentes mútuas não indica que uma combinação dessas medidas não possa ser usada em uma implementação vantajosa.

Claims (13)

REIVINDICAÇÕES
1. Dispositivo para controlar (100) configurações de roteamento de rede em uma rede, o dispositivo (100) caracterizado pelo fato de que é configurado para: obter uma matriz de tráfego predita (101a) e uma pluralidade de matrizes de tráfego (101); determinar, a partir de uma pluralidade de agrupamentos (102), os agrupamentos (102) sendo dispostos em uma estrutura hierárquica sobre a matriz de tráfego predita (101a) e a pluralidade de matrizes de tráfego (101), um primeiro agrupamento (102a) alocado a um nível de hierarquia inferior que contém a matriz de tráfego predita (101a), em que - cada um da pluralidade de agrupamentos (102) está associado a uma configuração de roteamento (104), e - a pluralidade de agrupamentos (102) é alocada a pelo menos dois níveis de hierarquia diferentes, um agrupamento (102) alocado a um nível de hierarquia superior incluindo múltiplos agrupamentos (102) adjacentes alocados ao nível de hierarquia abaixo; selecionar, a partir da pluralidade de agrupamentos (102), um segundo agrupamento (102b) alocado a um nível de hierarquia superior que inclui pelo menos o primeiro agrupamento (102a) e um terceiro agrupamento (102c) alocados ao nível de hierarquia inferior que contém uma matriz de tráfego atual(101c); determinar uma segunda configuração de roteamento (104b) associada ao segundo agrupamento (102b); e ativar a segunda configuração de roteamento (104b) como uma configuração de roteamento de rede.
2. Dispositivo (100), de acordo com a reivindicação 1,
caracterizado pelo fato de que é ainda configurado para, para ativar a segunda configuração de roteamento (104b): enviar um comando indicando a segunda configuração de roteamento (104b) para uma pluralidade de ou todos os comutadores (300) na rede.
3. Dispositivo (100), de acordo com a reivindicação 1 ou 2, caracterizado pelo fato de que é ainda configurado para, para ativar a segunda configuração de roteamento (104b): determinar um peso para cada caminho de roteamento de uma pluralidade de caminhos de roteamento contidos na segunda configuração de roteamento (104b); e ativar os caminhos de roteamento da segunda configuração de roteamento (104b).
4. Dispositivo (100), de acordo com a reivindicação 3, caracterizado pelo fato de que é ainda configurado para, para ativar a segunda configuração de roteamento (104b): enviar um comando indicando os pesos determinados da pluralidade de caminhos de roteamento da segunda configuração de roteamento (104b) para uma pluralidade de ou todos os comutadores (300) na rede.
5. Dispositivo (100), de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que é ainda configurado para: desativar uma configuração de roteamento (104) como uma configuração de roteamento de rede, em particular, desativando cada caminho de roteamento de uma pluralidade de caminhos de roteamento contidos na configuração de roteamento (104), se a configuração de roteamento (104) estiver associada a um agrupamento (102) que não contém a matriz de tráfego predita (101a).
6. Dispositivo (100), de acordo com qualquer uma das reivindicações 1 a 5, caracterizado pelo fato de que é ainda configurado para: determinar uma primeira configuração de roteamento (104a) associada ao primeiro agrupamento (102a); e ativar a primeira configuração de roteamento (104a) como uma configuração de roteamento de rede.
7. Dispositivo (100), de acordo com qualquer uma das reivindicações 1 a 6, caracterizado pelo fato de que é ainda configurado para: selecionar, como o segundo agrupamento (102b), um agrupamento (102) alocado a um nível de hierarquia superior que é determinado com base em um desvio da matriz de tráfego predita (101a) da matriz de tráfego atual (101c).
8. Dispositivo (100), de acordo com a reivindicação 7, caracterizado pelo fato de que é ainda configurado para: determinar um nível de hierarquia superior mais acima no caso de um desvio maior e um nível de hierarquia superior mais abaixo no caso de um desvio menor.
9. Dispositivo (100), de acordo com qualquer uma das reivindicações 1 a 8, caracterizado pelo fato de que é ainda configurado para: mesclar pelo menos dois agrupamentos (102) adjacentes no mesmo nível de hierarquia para gerar um novo agrupamento (102) em um nível de hierarquia mais acima.
10. Dispositivo (100), de acordo com a reivindicação 9, caracterizado pelo fato de que é configurado para, para mesclar os pelo menos dois agrupamentos (102) adjacentes: mesclar as matrizes de tráfego (101) contidas em cada um dos pelo menos dois agrupamentos (102) adjacentes em um conjunto de matrizes de tráfego (101); calcular um poliedro convexo aproximando-se do casco convexo do conjunto; e manter apenas os pontos extremos do poliedro convexo.
11. Dispositivo (100), de acordo com a reivindicação 9 ou 10, caracterizado pelo fato de que é ainda configurado para: gerar uma nova configuração de roteamento (104) associada ao novo agrupamento (102) com base nas configurações de roteamento (104) associadas, respectivamente, a cada um dos pelo menos dois agrupamentos (102) adjacentes.
12. Dispositivo (100), de acordo com a reivindicação 10 ou 11, caracterizado pelo fato de que é configurado para: gerar a pluralidade de agrupamentos (102) alocados aos pelo menos dois níveis de hierarquia.
13. Método (800) para controlar as configurações de roteamento de rede em uma rede, o método (800) caracterizado pelo fato de que compreende: obter (801) uma matriz de tráfego predita (101a) e uma pluralidade de matrizes de tráfego (101); determinar (802), a partir de uma pluralidade de agrupamentos (102), os agrupamentos (102) sendo dispostos em uma estrutura hierárquica sobre a matriz de tráfego predita (101a) e a pluralidade de matrizes de tráfego (101), um primeiro agrupamento (102a) alocado a um nível de hierarquia inferior que contém a matriz de tráfego predita (101a), em que - cada um da pluralidade de agrupamentos (102) está associado a uma configuração de roteamento (104), e
- a pluralidade de agrupamentos (102) é alocada a pelo menos dois níveis de hierarquia diferentes, um agrupamento (102) alocado a um nível de hierarquia superior, incluindo múltiplos agrupamentos (102) adjacentes alocados ao nível de hierarquia abaixo, selecionar (803), a partir da pluralidade de agrupamentos (102), um segundo agrupamento (102b) alocado a um nível de hierarquia superior que inclui pelo menos o primeiro agrupamento (102a) e um terceiro agrupamento (102c) alocados ao nível de hierarquia inferior que contém uma matriz de tráfego atual (101c), determinar (804) uma segunda configuração de roteamento (104b) associada ao segundo agrupamento (102b), e ativar (805) a segunda configuração de roteamento (104b) como uma configuração de roteamento de rede.
BR112021015465-5A 2019-02-08 2019-02-08 Dispositivos e método para controlar as configurações de roteamento de rede BR112021015465A2 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2019/053098 WO2020160780A1 (en) 2019-02-08 2019-02-08 Devices and method for controlling network routing configurations

Publications (1)

Publication Number Publication Date
BR112021015465A2 true BR112021015465A2 (pt) 2021-10-05

Family

ID=65365962

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112021015465-5A BR112021015465A2 (pt) 2019-02-08 2019-02-08 Dispositivos e método para controlar as configurações de roteamento de rede

Country Status (4)

Country Link
EP (1) EP3906640A1 (pt)
CN (1) CN113316917B (pt)
BR (1) BR112021015465A2 (pt)
WO (1) WO2020160780A1 (pt)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010138545A1 (en) * 2009-05-27 2010-12-02 Yin Zhang Method and system for resilient routing reconfiguration
CN102143042B (zh) * 2010-07-09 2014-04-16 华为技术有限公司 虚拟集群路由器系统及其流量分担方法、控制器和子路由器
US9680665B2 (en) * 2014-04-24 2017-06-13 Futurewei Technologies, Inc. Apparatus and method for dynamic hybrid routing in SDN networks to avoid congestion and balance loads under changing traffic load
CN104935476B (zh) * 2015-05-20 2018-04-06 电子科技大学 一种基于sdn的网络流量矩阵测量方法
CN107317697B (zh) * 2017-05-25 2020-01-07 清华大学 一种ospf与sdn混合网络的路由配置方法
WO2018219420A1 (en) * 2017-05-29 2018-12-06 Huawei Technologies Co., Ltd. Apparatus and method for providing a robust routing configuration

Also Published As

Publication number Publication date
CN113316917A (zh) 2021-08-27
EP3906640A1 (en) 2021-11-10
US20210367882A1 (en) 2021-11-25
CN113316917B (zh) 2023-02-28
WO2020160780A1 (en) 2020-08-13

Similar Documents

Publication Publication Date Title
Vissicchio et al. Central control over distributed routing
CN107332768B (zh) 一种多域控制器的跨域路径计算方法
US10511524B2 (en) Controller communications in access networks
US9628391B2 (en) Recursive load balancing in a loop-free routing topology using routing arcs
KR101863324B1 (ko) 클라우드 환경에서 네트워크 기능 가상화의 서비스 기능 체이닝을 위한 가상 네트워크 기능 배치 및 재구성 방법
Li et al. BOND: Flexible failure recovery in software defined networks
Golani et al. Fault tolerant traffic engineering in software-defined WAN
CN114697256B (zh) 基于集中式控制器的动态网络带宽分配与管理
CN114827002B (zh) 多域网络安全路径计算方法、系统、设备、介质及终端
CN105450524B (zh) 一种媒体转发路由优化计算的方法
US10666580B1 (en) Network switches using centralized improvement of routing based on link capacity
BR112021015465A2 (pt) Dispositivos e método para controlar as configurações de roteamento de rede
Robles-Gomez et al. A deadlock-free dynamic reconfiguration scheme for source routing networks using close up*/down* graphs
Biswas et al. Efficient Switch Migration for Controller Load Balancing in Software Defined Networking
US12010013B2 (en) Devices and method for controlling network routing configurations
CN105897882A (zh) 一种数据中心网络更新中数据流的迁移方法
Sanner et al. Dices: A dynamic adaptive service-driven sdn architecture
Tseng et al. Time-aware congestion-free routing reconfiguration
Cao et al. Optimal configuration in hierarchical network routing
CN112134743B (zh) 一种参数配置方法及装置
Zhou et al. Programming network via distributed control in software-defined networks
US20060067337A1 (en) Methods and devices for generating a hierarchical structure for the internet
Zhou et al. Multi-domain routing technology based on PCE for intelligent optical networks
US11811646B2 (en) Decentralized wide-area network traffic engineering
Shylaja et al. Topology Dependent Ant Colony-Based Routing Scheme for Software-Defined Networking in Cloud