BR102016024836B1 - METHOD AND APPARATUS FOR GENERATING NETWORK DEPENDENCIES - Google Patents

METHOD AND APPARATUS FOR GENERATING NETWORK DEPENDENCIES Download PDF

Info

Publication number
BR102016024836B1
BR102016024836B1 BR102016024836-1A BR102016024836A BR102016024836B1 BR 102016024836 B1 BR102016024836 B1 BR 102016024836B1 BR 102016024836 A BR102016024836 A BR 102016024836A BR 102016024836 B1 BR102016024836 B1 BR 102016024836B1
Authority
BR
Brazil
Prior art keywords
node
dependency
network
root
interrogation
Prior art date
Application number
BR102016024836-1A
Other languages
Portuguese (pt)
Other versions
BR102016024836A2 (en
Inventor
Na Li
Pavlo OSTASHENKOV
Karlo Martin Zatylny
Original Assignee
Solarwinds Worldwide, 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/920,557 external-priority patent/US10367710B2/en
Application filed by Solarwinds Worldwide, Llc filed Critical Solarwinds Worldwide, Llc
Publication of BR102016024836A2 publication Critical patent/BR102016024836A2/en
Publication of BR102016024836B1 publication Critical patent/BR102016024836B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies

Abstract

MÉTODO E APARELHO PARA GERAR DEPENDÊNCIAS DE REDE. Trata-se de um método e um aparelho que podem incluir determinar uma raiz. A raiz inclui um primeiro nó dentro de um agrupamento de nós de uma rede. O método pode incluir, ainda, gerar pelo menos uma dependência de rede entre a raiz e um segundo nó. A pelo menos uma dependência de rede gerada corresponde a uma conexão entre nós da rede. A pelo menos uma dependência de rede gerada corresponde a uma trajetória direcional do aparelho ao segundo nó. O método pode incluir interrogar o segundo nó. A interrogação ocorre através da pelo menos uma dependência de rede que foi gerada entre o aparelho e o segundo nó. O método pode incluir, ainda, determinar que o segundo nó é inalcançável. O método pode incluir, ainda, gerar alertas ativados referentes ao segundo nó inalcançável, caso qualquer um dos nós-pais do segundo nó seja determinado como alcançável pelo aparelho.METHOD AND APPARATUS FOR GENERATING NETWORK DEPENDENCIES. It is a method and apparatus that may include determining a root. The root includes a first node within a cluster of nodes in a network. The method may further include generating at least one network dependency between the root and a second node. The at least one generated network dependency corresponds to a connection between network nodes. The at least one generated network dependency corresponds to a directional trajectory from the device to the second node. The method may include interrogating the second node. The interrogation occurs through at least one network dependency that was generated between the device and the second node. The method may further include determining that the second node is unreachable. The method may also include generating activated alerts regarding the unreachable second node if any of the second node's parent nodes are determined to be reachable by the device.

Description

ANTECEDENTES:BACKGROUND: CAMPO:FIELD:

[0001] As modalidades da presente invenção referem-se à geração de dependências de rede para uma determinada topologia de rede.[0001] Embodiments of the present invention relate to generating network dependencies for a given network topology.

DESCRIÇÃO DA TÉCNICA RELACIONADA:DESCRIPTION OF THE RELATED TECHNIQUE:

[0002] Uma topologia de rede geralmente descreve um arranjo de elementos de rede dentro de uma rede. A topologia de rede da rede pode retratar a disposição dos elementos de rede, incluindo-se a localização do dispositivo e/ou a instalação das conexões entre os elementos de rede. Uma topologia de rede pode ilustrar, ainda, como os dados são transmitidos entre os diferentes elementos de rede dentro da rede.[0002] A network topology generally describes an arrangement of network elements within a network. The network topology of the network can depict the arrangement of network elements, including the location of the device and/or the installation of connections between network elements. A network topology can further illustrate how data is transmitted between different network elements within the network.

DESCRIÇÃO RESUMIDA:SHORT DESCRIPTION:

[0003] De acordo com uma primeira modalidade, um método pode incluir determinar, através de uma máquina de interrogação, uma raiz. A raiz pode incluir um primeiro nó dentro de um agrupamento de nós de uma rede. O método pode incluir, ainda, gerar pelo menos uma dependência de rede entre a raiz e um segundo nó. A pelo menos uma dependência de rede gerada corresponde a uma conexão entre nós da rede. A pelo menos uma dependência de rede gerada corresponde a uma trajetória direcional da máquina de interrogação ao segundo nó. O método pode incluir, ainda, interrogar o segundo nó. A interrogação ocorre através da pelo menos uma dependência de rede que foi gerada entre a máquina de interrogação e o segundo nó. O método pode incluir, ainda, determinar que o segundo nó é inalcançável. O método pode incluir, ainda, gerar alertas ativados referentes ao segundo nó inalcançável, caso qualquer um dos nós-pais do segundo nó seja determinado como alcançável pela máquina de interrogação.[0003] According to a first embodiment, a method may include determining, through an interrogation machine, a root. The root may include a first node within a cluster of nodes in a network. The method may further include generating at least one network dependency between the root and a second node. The at least one generated network dependency corresponds to a connection between network nodes. The at least one generated network dependency corresponds to a directional trajectory from the interrogation machine to the second node. The method may also include interrogating the second node. The interrogation occurs through at least one network dependency that was generated between the interrogating machine and the second node. The method may further include determining that the second node is unreachable. The method may further include generating activated alerts regarding the unreachable second node if any of the second node's parent nodes are determined to be reachable by the interrogation machine.

[0004] No método da primeira modalidade, a determinação da raiz pode incluir determinar a raiz com base em pelo menos uma dentre uma definição de usuário e informações locais da máquina de interrogação.[0004] In the method of the first embodiment, determining the root may include determining the root based on at least one of a user definition and local information of the interrogating machine.

[0005] No método da primeira modalidade, pelo menos uma dependência manualmente adicionada foi adicionada entre a máquina de interrogação e o segundo nó.[0005] In the method of the first embodiment, at least one manually added dependency was added between the interrogation machine and the second node.

[0006] No método da primeira modalidade, a pelo menos uma dependência manualmente adicionada prevalece sobre pelo menos uma dependência automaticamente gerada.[0006] In the method of the first embodiment, the at least one manually added dependency prevails over the at least one automatically generated dependency.

[0007] No método da primeira modalidade, a pelo menos uma dependência automaticamente gerada não está em conflito com a pelo menos uma dependência manualmente adicionada.[0007] In the method of the first embodiment, the at least one automatically generated dependency is not in conflict with the at least one manually added dependency.

[0008] De acordo com uma segunda modalidade, um aparelho pode incluir pelo menos um processador. O aparelho pode incluir, ainda, pelo menos uma memória que inclui um código de programa de computador. A pelo menos uma memória e o código de programa de computador podem ser configurados, com o pelo menos um processador, para fazer com que o aparelho pelo menos determine uma raiz. A raiz pode incluir um primeiro nó dentro de um agrupamento de nós de uma rede. O aparelho também pode ser forçado a gerar pelo menos uma dependência de rede entre a raiz e um segundo nó. A pelo menos uma dependência de rede gerada corresponde a uma conexão entre nós da rede. A pelo menos uma dependência de rede gerada corresponde a uma trajetória direcional do aparelho ao segundo nó. O aparelho pode ser forçado, ainda, a interrogar o segundo nó. A interrogação ocorre através da pelo menos uma dependência de rede que foi gerada entre o aparelho e o segundo nó. O aparelho pode ser forçado, ainda, a determinar que o segundo nó é inalcançável. O aparelho pode ser forçado, ainda, a gerar alertas ativados referentes ao segundo nó inalcançável, caso qualquer um dos nós-pais do segundo nó seja determinado como alcançável pelo aparelho.[0008] According to a second embodiment, an apparatus may include at least one processor. The apparatus may further include at least one memory that includes computer program code. The at least one memory and computer program code may be configured, with the at least one processor, to cause the apparatus to at least determine a root. The root may include a first node within a cluster of nodes in a network. The device can also be forced to generate at least one network dependency between the root and a second node. The at least one generated network dependency corresponds to a connection between network nodes. The at least one generated network dependency corresponds to a directional trajectory from the device to the second node. The device can also be forced to interrogate the second node. The interrogation occurs through at least one network dependency that was generated between the device and the second node. The device may also be forced to determine that the second node is unreachable. The device may also be forced to generate activated alerts regarding the second unreachable node, if any of the parent nodes of the second node are determined to be reachable by the device.

[0009] No aparelho da segunda modalidade, a determinação da raiz pode incluir determinar a raiz com base em pelo menos uma dentre uma definição de usuário e informações locais do aparelho.[0009] In the apparatus of the second embodiment, determining the root may include determining the root based on at least one of a user definition and local information of the apparatus.

[0010] No aparelho da segunda modalidade, pelo menos uma dependência manualmente adicionada foi adicionada entre o aparelho e o segundo nó.[0010] In the apparatus of the second embodiment, at least one manually added dependency has been added between the apparatus and the second node.

[0011] No aparelho da segunda modalidade, a pelo menos uma dependência manualmente adicionada prevalece sobre pelo menos uma dependência automaticamente gerada.[0011] In the apparatus of the second embodiment, the at least one manually added dependency prevails over the at least one automatically generated dependency.

[0012] No aparelho da segunda modalidade, a pelo menos uma dependência automaticamente gerada não está em conflito com a pelo menos uma dependência manualmente adicionada.[0012] In the apparatus of the second embodiment, the at least one automatically generated dependency is not in conflict with the at least one manually added dependency.

[0013] De acordo com uma terceira modalidade, um produto de programa de computador pode ser incorporado em uma mídia não transitória legível por computador. O produto de programa de computador pode ser configurado para controlar um processador para realizar um método que inclui determinar, através de uma máquina de interrogação, uma raiz. A raiz pode incluir um primeiro nó dentro de um agrupamento de nós de uma rede. O método pode incluir, ainda, gerar pelo menos uma dependência de rede entre a raiz e um segundo nó. A pelo menos uma dependência de rede gerada corresponde a uma conexão entre nós da rede e a pelo menos uma dependência de rede gerada corresponde a uma trajetória direcional da máquina de interrogação ao segundo nó. O método pode incluir, ainda, interrogar o segundo nó. A interrogação ocorre através da pelo menos uma dependência de rede que foi gerada entre a máquina de interrogação e o segundo nó. O método pode incluir, ainda, determinar que o segundo nó é inalcançável. O método pode incluir, ainda, gerar alertas ativados referentes ao segundo nó inalcançável, caso qualquer um dos nós-pais do segundo nó seja determinado como alcançável pela máquina de interrogação.[0013] According to a third embodiment, a computer program product may be embedded in a non-transitory computer-readable medium. The computer program product may be configured to control a processor to perform a method including determining, via an interrogation machine, a root. The root may include a first node within a cluster of nodes in a network. The method may further include generating at least one network dependency between the root and a second node. The at least one generated network dependency corresponds to a connection between network nodes and the at least one generated network dependency corresponds to a directional trajectory from the interrogation machine to the second node. The method may also include interrogating the second node. The interrogation occurs through at least one network dependency that was generated between the interrogating machine and the second node. The method may further include determining that the second node is unreachable. The method may further include generating activated alerts regarding the unreachable second node if any of the second node's parent nodes are determined to be reachable by the interrogation machine.

[0014] No produto de programa de computador da terceira modalidade, a determinação da raiz pode incluir determinar a raiz com base em pelo menos uma dentre uma definição de usuário e informações locais da máquina de interrogação.[0014] In the computer program product of the third embodiment, determining the root may include determining the root based on at least one of a user definition and local information of the interrogating machine.

[0015] No produto de programa de computador da terceira modalidade, pelo menos uma dependência manualmente adicionada foi adicionada entre a máquina de interrogação e o segundo nó.[0015] In the computer program product of the third embodiment, at least one manually added dependency has been added between the interrogation machine and the second node.

[0016] No produto de programa de computador da terceira modalidade, a pelo menos uma dependência manualmente adicionada prevalece sobre pelo menos uma dependência automaticamente gerada.[0016] In the computer program product of the third embodiment, the at least one manually added dependency takes precedence over the at least one automatically generated dependency.

[0017] No produto de programa de computador da terceira modalidade, a pelo menos uma dependência automaticamente gerada não está em conflito com a pelo menos uma dependência manualmente adicionada.[0017] In the computer program product of the third embodiment, the at least one automatically generated dependency is not in conflict with the at least one manually added dependency.

BREVE DESCRIÇÃO DOS DESENHOS:BRIEF DESCRIPTION OF THE DRAWINGS:

[0018] Para o entendimento apropriado da invenção, deve ser feita referência aos desenhos anexos, em que:[0018] For a proper understanding of the invention, reference should be made to the attached drawings, in which:

[0019] A Figura 1 ilustra uma topologia de rede exemplificativa que inclui uma máquina de interrogação, de acordo com determinadas modalidades da presente invenção.[0019] Figure 1 illustrates an exemplary network topology that includes an interrogation machine, in accordance with certain embodiments of the present invention.

[0020] A Figura 2 ilustra trajetórias entre máquinas de interrogação e nós de rede, de acordo com determinadas modalidades da presente invenção.[0020] Figure 2 illustrates trajectories between interrogation machines and network nodes, according to certain embodiments of the present invention.

[0021] A Figura 3(a) ilustra a determinação de um nó central/raiz e uma dependência de um agrupamento, de acordo com determinadas modalidades da presente invenção.[0021] Figure 3(a) illustrates the determination of a central/root node and a dependency of a cluster, according to certain embodiments of the present invention.

[0022] A Figura 3(b) ilustra a determinação de raízes para cada agrupamento/grupo de nós, de acordo com determinadas modalidades.[0022] Figure 3(b) illustrates the determination of roots for each cluster/group of nodes, according to certain modalities.

[0023] A Figura 3(c) ilustra um procedimento exemplificativo para calcular uma raiz para um agrupamento, de acordo com determinadas modalidades.[0023] Figure 3(c) illustrates an exemplary procedure for calculating a root for a cluster, according to certain embodiments.

[0024] A Figura 3(d) ilustra a determinação de uma raiz a partir de informações locais de interrogador, de acordo com determinadas modalidades.[0024] Figure 3(d) illustrates the determination of a root from local interrogator information, according to certain embodiments.

[0025] A Figura 4 ilustra um processo de geração automática de dependências, ao mesmo tempo em que se evita a geração de uma dependência que esteja em conflito com uma dependência definida por usuário.[0025] Figure 4 illustrates a process of automatically generating dependencies, while avoiding the generation of a dependency that conflicts with a user-defined dependency.

[0026] A Figura 5 ilustra a armazenamento de dependências geradas em uma tabela, de acordo com determinadas modalidades da presente invenção.[0026] Figure 5 illustrates the storage of dependencies generated in a table, according to certain embodiments of the present invention.

[0027] A Figura 6 ilustra a remoção de entradas que correspondem às dependências, de acordo com determinadas modalidades da presente invenção.[0027] Figure 6 illustrates the removal of entries that correspond to dependencies, according to certain embodiments of the present invention.

[0028] A Figura 7 ilustra uma interface que permite que um usuário ignore uma dependência gerada automaticamente, de acordo com determinadas modalidades da presente invenção.[0028] Figure 7 illustrates an interface that allows a user to ignore an automatically generated dependency, in accordance with certain embodiments of the present invention.

[0029] A Figura 8 ilustra uma interface que permite que um usuário ative ou desative um método de geração automática de dependências, de acordo com determinadas modalidades da presente invenção.[0029] Figure 8 illustrates an interface that allows a user to activate or deactivate a method of automatic dependency generation, in accordance with certain embodiments of the present invention.

[0030] A Figura 9 ilustra uma interface exemplificativa que permite que um usuário gerencie diferentes dependências que foram configuradas por usuário e que foram geradas automaticamente, de acordo com determinadas modalidades da presente invenção.[0030] Figure 9 illustrates an exemplary interface that allows a user to manage different dependencies that have been configured per user and that have been automatically generated, in accordance with certain embodiments of the present invention.

[0031] A Figura 10 ilustra uma árvore de dependência exemplificativa, de acordo com determinadas modalidades da presente invenção.[0031] Figure 10 illustrates an exemplary dependency tree, in accordance with certain embodiments of the present invention.

[0032] A Figura 11 ilustra um processo para calcular uma topologia e determinar uma autodependência, de acordo com determinadas modalidades da invenção.[0032] Figure 11 illustrates a process for calculating a topology and determining a self-dependency, according to certain embodiments of the invention.

[0033] A Figura 12 ilustra o cálculo de dependências de um agrupamento, para um determinado interrogador, de acordo com determinadas modalidades da invenção.[0033] Figure 12 illustrates the calculation of dependencies of a grouping, for a given interrogator, according to certain embodiments of the invention.

[0034] A Figura 13 ilustra um fluxograma de um método de acordo com determinadas modalidades da invenção.[0034] Figure 13 illustrates a flowchart of a method according to certain embodiments of the invention.

[0035] A Figura 14 ilustra um aparelho de acordo com determinadas modalidades da invenção.[0035] Figure 14 illustrates an apparatus according to certain embodiments of the invention.

[0036] A Figura 15 ilustra um aparelho de acordo com determinadas modalidades da invenção.[0036] Figure 15 illustrates an apparatus according to certain embodiments of the invention.

DESCRIÇÃO DETALHADA:DETAILED DESCRIPTION:

[0037] Determinadas modalidades da presente invenção podem ser direcionadas a um método e um aparelho para gerar dependências dentre nós de uma determinada topologia de rede. Gerar uma dependência geralmente se refere a determinar e/ou averiguar um relacionamento entre pelo menos dois nós de uma rede, em que um nó é dependente de pelo menos um outro nó. Em outras palavras, uma dependência gerada pode ser uma conexão de nó-a-nó dentro da topologia de rede. Uma topologia de rede geralmente se refere a uma representação de como os nós de uma rede são conectados entre si. Determinadas modalidades podem gerar dependências automaticamente para uma determinada topologia de rede, sem a necessidade de qualquer entrada de usuário adicional. Determinadas modalidades podem gerar as dependências automaticamente aplicando-se um algoritmo em uma determinada topologia de rede. Com determinadas modalidades, um usuário pode definir um agrupamento/grupo de nós, em que as dependências existem entre os nós do agrupamento/grupo. Determinadas modalidades podem ser direcionadas, ainda, a determinar um nó de raiz de cada agrupamento/grupo de nós, conforme descrito em mais detalhes abaixo. Determinadas modalidades podem gerar as dependências automaticamente dentro de cada agrupamento/grupo e podem garantir que não existam conflitos e inconsistências dentro das dependências geradas.[0037] Certain embodiments of the present invention may be directed to a method and apparatus for generating dependencies among nodes of a given network topology. Generating a dependency generally refers to determining and/or ascertaining a relationship between at least two nodes in a network, where one node is dependent on at least one other node. In other words, a generated dependency can be a node-to-node connection within the network topology. A network topology generally refers to a representation of how nodes in a network are connected to each other. Certain embodiments may automatically generate dependencies for a given network topology without requiring any additional user input. Certain embodiments can generate dependencies automatically by applying an algorithm to a given network topology. With certain embodiments, a user may define a cluster/group of nodes, where dependencies exist between the nodes of the cluster/group. Certain embodiments may also be directed to determining a root node of each cluster/group of nodes, as described in more detail below. Certain modalities can automatically generate dependencies within each cluster/group and can guarantee that there are no conflicts and inconsistencies within the generated dependencies.

[0038] Dispositivos de rede, tais como máquinas de interrogação, podem se comunicar com os nós dentro da rede. Uma máquina de interrogação pode se comunicar com o nó para determinar o estado do nó, para determinar características de operação do nó e/ou para determinar a disponibilidade do nó, por exemplo. À medida que dependências são geradas, as dependências geradas podem corresponder a uma trajetória determinada/averiguada entre uma máquina de interrogação e um nó relevante. A máquina de interrogação pode usar a trajetória para alcançar o nó relevante.[0038] Network devices, such as interrogation machines, can communicate with nodes within the network. An interrogation machine may communicate with the node to determine the state of the node, to determine operating characteristics of the node, and/or to determine the availability of the node, for example. As dependencies are generated, the generated dependencies may correspond to a determined/ascertained trajectory between an interrogation machine and a relevant node. The interrogation machine can use the trajectory to reach the relevant node.

[0039] A Figura 1 ilustra uma topologia de rede exemplificativa 100 que inclui uma máquina de interrogação 110. Conforme descrito acima, uma máquina de interrogação geralmente realiza uma verificação do estado dos dispositivos de rede para determinar a condição dos dispositivos de rede e/ou realiza uma verificação para determinar se os dispositivos de rede ainda estão em comunicação com a rede. A topologia de rede 100 pode incluir uma pluralidade de agrupamentos (151, 152 e 153). Cada agrupamento pode corresponder a uma porção diferente da rede geral. Um agrupamento pode ser um agrupamento de quartel general, enquanto outro agrupamento pode ser um agrupamento de ramificação. Determinadas conexões/dispositivos podem não ser imediatamente evidentes. Por exemplo, a linha tracejada 140 indica que os dispositivos de rede/conexões entre o quartel general e as ramificações não são visíveis na topologia 100. Os dispositivos de rede entre o quartel general e as ramificações podem não ser monitorados pelas máquinas de interrogação, visto que um usuário pode não ter acesso às mesmas. O usuário pode não ter acesso aos dispositivos de rede entre o quartel general e as ramificações visto que um provedor de serviço pode estar no controle de tais dispositivos de rede. Os nós podem ser conectados dentro de cada agrupamento, embora possa não haver uma conexão visível entre os próprios agrupamentos.[0039] Figure 1 illustrates an exemplary network topology 100 that includes an interrogation machine 110. As described above, an interrogation machine generally performs a state check of network devices to determine the condition of the network devices and/or performs a check to determine whether network devices are still communicating with the network. Network topology 100 may include a plurality of clusters (151, 152, and 153). Each cluster may correspond to a different portion of the overall network. One cluster might be a headquarters cluster, while another cluster might be a branch cluster. Certain connections/devices may not be immediately evident. For example, the dashed line 140 indicates that the network devices/connections between the headquarters and branches are not visible in topology 100. The network devices between the headquarters and branches may not be monitored by the interrogation machines, as that a user may not have access to them. The user may not have access to network devices between headquarters and branches as a service provider may be in control of such network devices. Nodes can be connected within each cluster, although there may not be a visible connection between the clusters themselves.

[0040] A Figura 2 ilustra trajetórias entre máquinas de interrogação e nós de rede, de acordo com determinadas modalidades. Conforme descrito acima, na geração automática de dependências, o processo de geração pode determinar uma trajetória que uma máquina de interrogação pode seguir para alcançar um nó de rede. Por exemplo, a máquina de interrogação 210 pode seguir uma trajetória para alcançar o nó 250. A trajetória que é seguida por diferentes máquinas de interrogação (210, 220) para alcançar um determinado nó pode ser diferente. Por exemplo, a trajetória da máquina de interrogação 210 para alcançar nó 250 é diferente da trajetória da máquina de interrogação 220 para alcançar o nó 250. Sendo assim, determinadas modalidades podem determinar uma trajetória para cada máquina de interrogação para alcançar cada nó de rede.[0040] Figure 2 illustrates trajectories between interrogation machines and network nodes, according to certain embodiments. As described above, in automatic dependency generation, the generation process can determine a trajectory that an interrogation machine can follow to reach a network node. For example, interrogation machine 210 may follow a trajectory to reach node 250. The trajectory that is followed by different interrogation machines (210, 220) to reach a particular node may be different. For example, the trajectory of interrogation machine 210 to reach node 250 is different from the trajectory of interrogation machine 220 to reach node 250. Therefore, certain embodiments may determine a trajectory for each interrogation machine to reach each network node.

[0041] Sendo assim, na determinação de uma trajetória entre uma máquina de interrogação e um determinado nó, cada dependência gerada (entre dois nós, por exemplo) pode ser uma etapa direcional na trajetória. pode haver múltiplas trajetórias de uma máquina de interrogação a um determinado nó de rede.[0041] Therefore, when determining a trajectory between an interrogation machine and a given node, each dependency generated (between two nodes, for example) can be a directional step in the trajectory. There can be multiple trajectories from an interrogation machine to a given network node.

[0042] Um tipo de relacionamento de dependência entre dois nós é relacionamento entre um nó-pai e um nó-filho, em que o nó-filho é dependente do nó-pai. Referindo-se novamente à Figura 2, um nó-pai 240 tem uma pluralidade de nós-filhos (nó 250 e nó 260). No caso em que o nó- pai 240 está inativo (tal como quando o nó-pai 240 não pode ser alcançado ou comunicado através da rede), um nó-filho 250 do pai 240 pode continuar a ser interrogado pela rede. Ou seja, a máquina de interrogação 210 ainda pode tentar se comunicar com o nó-filho 250. Visto que o nó-filho 250 também parece estar inativo (como quando o nó-filho 250 é inalcançável pela máquina de interrogação 210 como resultado do nó-pai 240 realmente estar inativo), as máquinas de interrogação podem ativar alertas de rede para indicar que o nó-filho 250 está inativo. As máquinas de interrogação podem gerar os alertas e uma interface de usuário (UI) pode exibir os alertas a um usuário. O usuário pode utilizar um navegador de web ou uma ferramenta especial (tal como uma Central de Alerta, por exemplo) para visualizar os alertas. No caso de uma máquina de interrogação não conseguir alcançar o nó-filho 250, as dependências associadas do nó-filho são examinadas e os grupos ou nós- pais do nó-filho são derivados a partir das dependências examinadas. Em seguida, se todos os nós-pais do nó-filho estiverem inativos, determinadas modalidades determinam que o estado do nó 250 é inalcançável. Se os alertas foram configurados para serem gerados quando um estado de nó muda para inativo, nenhum alerta será gerado pela máquina de interrogação se o estado do nó 250 for determinado como inalcançável, conforme descrito acima. Se as dependências não forem determinadas, sempre que a máquina de interrogação não conseguir alcançar o nó 250, o estado do nó 250 será considerado como inativo. Sob essa condição, se os alertar forem configurados para serem gerados quando um estado de nó muda para inativo, então tais alertas serão gerados pela máquina de interrogação.[0042] One type of dependency relationship between two nodes is the relationship between a parent node and a child node, in which the child node is dependent on the parent node. Referring again to Figure 2, a parent node 240 has a plurality of child nodes (node 250 and node 260). In the case where the parent node 240 is inactive (such as when the parent node 240 cannot be reached or communicated over the network), a child node 250 of the parent 240 may continue to be interrogated by the network. That is, the interrogation machine 210 may still attempt to communicate with the child node 250. Since the child node 250 also appears to be inactive (such as when the child node 250 is unreachable by the interrogation machine 210 as a result of the node -parent 240 actually being down), the interrogating machines may activate network alerts to indicate that the child node 250 is down. The interrogation machines can generate the alerts and a user interface (UI) can display the alerts to a user. The user can use a web browser or a special tool (such as an Alert Center, for example) to view the alerts. In the event that an interrogation machine is unable to reach child node 250, the associated dependencies of the child node are examined and the groups or parent nodes of the child node are derived from the examined dependencies. Next, if all parent nodes of the child node are down, certain embodiments determine that the state of node 250 is unreachable. If alerts have been configured to be generated when a node state changes to inactive, no alerts will be generated by the interrogation machine if the state of node 250 is determined to be unreachable, as described above. If the dependencies are not determined, whenever the interrogation machine cannot reach node 250, the state of node 250 will be considered as down. Under this condition, if alerts are configured to be generated when a node state changes to inactive, then such alerts will be generated by the interrogation machine.

[0043] Entretanto, no caso em que um nó-filho está inalcançável devido ao estado inativo do nó-pai correspondente, os alertas ativados que se referem ao nó-filho devem ser ignorados, visto que o problema reside no nó- pai. Com determinadas modalidades, gerar/ativar alertar pode incluir duas etapas. A primeira etapa é determinar o estado de nó do nó-filho. A segunda etapa é gerar um alerta quando as condições para geração do alerta forem atendidas. Há pelo menos duas maneiras de lidar com alertas. Com uma primeira maneira de lidar com alertas, os únicos alertas que são gerados são alertas destinados a serem visualizados pelo usuário. Com essa abordagem, conforme especificado acima, quando o nó 250 não pode ser alcançado por uma máquina de interrogação e todos os nós-pais dos mesmos estiverem inativos, o estado de nó do mesmo é inalcançável. Portanto, nenhum alerta é gerado para esse nó inalcançável, visto que a condição para geração do alerta é um estado de nó que está inativo. Quando um estado de nó muda para inalcançável, a condição para geração do alerta não foi satisfeita e, assim, nenhum alerta é gerado. Com uma segunda maneira de lidar com alertas, o alerta é primeiramente gerado e, em seguida, o alerta gerado é ignorado caso o usuário não precise visualizar o alerta gerado. É possível gerar um alerta quando a máquina de interrogação não consegue alcançar o nó 250, e então ignorar o alerta quando um processamento adicional indica que todos os nós-pais do nó 250 estão inativos. Em tal caso em que alguns alertas gerados devem ser ignorados, os alertas ativados que se referem ao nó-filho devem ser ignorados pelas máquinas de interrogação a fim de evitar a inundação da rede com alertas ativados. As máquinas de interrogação também devem evitar ativar alertas de rede para o nó-filho.[0043] However, in the case where a child node is unreachable due to the inactive state of the corresponding parent node, activated alerts that refer to the child node must be ignored, since the problem resides in the parent node. With certain embodiments, generating/activating alert may include two steps. The first step is to determine the node state of the child node. The second step is to generate an alert when the conditions for generating the alert are met. There are at least two ways to handle alerts. With a first way of handling alerts, the only alerts that are generated are alerts intended to be viewed by the user. With this approach, as specified above, when node 250 cannot be reached by an interrogation machine and all of its parent nodes are down, its node state is unreachable. Therefore, no alert is generated for this unreachable node, since the condition for alert generation is a node state that is down. When a node state changes to unreachable, the condition for alert generation has not been satisfied and thus no alert is generated. With a second way of handling alerts, the alert is first generated and then the generated alert is ignored if the user does not need to view the generated alert. It is possible to generate an alert when the interrogation machine cannot reach node 250, and then ignore the alert when further processing indicates that all of node 250's parent nodes are down. In such a case where some generated alerts must be ignored, the activated alerts that refer to the child node must be ignored by the interrogation machines in order to avoid flooding the network with activated alerts. Interrogation machines should also avoid triggering network alerts for the child node.

[0044] Um nó-pai pode ser um nó central (tal como, por exemplo, um roteador de borda). Conforme descrito acima, quando um nó central de uma rede está inativo, uma máquina de interrogação pode não ter a capacidade de alcançar/se comunicar com os nós que são configurados atrás (isto é, que são configurados para serem dependentes) do nó central inativo.[0044] A parent node may be a central node (such as, for example, a border router). As described above, when a central node of a network is down, an interrogation machine may not have the ability to reach/communicate with nodes that are configured behind (i.e., that are configured to be dependent on) the inactive central node. .

[0045] Conforme descrito acima, alertas ativados que se referem aos nós que são configurados atrás do nó central inativo devem ser ignorados pelas máquinas de interrogação, a fim de evitar uma abundância de alertas. Sendo assim, determinadas modalidades podem primeiramente identificar os nós dependentes identificando-se os nós que são configurados atrás do nó central. Determinadas modalidades podem, então, gerar alertas apenas para o nó central, em vez de gerar alertas para todos os nós que são configurados atrás do nó central.[0045] As described above, activated alerts that refer to nodes that are configured behind the inactive central node should be ignored by the interrogation machines in order to avoid an abundance of alerts. Therefore, certain embodiments may first identify dependent nodes by identifying nodes that are configured behind the central node. Certain embodiments may then generate alerts only for the central node, rather than generating alerts for all nodes that are configured behind the central node.

[0046] Neste contexto, quando um nó é inalcançável, determinadas modalidades podem determinar todos os pais desse nó inalcançável com base nas dependências que são conhecidas pela máquina de interrogação (ou seja, máquina de interrogação que é atribuída ao nó inalcançável). Se qualquer um dos pais (do nó) está ativo/alcançável, então o estado do nó inalcançável é considerado como “inativo.” Por outro lado, se todos os pais estiverem inativos, então o estado do nó será considerado meramente “inalcançável,” e alertas ativados de tal nó podem ser ignorados. Com outras modalidades determinadas, se todos os pais estiverem inativos para um nó inalcançável, então nenhum alerta é gerado para o nó inalcançável.[0046] In this context, when a node is unreachable, certain embodiments may determine all parents of that unreachable node based on dependencies that are known by the interrogation machine (i.e., interrogation machine that is assigned to the unreachable node). If any of the parents (of the node) are active/reachable, then the state of the unreachable node is considered as “inactive.” On the other hand, if all parents are down, then the state of the node will be considered merely “unreachable,” and alerts activated from such a node may be ignored. With other given embodiments, if all parents are down for an unreachable node, then no alert is generated for the unreachable node.

[0047] Determinadas modalidades podem realizar/executar um algoritmo a fim de gerar automaticamente dependências de rede sob demanda, ou de acordo com um intervalo regular de modo que as dependências geradas estejam atualizadas. Determinadas modalidades podem permitir, ainda, que o usuário adicione manualmente as dependências. Embora a configuração manual de dependências seja tipicamente tediosa, e embora a configuração manual tipicamente não possa ser adaptada de maneira apropriada a uma topologia de rede variável, determinadas modalidades da presente invenção podem fornecer um método eficiente para implantar uma configuração manual. Especificamente, determinadas modalidades podem integrar um funcionalidade que automaticamente gera dependências juntamente com uma funcionalidade em que um usuário configura as dependências. Com determinadas modalidades, as dependências que são definidas por usuário/configuradas por usuário podem prevalecer sobre dependências que são geradas automaticamente.[0047] Certain embodiments may perform/execute an algorithm in order to automatically generate network dependencies on demand, or according to a regular interval so that the generated dependencies are up to date. Certain modalities may also allow the user to manually add dependencies. Although manual configuration of dependencies is typically tedious, and although manual configuration typically cannot be appropriately adapted to a variable network topology, certain embodiments of the present invention can provide an efficient method for implementing manual configuration. Specifically, certain embodiments may integrate functionality that automatically generates dependencies along with functionality in which a user configures the dependencies. With certain embodiments, dependencies that are user-defined/user-configured may override dependencies that are automatically generated.

[0048] Mediante a geração de dependências, conforme descrito acima, determinadas modalidades podem suprimir determinados alertas, podem derivar grupos baseados em topologia e podem relatar disponibilidade de nó. Em relação à derivação de grupos baseados em topologia, um usuário pode querer definir um grupo que contém todos os nós que dependem direta ou indiretamente (recursivamente) de um nó específico. Com dependências determinadas automaticamente (isto é, “autodependência”), determinadas modalidades podem determinar todas as dependências para as quais esse nó é um pai, direta ou recursivamente, e então todos os filhos naquelas dependências estão nesse grupo. Um usuário pode atribuir permissões de acesso a esse grupo a uma conta, ou definir condições de alerta com base no estado do grupo, por exemplo. Isso permite que o usuário gerenciar os dispositivos de rede no nível do grupo, em vez de fazer isso no nível do nó. Conforme descrito acima, as dependências geradas podem ser usadas para determinar um estado de nó apropriado (isto é, com referência a se o estado do nó é “ativo” ou meramente “inalcançável”).[0048] By generating dependencies as described above, certain embodiments can suppress certain alerts, can derive groups based on topology, and can report node availability. Regarding the derivation of topology-based groups, a user may want to define a group that contains all nodes that depend directly or indirectly (recursively) on a specific node. With automatically determined dependencies (i.e., “self-dependency”), certain embodiments can determine all dependencies for which that node is a parent, either directly or recursively, and then all children in those dependencies are in that group. A user can assign access permissions to that group to an account, or set alert conditions based on the state of the group, for example. This allows the user to manage network devices at the group level, rather than at the node level. As described above, the generated dependencies can be used to determine an appropriate node state (i.e., with reference to whether the node state is “active” or merely “unreachable”).

[0049] Os algoritmos de determinadas modalidades podem lidar com um cenário com uma pluralidade de máquinas de interrogação.[0049] Algorithms of certain embodiments can handle a scenario with a plurality of interrogation machines.

[0050] Cada nó pode ser atribuído a máquinas de interrogação diferentes, e a atribuição entre os nós e as máquinas de interrogação podem mudar com o tempo. A qualquer momento, um nó é geralmente atribuído a uma única máquina de interrogação. Geralmente não é possível que o usuário atribua mais de uma máquina de interrogação para interrogar dados a partir de um determinado nó. Em um momento diferente, o usuário pode mudar a configuração e permitir que outra máquina de interrogação interrogue o nó determinado.[0050] Each node may be assigned to different interrogation machines, and the assignment between nodes and interrogation machines may change over time. At any given time, a node is generally assigned to a single interrogation machine. It is generally not possible for the user to assign more than one interrogation machine to interrogate data from a given node. At a different time, the user can change the configuration and allow another interrogation machine to interrogate the given node.

[0051] A Figura 3(a) ilustra a determinação de uma raiz/ nó central e uma dependência de um agrupamento, de acordo com determinadas modalidades. As conexões da topologia podem ser uma entrada dos cálculos de determinadas modalidades, e as dependências autogeradas podem ser a saída. Determinadas modalidades podem determinar agrupamentos de nó, em que os nós dentro de um agrupamento são conectados. Determinadas modalidades podem, na etapa 310, determinar o nó de raiz de cada agrupamento. Para cada máquina de interrogação, determinadas modalidades podem determinar o nó de raiz de cada agrupamento. O nó de raiz pode corresponder a um nó do qual outros nós do agrupamento são dependentes, tal como um nó-pai, por exemplo. Os nós de raiz podem então ser salvos dentro de uma tabela de Raiz de Autodependência. A fim de determinar o nó de raiz de um agrupamento, o processo de geração automática de dependências pode primeiramente determinar um nó que está mais próximo de uma máquina de interrogação particular, o qual é então determinado como a raiz do agrupamento. O processo pode, então, construir/gerar dependências dentro de cada agrupamento, com início no nó de raiz determinado. Em outras palavras, determinadas modalidades podem determinar uma trajetória a partir do nó de raiz determinado até os outros nós no agrupamento. As dependências podem, então, ser salvas dentro de uma tabela de Dependências, conforme descrito em mais detalhes abaixo.[0051] Figure 3(a) illustrates the determination of a central root/node and a dependency on a cluster, according to certain modalities. Topology connections can be an input to the calculations of certain modalities, and autogenerated dependencies can be the output. Certain embodiments may determine node clusters, in which nodes within a cluster are connected. Certain embodiments may, in step 310, determine the root node of each cluster. For each interrogation machine, certain embodiments can determine the root node of each cluster. The root node may correspond to a node on which other nodes in the cluster are dependent, such as a parent node, for example. The root nodes can then be saved within an Auto-Dependency Root table. In order to determine the root node of a cluster, the automatic dependency generation process may first determine a node that is closest to a particular interrogation machine, which is then determined as the root of the cluster. The process can then build/generate dependencies within each cluster, starting at the given root node. In other words, certain embodiments may determine a trajectory from the given root node to other nodes in the cluster. Dependencies can then be saved within a Dependencies table, as described in more detail below.

[0052] Em relação às dependências configuradas manualmente, determinadas modalidades podem permitir que usuários ajustem manualmente as dependências adicionando-se dependências que estão faltando na coleção de dependências geradas. Determinadas modalidades podem também corrigir dependências autogeradas erradas. Por exemplo, se as conexões da topologia estão erradas por qualquer razão (em que, por exemplo, o nó 1 não está conectado ao nó 2, mas os dados da topologia mostram que o nó 1 está conectado ao nó 2), então as dependências autogeradas podem estar erradas, ou a direção da dependência pode estar errada. O usuário pode corrigir isso adicionando-se dependências definidas por usuário. Os usuários podem, também, ignorar dependências indesejadas. Com determinadas modalidades, o usuário pode ajustar os cálculos realizados pelo processo de geração automática para: (1) permitir que dependências configuradas por usuário tenham primazia sobre dependências geradas automaticamente e/ou (2) para evitar a geração de laços de dependência cíclicas entre as dependências do usuário e as entradas geradas automaticamente. Um laço de dependência cíclica corresponde a uma série de dependências em que cada nó depende de outro nó na mesma série de dependências.[0052] Regarding manually configured dependencies, certain embodiments may allow users to manually adjust dependencies by adding dependencies that are missing from the collection of generated dependencies. Certain modalities can also correct erroneous autogenerated dependencies. For example, if the topology connections are wrong for any reason (where, for example, node 1 is not connected to node 2, but the topology data shows that node 1 is connected to node 2), then the dependencies self-generated values may be wrong, or the direction of the dependency may be wrong. The user can fix this by adding user-defined dependencies. Users can also ignore unwanted dependencies. With certain embodiments, the user can adjust the calculations performed by the automatic generation process to: (1) allow user-configured dependencies to take precedence over automatically generated dependencies and/or (2) to avoid the generation of cyclic dependency loops between the user dependencies and automatically generated entries. A cyclic dependency loop corresponds to a series of dependencies in which each node depends on another node in the same series of dependencies.

[0053] A Figura 3(b) ilustra a determinação de raízes para cada agrupamento/grupo de nós, de acordo com determinadas modalidades. Em primeiro lugar, determinadas modalidades podem determinar um grupo/agrupamento de nós. Um agrupamento pode incluir nós que são conectados entre si com base em uma topologia. Pode não haver qualquer conexão (conforme refletido pela topologia) entre um nó em um agrupamento e outro nó em um agrupamento diferente. Em segundo lugar, determinadas modalidades podem determinar a raiz para cada agrupamento de acordo com o seguinte processo (assim que uma raiz é determinada, o processamento pode parar). Determinadas modalidades podem determinar uma raiz definida por usuário para um agrupamento determinado. Por exemplo, determinadas modalidades podem obter uma raiz a partir de uma tabela de Protocolo de Resolução de Endereço (ARP). Determinadas modalidades podem, ainda, obter a raiz a partir de uma passagem padrão de uma máquina de interrogação. Durante a determinação da raiz de um agrupamento particular, determinadas modalidades podem traçar uma rota da máquina de interrogação a um nó no agrupamento. O nó que está mais próximo da máquina de interrogação pode ser determinado como sendo a raiz do agrupamento. Por exemplo, referindo-se à Figura 1, o Interrogador 1 pode estar na sede, e determinadas modalidades podem determinar a raiz para o Interrogador 1 no agrupamento “Filial B.” O Interrogador 1 pode emitir uma rota de localização ao Nó 10, e a trajetória da rota de localização pode incluir “Interrogador1, Nó 1, Nó 2, Nó 8, Nó 9, Nó 10”. Sendo assim, o Nó 8 pode ser a raiz para Interrogador 1 no agrupamento “Filial B,” visto que o Nó 8 é o nó mais próximo do interrogador 1, de dentro do “Filial B”.[0053] Figure 3(b) illustrates the determination of roots for each cluster/group of nodes, according to certain modalities. Firstly, certain modalities can determine a group/cluster of nodes. A cluster can include nodes that are connected to each other based on a topology. There may not be any connection (as reflected by the topology) between a node in one cluster and another node in a different cluster. Second, certain embodiments may determine the root for each cluster according to the following process (once a root is determined, processing may stop). Certain embodiments may determine a user-defined root for a given grouping. For example, certain embodiments may obtain a root from an Address Resolution Protocol (ARP) table. Certain embodiments can also obtain the root from a standard pass of an interrogation machine. During determination of the root of a particular cluster, certain embodiments may trace a route from the interrogation machine to a node in the cluster. The node that is closest to the interrogation machine can be determined to be the root of the cluster. For example, referring to Figure 1, Interrogator 1 may be at headquarters, and certain embodiments may determine the root for Interrogator 1 in the cluster “Branch B.” Interrogator 1 may issue a location route to Node 10, and the trajectory of the location route may include “Interrogator1, Node 1, Node 2, Node 8, Node 9, Node 10”. Therefore, Node 8 can be the root for Interrogator 1 in the “Branch B” cluster, since Node 8 is the closest node to Interrogator 1, within “Branch B”.

[0054] A Figura 3(c) ilustra um procedimento exemplificativo para calcular uma raiz para um agrupamento, de acordo com determinadas modalidades. Em primeiro lugar, determinadas modalidades podem determinar os interrogadores de uma topologia a partir de uma lista de interrogadores. Em seguida, determinadas modalidades podem determinar um interrogador para processar a partir da lista de interrogadores. Determinadas modalidades podem processar um interrogador que interroga um agrupamento com mais de um nó dentro do agrupamento. Se houver uma raiz definida por usuário para o interrogador no agrupamento, então a raiz definida por usuário pode ser determinada como sendo a raiz para esse interrogador nesse agrupamento. Se não há qualquer raiz definida por usuário, então determinadas modalidades podem determinar uma raiz do agrupamento com uso de informações locais a partir do interrogador. Conforme descrito acima, determinadas modalidades podem, ainda, usar uma rota de localização para determinar uma raiz do agrupamento.[0054] Figure 3(c) illustrates an exemplary procedure for calculating a root for a cluster, according to certain embodiments. First, certain embodiments may determine the interrogators of a topology from a list of interrogators. Next, certain embodiments may determine an interrogator to process from the list of interrogators. Certain embodiments may process an interrogator that interrogates a cluster with more than one node within the cluster. If there is a user-defined root for the interrogator in the cluster, then the user-defined root can be determined to be the root for that interrogator in that cluster. If there is no user-defined root, then certain embodiments may determine a cluster root using local information from the interrogator. As described above, certain embodiments may further use a location route to determine a cluster root.

[0055] A Figura 3(d) ilustra determinar uma raiz a partir de informações locais do interrogador, de acordo com determinadas modalidades. Em primeiro lugar, nós que são vizinhos de um interrogador podem ser determinados a parir da tabela de ARP do interrogador. Em seguida, se os nós vizinhos forem monitorados pelos interrogadores, determinadas modalidades determinam o nó vizinho que é monitorado e que tem a maior parte das conexões com outros nós monitorados. Esse nó vizinho pode ser considerado a raiz para o interrogador. Alternativamente, se uma passagem padrão for monitorada por um interrogador, então a passagem padrão pode ser considerada a raiz para o interrogador.[0055] Figure 3(d) illustrates determining a root from local information from the interrogator, according to certain modalities. First, nodes that are neighbors of an interrogator can be determined from the interrogator's ARP table. Next, if neighboring nodes are monitored by the interrogators, certain embodiments determine the neighboring node that is monitored and that has the most connections to other monitored nodes. This neighboring node can be considered the root for the interrogator. Alternatively, if a standard pass is monitored by an interrogator, then the standard pass can be considered the root for the interrogator.

[0056] A Figura 4 ilustra um processo de geração automática de dependências, ao mesmo tempo em que evita a geração de dependências que estejam em conflito com a dependência definida pelo usuário. No caso de um usuário definir um nó 420 como sendo dependente do nó 410, então o processo de geração automática de determinadas modalidades evitaria a duplicação dessa dependência definida pelo usuário. Referindo-se à Figura 4, supondo-se que o Nó 3 seja estabelecido como um nó dependente do Nó 1 (uma dependência é estabelecida entre o Nó 3 e o Nó 1), então determinadas modalidades evitarão a geração de uma dependência entre um Nó 2 e o Nó 3. A dependência entre o Nó 2 e o Nó 3 é evitada visto que o Nó 3 já é alcançável através da dependência com o Nó 1. Além disso, o processo de geração automática de determinadas modalidades também evitaria a geração de uma dependência que está em conflito com a dependência definida por usuário. Por exemplo, referindo-se novamente à Figura 4, se o Nó 1 for determinado como sendo dependente do Nó 2, então determinadas modalidades evitarão a geração de um dependência em que o Nó 2 é dependente do Nó 1.[0056] Figure 4 illustrates a process of automatically generating dependencies, while avoiding the generation of dependencies that conflict with the user-defined dependency. In the event that a user defines a node 420 as being dependent on node 410, then the process of automatically generating certain embodiments would avoid duplication of this user-defined dependency. Referring to Figure 4, assuming that Node 3 is established as a dependent node on Node 1 (a dependency is established between Node 3 and Node 1), then certain embodiments will avoid generating a dependency between a Node 2 and Node 3. The dependency between Node 2 and Node 3 is avoided since Node 3 is already reachable through the dependency on Node 1. Furthermore, the automatic generation process of certain modalities would also avoid the generation of a dependency that conflicts with the user-defined dependency. For example, referring back to Figure 4, if Node 1 is determined to be dependent on Node 2, then certain embodiments will avoid generating a dependency in which Node 2 is dependent on Node 1.

[0057] Determinadas modalidades podem garantir que nenhum laço de dependência cíclica seja formado dentro das dependências. Determinadas modalidades podem, ainda, minimizar o número de dependências geradas, mantendo-se apenas aquelas dependências que são úteis/relevante a uma máquina de interrogação em uma passagem única. Uma passagem única pode geralmente significar que um nó é processado apenas uma vez para gerar as dependências e minimizar o número de dependências. A alternativa é primeiramente processar o nó determinado para gerar as dependências. Quando o processamento para todos os nós estiver concluído, então o mesmo nó é processado novamente para remover as dependências que não são úteis, para minimizar o número de dependência. A alternativa pode exigir duas-passagens e pode exigir a manutenção de todas as dependências geradas na memória (o que pode resultar em um requisito alto de memória) ou o armazenamento das dependências geradas em um banco de dados e em seguida remoção das mesmas, o que pode causar atualizações substanciais de banco de dados e pode causar problemas de desempenho. Os detalhes do processamento de passagem única é descrito abaixo. As dependências podem ser determinadas como sendo úteis/relevante, conforme descrito em mais detalhes abaixo.[0057] Certain embodiments can ensure that no cyclic dependency loops are formed within the dependencies. Certain modalities can also minimize the number of dependencies generated, keeping only those dependencies that are useful/relevant to an interrogation machine in a single pass. A single pass can generally mean that a node is processed only once to generate the dependencies and minimize the number of dependencies. The alternative is to first process the given node to generate the dependencies. When the processing for all nodes is completed, then the same node is processed again to remove the dependencies which are not useful, to minimize the number of dependency. The alternative may require two passes and may require keeping all generated dependencies in memory (which may result in a high memory requirement) or storing the generated dependencies in a database and then removing them, which which can cause substantial database updates and can cause performance issues. Details of single-pass processing are described below. Dependencies can be determined to be useful/relevant, as described in more detail below.

[0058] Uma dependência pode ser determinada como sendo útil/ relevante a uma máquina de interrogação se a dependência estiver dentro de uma trajetória que conecta a máquina de interrogação a um nó que é atribuído a essa máquina de interrogação. A dependência não é útil/relevante a uma máquina de interrogação se nenhum dos filhos da dependência (e/ou os filhos recursivos da dependência) for um nó que é atribuído à máquina de interrogação. Se a dependência não for útil/relevante à máquina de interrogação, então a dependência pode ser removida com segurança. Quando um nó não responde a uma solicitação de interrogação da máquina de interrogação atribuída do mesmo, a dependência removida não será usada para determinar se o nó está inativo ou inalcançável devido a um pai inativo.[0058] A dependency can be determined to be useful/relevant to an interrogation machine if the dependency is within a path that connects the interrogation machine to a node that is assigned to that interrogation machine. The dependency is not useful/relevant to an interrogation machine if none of the dependency's children (and/or the dependency's recursive children) is a node that is assigned to the interrogation machine. If the dependency is not useful/relevant to the interrogation machine, then the dependency can be safely removed. When a node does not respond to an interrogation request from its assigned interrogation machine, the removed dependency will not be used to determine whether the node is down or unreachable due to an inactive parent.

