BR112016026998B1 - Dispositivo de armazenamento de hardware de computador, sistema de computador e método implementado por computador para identificação de entidades candidatas de rede com problema - Google Patents

Dispositivo de armazenamento de hardware de computador, sistema de computador e método implementado por computador para identificação de entidades candidatas de rede com problema Download PDF

Info

Publication number
BR112016026998B1
BR112016026998B1 BR112016026998-5A BR112016026998A BR112016026998B1 BR 112016026998 B1 BR112016026998 B1 BR 112016026998B1 BR 112016026998 A BR112016026998 A BR 112016026998A BR 112016026998 B1 BR112016026998 B1 BR 112016026998B1
Authority
BR
Brazil
Prior art keywords
network
node
candidate
flow
network entity
Prior art date
Application number
BR112016026998-5A
Other languages
English (en)
Other versions
BR112016026998A8 (pt
BR112016026998A2 (pt
Inventor
Adrian Power
Peter John Hill
Original Assignee
Microsoft Technology Licensing, Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/310,974 external-priority patent/US10135704B2/en
Application filed by Microsoft Technology Licensing, Llc filed Critical Microsoft Technology Licensing, Llc
Publication of BR112016026998A2 publication Critical patent/BR112016026998A2/pt
Publication of BR112016026998A8 publication Critical patent/BR112016026998A8/pt
Publication of BR112016026998B1 publication Critical patent/BR112016026998B1/pt

Links

Abstract

IDENTIFICAÇÃO DE ENTIDADES CANDIDATAS DE REDE COM PROBLEMA. A presente invenção refere-se à detecção de problemas de comunicação de rede em redes que têm múltiplos nós de finalização e múltiplos nós de trânsito entre eles. Um ou mais dos nós de finalização monitora um ou mais fluxos, cria informação de fluxo associada incluindo informação de desempenho para cada fluxo e, então, reporta a informação de fluxo. Um sistema então estima, para cada um de múltiplos fluxos dentro da rede, uma provável passagem que o tráfego de rede segue essa rede. O sistema pode então utilizar a informação de desempenho para cada um dos fluxos reportados para identificar pelo menos uma entidade candidata de rede com problema que é comum entre as passagens estimadas de pelo menos o subconjunto da pluralidade de fluxos.

Description

Histórico
[001] Sistemas computacionais têm transformado a forma que trabalhamos, jogamos e vivemos. Sistemas computacionais modernos podem realizar uma ampla variedade de tarefas conforme direcionado pelo software e serviços que estão disponíveis ao sistema computacional. Sistemas computacionais estão se tornando cada vez mais conectados entre si, possibilitando assim interatividade mais cooperativa entre os sistemas computacionais. Além disso, altos volumes de dados de multimídia são agora entregues entre os sistemas computacionais. Certamente, fluxos de trabalho computacionais são mais do que nunca antes dependentes da entrega confiável sobre redes.
[002] Redes são compostas por uma topologia de sistemas com putacionais interconectados (geralmente referidos como "nós" ou "nós de rede"). O canal entre os nós de rede é referido como um "link". Quando mensagens são entregues de um sistema computacional para outro, essas mensagens podem ser transmitidas sobre um certo fluxo que atravessa uma passagem na topologia de nós ligados. O desempenho dos nós de rede e dos links pode variar. A tecnologia de rotea- mento permite que mensagens pegue passagens alternativas se o desempenho de uma passagem particular degradou. Quando o desempenho de nó e link degradou significativamente, que o nó ou o link pode ser colocado fora de uso, reparado e/ou substituído.
[003] A matéria reivindicada aqui não é limitada às modalidades que solucionam quaisquer desvantagens ou que operam apenas em ambientes como os descritos acima. Ainda, esse histórico é apenas fornecido para ilustrar uma área de tecnologia exemplar onde algumas modalidades aqui descritas podem ser praticadas.
Breve sumário
[004] Pelo menos algumas modalidades aqui descritas relaciona das à detecção de problemas de comunicação de rede em redes que têm múltiplos nós de finalização e múltiplos nós de trânsito entre eles. Nessas redes, entre quaisquer dois determinados nós de finalização, pode haver um ou mais fluxos. Cada fluxo representa uma passagem entre os dois nós de finalização correspondentes que o tráfego de rede provavelmente tomaria se este tráfego de rede tivesse determinadas características. Um exemplo de tal rede é uma rede em malha.
[005] De acordo com as modalidades aqui descritas, um ou mais dos nós de finalização fornecem relatórios para suportar a detecção de problemas de comunicação de rede. Por exemplo, um determinado nó de finalização pode monitorar um fluxo e criar informação de fluxo associada para este fluxo. A informação de fluxo pode incluir informação referente aos pontos de extremidade do fluxo, bem como a informação de desempenho referente ao fluxo. A informação de fluxo é então reportada.
[006] De acordo com as modalidades aqui descritas, um sistema identifica fontes candidatas de insuficiência de desempenho da rede. Por exemplo, o sistema estima, para cada um dos múltiplos fluxos dentro da rede, uma provável passagem que o tráfego de rede segue essa rede. O sistema pode, então, utiliza a informação de desempenho para cada de pelo menos um subconjunto da pluralidade de fluxos para identificar pelo menos uma entidade candidata de rede com problema que é comum entre as passagens estimadas de pelo menos o subconjunto da pluralidade de fluxos. Como um exemplo, essa informação de desempenho pode ter sido coletada da informação de fluxo reportada por múltiplos nós de finalização.
[007] Esse sumário é fornecido para introduzir uma seleção de conceitos em uma forma simplificada que é ainda descrita abaixo na Descrição Detalhada. Este Sumário não é destinado para identificar recursos chave ou recursos essenciais da matéria reivindicada, nem é destinado para ser utilizado como uma ajuda ao determinar o escopo da matéria reivindicada.
Breve descrição dos desenhos
[008] A fim de descrever a forma na qual as vantagens recitadas acima e outras vantagens e recursos da invenção podem ser obtidas, uma descrição mais particular da invenção descrita brevemente acima será interpretada por referência às modalidades específicas desta que são ilustradas nos desenhos anexos. O entendimento que estes desenhos descrevem apenas as modalidades típicas da invenção e não são, portanto, considerados para serem limitados de seu escopo, a invenção será descrita e explicada com especificidade adicional através do uso dos desenhos anexos nos quais:
[009] A figura 1 ilustra um exemplo do sistema computacional no qual os princípios aqui descritos podem ser empregados;
[0010] A figura 2 ilustra um exemplo da rede no qual os princípios aqui descritos podem ser empregados, o que inclui múltiplos nós de finalização acoplados através de uma malha de nós de trânsito e conjuntos de link de comunicação;
[0011] A figura 3 ilustra um fluxograma de um método para um nó de finalização reportar os fluxos referentes na rede;
[0012] A figura 4 ilustra um exemplo de informação de fluxo que pode ser criado pelo nó de finalização para cada fluxo sendo monitorado;
[0013] A figura 5 ilustra abstratamente um sistema que identifica uma fonte de um problema de rede utilizando a informação de fluxo reportada de um ou mais pontos de extremidade;
[0014] A figura 6 ilustra um fluxograma de um método para identi ficar uma fonte para um problema de rede e potencialmente mitigar o problema de rede;
[0015] A figura 7 ilustra uma rede da figura 2, mas agora com as passagens de fluxos de desempenho inferior sobrepostas e que mostra uma entidade candidata de rede com problema sendo um link de comunicação do conjunto do link de comunicação; e
[0016] A figura 8 ilustra a rede da figura 2, mas agora com as passa gens de fluxos de desempenho inferior sobrepostas, e mostrando uma entidade candidata de rede com problema sendo um nó de trânsito.
Descrição detalhada
[0017] Pelo menos algumas modalidades aqui descritas relaciona das à detecção de problemas de comunicação de rede em redes que têm múltiplos nós de finalização e múltiplos nós de trânsito entre eles. Nessas redes, entre quaisquer dois determinados nós de finalização, pode haver um ou mais fluxos. Cada fluxo representa uma passagem entre os dois nós de finalização correspondentes que o tráfego de rede provavelmente tomaria se esse tráfego de rede tivesse determinadas características. Um exemplo de tal rede é uma rede em malha.
[0018] De acordo com as modalidades aqui descritas, um ou mais dos nós de finalização fornecem relatórios para suportar a detecção de problemas de comunicação de rede. Por exemplo, um determinado nó de finalização pode monitorar um fluxo e criar a informação de fluxo associada para esse fluxo. A informação de fluxo pode incluir informação referente aos pontos de extremidade do fluxo, bem como informação de desempenho referente ao fluxo. A informação de fluxo é, então, reportada.
[0019] De acordo com as modalidades aqui descritas, um sistema identifica fontes candidatas de insuficiência de desempenho da rede. Por exemplo, o sistema estima, para cada um de múltiplos fluxos den- tro da rede, uma provável passagem que o tráfego de rede segue essa rede. O sistema pode, então, utilizar a informação de desempenho para cada de pelo menos um subconjunto da pluralidade de fluxos para identificar pelo menos uma “entidade de rede” do problema candidato que é comum entre as passagens estimadas de pelo menos o subconjunto da pluralidade de fluxos. Como um exemplo, essa informação de desempenho pode ter sido coletada da informação de fluxo reportada por múltiplos nós de finalização.
[0020] Alguma discussão introdutória de um sistema computacio nal será descrita com relação à figura 1. Então, métodos exemplares e arquiteturas de suporte serão descritos com relação às figuras subsequentes.
[0021] Sistemas computacionais estão agora cada vez mais to mando uma ampla variedade de formas. Sistemas computacionais podem, por exemplo, ser dispositivos portáteis, aparelhos, notebooks, computadores desktops, mainframes, sistemas computacionais distribuídos, ou ainda dispositivos que não foram convencionalmente considerados um sistema computacional. Nessa descrição e nas reivindicações, o termo "sistema computacional" é definido amplamente como incluindo qualquer dispositivo ou sistema (ou combinação desses) que inclui pelo menos um processador físico e tangível e uma memória física e tangível capazes de ter instruções executáveis por computador que podem ser executadas pelo processador. A memória pode tomar qualquer forma e pode depender da natureza e forma do sistema computacional. Um sistema computacional pode ser distribuído sobre um ambiente de rede e pode incluir múltiplos sistemas computacionais constituintes.
[0022] Conforme ilustrado na figura 1, em sua mais básica configu ração, um sistema computacional 100 tipicamente inclui pelo menos uma unidade de processamento 102 e a memória 104. A memória 104 pode ser memória de sistema físico, que pode ser volátil, não volátil, ou alguma combinação que pode ser volátil, não-volátil, ou alguma combinação das duas. O termo "memória" pode ainda ser utilizada aqui para se referir ao armazenamento de massa não-volátil como meio de armazenamento físico. Se o sistema computacional for distribuído, o processamento, a memória e/ou a capacidade de armazenamento pode ser distribuída também. Conforme aqui utilizado, o termo "módulo executável" ou "componente executável" pode se referir aos objetos de software, rotinas ou métodos que podem ser executados no sistema computacional. Os diferentes componentes, módulos, motores e serviços aqui descritos podem ser implementados como objetos ou processos que executam no sistema computacional (por exemplo, como roscas separadas).
[0023] Na descrição que segue, as modalidades são descritas com referência às ações que são realizadas por um ou mais sistemas com-putacionais. Se tais ações são implementadas em software, um ou mais processadores do sistema computacional associado que realiza a ação direta da operação do sistema computacional em resposta a ter instruções executáveis por computador executadas. Por exemplo, tais instruções executáveis por computador podem ser incorporadas em um ou mais meios legíveis por computador que formam um produto de programa de computador. Um exemplo de tal operação envolve a manipulação de dados. As instruções executáveis por computador (e os dados manipulados) podem ser armazenadas na memória 104 do sistema computacional 100. O sistema computacional 100 também pode conter os canais de comunicação 108 que possibilitam que o sistema computacional 100 se comunique com outros processadores de mensagens sobre, por exemplo, a rede 110.
[0024] As modalidades aqui descritas podem compreender ou uti lizar uma finalidade especial ou computador de finalidade geral inclu- indo hardware de computador, como, por exemplo, um ou mais processadores e sistema memória, conforme discutido em mais detalhes abaixo. As modalidades aqui descritas também incluem meios físicos e outros meios legíveis por computador para carregar ou armazenar instruções executáveis por computador e/ou estruturas de dados. Tais meios legíveis por computador podem ser qualquer meio disponível que pode ser acessado por um sistema de computador de finalidade geral ou finalidade especial. Meios legíveis por computador que armazenam instruções executáveis por computador são meios de armazenamento físico. Meios legíveis por computador que carregam instruções executáveis por computador são meios de transmissão. Assim, em forma de exemplo e não limitação, modalidades da invenção podem compreender pelo menos dois tipos distintamente diferentes de meios legíveis por computador: meio de armazenamento de computador e meio de transmissão.
[0025] O meio de armazenamento de computador inclui RAM, ROM, EEPROM, CD-ROM ou outro armazenamento de disco óptico, armazenamento de disco magnético ou outros dispositivos de armazenamento magnético, ou qualquer outro meio tangível que pode ser utilizado para armazenar os meios de código de programa desejados na forma de instruções executáveis por computador ou estruturas de dados e que podem ser acessadas por um computador de finalidade geral ou finalidade especial.
[0026] Uma "rede" é definida como um ou mais links de dados que permitem o transporte de dados eletrônicos entre sistemas e/ou módulos de computador e/ou outros dispositivos eletrônicos. Quando a informação é transferida ou fornecida sobre uma rede ou outra conexão de comunicações (cabeada, sem fio ou uma combinação de cabeada ou sem fio) a um computador, o computador visualiza corretamente a conexão como um meio de transmissão. Os meios de transmissão po- dem incluir uma rede e/ou links de dados que podem ser utilizados para carregar ou meios de código de programa desejados na forma de instruções executáveis por computador ou estruturas de dados e que podem ser acessadas por um computador de finalidade geral ou finalidade especial. As combinações acima deveriam também ser incluídas dentro do escopo de meios legíveis por computador.
[0027] Ainda, ao atingir vários componentes do sistema de compu tador, meios de código de programa na forma de instruções executáveis por computador ou estruturas de dados podem ser transferidas automaticamente do meio de transmissão ao meio de armazenamento de computador (ou vice-versa). Por exemplo, as instruções executáveis por computador ou estruturas de dados recebidas sobre uma rede ou links de dados podem ser em buffer na RAM dentro de um módulo de interface de rede (por exemplo, um "NIC"), e, então, eventualmente transferidos à RAM do sistema de computador e/ou ao meio de armazenamento de computador menos volátil em um sistema de computador. Assim, deve ser entendido que o meio de armazenamento de computador pode ser incluído em componentes do sistema de computador que também (ou ainda principalmente) utilizam meio de transmissão.
[0028] As instruções executáveis por computador compreendem, por exemplo, instruções e dados que, quando executados em um processador, fazem com que um computador de finalidade geral, computador de finalidade especial ou dispositivo de processamento de finalidade especial realize uma certa função ou grupo de funções. As instruções executáveis por computador podem ser, por exemplo, binárias, instruções de formato intermediário como linguagem de montagem, ou ainda código fonte. Embora a matéria tenha sido descrita em linguagem específica aos recursos estruturais e/ou ações metodológicas, deve ser entendido que a matéria definida nas reivindicações anexas não é necessariamente limitada aos recursos descritos ou ações des- critas acima. Ainda, os recursos descritos e ações são revelados como formas de exemplo para implementar as reivindicações.
[0029] Os técnicos no assunto observarão que a invenção pode ser praticada em ambientes computacionais de rede com muitos tipos de configurações do sistema de computador, incluindo, computadores pessoais, computadores desktops, notebooks, processadores de mensagens, dispositivos portáteis, sistemas multiprocessador, eletrônicos de consumidor programável ou com base em microprocessador, PCs de rede, minicomputadores, computadores mainframe, telefones móveis, PDAs, pagers, roteadores, interruptores e similares. A invenção também pode ser praticada em ambientes de sistema distribuído onde sistemas de computador local e remoto, que são ligados (tanto por links de dados cabeados, links de dados sem fio, ou por uma combinação de links de dados cabeados e sem fio) através de uma rede, ambas realizam as tarefas. Em um ambiente de sistema distribuído, os módulos de programa podem estar localizados em ambos os dispositivos de armazenamento de memória local e remoto.
[0030] A figura 2 ilustra um exemplo de rede 200 no qual os prin cípios aqui descritos podem ser empregados. Certamente, a tecnologia de rede é a característica em que quase qualquer topologia de rede pode ser empregada. Certamente, os princípios aqui descritos são por nenhum meio mesmo remotamente limitados às redes tendo a mesma topologia como a rede exemplar 200 e pode aplicar independentemente da topologia de rede. Independentemente, como é útil ter um exemplo específico para descrever os princípios técnicos, a rede 200 será referida frequentemente como um exemplo.
[0031] A rede exemplar 200 inclui quatorze nós de rede 201 até 214. Os nós de rede incluem quatro nós de finalização 201 até 204 (simbolizados como retangulares) e dez nós de transporte 205 a 214 (simbolizados como circulares). Os nós de finalização 201 a 204 po- dem ser comunicar entre si por meio do envio de mensagens pela malha de nós de transporte 205 até 214.
[0032] A malha é construída através dos links de comunicação, com cada nó de rede acoplado a pelo menos um outro nó de rede através de um conjunto do link de comunicação, cada conjunto incluindo um link de comunicação. Por exemplo, a rede 200 é ilustrada como incluindo conjuntos de link de comunicação A até V. Cada conjunto de link de comunicação A até V pode compreender um ou múltiplos ou talvez ainda vários links de comunicação.
[0033] Um "nó de finalização" é um nó de rede que é um ponto de extremidade de comunicações de rede, em vez de um nó de trânsito de comunicação. Por exemplo, na figura 2, nós de rede 201 até 204 são nós de finalização e são simetricamente representados na figura 2 como sendo retangulares. Os outros nós de rede 205 até 214 são nós de transporte como simbolicamente representados na figura 2 como sendo circulares.
[0034] De acordo com os princípios aqui descritos, os nós de fina lização realizam a ação cooperativa com um sistema para possibilitar que o sistema estime uma fonte de problema de redes. Em particular, os nós de finalização reportam informação de fluxo, enquanto que o sistema utiliza essa informação de fluxo para estimar uma fonte de problema de redes.
[0035] A figura 3 ilustra um fluxograma de um método 300 para um nó de finalização para reportar fluxos referentes na rede. Com referência à figura 2, o método 300 pode ser realizado por cada um dos nós de finalização 201 até 204 na rede. Em particular, o nó de finalização monitora (ação 301) cada um de pelo menos um fluxo. Para cada um dos fluxos monitorados, o ponto de extremidade cria (ação 302) a informação de fluxo que inclui a informação do ponto de extremidade referente ao fluxo e que inclui a informação de desempenho referente ao fluxo. O nó de finalização, então, reporta (ação 303) a informação de fluxo criada e informação de desempenho anexa para pelo menos um fluxo para o qual a informação de fluxo foi criada.
[0036] Conforme utilizado nessa descrição e nas reivindicações, um "fluxo" é um conjunto de comunicações de rede tendo características suficientemente comuns que as comunicações de rede tendem a seguir a mesma passagem de links de comunicação consecutivos através da malha de nós de trânsito. Certamente, um fluxo pode ser considerado como correspondente a uma passagem, onde o fluxo inclui estas comunicações de rede que tendem a utilizar essa passagem.
[0037] A figura 4 ilustra um exemplo de informação de fluxo 400 que pode ser criada pelo nó de finalização para cada fluxo sendo monitorado. A informação de fluxo 400 inclui informação do ponto de extremidade 401 e informação de desempenho 402.
[0038] A informação do ponto de extremidade 401 inclui informa ção que define os pontos de extremidade do fluxo e outra informação que define as características das comunicações de rede do fluxo que fazem com que as comunicações de rede tendem a cruzar a mesma passagem através dos nós de transporte. Por exemplo, em uma modalidade, a informação do ponto de extremidade 401 define o endereço de protocolo de Protocolo de Internet (IP) e informação de porta de TCP para a fonte nó de finalização e o nó de finalização de destino das comunicações de rede que estão incluídas no fluxo.
[0039] A informação de desempenho 402 pode incluir qualquer informação referente ao fluxo que pode ser utilizado para inferir se ou não há um problema com a passagem correspondente a esse fluxo. Como um exemplo apenas, a informação de desempenho 402 pode incluir estatísticas de retransmissão para o fluxo, como quantas retransmissões de comunicações de rede ocorreram recentemente, qual a taxa de retransmissões tem sido, qual porcentagem de comunicação de rede transmitida acabou sendo retransmitida, o número máximo de vezes que a mesma comunicação de rede tem sido tentada para transmissão, o número médio de vezes que uma comunicação de rede que teve que ser retransmitida acabou sendo retransmitida e assim por diante. De modo alternativo ou adicional, a informação de desempenho 402 pode também incluir estatísticas de latência para o fluxo. Por exemplo, as estatísticas de latência podem incluir qualquer um ou mais do tempo médio tomado para uma comunicação de rede atravessar a passagem, um desvio padrão no tempo necessário para comunicações de rede atravessar a passagem, um tempo necessário máximo para uma comunicação de rede atravessar a passagem e assim por diante.
[0040] A figura 5 abstratamente ilustra um sistema 500 que identi fica uma fonte de um problema de rede utilizando a informação de fluxo reportada de um ou mais pontos de extremidade. Por exemplo, cada um dos múltiplos pontos de extremidade na rede pode reportar a informação de fluxo para um ou provavelmente múltiplos fluxos ao sistema 500. Isso pode, então, possibilitar que o sistema 500 identifique ou estime a passagem para cada fluxo, identificar essas passagens tendo problemas utilizando a respectiva informação de fluxo e identificar entidades de rede comum entre essas passagens. O sistema 500 pode ainda tentar mitigar quaisquer problemas que aparecem nas entidades de rede que são comuns entre os fluxos problemáticos.
[0041] O sistema 500 inclui um componente de comunicação 501 que é capaz de comunicar com cada um dos nós de rede na rede. Por exemplo, na rede 200 da figura 2, o componente de comunicação 501 pode se comunicar com cada um dos nós de rede 201 até 214. Como um exemplo, o componente de comunicação 501 pode receber a informação de fluxo de cada um dos nós de finalização 201 até 204 em resposta aos nós de finalização realizando o método 300.
[0042] O sistema 500 também inclui um componente de estimativa de passagem 502 que é configurado para utilizar a informação de fluxo para estimar uma provável passagem que o tráfego de rede para fluxo segue essa rede. O componente de estimativa de passagem 502 pode realizar esta estimativa para cada de até todas as informações de fluxo recebidas e informação de fluxo recebida pelo sistema 500. Para fazer isso, o componente de estimativa de passagem 502 pode utilizar o componente de comunicação 501 para se comunicar com os nós de rede para descobrir qual o nó de rede guiaria o tráfego do determinado fluxo. Um exemplo de como isso pode ser realizado será descrito ainda abaixo.
[0043] O sistema 500 também inclui um componente candidato de detecção de problema 503, que é configurado para utilizar a informação de desempenho da informação de fluxo para identificar pelo menos uma entidade candidata de rede com problema que é comum entre as passagens estimadas para fluxos que estão demonstrando os problemas em desempenho. Para fazer isso, o componente candidato de detecção de problema acessa a informação de desempenho 402 da informação de fluxo 400 para um ou mais fluxos e também acessa a passagem estimada para cada fluxo do componente de estimativa de passagem 402.
[0044] O sistema 500 pode também incluir um componente de mi tigação 504 configurado para utilizar as identificações da entidade de rede candidata do componente candidato de detecção de problema 503 e mitigar o problema corretamente. Por exemplo, se a entidade de rede com problema for um nó de trânsito, o componente de mitigação 504 pode configurar os nós de trânsito não para utilizar o nó de trânsito problemático, ou pelo menos reduzir o número de fluxos que estão sendo roteados através do nó de trânsito problemático. Se a entidade de rede com problema for um link de comunicações, o componente de mitigação 503 pode configurar os dois nós de trânsito em cada extremidade do link de comunicações para reduzir ou eliminar a utilização do link de comunicação problemático. O componente de mitigação pode também realizar outra ação corretiva incluindo notificar um ou mais outros componentes e/ou usuários do problema, programar atividades de mitigação, ou similares.
[0045] O sistema 500 pode ser estruturado e operado conforme descrito acima para o sistema computacional 100 da figura 1. Certamente, o sistema 500 representa um exemplo do sistema computacional 100 da figura 1. Além disso, o módulo de comunicação 501, o componente de estimativa de passagem 502, o componente candidato de detecção de problema 503 e o componente de mitigação 504 podem ser módulos que executam nesse sistema computacional. De modo alternativo ou adicional, cada um dos módulos e componentes 501 até 504 pode ser sistemas computacionais separados no ambiente distribuído.
[0046] Os fluxos remanescentes dentro da figura 5 serão descritos com relação à figura 6. A figura 6 ilustra um fluxograma de um método 600 para identificar uma fonte para um problema de rede e potencialmente mitigar o problema de rede. Conforme o método 600 da figura 6 pode ser realizado utilizando o sistema 500 da figura 5, com relação à detecção de problema na rede 200 da figura 2, o método 600 será agora descrito com referência frequente à figura 6 bem como às figuras 2 e 5.
[0047] De acordo com o método 600, o sistema recebe a informa ção de fluxo dos nós de finalização na rede (ação 601). Por exemplo, o módulo de comunicação 501 da figura 5 pode receber essa informação de fluxo por uma interface (representada pela seta 511) de um ou mais dos nós de finalização. Como um exemplo, o módulo de comunicação 501 pode receber informação de fluxo de cada um dos nós de finaliza- ção 201, 202 e 204 na rede 200 da figura 2. Nesse cenário, assume-se que o nó de finalização 203 não é capaz de reportar a informação de fluxo e, assim, não reporta.
[0048] O sistema, então, estima (ação 602) uma passagem asso ciada com cada fluxo para o qual a informação de fluxo é fornecida. Por exemplo, na figura 5, o componente de estimativa de passagem 502 pode realizar essa estimativa utilizando a informação de fluxo recebida (através da seta 512) do módulo de comunicação 501.
[0049] Um exemplo de como essa estimativa pode ocorrer será agora descrito com relação a um exemplo específico. No momento em que a informação de fluxo é reportada, a própria informação de fluxo não identifica a passagem que as comunicações de rede correspondentes desse fluxo consideram. Entretanto, o componente de estimativa de passagem 502 tem conhecimento da topologia de rede da rede que está avaliando (por exemplo, rede 200 da figura 2) e é também ciente da fonte e nós de finalização de destino para o fluxo com base na informação do ponto de extremidade incluído dentro da informação de fluxo.
[0050] Supomos nesse exemplo, que a fonte de ponto de extremi dade não é o nó de finalização 201 e o ponto de extremidade de destino é o nó de finalização 202. O componente de estimativa de passagem 502 pode, assim, consultar um nó de trânsito em um momento de perguntar que o nó de trânsito que seria o próximo nó que direcionaria as comunicações pertencentes a esse fluxo. Por exemplo, a consulta (representada pela seta 513) utilizaria o módulo de comunicação 501 para se comunicar com o respectivo nó de trânsito, enquanto que as respostas seriam recebidas do módulo de comunicação 501 como novamente representadas pela seta 512.
[0051] Por exemplo, no contexto de um fluxo no qual a fonte de ponto de extremidade é o nó de finalização 201 e o ponto de extremi- dade de destino é o nó de finalização 202, o nó de trânsito 205 seria primeiro consultado. O fluxo que define as características seria fornecido ao nó de trânsito 205 e solicitado onde encaminharia comunicações de rede tendo essas características e sobre o link. Supomos que o nó de trânsito responde que o nó de trânsito 207 seria o próximo nó de trânsito e identifica um link particular do conjunto de links de comu-nicação C. O nó de trânsito 207 então seria consultado com os mesmos parâmetros de fluxo. Supomos que o nó de trânsito 207 responde que o nó de trânsito 208 seria o próximo nó de trânsito e identifica um link particular do conjunto do link de comunicação F. O nó de trânsito 208, então, seria consultado com os mesmos parâmetros de fluxo. Supomos que o nó de trânsito 208 responde que o nó de trânsito 211 seria o próximo nó de trânsito e identifica um link particular do conjunto do link de comunicação O. O nó de trânsito 211 seria consultado com os mesmos parâmetros de fluxo, que responderia por meio da identificação de qual link de comunicação do conjunto do link de comunicação Q seria utilizado para transmitir as mensagens desse fluxo ao nó de finalização 202.
[0052] A metodologia pode ser utilizada para estimar uma passa gem (que representa uma sequência de nós e links identificados) para cada fluxo. É observado que a perfeita certeza não é necessária para essa estimativa. Podem haver ainda ser múltiplas possíveis passagens para um fluxo, cada uma tendo uma probabilidade estimada de ocorrência. O componente candidato de detecção de problema 503 pode lidar com os modelos probabilísticos na teoria de informação para estimar o componente de rede com problema candidato, para talvez níveis ainda altos de probabilidade, mesmo se as passagens estimativas não são definitivas ou ter probabilidades associadas inferiores.
[0053] O sistema, então, identifica (ação 603) pelo menos uma en tidade candidata de rede com problema utilizando as passagens esti- mativas. Por exemplo, na figura 5, o componente candidato de detecção de problema 503 recebe as passagens estimadas para os fluxos (conforme representado pela seta 514). O componente candidato de detecção de problema também recebe a informação de desempenho para cada fluxo (conforme representado pela seta 515), tanto direta-mente do módulo de comunicação 501 ou às vezes indiretamente através de outro componente (como o componente de estimativa de passagem 502).
[0054] O componente candidato de detecção de problema 503 po de identificar esses fluxos que têm problemas, acessar os fluxos cor-respondentes e identificar essas entidades de rede que são comuns entre essas passagens. Essas entidades de rede comum, então, se tornam entidades candidatas da rede com problema. Vários exemplos serão agora fornecidos com relação às figuras 7 e 8.
[0055] A figura 7 ilustra a rede 200 da figura 2, mas agora com as passagens de fluxos de desempenho inferior sobrepostas. Nesse caso, há quatro passagens problemáticas 701 até 704 descobertas. Uma entidade de rede comum entre todas as passagens 701 até 704 é o conjunto de links de comunicação G. De fato, pode haver apenas um link de comunicação do conjunto de links de comunicação G que está com falha. Assim, as quatro passagens problemáticas 701 até 0704 podem mostrar que elas todas utilizam esse link de comunicação específico dentro do conjunto do link de comunicação G. Assim, esse link de comunicação dentro do conjunto do link de comunicação G pode ser estimado como com falha. Quanto mais dados for coletado referentes aos fluxos problemáticos, mais certeza que a estimativa pode acontecer.
[0056] Agora com referência à figura 5, a identidade do link de comunicação seria enviada (conforme representada pela seta 516) ao componente de mitigação 504. O componente de mitigação 504 pode, então, tentar mitigar o problema por meio do envio de comandos de mitigação (conforme representado pela seta 517), de modo que o módulo de comunicação 501 possa enviar os comandos aos nós de trânsito apropriados na rede 200. Por exemplo, no caso de um link de comunicação com falha entre o conjunto do link de comunicação G, o componente de mitigação 504 pode comandar o nó de trânsito 207 para direcionar o tráfego de rede para menos fluxos sobre esse link de comunicação com falha ao nó de trânsito 209, ou pode ainda comandar esse nó de trânsito 207 não para utilizar esse link de comunicação com falha. De modo similar, o componente de mitigação 504 pode comandar o nó de trânsito 209 para direcionar o tráfego de rede para menos fluxos sobre esse link de comunicação com falha ao nó de trânsito 207, ou pode ainda comandar que o nó de trânsito 209 não utilize esse link de comunicação com falha.
[0057] Conforme previamente mencionado, a passagem para um determinado fluxo pode não ser capaz de ser detectado com certeza absoluta. Nesse caso, modelos probabilísticos podem ser utilizados para ainda identificar a entidade de rede com problema com graus mais altos de certeza. Por exemplo, no exemplo da figura 7, supomos que houveram 25 possíveis passagens (algumas com baixa probabilidade de uso) associadas com 8 fluxos de desempenho inferior. Pode não haver uma única entidade de rede comum associada com todas as 25 possíveis passagens. Independentemente, supomos que 23 das possíveis passagens compartilharam esse mesmo link de comunicação dentro do conjunto do link de comunicação e apenas 2 possíveis passagens (com probabilidade relativamente baixa de uso) não utilizou esse link de comunicação. Sob essa circunstância, esse link de comu-nicação dentro do conjunto do link de comunicação G pode ainda ser estimado (com quase certeza) como sendo a entidade de rede com falha. O sistema de comunicações poderia também interagir com nós de rede (ou ainda outros sistemas de monitoramento) para coletar informação adicional que pode aumentar ou reduzir a probabilidade de um problema de link. Por exemplo, se o link mostrar algum tipo de erro (pacotes de entrada corrompidos, lotes de mensagens de registro, salto de status de link, etc.) isso seria informação muito pertinente para medir a probabilidade.
[0058] A figura 8 ilustra uma rede 200 da figura 2, mas agora com as passagens de fluxos de desempenho inferior sobrepostas. Nesse caso, há cinco passagens problemáticas 801 até 805 descobertas. Nesse momento, não há nenhum conjunto do link de comunicação que pareça ser comum entre todas as passagens com falha. Em vez disso, agora há todo um nó de trânsito que parece ser comum entre todas as passagens com falha. Assim, o nó de trânsito 208 pode ser estimado como uma entidade candidata de rede com problema. O sistema de comunicações poderia também interagir com os nós de rede (ou ainda outros sistemas de monitoramento) para coletar informação adicional que pode aumentar ou reduzir a probabilidade de um problema para essa entidade candidata de rede com problema. No caso de confirmar uma alta probabilidade que o nó de trânsito 208 tem um problema, o componente de mitigação pode instruir cada um de um ou mais dos nós de trânsito vizinhos 205, 207, 209, 211 e 212 não para utilizar qualquer um dos conjuntos de link de comunicação que os ligam ao nó de trânsito 208.
[0059] Em alguns casos, podem haver múltiplas entidades candi datas da rede com problema identificadas. Por exemplo, talvez a combinação de fluxos 701 até 704 da figura 7 e os fluxos 801 até 805 seja identificada como com falha. Nesse caso, ambos o nó de trânsito 208 e o link de comunicação do conjunto do link de comunicação G podem ser identificados como defeituosos. O componente de mitigação pode, então, reduzir ou eliminar a confiança em qualquer uma ou em ambas as entidades candidatas da rede com problema.
[0060] Certamente, os princípios aqui descritos fornecem um me canismo efetivo para automatizar a detecção de entidades candidatas da rede com problema e mitigação da confiança sob essa entidade candidata de rede com problema. Assim, a detecção automática de remediação dos problemas de rede é aqui descrita.
[0061] A presente invenção pode ser incorporada em outras formas específicas sem sair de seu espírito ou características essenciais. As modalidades descritas devem ser todas consideradas apenas como ilus-trativas e não restritivas. O escopo da invenção é, portanto, indicado pelas reivindicações anexas em vez de pela descrição previamente citada. Todas as mudanças estão dentro do significado e faixa de equivalência das reivindicações a serem abrangidas dentro de seu escopo.

Claims (22)

1. Dispositivo de armazenamento de hardware de computador que possui um método caracterizado pelo fato de que compreende: agrupar um fluxo de comunicações de rede, cada comunicação de rede no fluxo compartilhando uma ou mais características; receber informação de fluxo para o fluxo, a informação de fluxo compreendendo informação de desempenho e informação referente a uma ou mais características compartilhadas; usar a informação de fluxo para determinar uma pluralidade de percursos de passagem de rede candidatos para o fluxo, cada um da pluralidade de percursos de passagem de rede candidatos (1) originário em um mesmo primeiro ponto de extremidade, (2) terminando em um mesmo segundo ponto de extremidade e (3) possuindo associado uma probabilidade determinada de ser realmente atravessado pelas comunicações de rede do fluxo, em que determinar um primeiro percurso de passagem de rede candidato que é incluído na pluralidade de percursos de passagem de rede candidatos inclui: identificar um primeiro nó e um segundo nó que são ambos selecionados como nós candidatos para o primeiro percurso de passagem de rede candidato; determinar que um conjunto de múltiplos links diferentes são estabelecidos entre o primeiro nó e o segundo nó, cada um dos múltiplos links diferentes conectando o primeiro nó com o segundo nó; com base na informação de fluxo, determinar que um link particular estabelecido entre o primeiro nó e o segundo nó é mais provável de ser usado para transmitir comunicações de rede do fluxo; e selecionar o um link particular para inclusão no primeiro percurso de passagem de rede candidato; após determinar a pluralidade de percursos de passagem de rede candidatos, determinar que uma entidade de rede particular é compartilhada entre pelo menos alguns da pluralidade de percursos de passagem de rede candidatos; após determinar que a entidade de rede particular é compartilhada entre o pelo menos alguns da pluralidade de percursos de passagem de rede candidatos, determinar que a entidade de rede particular é uma entidade de rede com problema por análise de um limiar de desempenho associado à entidade de rede particular; e transmitir uma mensagem para pelo menos um nó vizinho à entidade de rede específica que faz com que o pelo menos um nó reduza ou elimine o uso da entidade de rede específica ou pelo menos um fluxo roteado através da entidade de rede específica.
2. Dispositivo de armazenamento de hardware de computador, de acordo com a reivindicação 1, caracterizado pelo fato de que a entidade de rede particular compreende um nó de trânsito na rede.
3. Dispositivo de armazenamento de hardware de computador, de acordo com a reivindicação 1, caracterizado pelo fato de que a entidade de rede particular compreende um link de rede na rede.
4. Dispositivo de armazenamento de hardware de computador, de acordo com a reivindicação 1, caracterizado pelo fato de que a entidade de rede com problema compreende uma pluralidade de entidades de rede com problema candidatas.
5. Dispositivo de armazenamento de hardware de computador, de acordo com a reivindicação 1, caracterizado pelo fato de que a informação de desempenho compreende uma estatística de retransmissão.
6. Dispositivo de armazenamento de hardware de computador, de acordo com a reivindicação 1, caracterizado pelo fato de que a informação de desempenho compreende uma estatística de la- tência.
7. Dispositivo de armazenamento de hardware de computador, de acordo com a reivindicação 1, caracterizado pelo fato de que cada um da pluralidade de percursos de passagem de rede candidatos é um percurso de passagem de rede estimado ou um percurso de passagem de rede real.
8. Dispositivo de armazenamento de hardware de computador, de acordo com a reivindicação 1, caracterizado pelo fato de que a informação de fluxo é recebida do primeiro ponto de extremidade ou do segundo ponto de extremidade.
9. Dispositivo de armazenamento de hardware de computador, de acordo com a reivindicação 1, caracterizado pelo fato de que as instruções executáveis por computador são ainda configuradas para fazer com que o sistema de computador reconfigure pelo menos uma parte da rede de modo a mitigar problemas associados com algumas entidades de rede com problema.
10. Dispositivo de armazenamento de hardware de computador, de acordo com a reivindicação 1, caracterizado pelo fato de que a determinação da pluralidade de percursos de passagem de rede candidatos é realizada por: criar uma consulta, a consulta incluindo pelo menos uma característica compartilhada identificada de cada comunicação de rede incluída dentro do fluxo; e enviar a consulta para cada nó de trânsito incluído em um conjunto de nós de trânsito, em que a consulta faz com que cada nó de trânsito no conjunto use a característica compartilhada para identificar onde cada nó de trânsito no conjunto encaminharia uma comunicação de rede particular tendo a característica compartilhada.
11. Dispositivo de armazenamento de hardware de compu- tador, de acordo com a reivindicação 10, caracterizado pelo fato de que a informação de desempenho inclui um desvio padrão pertencente a um tempo que uma comunicação de rede particular leva para atravessar um percurso de passagem de rede particular.
12. Dispositivo de armazenamento de hardware de computador, de acordo com a reivindicação 1, caracterizado pelo fato de que a entidade de rede com problema inclui pacotes de entrada corrompidos e status de link saltando.
13. Sistema de computador para identificar uma fonte candidata de insuficiência de desempenho de rede, a fim de permitir maior funcionalidade de uma rede de computadores, o sistema de computador caracterizado pelo fato de que compreende: um ou mais processadores; e um ou mais dispositivos de armazenamento de hardware tendo um método caracterizado por compreender: agrupar um fluxo de comunicações de rede, cada comunicação de rede no fluxo compartilhando uma ou mais características; receber informações de fluxo para o fluxo, as informações de fluxo compreendendo informações de desempenho e informações a respeito de uma ou mais características compartilhadas; usar as informações de fluxo para determinar uma pluralidade de percursos de passagem de rede candidatos para o fluxo, cada um da pluralidade de percursos de passagem de rede candidatos (1) originando em um mesmo primeiro ponto final, (2) terminando em um mesmo segundo ponto final, e (3) tendo associado a ele uma probabilidade determinada de realmente ser atravessado pelas comunicações de rede do fluxo, em que determinar um primeiro percursos de passagem de rede candidato que está incluído na pluralidade de percursos de passagem de rede candidatos inclui: identificar um primeiro nó e um segundo nó que são seleci- onados como nós candidatos para o primeiro percurso de passagem de rede candidato; determinar que um conjunto de múltiplos links diferentes seja estabelecido entre o primeiro nó e o segundo nó, cada um dos vários links diferentes conectando o primeiro nó com o segundo nó; com base nas informações de fluxo, determinar que um de-terminado link estabelecido entre o primeiro nó e o segundo nó provavelmente será usado para transmitir comunicações de rede do fluxo; e selecionar o link específico para inclusão no primeiro percurso de passagem de rede candidato; após de determinar a pluralidade de percursos de passagem de rede candidatos, determinar que uma entidade de rede particular é compartilhada entre pelo menos alguns da pluralidade de percursos de passagem de rede candidatos; após de determinar que a entidade de rede particular é compartilhada entre pelo menos alguns da pluralidade de percursos de passagem de rede candidatos, determinar que a entidade de rede particular é uma entidade de rede problemática ao analisar um limite de desempenho associado com a entidade de rede particular; e transmitir uma mensagem para pelo menos um nó vizinho à entidade de rede específica que faz com que pelo menos um nó reduza ou elimine o uso da entidade de rede específica ou pelo menos um fluxo roteado através da entidade de rede específica.
14. Sistema, de acordo com a reivindicação 13, caracterizado pelo fato de que ainda compreende: tomar ação de mitigação contra a entidade de rede específica.
15. Sistema, de acordo com a reivindicação 13, caracterizado pelo fato de que cada um da pluralidade de percursos de passagem de rede candidatos é um percurso de passagem de rede ante- cipado ou um percurso de passagem de rede real.
16. Sistema, de acordo com a reivindicação 13, caracterizado pelo fato de que a entidade de rede particular compreende um nó de trânsito na rede de computadores.
17. Sistema, de acordo com a reivindicação 13, caracterizado pelo fato de que a entidade particular de rede compreende um link de rede na rede de computadores.
18. Método implementado por computador para um nó final relatar sobre problemas de comunicação de rede, a fim de permitir maior funcionalidade de uma rede de computador, o método caracterizado pelo fato de que compreende: agrupar um fluxo de comunicações de rede, cada comunicação de rede no fluxo compartilhando uma ou mais características; receber informação de fluxo para o fluxo, a informação de fluxo compreendendo informação de desempenho e informação referente a uma ou mais características compartilhadas; usar a informação de fluxo para determinar uma pluralidade de percursos de passagem de rede candidatos para o fluxo, cada um da pluralidade de percursos de passagem de rede candidatos (1) originando em um mesmo primeiro ponto de extremidade, (2) terminando em um mesmo segundo ponto de extremidade, e (3) possuindo associado a ele uma probabilidade determinada de realmente ser atravessado pelas comunicações de rede do fluxo, em que determinar um primeiro percurso de passagem de rede candidato que está incluído na pluralidade de percursos de passagem de rede candidatos inclui: identificar um primeiro nó e um segundo nó que são selecionados como nós candidatos para o primeiro percurso de passagem de rede candidato; determinar que um conjunto de vários links diferentes seja estabelecido entre o primeiro nó e o segundo nó, cada um dos vários links diferentes conectando o primeiro nó com o segundo nó; com base nas informações de fluxo, determinar que um de-terminado link estabelecido entre o primeiro nó e o segundo nó provavelmente será usado para transmitir comunicações de rede do fluxo; e selecionar o link específico para inclusão no primeiro percurso de passagem de rede candidato; após determinar a pluralidade de percursos de passagem de rede candidatos, determinar que uma entidade de rede particular é compartilhada entre pelo menos alguns da pluralidade de percursos de passagem de rede candidatos; após determinar que a entidade de rede particular é compartilhada entre pelo menos alguns da pluralidade de percursos de passagem de rede candidatos, determinar que a entidade de rede particular é uma entidade de rede problemática ao analisar um limite de desempenho associado com a entidade de rede particular; e transmitir uma mensagem para pelo menos um nó vizinho à entidade de rede específica que faz com que pelo menos um nó reduza ou elimine o uso da entidade de rede específica ou pelo menos um fluxo roteado através da entidade de rede específica.
19. Método, de acordo com a reivindicação 18, caracterizado pelo fato de que a informação de desempenho inclui estatísticas de retransmissão para o fluxo.
20. Método, de acordo com a reivindicação 18, caracterizado pelo fato de que a informação de desempenho inclui estatísticas de latência para o fluxo.
21. Método implementado por computador, de acordo com a reivindicação 18, caracterizado pelo fato de que a transmissão da mensagem para o pelo menos um nó vizinho à entidade de rede particular faz com que o pelo menos um nó elimine o uso da entidade de rede particular.
22. Método implementado por computador, de acordo com a reivindicação 18, caracterizado pelo fato de que a transmissão da mensagem para o pelo menos um nó vizinho à entidade de rede particular faz com que o pelo menos um nó reduza o uso da entidade de rede particular.
BR112016026998-5A 2014-06-20 2015-06-19 Dispositivo de armazenamento de hardware de computador, sistema de computador e método implementado por computador para identificação de entidades candidatas de rede com problema BR112016026998B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/310,974 2014-06-20
US14/310,974 US10135704B2 (en) 2014-06-20 2014-06-20 Identification of candidate problem network entities
PCT/US2015/036557 WO2015196000A1 (en) 2014-06-20 2015-06-19 Identification of candidate problem network entities

Publications (3)

Publication Number Publication Date
BR112016026998A2 BR112016026998A2 (pt) 2017-08-15
BR112016026998A8 BR112016026998A8 (pt) 2021-07-13
BR112016026998B1 true BR112016026998B1 (pt) 2023-05-30

Family

ID=

Similar Documents

Publication Publication Date Title
Sultana et al. Flightplan: Dataplane disaggregation and placement for p4 programs
US10805185B2 (en) Detecting bug patterns across evolving network software versions
US10200279B1 (en) Tracer of traffic trajectories in data center networks
US10425320B2 (en) Methods, systems, and computer readable media for network diagnostics
CN107317695B (zh) 用于调试联网故障的方法、系统和装置
US7817564B2 (en) Method and system for handling fault messages in a network
US10778505B2 (en) System and method of evaluating network asserts
Song et al. NEOD: Network embedded on-line disaster management framework for software defined networking
Liang et al. On diagnosis of forwarding plane via static forwarding rules in software defined networks
US10764214B1 (en) Error source identification in cut-through networks
Ochoa-Aday et al. Self-healing and SDN: bridging the gap
EP3624401B1 (en) Systems and methods for non-intrusive network performance monitoring
CN112737871A (zh) 链路故障检测方法、装置、计算机设备及存储介质
CN112335207B (zh) 应用感知链路
Zopellaro Soares et al. SDN‐based teleprotection and control power systems: A study of available controllers and their suitability
Molero et al. Fast in-network gray failure detection for isps
US11477098B2 (en) Identification of candidate problem network entities
Tang et al. Intelligence enabled sdn fault localization via programmable in-band network telemetry
US20140325279A1 (en) Target failure based root cause analysis of network probe failures
Varga et al. Robustness and Reliability Provided by Deterministic Packet Networks (TSN and DetNet)
BR112016026998B1 (pt) Dispositivo de armazenamento de hardware de computador, sistema de computador e método implementado por computador para identificação de entidades candidatas de rede com problema
Muthumanikandan et al. Switch failure detection in software-defined networks
Marchetto et al. Final service provider devops concept and evaluation
Gao et al. UniROPE: Universal and robust packet trajectory tracing for software-defined networks
Zhang Failure Diagnosis for Datacenter Applications