[0059] Quando cada dependência é gerada, a dependência pode ou não ser útil. Sendo assim, uma dependência gerada pode precisar ser armazenada até que todos os filhos da dependência tenham sido processados, ou até que um dos filhos seja atribuído à máquina de interrogação relevante. Sendo assim, uma dependência gerada pode precisar ser mantida na memória. A utilidade ou não de uma dependência gerada pode ser desconhecida até que todos os filhos (que são atribuídos a essa máquina de interrogação e são filhos do nó-pai da dependência) tenham sido processado, ou até que um dos filhos seja atribuído à máquina de interrogação relevante. Determinadas modalidades podem determinar quando toso os filhos de um nó-pai foram processados, visto que determinadas modalidades podem rastrear quantos nós atribuídos a essa máquina de interrogação dentro desse agrupamento foram processados, e determinadas modalidades podem saber o número total de nós nesse agrupamento que são atribuídos a essa máquina de interrogação. Depois que todos os filhos de uma dependência são processados, determinadas modalidades podem então averiguar se algum dos filhos é atribuído a uma máquina de interrogação determinada, e assim pode determinar se a dependência é útil para a máquina de interrogação determinada. Quando um dos filhos é determinado para ser atribuído à máquina de interrogação relevante, a dependência pode ser determinada como sendo útil. Se todos os filhos da dependência foram processados, e nenhum dos filhos é determinado para ser atribuído à máquina de interrogação relevante, então dependência pode ser determinada como não sendo útil.[0059] When each dependency is generated, the dependency may or may not be useful. Therefore, a generated dependency may need to be stored until all of the dependency's children have been processed, or until one of the children is assigned to the relevant interrogation machine. Therefore, a generated dependency may need to be kept in memory. The usefulness or otherwise of a generated dependency may be unknown until all of the children (which are assigned to this query machine and are children of the dependency's parent node) have been processed, or until one of the children is assigned to the query machine. relevant question. Certain embodiments can determine when all the children of a parent node have been processed, since certain embodiments can track how many nodes assigned to that interrogation machine within that cluster have been processed, and certain embodiments can know the total number of nodes in that cluster that are assigned to this interrogation machine. After all children of a dependency are processed, certain embodiments can then ascertain whether any of the children are assigned to a given interrogation machine, and thus can determine whether the dependency is useful for the given interrogation machine. When one of the children is determined to be assigned to the relevant interrogation machine, the dependency can be determined to be useful. If all children of the dependency have been processed, and none of the children are determined to be assigned to the relevant interrogation machine, then dependency may be determined to be not useful.

[0060] Neste contexto, determinadas modalidades podem calcular/gerar as dependências dentro de um agrupamento para uma determinada máquina de interrogação, e determinadas modalidades podem calcular/ gerar o nó de raiz no agrupamento.[0060] In this context, certain embodiments can calculate/generate the dependencies within a cluster for a given interrogation machine, and certain embodiments can calculate/generate the root node in the cluster.

[0061] Determinadas modalidades podem realizar filtragem com base em uma entrada futura. Determinadas modalidades podem integrar uma trajetória de camada 2 e de camada 3 para gerar dependências que são muito semelhantes às realidades da rede. Uma conexão de Camada2 mostra mais detalhes de como os nós são conectados, mas os nós não são contínuos. A Camada3 mostra menos detalhes sobre como os nós são conectados, mas os mesmos são contínuos em um agrupamento. Por exemplo, na Figura 2, uma conexão de Camada2 mostra que o Nó 3 é conectado ao Nó 4 e o Nó 4 é conectado ao Nó 5. A conexão de Camada2 não mostra que o Nó 1 é conectado ao Nó 3, visto que tanto o Nó 1 quanto o Nó 3 são roteadores. A conexão de Camada3 apenas mostra que o Nó 3 é conectado ao Nó 5 diretamente visto que o Nó 4 é um comutador e não é visível na conexão de Camada3. A trajetória real do Nó 3 ao Nó 5 é do Nó 3 ao Nó 4 e então ao Nó 5. A Figura 12 mostra como construir toda a trajetória com uso tanto de conexões de Camada2 quanto de conexões de Camada3.[0061] Certain embodiments may perform filtering based on future input. Certain embodiments can integrate a Layer 2 and Layer 3 trajectory to generate dependencies that are very similar to network realities. A Layer2 connection shows more details of how the nodes are connected, but the nodes are not continuous. Layer3 shows less detail about how nodes are connected, but they are continuous in a cluster. For example, in Figure 2, a Layer2 connection shows that Node 3 is connected to Node 4 and Node 4 is connected to Node 5. The Layer2 connection does not show that Node 1 is connected to Node 3, since both Both Node 1 and Node 3 are routers. The Layer3 connection only shows that Node 3 is connected to Node 5 directly since Node 4 is a switch and is not visible in the Layer3 connection. The actual trajectory from Node 3 to Node 5 is from Node 3 to Node 4 and then to Node 5. Figure 12 shows how to construct the entire trajectory using both Layer2 and Layer3 connections.

[0062] Determinadas modalidades podem automaticamente lidar com uma situação em que a rede é uma rede descontínua. Uma rede descontínua pode geralmente se referir a uma rede que não é inteiramente acessível/controlável para um usuário. Uma porção da rede pode não ser inteiramente acessível/controlável para o usuário visto que a porção pode ser controlada por um provedor de serviço, por exemplo. Para lidar com uma situação em que a rede é uma rede descontínua, determinadas modalidades podem encontrar uma raiz para cada máquina de interrogação e cada agrupamento, conforme descrito acima. A Figura 5 ilustra o armazenamento de dependências geradas em uma tabela 510. Mediante a ativação da geração automática de dependências, as dependências (511, 512, 513, 514, etc.) podem ser geradas imediatamente. As dependências recém geradas podem aparecer em uma tabela 510 (tal como, por exemplo, uma tabela de Dependências Orion). Mediante a desativação da geração automática de dependências, as dependências que foram geradas anteriormente podem ser removidas imediatamente da tabela de Dependências Orion. Quando os parâmetros são mudados para desativa ou ativar a geração automática de dependências, a mudança dos parâmetros pode disparar um evento de auditoria.[0062] Certain embodiments can automatically handle a situation in which the network is a discontinuous network. A discontinuous network can generally refer to a network that is not entirely accessible/controllable by a user. A portion of the network may not be entirely accessible/controllable to the user as the portion may be controlled by a service provider, for example. To deal with a situation where the network is a discontinuous network, certain embodiments may find a root for each interrogation machine and each cluster, as described above. Figure 5 illustrates the storage of generated dependencies in a table 510. Upon enabling automatic dependency generation, dependencies (511, 512, 513, 514, etc.) can be generated immediately. The newly generated dependencies may appear in a table 510 (such as, for example, an Orion Dependencies table). By disabling automatic dependency generation, dependencies that were previously generated can be immediately removed from the Orion Dependencies table. When parameters are changed to disable or enable automatic dependency generation, changing the parameters may trigger an audit event.

[0063] A Figura 6 ilustra a remoção de entradas de dependências, de acordo com determinadas modalidades da presente invenção. Determinadas modalidades podem permitir que um usuário gerencie as dependências que são geradas automaticamente. Determinadas modalidades podem não permitir que o usuário edite nem permitir que o usuário delete dependências que são geradas automaticamente. Entretanto, o usuário pode ignorar determinadas dependências. As entradas ignoradas (tal como a entrada 611) pode ser removida da tabela de Dependências Orion 610. O usuário pode decidir se uma entrada autogerada deve ser ignorada (não mostrada na tabela de Dependências). Por exemplo, o usuário pode decidir ignorar uma entrada autogerada se o usuário sabe que tal dependência não existe. Por exemplo, o usuário pode saber que o Nó 4 não está conectado ao Nó 5, mas a topologia pode estar errada, e a topologia incorreta pode incluir uma conexão entre o Nó4 e Nó5. Em seguida, quando a Autodependência gera a entrada 611, o usuário pode corrigir esse problema ignorando a entrada 611. Se houver uma conexão entre o Nó 4 e o Nó5 que indica que o Nó 5 depende do Nó 4, mas o Nó 4 na verdade depende do Nó5, então o usuário pode corrigir esse problema adicionado uma dependência configurada por usuário (em que o pai é Nó 5, e o filho é o Nó 4). A entrada 611 pode ser ignorada visto que a entrada pode corresponder a uma dependência que é uma duplicação da dependência 612. A dependência que é ignorada não afetará os estados dos nós relacionados à dependência ignorada. As dependências ignoradas podem ser mostradas sob uma aba “Gerenciar Dependências Ignoradas” 730 da Figura 7, por exemplo.[0063] Figure 6 illustrates the removal of dependency entries, according to certain embodiments of the present invention. Certain embodiments may allow a user to manage dependencies that are automatically generated. Certain embodiments may not allow the user to edit nor allow the user to delete dependencies that are automatically generated. However, the user can ignore certain dependencies. Ignored entries (such as entry 611) can be removed from the Orion 610 Dependency table. The user can decide whether an autogenerated entry should be ignored (not shown in the Dependency table). For example, the user may decide to ignore an autogenerated input if the user knows that no such dependency exists. For example, the user may know that Node 4 is not connected to Node 5, but the topology may be wrong, and the incorrect topology may include a connection between Node4 and Node5. Then, when AutoDependency generates entry 611, the user can correct this problem by ignoring entry 611. If there is a connection between Node 4 and Node5 that indicates that Node 5 depends on Node 4, but Node 4 actually depends on Node5, so the user can fix this problem by adding a user-configured dependency (where the parent is Node 5, and the child is Node 4). Entry 611 may be ignored as the entry may correspond to a dependency that is a duplication of dependency 612. The dependency that is ignored will not affect the states of nodes related to the ignored dependency. Ignored dependencies can be shown under a “Manage Ignored Dependencies” tab 730 in Figure 7, for example.

[0064] A Figura 7 ilustra uma interface 710 que permite que um usuário ignore a dependência gerada automaticamente. A interface 710 permite que o usuário gerencie dependências. A interface 710 pode incluir uma janela 720 que permite que um usuário ignore uma ou mais dependências geradas automaticamente.[0064] Figure 7 illustrates an interface 710 that allows a user to ignore the automatically generated dependency. Interface 710 allows the user to manage dependencies. Interface 710 may include a window 720 that allows a user to ignore one or more automatically generated dependencies.

[0065] A Figura 8 ilustra uma interface 810 que permite que um usuário ative ou desative um método de geração automática de dependências, de acordo com determinadas modalidades. Com determinadas modalidades, o processo de geração automática de dependências pode ser ativado ou desativado por um usuário com direitos de administrator. O usuário pode ativar/desativar a funcionalidade através de uma página de Definição de Interrogação/página de Gerenciamento de Dependências, por exemplo.[0065] Figure 8 illustrates an interface 810 that allows a user to activate or deactivate a method of automatic dependency generation, according to certain embodiments. With certain embodiments, the automatic dependency generation process can be enabled or disabled by a user with administrator rights. The user can enable/disable the functionality via a Query Definition page/Dependency Management page, for example.

[0066] Com determinadas modalidades, a geração automática de dependências pode ser ativada se a topologia de rede permitir a geração automática de dependências. Determinadas modalidades podem permitir que um usuário remova as dependências ignoradas autogeradas. Entretanto, com resultado da remoção das dependências ignoradas autogeradas, essas dependências autogeradas podem ser readicionadas/relistadas na Tabela de Dependências Orion mediante a realização de um processo de cálculo/geração subsequente, e as dependências ignoradas autogeradas podem então se tornar ativas novamente.[0066] With certain embodiments, automatic generation of dependencies may be enabled if the network topology allows automatic generation of dependencies. Certain embodiments may allow a user to remove autogenerated ignored dependencies. However, as a result of removing the auto-generated ignored dependencies, these auto-generated dependencies can be re-added/re-listed in the Orion Dependency Table by performing a subsequent calculation/generation process, and the auto-generated ignored dependencies can then become active again.

[0067] Com determinadas modalidades, um evento de auditoria pode ser gerado quando o usuário ignora as dependências geradas automaticamente ou quando o usuário remove uma dependência gerada automaticamente ignorada. Um exemplo do evento de auditoria refere-se à criação de um evento para a ação e à adição do mesmo ao registro de evento. Assim, o usuário pode visualizar e registrar eventos e observar as ações que mudaram as dependências. Portanto, a ação pode ser gravada no histórico e pode ser auditada posteriormente.[0067] With certain embodiments, an audit event may be generated when the user ignores automatically generated dependencies or when the user removes an ignored automatically generated dependency. An example of the audit event is creating an event for the action and adding it to the event log. Thus, the user can view and record events and observe the actions that changed the dependencies. Therefore, the action can be recorded in history and can be audited later.

[0068] Em relação à funcionalidade de dependências geradas automaticamente, as seguintes informações de configuração podem ser armazenadas em um banco de dados como segue. Em primeiro lugar, uma entrada pode indicar se uma funcionalidade de geração automática está ou não ativada. A entrada (tal como “SWNetPerfMon-Settings- AutoDependency”) pode ser ativada ou desativada.[0068] Regarding the functionality of automatically generated dependencies, the following configuration information may be stored in a database as follows. First, an entry can indicate whether or not an auto-generate feature is enabled. The entry (such as “SWNetPerfMon-Settings-AutoDependency”) can be enabled or disabled.

[0069] Cada uma das dependências pode ser armazenada com alguns ou todos os parâmetros seguintes. Um parâmetro de cada dependência pode ser um parâmetro “Autogerenciado”. Esse parâmetro pode indicar se a dependência/entrada correspondente foi gerada automaticamente (isto é, em que o parâmetro é definido como “verdadeiro”) ou se a dependência/entrada correspondente foi definida por usuário/manualmente (isto é, em que o parâmetro é definido como “falso”).[0069] Each of the dependencies can be stored with some or all of the following parameters. One parameter of each dependency can be a “Self-Managed” parameter. This parameter can indicate whether the corresponding dependency/entry was generated automatically (i.e., where the parameter is set to “true”) or whether the corresponding dependency/entry was user/manually defined (i.e., where the parameter is set to “false”).

[0070] Outro parâmetro de cada dependência pode ser um parâmetro de “ID de Máquina”. Esse parâmetro pode indicar a máquina de interrogação com a qual a dependência é associada. Com determinadas modalidades, as dependências definidas por usuário podem ser associadas a todas as máquinas de interrogação. Uma dependência gerada automaticamente pode geralmente ser associada a uma máquina de interrogação.[0070] Another parameter of each dependency may be a “Machine ID” parameter. This parameter can indicate the query engine with which the dependency is associated. With certain embodiments, user-defined dependencies can be associated with all interrogation machines. An automatically generated dependency can generally be associated with an interrogation machine.

[0071] Outro parâmetro para cada dependência pode ser um parâmetro de “categoria”. Esse parâmetro pode indicar o tipo de dependência.[0071] Another parameter for each dependency may be a “category” parameter. This parameter can indicate the type of dependency.

[0072] Determinados outros parâmetros pode ser adicionados para cada dependência, por razões de desempenho. Esses outros parâmetros podem incluir ParentEntityType, que indica um tipo de entidade de um nó-pai da dependência. Outro parâmetro pode incluir ParentNetObjectID, que indica um identificador do objeto pai da dependência. Outro parâmetro pode incluir ChildEntityType, que indica um tipo de entidade de um nó-filho da dependência. Outro parâmetro pode incluir ChildNetObjectID, que indica um identificador do objeto filho da dependência.[0072] Certain other parameters may be added to each dependency for performance reasons. These other parameters can include ParentEntityType, which indicates an entity type of a dependency's parent node. Another parameter may include ParentNetObjectID, which indicates an identifier of the dependency's parent object. Another parameter may include ChildEntityType, which indicates an entity type of a child node of the dependency. Another parameter may include ChildNetObjectID, which indicates an identifier for the dependency's child object.

[0073] Com determinadas modalidades, uma nova tabela pode ser uma tabela de “Raiz de Autodependência”. Essa tabela pode ser usada durante o cálculo de dependências. Essa tabela pode conter o nó de raiz que é calculado para cada máquina de interrogação e agrupamento. Determinadas modalidades podem incluir, ainda, uma tabela de “Autodependências Deletadas”. Essa tabela pode conter as dependências ignoradas autogeradas.[0073] With certain embodiments, a new table may be a “Self-Dependency Root” table. This table can be used when calculating dependencies. This table can contain the root node that is calculated for each interrogation and clustering machine. Certain modalities may also include a table of “Deleted Autodependencies”. This table can contain the autogenerated ignored dependencies.

[0074] A Figura 9 ilustra uma interface exemplificativa 910 que permite que um usuário gerencie as diferentes dependências que foram configuradas por usuário e que foram gerenciadas automaticamente. Cada entrada 911, 912, 913 da interface 910 pode corresponder a uma dependência diferente. Uma janela instantânea 915 pode ilustrar as características de operação/disponibilidade de cada nó dependente de cada dependência.[0074] Figure 9 illustrates an exemplary interface 910 that allows a user to manage the different dependencies that have been configured per user and that have been managed automatically. Each entry 911, 912, 913 of interface 910 may correspond to a different dependency. A snapshot window 915 may illustrate the operation/availability characteristics of each node dependent on each dependency.

[0075] A Figura 10 ilustra uma árvore de dependência exemplificativa. Com determinadas modalidades, um usuário pode visualizar as dependências que foram geradas usando-se a árvore de dependência visualizada. O usuário pode então determinar se algumas das dependências geradas automaticamente devem ser ignoradas. Cada entrada dentro da árvore de dependência exemplificativa pode corresponder a uma dependência, e cada entrada pode incluir um nome/identificador da dependência, o nó-pai da dependência e o nó-filho da dependência.[0075] Figure 10 illustrates an exemplary dependency tree. With certain embodiments, a user can view the dependencies that have been generated using the visualized dependency tree. The user can then determine whether some of the automatically generated dependencies should be ignored. Each entry within the exemplary dependency tree may correspond to a dependency, and each entry may include a dependency name/identifier, the dependency's parent node, and the dependency's child node.

[0076] A Figura 11 ilustra um processo para o cálculo de uma topologia e para a determinação de uma autodependência, de acordo com determinadas modalidades da invenção. Na etapa 1, o usuário pode disparar o cálculo (tal como um cálculo sob demanda, por exemplo) ou um temporizador pode disparar o cálculo (tal como um cálculo periódico, por exemplo). Na etapa 2, a topologia pode ser calculada e as conexões da topologia podem ser armazenadas na tabela de Conexões de Topologia. Na etapa 3, as dependências podem ser calculadas automaticamente com base nas conexões da topologia geradas a partir da etapa 2.[0076] Figure 11 illustrates a process for calculating a topology and determining a self-dependency, according to certain embodiments of the invention. In step 1, the user can trigger the calculation (such as an on-demand calculation, for example) or a timer can trigger the calculation (such as a periodic calculation, for example). In step 2, the topology can be calculated and the topology connections can be stored in the Topology Connections table. In step 3, dependencies can be automatically calculated based on the topology connections generated from step 2.

[0077] A Figura 12 ilustra o cálculo das dependências de um agrupamento, para um determinado interrogador, de acordo com determinadas modalidades da invenção. Conforme descrito acima, determinadas modalidades podem integrar uma trajetória de uma camada 2 e de uma camada 3 para gerar dependências que são muito semelhantes às realidades da rede. A Figura 12 mostra o fluxo de processamento para uma determinada máquina de interrogação e agrupamento, e mostra como combinar as conexões de camada 2 e de camada 3 para gerar dependências detalhadas para formar uma trajetória da máquina de interrogação para todos os nós em um agrupamento. O cálculo é iniciado a partir da raiz do agrupamento para uma determinada máquina de interrogação. Todos os nós que são diretamente conectados à raiz são filhos da mesma. As dependências que usam conexões de camada2 são calculadas primeiramente de maneira recursiva para N etapas (o valor padrão de N pode ser 3 etapas, por exemplo). Então as dependências que usam conexões de camada3 são calculadas. Se um nó puder ser alcançado por dependências derivadas da camada2, nenhuma dependência será derivada da camada3 para alcançar tal nó. Por exemplo, na Figura 2, com base na conexão de camada 2, o Nó 3 tem um nó-filho 4 (AutoDep-1-3-4-2) e o Nó 4 tem um nó- filho 5 (AutoDep-1-4-5-3). Então, com base na conexão de camada 3, o Nó 3 tem o nó-filho 5 (AutoDep-1-3-5-2, essa dependência pode ser ignorada visto que a máquina de interrogação pode alcançar o Nó 5 através do Nó 4 com o uso de uma dependência derivada da camada 2). As dependências de camada 2 pode prevalecer sobre as dependências de camada 3 visto que a camada 2 fornece mais detalhes da conectividade.[0077] Figure 12 illustrates the calculation of the dependencies of a grouping, for a given interrogator, according to certain embodiments of the invention. As described above, certain embodiments can integrate a Layer 2 and a Layer 3 trajectory to generate dependencies that are very similar to network realities. Figure 12 shows the processing flow for a given interrogation and cluster machine, and shows how to combine layer-2 and layer-3 connections to generate detailed dependencies to form a trajectory from the interrogation machine to all nodes in a cluster. The calculation is started from the cluster root for a given interrogation machine. All nodes that are directly connected to the root are its children. Dependencies using layer2 connections are first calculated recursively for N steps (the default value of N might be 3 steps, for example). Then dependencies using layer3 connections are calculated. If a node can be reached by dependencies derived from layer2, no dependencies will be derived from layer3 to reach that node. For example, in Figure 2, based on the layer 2 connection, Node 3 has a child node 4 (AutoDep-1-3-4-2) and Node 4 has a child node 5 (AutoDep-1- 4-5-3). Then, based on the layer 3 connection, Node 3 has child node 5 (AutoDep-1-3-5-2, this dependency can be ignored since the interrogation machine can reach Node 5 through Node 4 using a dependency derived from layer 2). Layer 2 dependencies can take precedence over Layer 3 dependencies since Layer 2 provides more connectivity details.

[0078] A condição que verifica o número de nós processados para esse interrogador busca minimizar o número de dependências quando todos os nós atribuídos a essa máquina de interrogação são processados, e mais nenhuma dependência útil pode ser gerada.[0078] The condition that checks the number of nodes processed for this interrogator seeks to minimize the number of dependencies when all nodes assigned to this interrogation machine are processed, and no more useful dependencies can be generated.

[0079] A Figura 13 ilustra um fluxograma de um método de acordo com determinadas modalidades da invenção. O método ilustrado na Figura 13 inclui, em 1310, determinar, através de uma máquina de interrogação, uma raiz. A raiz compreende um primeiro nó dentro de um agrupamento de nós de uma rede. O método pode incluir, ainda, em 1320, gerar pelo menos uma dependência de rede entre a raiz e um segundo nó. A pelo menos uma dependência de rede gerada corresponde a uma conexão entre nós da rede. A pelo menos uma dependência de rede gerada corresponde a uma trajetória direcional da máquina de interrogação ao segundo nó. O método pode incluir, ainda, em 1330, interrogar o segundo nó. A interrogação ocorre através da pelo menos uma dependência de rede que foi gerada entre a máquina de interrogação e o segundo nó. O método pode incluir, ainda, em 1340, determinar que o segundo nó é inalcançável. Com determinadas modalidades, o segundo nó interrogado pode ser determinado como sendo inalcançável após s máquina de interrogação enviar uma solicitação e não receber uma resposta antes que o tempo esgotado ocorra. O método pode incluir, ainda, em 1350, gerar alertas ativados referentes ao segundo nó inalcançável, caso qualquer um dos nós-pais do segundo nó seja determinado como alcançável pela máquina de interrogação. Determinadas modalidades não geram alertas relacionados ao nó interrogado inalcançável, se nenhum dos nós-pais do nó-pai for alcançável.[0079] Figure 13 illustrates a flowchart of a method according to certain embodiments of the invention. The method illustrated in Figure 13 includes, at 1310, determining, via an interrogation machine, a root. The root comprises a first node within a group of nodes in a network. The method may further include, at 1320, generating at least one network dependency between the root and a second node. The at least one generated network dependency corresponds to a connection between network nodes. The at least one generated network dependency corresponds to a directional trajectory from the interrogation machine to the second node. The method may further include, at 1330, interrogating the second node. The interrogation occurs through at least one network dependency that was generated between the interrogating machine and the second node. The method may further include, at 1340, determining that the second node is unreachable. With certain embodiments, the second interrogated node may be determined to be unreachable after the interrogating machine sends a request and does not receive a response before the timeout occurs. The method may further include, at 1350, generating activated alerts regarding the unreachable second node if any of the second node's parent nodes are determined to be reachable by the interrogation machine. Certain embodiments do not generate alerts related to the unreachable interrogated node if none of the parent nodes of the parent node are reachable.

[0080] A Figura 14 ilustra um aparelho de acordo com determinadas modalidades da invenção. Em uma modalidade, o aparelho pode ser um nó de rede configurado para realizar as funções de uma máquina de interrogação, por exemplo. A máquina de interrogação pode ser um servidor. A máquina de interrogação pode ou não ser um dispositivo de rede. A máquina de interrogação pode ser um hospedeiro final. A máquina de interrogação pode realizar a função de determinar as dependências de rede. Se houver múltiplas máquinas de interrogação no sistema, apenas uma máquina de interrogação pode precisar calcular as dependências para todo o sistema, uma vez que a máquina de interrogação tenha determinado a topologia de todo o sistema.[0080] Figure 14 illustrates an apparatus according to certain embodiments of the invention. In one embodiment, the apparatus may be a network node configured to perform the functions of an interrogation machine, for example. The interrogation machine can be a server. The interrogation machine may or may not be a network device. The interrogation machine could be a final host. The interrogation machine can perform the function of determining network dependencies. If there are multiple interrogation machines in the system, only one interrogation machine may need to calculate the dependencies for the entire system, once the interrogation machine has determined the topology of the entire system.

[0081] O aparelho da Figura 14 pode realizar, pelo menos, o método da Figura 13. O aparelho 10 pode incluir um processador 22 para processar informações e executar instruções ou operações. O processador 22 pode ser qualquer tipo de processador de propósito específico ou geral. Embora um único processador 22 seja mostrado na Figura 14, múltiplos processadores podem ser utilizados de acordo com outras modalidades. O processador 22 pode incluir, ainda, um ou mais dentre computadores de propósito geral, computadores de propósito especial, microprocessadores, processadores de sinal digital (DSPs), arranjos de portas programáveis em campo (FPGAs), circuitos integrados específicos para aplicação (ASICs) e processadores baseados em uma arquitetura de processador multinuclear, conforme exemplos.[0081] The apparatus of Figure 14 may perform at least the method of Figure 13. The apparatus 10 may include a processor 22 for processing information and executing instructions or operations. The processor 22 may be any type of general or specific purpose processor. Although a single processor 22 is shown in Figure 14, multiple processors may be used in accordance with other embodiments. Processor 22 may further include one or more of general purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs), field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs) and processors based on a multi-core processor architecture, as examples.

[0082] O aparelho 10 pode incluir, ainda, uma memória 14, acoplada ao processador 22, para armazenar informações e instruções que podem ser executadas pelo processador 22. A memória 14 pode ser uma ou mais memórias e de qualquer tipo adequado para o ambiente de aplicação local, e pode ser implantada com o uso de qualquer tecnologia de armazenamento de dados volátil ou não volátil adequada tal como um dispositivo de memória baseada em semicondutor, um sistema e um dispositivo de memória magnéticos, um sistema e um dispositivo de memória ópticos, memória fixa e memória removível. Por exemplo, a memória 14 inclui qualquer combinação de memória de acesso aleatório (RAM), memória somente de leitura (ROM), armazenamento estático tal como um disco magnético ou óptico, ou qualquer outro tipo de mídia legível por computador ou máquina não transitória. As instruções armazenadas na memória 14 pode incluir instruções de programa ou código de programa de computador que, quando executado pelo processador 22, permite que o aparelho 10 realize tarefas conforme descrito no presente documento.[0082] The apparatus 10 may also include a memory 14, coupled to the processor 22, to store information and instructions that can be executed by the processor 22. The memory 14 may be one or more memories and of any type suitable for the environment local application, and may be deployed using any suitable volatile or non-volatile data storage technology such as a semiconductor-based memory device, a magnetic memory system and device, an optical memory system and device , fixed memory and removable memory. For example, memory 14 includes any combination of random access memory (RAM), read-only memory (ROM), static storage such as a magnetic or optical disk, or any other type of non-transitory computer or machine-readable media. Instructions stored in memory 14 may include program instructions or computer program code that, when executed by processor 22, allow apparatus 10 to perform tasks as described herein.

[0083] O Aparelho 10 pode incluir, ainda, uma ou mais antenas (não mostradas) para transmitir e receber sinais e/ou dados para e a partir do aparelho 10. O aparelho 10 pode incluir, adicionalmente, um transceptor 28 que modula informações em uma forma de onda de portadora para transmissão pela(s) antena(s) e demodula informações recebidas através da(s) antena(s) para processamento adicional por outros elementos do aparelho 10. Em outras modalidades, o transceptor 28 pode ter a capacidade de transmitir e receber sinais ou dados diretamente.[0083] Device 10 may further include one or more antennas (not shown) for transmitting and receiving signals and/or data to and from device 10. Device 10 may additionally include a transceiver 28 that modulates information into a carrier waveform for transmission by the antenna(s) and demodulates information received through the antenna(s) for further processing by other elements of the apparatus 10. In other embodiments, the transceiver 28 may have the ability to transmit and receive signals or data directly.

[0084] O processador 22 pode realizar funções associadas à operação do aparelho 10, incluindo-se, sem limitação, pré-codificação de parâmetros de fase/ganho de antena, codificação e decodificação de bits individuais que formam uma mensagem de comunicação, formatação de informações e controle geral do aparelho 10, incluindo-se processos relacionados ao gerenciamento de recursos de comunicação. O aparelho 10 pode, ainda, operar como um transceptor na forma de um cartão de rede que se liga a uma rede.[0084] Processor 22 may perform functions associated with the operation of apparatus 10, including, without limitation, pre-coding antenna phase/gain parameters, encoding and decoding individual bits that form a communication message, formatting information and general control of the device 10, including processes related to the management of communication resources. The device 10 can also operate as a transceiver in the form of a network card that connects to a network.

[0085] Em uma modalidade, a memória 14 pode armazenar módulos de software que fornecem funcionalidade quando executados pelo processador 22. Os módulos pode incluir um sistema operacional 15 que fornece uma funcionalidade de sistema operacional para o aparelho 10. A memória pode, ainda, armazenar um ou mais módulos funcionais 18, tais como um aplicativo ou programa, para fornecer funcionalidade funcional para o aparelho 10. Os componentes do aparelho 10 podem ser implantados em hardware, ou como qualquer combinação adequada de hardware e software.[0085] In one embodiment, memory 14 may store software modules that provide functionality when executed by processor 22. The modules may include an operating system 15 that provides operating system functionality for device 10. The memory may further store one or more functional modules 18, such as an application or program, to provide functional functionality for the apparatus 10. The components of the apparatus 10 may be implemented in hardware, or as any suitable combination of hardware and software.

[0086] A Figura 15 ilustra um aparelho de acordo com determinadas modalidades da invenção. O aparelho 1500 pode ser uma entidade/elemento de rede tal como um nó de rede que é configurado para funcionar como uma máquina de interrogação, por exemplo. O aparelho 1500 pode incluir uma primeira unidade de determinação 1510 que determina uma raiz. A raiz inclui um primeiro nó dentro de um agrupamento de nós de uma rede. O aparelho 1500 pode incluir, ainda, uma primeira unidade de geração 1520 que gera pelo menos uma dependência de rede entre a raiz e um segundo nó. A pelo menos uma dependência de rede gerada corresponde a uma conexão entre nós da rede. A pelo menos uma dependência de rede gerada corresponde a uma trajetória direcional da máquina de interrogação ao segundo nó. O aparelho 1500 pode incluir, ainda, uma unidade de interrogação 1530 que interroga o segundo nó. A interrogação ocorre através da pelo menos uma dependência de rede que foi gerada entre a máquina de interrogação e o segundo nó. O aparelho 1500 pode incluir, ainda, uma segunda unidade de determinação 1540 que determina que o segundo nó é inalcançável. O aparelho 1500 pode incluir, ainda, uma segunda unidade de geração 1550 que gera alertas ativados referentes ao segundo nó inalcançável, caso qualquer um dos nós-pais do segundo nó seja determinado como alcançável pelo aparelho 1500.[0086] Figure 15 illustrates an apparatus according to certain embodiments of the invention. The apparatus 1500 may be a network entity/element such as a network node that is configured to function as an interrogation machine, for example. Apparatus 1500 may include a first determining unit 1510 that determines a root. The root includes a first node within a cluster of nodes in a network. The apparatus 1500 may further include a first generation unit 1520 that generates at least one network dependency between the root and a second node. The at least one generated network dependency corresponds to a connection between network nodes. The at least one generated network dependency corresponds to a directional trajectory from the interrogation machine to the second node. The apparatus 1500 may further include an interrogation unit 1530 that interrogates the second node. The interrogation occurs through at least one network dependency that was generated between the interrogating machine and the second node. The apparatus 1500 may further include a second determination unit 1540 that determines that the second node is unreachable. The apparatus 1500 may further include a second generation unit 1550 that generates activated alerts regarding the unreachable second node if any of the second node's parent nodes are determined to be reachable by the apparatus 1500.

[0087] Os recursos, vantagens e características da invenção descritos acima podem ser combinados de qualquer maneira adequada em uma ou mais modalidades. Um indivíduo versado na técnica relevante reconhecerá que a invenção pode ser praticada sem ou mais dos recursos ou vantagens de uma modalidade particular. Em outros casos, recursos e vantagens adicionais podem ser reconhecidos em determinadas modalidades que podem não estar presentes em todas as modalidades da invenção. Um indivíduo de habilidade comum na técnica entenderá prontamente que a invenção conforme discutida acima pode ser praticada com etapas em uma ordem diferente e/ou com elementos de hardware em configurações que são diferentes daquelas que são reveladas. Portanto, embora a invenção tenha sido descrita com base nessas modalidades preferenciais, seria evidente para um indivíduo versado na técnica que determinadas modificações, variações e construções alternativas seriam evidentes, embora permaneçam dentro do espírito e escopo da invenção.[0087] The features, advantages and characteristics of the invention described above may be combined in any suitable manner in one or more embodiments. A person skilled in the relevant art will recognize that the invention can be practiced without or without more of the features or advantages of a particular embodiment. In other cases, additional features and advantages may be recognized in certain embodiments that may not be present in all embodiments of the invention. A person of ordinary skill in the art will readily understand that the invention as discussed above can be practiced with steps in a different order and/or with hardware elements in configurations that are different from those that are disclosed. Therefore, although the invention has been described based on these preferred embodiments, it would be apparent to an individual skilled in the art that certain modifications, variations and alternative constructions would be evident while remaining within the spirit and scope of the invention.

Claims (15)

1. Método CARACTERIZADO pelo fato de que compreende: determinar, através de uma máquina de interrogação, uma raiz, em que a raiz compreende um primeiro nó dentro de um agrupamento de nós de uma rede; gerar pelo menos uma dependência de rede entre a raiz e um segundo nó, em que a pelo menos uma dependência de rede gerada corresponde a uma conexão entre nós da rede e a pelo menos uma dependência de rede gerada corresponde a uma trajetória direcional da máquina de interrogação ao segundo nó; interrogar o segundo nó, em que a interrogação ocorre através da pelo menos uma dependência de rede que foi gerada entre a máquina de interrogação e o segundo nó; determinar que o segundo nó é inalcançável; e gerar alertas ativados referentes ao segundo nó inalcançável, caso qualquer um dos nós-pais do segundo nó seja determinado como alcançável pela máquina de interrogação.1. Method CHARACTERIZED by the fact that it comprises: determining, through an interrogation machine, a root, wherein the root comprises a first node within a grouping of nodes in a network; generate at least one network dependency between the root and a second node, wherein the at least one generated network dependency corresponds to a connection between network nodes and the at least one generated network dependency corresponds to a directional trajectory of the machine. interrogation to the second node; interrogating the second node, wherein the interrogation occurs via the at least one network dependency that has been generated between the interrogating machine and the second node; determine that the second node is unreachable; and generating activated alerts regarding the unreachable second node if any of the second node's parent nodes are determined to be reachable by the interrogation machine. 2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que determinar a raiz compreende determinar a raiz com base em pelo menos dentre uma definição de usuário e informações locais da máquina de interrogação.2. Method, according to claim 1, CHARACTERIZED by the fact that determining the root comprises determining the root based on at least one of user definition and local information of the interrogation machine. 3. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que pelo menos uma dependência manualmente adicionada foi adicionada entre a máquina de interrogação e o segundo nó.3. Method, according to claim 1, CHARACTERIZED by the fact that at least one manually added dependency has been added between the interrogation machine and the second node. 4. Método, de acordo com a reivindicação 3, CARACTERIZADO pelo fato de que a pelo menos uma dependência manualmente adicionada prevalece sobre a pelo menos uma dependência automaticamente gerada.4. Method, according to claim 3, CHARACTERIZED by the fact that the at least one manually added dependency prevails over the at least one automatically generated dependency. 5. Método, de acordo com a reivindicação 3, CARACTERIZADO pelo fato de que a pelo menos uma dependência automaticamente gerada não está em conflito com a pelo menos uma dependência manualmente adicionada.5. Method, according to claim 3, CHARACTERIZED by the fact that the at least one automatically generated dependency is not in conflict with the at least one manually added dependency. 6. Aparelho CARACTERIZADO pelo fato de que compreende: pelo menos um processador; e pelo menos uma memória que inclui um código de programa de computador, sendo que a pelo menos uma memória e o código de programa de computador são configurados, com o pelo menos um processador, para fazer com que o aparelho pelo menos determine uma raiz, em que a raiz compreende um primeiro nó dentro de um agrupamento de nós de uma rede; gere pelo menos uma dependência de rede entre a raiz e um segundo nó, em que a pelo menos uma dependência de rede gerada corresponde a uma conexão entre nós da rede e a pelo menos uma dependência de rede gerada corresponde a uma trajetória direcional do aparelho ao segundo nó; interrogue o segundo nó, em que a interrogação ocorre através da pelo menos uma dependência de rede que foi gerada entre o aparelho e o segundo nó; determine que o segundo nó é inalcançável; e gere alertas ativados referentes ao segundo nó inalcançável, caso qualquer um dos nós-pais do segundo nó seja determinado como alcançável pelo aparelho.6. Device CHARACTERIZED by the fact that it comprises: at least one processor; and at least one memory including a computer program code, the at least one memory and the computer program code being configured, with the at least one processor, to cause the apparatus to at least determine a root, wherein the root comprises a first node within a grouping of nodes in a network; generates at least one network dependency between the root and a second node, wherein the at least one generated network dependency corresponds to a connection between network nodes and the at least one generated network dependency corresponds to a directional trajectory from the device to the second node; interrogate the second node, wherein the interrogation occurs through the at least one network dependency that has been generated between the apparatus and the second node; determine that the second node is unreachable; and generate activated alerts for the unreachable second node if any of the second node's parent nodes are determined to be reachable by the device. 7. Aparelho, de acordo com a reivindicação 6, CARACTERIZADO pelo fato de que determinar a raiz compreende determinar a raiz com base em pelo menos uma dentre uma definição de usuário e informações locais do aparelho.7. Apparatus, according to claim 6, CHARACTERIZED by the fact that determining the root comprises determining the root based on at least one of a user definition and local information of the device. 8. Aparelho, de acordo com a reivindicação 6, CARACTERIZADO pelo fato de que pelo menos uma dependência manualmente adicionada foi adicionada entre o aparelho e o segundo nó.8. Apparatus according to claim 6, CHARACTERIZED by the fact that at least one manually added dependency has been added between the apparatus and the second node. 9. Aparelho, de acordo com a reivindicação 8, CARACTERIZADO pelo fato de que a pelo menos uma dependência manualmente adicionada prevalece sobre pelo menos uma dependência automaticamente gerada.9. Apparatus according to claim 8, CHARACTERIZED by the fact that the at least one manually added dependency prevails over the at least one automatically generated dependency. 10. Aparelho, de acordo com a reivindicação 8, CARACTERIZADO pelo fato de que a pelo menos uma dependência automaticamente gerada não está em conflito com a pelo menos uma dependência manualmente adicionada.10. Apparatus according to claim 8, CHARACTERIZED by the fact that the at least one automatically generated dependency is not in conflict with the at least one manually added dependency. 11. Produto de programa de computador, incorporado em uma mídia não transitória legível por computador, CARACTERIZADO pelo fato de que o produto de programa de computador é configurado para controlar um processador para realizar um método que compreende: determinar, através de uma máquina de interrogação, uma raiz, em que a raiz compreende um primeiro nó dentro de um agrupamento de nós de uma rede; gerar pelo menos uma dependência de rede entre a raiz e um segundo nó, em que a pelo menos uma dependência de rede gerada corresponde a uma conexão entre nós da rede e a pelo menos uma dependência de rede gerada corresponde a uma trajetória direcional da máquina de interrogação ao segundo nó; interrogar o segundo nó, em que a interrogação ocorre através da pelo menos uma dependência de rede que foi gerada entre a máquina de interrogação e o segundo nó; determinar que o segundo nó é inalcançável; e gerar alertas ativados referentes ao segundo nó inalcançável, caso qualquer um dos nós-pais do segundo nó seja determinado como alcançável pela máquina de interrogação.11. Computer program product, embodied in a non-transitory computer readable medium, CHARACTERIZED by the fact that the computer program product is configured to control a processor to perform a method comprising: determining, by means of an interrogation machine , a root, wherein the root comprises a first node within a cluster of nodes of a network; generate at least one network dependency between the root and a second node, wherein the at least one generated network dependency corresponds to a connection between network nodes and the at least one generated network dependency corresponds to a directional trajectory of the machine. interrogation to the second node; interrogating the second node, wherein the interrogation occurs via the at least one network dependency that has been generated between the interrogating machine and the second node; determine that the second node is unreachable; and generating activated alerts regarding the unreachable second node if any of the second node's parent nodes are determined to be reachable by the interrogation machine. 12. Produto de programa de computador, de acordo com a reivindicação 11, CARACTERIZADO pelo fato de que determinar a raiz compreende determinar a raiz com base em pelo menos uma dentre uma definição de usuário e informações locais da máquina de interrogação.12. Computer program product according to claim 11, CHARACTERIZED by the fact that determining the root comprises determining the root based on at least one of a user definition and local information of the interrogating machine. 13. Produto de programa de computador, de acordo com a reivindicação 11, CARACTERIZADO pelo fato de que pelo menos uma dependência manualmente adicionada foi adicionada entre a máquina de interrogação e o segundo nó.13. Computer program product according to claim 11, CHARACTERIZED by the fact that at least one manually added dependency has been added between the interrogation machine and the second node. 14. Produto de programa de computador, de acordo com a reivindicação 13, CARACTERIZADO pelo fato de que a pelo menos uma dependência manualmente adicionada prevalece sobre pelo menos uma dependência automaticamente gerada.14. Computer program product according to claim 13, CHARACTERIZED by the fact that the at least one manually added dependency prevails over the at least one automatically generated dependency. 15. Produto de programa de computador, de acordo com a reivindicação 13, CARACTERIZADO pelo fato de que a pelo menos uma dependência automaticamente gerada não está em conflito com a pelo menos uma dependência manualmente adicionada.15. Computer program product according to claim 13, CHARACTERIZED by the fact that the at least one automatically generated dependency is not in conflict with the at least one manually added dependency.
BR102016024836-1A 2015-10-22 2016-10-24 METHOD AND APPARATUS FOR GENERATING NETWORK DEPENDENCIES BR102016024836B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/920,557 2015-10-22
US14/920,557 US10367710B2 (en) 2015-10-22 2015-10-22 Method and apparatus for generating network dependencies

Publications (2)

Publication Number Publication Date
BR102016024836A2 BR102016024836A2 (en) 2017-05-02
BR102016024836B1 true BR102016024836B1 (en) 2024-05-28

Family

ID=

Similar Documents

Publication Publication Date Title
US11700190B2 (en) Technologies for annotating process and user information for network flows
US11463316B2 (en) Topology explorer
KR102480708B1 (en) Fault root cause determining method and apparatus, and computer storage medium
US10574513B2 (en) Handling controller and node failure scenarios during data collection
US10200279B1 (en) Tracer of traffic trajectories in data center networks
US10616220B2 (en) Automatic onboarding of end devices using device profiles
US9152522B2 (en) Methods for configuration management using a fallback configuration
BR112016027955B1 (en) COMPUTER STORAGE MEDIA, NETWORK STATE MANAGEMENT SERVICE METHOD AND DEVICE
US20240214412A1 (en) Hierarchical novelty detection using intended states for network security
Schiff et al. Reclaiming the brain: Useful openflow functions in the data plane
ES2750785T3 (en) Procedure and apparatus for generating network dependencies
WO2020010906A1 (en) Method and device for operating system (os) batch installation, and network device
US10652260B1 (en) Detecting botnet domains
BR102016024836B1 (en) METHOD AND APPARATUS FOR GENERATING NETWORK DEPENDENCIES
CN106165367A (en) A kind of access control method, storage device and control system storing device
US9319271B2 (en) Management device and management method
CN113067772B (en) Transaction forwarding method between block chain networks
JP2019508975A (en) Neighbor monitoring in hyperscale environment
CN111327571A (en) Equipment control method and device, control node, network equipment and data center
US9838244B1 (en) Compound alarms
WO2015120581A1 (en) Traffic loop detection in a communication network
EP2749007A1 (en) Managed object manipulation
CN112653937B (en) Optical network access equipment management method and device
Kang et al. Process algebraic specification of software defined networks
CN117596050A (en) Data access control method and device and electronic equipment