[go: up one dir, main page]

BRPI0615816A2 - comunicações tolerante a falta em redes roteadas - Google Patents

comunicações tolerante a falta em redes roteadas Download PDF

Info

Publication number
BRPI0615816A2
BRPI0615816A2 BRPI0615816-1A BRPI0615816A BRPI0615816A2 BR PI0615816 A2 BRPI0615816 A2 BR PI0615816A2 BR PI0615816 A BRPI0615816 A BR PI0615816A BR PI0615816 A2 BRPI0615816 A2 BR PI0615816A2
Authority
BR
Brazil
Prior art keywords
node
path
communication paths
network
initial communication
Prior art date
Application number
BRPI0615816-1A
Other languages
English (en)
Inventor
Michael T Massa
David A Dion
Rudolf Opavsky
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of BRPI0615816A2 publication Critical patent/BRPI0615816A2/pt

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]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2005Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication controllers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/165Combined use of TCP and UDP protocols; selection criteria therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract

COMUNICAçõES TOLERANTE A FALTA EM REDES ROTEADAS. Um método para prover comunicações de rede tolerante à falta entre uma pluralidade de nós para uma aplicação, incluindo prover uma pluralidade de caminhos de comunicações iniciais sobre uma pluralidade de redes unidas entre a pluralidade de nós, receber um pacote de dados em um nó de envio da aplicação, o nó de envio sendo um da pluralidade de nós, o pacote de dados sendo endereçado pela aplicação para um endereço em um da pluralidade de nós e selecionar um primeiro caminho selecionado para o pacote de dados dentre a pluralidade de caminhos de comunicações iniciais onde o primeiro caminho selecionado é um caminho preferido.

Description

"COMUNICAÇÕES TOLERANTE A FALTA EM REDES ROTEADAS"ANTECEDENTES
Em um ambiente de rede de computador, múltiplosnós podem se comunicar através de uma rede. Caso a rede ex-perimente uma falha, a comunicação entre os nós pode ser in-terrompida .
SUMÁRIO
O seguinte apresenta um resumo simplificado da re-velação a fim de prover um entendimento básico para o lei-tor. Esse resumo não é uma visão geral extensiva da revela-ção e ele não identifica elementos essenciais ou críticos dainvenção ou delineia o escopo da invenção. Sua única finali-dade é apresentar alguns conceitos revelados aqui em umaforma simplificada como um prenúncio para a descrição maisdetalhada que é apresentada a seguir.
Os exemplos seguintes provêem comunicação de redede computador tolerante a falta via arquiteturas de pilha derede únicas requerendo mínima consideração pelo software deaplicação que opera nos nós de rede.
Muitos dos aspectos auxiliares serão mais facil-mente verificados à medida que eles se tornam melhor enten-didos por referência à descrição detalhada seguinte conside-rada em conjunto com os desenhos acompanhantes.
DESCRIÇÃO DOS DESENHOS
A presente descrição será entendida melhor a par-tir da descrição detalhada seguinte lida à luz dos desenhosacompanhantes, nos quais:
A figura 1 é um diagrama de blocos mostrando umaarquitetura de pilha de rede exemplar.
A figura 2 é um diagrama de blocos mostrando umambiente de computação de rede incluindo dois nós exemplaresacoplados via duas redes.
A figura 3 é um diagrama de blocos mostrando umacionador de comunicações tolerante à falta exemplar, NETFT.
A figura 4 é um diagrama de blocos mostrando umaarquitetura de comunicações tolerante à falta exemplar in-cluindo NETFT e uma aplicação.
A figura 5 é um diagrama de fluxo mostrando os da-dos fluindo através de um ambiente de comunicações toleranteà falta incluindo um nó de fonte e um nó de destino acopladovia Trajetória A através da rede 1 e Trajetória B através darede 2.
A figura 6 é um diagrama de fluxo mostrando os da-dos fluindo através do ambiente de comunicações tolerante àfalta mostrado na figura 5 com a adição de várias falhas decomunicações possíveis.
A figura 7 é um diagrama de blocos mostrando umoutro exemplo de um acionador de comunicações tolerante àfalta, NETFT.
A figura 8 é um diagrama de blocos mostrando umaarquitetura de comunicações tolerante à falta exemplar in-cluindo NETFT e uma aplicação.
A figura 9 é um diagrama de fluxo mostrando os da-dos fluindo através de um ambiénte de comunicações toleranteà falta incluindo um nó de fonte e um nó de destino acopla-dos via Trajetória A através da rede 1 e Trajetória B atra-vés da rede 2.
A figura 10 é um diagrama de fluxo mostrando osdados fluindo através do ambiente de comunicações toleranteà falta mostrado na figura 9 com a adição de várias falhasde comunicações possíveis.
A figura 11 é um diagrama de blocos mostrando umambiente de computação exemplar no qual a tecnologia descri-ta acima pode ser realizada.
Numerais de referência semelhantes são usados paraindicar partes semelhantes nos desenhos acompanhantes.
DESCRIÇÃO DETALHADA
A descrição detalhada provida abaixo em conjuntocom os desenhos anexos é planejada como uma descrição dospresentes exemplos e não é planejada para representar as ú-nicas" formas nas quais os presentes exemplos podem ser cons-truídos ou utilizados. A descrição apresenta as funções dosexemplos e a seqüência de etapas para construir e operar osexemplos. Entretanto, as mesmas funções e seqüências ou e-quivalentes podem ser executadas por exemplos diferentes.
Embora os presentes exemplos sejam descritos e i-lustrados aqui como sendo realizados em um sistema de compu-tação e rede, o sistema descrito é provido como um exemplo enão uma limitação. Como aqueles versados na técnica verifi-carão, os presentes exemplos são adequados para aplicação emuma variedade de tipos diferentes de sistemas de computaçãoe rede.
A figura 1 é um diagrama de blocos mostrando umaarquitetura de pilha de rede exemplar 100. Uma pilha de rede("pilha") geralmente se junta com aplicações de software viainterfaces de pilha de rede e/ou outras interfaces para pro-ver funcionalidade de comunicações de rede para aplicações.Uma aplicação é tipicamente dita estar em (ou unida a) o"topo" da pilha. Uma rede é tipicamente dita estar em (ouunida a) a "base" da pilha. Vários elementos de uma pilha derede podem ser citados como em ou perto do topo ou base dapilha, ou mais alto ou mais baixo na pilha em relação um aooutro. Por exemplo, na figura 1, o acionador de protocolo130 está mais alto na pilha do que a NIC 180 que é mostradana base da pilha nessa figura particular. Várias representa-ções de uma pilha de rede podem ou não incluir alguns ele-mentos de pilha ou podem agrupar, ordenar ou nomear os ele-mentos em várias maneiras, dependendo da finalidade ou focoda representação, como entendido por aqueles versados natécnica.
O termo "acionador" como usado aqui se refere a umprograma de controle ou semelhante que possibilita que um nóopere com um dispositivo particular, tais como uma impresso-ra, placa de interface de rede ou outro subsistema de compu-tador, ou opere com um ou mais programas tais como pilhas derede, acionadores de protocolo e/ou outro software de compu-tador ou firmware ou semelhantes. Por exemplo, um acionadorde protocolo tipicamente opera com uma pilha de rede.
Uma aplicação pode passar um pacote de dados parauma pilha destinada para uma aplicação operando em um outronó. Nesse caso, é dito que os dados fluem "para baixo" dapilha e são enviados para fora através de uma rede. Os dadosrecebidos por um nó são ditos fluir "para cima" da pilha atéque eles alcançam a aplicação destinada. Tais sistemas derede são bem conhecidos para aqueles versados na técnica.
Em um exemplo, uma pilha é baseada na especifica-ção da interface do acionador de rede ("NDIS") que defineuma interface de programação de aplicação ("API") padrão pa-ra placas de interface de rede ("NICs"), tal como NIC 180, eabstrai o hardware da rede dos acionadores de rede. NDIStambém especifica uma interface padrão entre acionadores derede em camadas, dessa maneira abstraindo acionadores de ní-vel inferior que gerenciam hardware, tal como um acionadorde miniporta, dos acionadores de nível superior, tal comoacionadores de protocolo. Múltiplos acionadores de protocoloque se conformam com NDIS podem coexistir em um único nó.Também, se um nó inclui múltiplas NICs, talvez porque eleestá conectado em mais do que uma rede, a NDIS roteia o trá-fego da rede para a NIC apropriada via seu acionador associ-ado como indicado pelo tráfego. Uma ilustração da NDIS émostrada na figura 1. Outros padrões de pilha de rede, tec- nologias e/ou arquiteturas, tal como a interface de ligaçãode dados aberta ("ODI"), a interface do provedor da ligaçãode dados ("DLPI"), a interface do acionador uniforme ("UDI")ou outras tecnologias, podem ser usados com os exemplos se-guintes também com modificações apropriadas, como seria en-tendido por aqueles versados na técnica. Como uma questão deconveniência, a terminologia NDIS e NDIS é usada com exem-plos por toda essa descrição, mas outros padrões, tecnologi-as e/ou arquiteturas podem ser usados em todos esses exem-pios com modificações apropriadas, a menos que de outra for-ma mencionado.
Como mostrado na figura 1, acoplado na NIC 180 viaNDIS 120 está o acionador de miniporta 160. Um acionador deminiporta tipicamente interage com NDIS via uma interface deminiporta da NDIS 162. 0 acionador de miniporta 160 pode serassociado com a NIC 180 e pode gerenciar suas operações, in-cluindo enviar e receber dados através da NIC. O acionadorde miniporta 160 tipicamente faz interface com acionadoresde nivel superior, tais como acionador intermediário 140 eacionador de protocolo 130. Um acionador de miniporta é con-siderado um acionador de NIC. Miniportas de NIC geralmenteexecutam essas operações especificas do hardware necessáriaspara gerenciar uma NIC particular com funcionalidade comumou independente da NIC provido pela NDIS. Um nó pode incluirmúltiplas NICs com cada NIC geralmente tendo um acionador deNIC associado. Alguns exemplos nessa descrição descrevem ouso de acionadores de miniportas, mas, como será entendidopor aqueles versados na técnica, qualquer tipo de acionadorde NIC ou semelhante pode ser usado nesses exemplos, a menosque de outra forma mencionado.
O acionador de protocolo ou transporte 130 se jun-ta na NDIS 120 via uma interface de protocolo da NDIS 134.Acionadores de protocolo ou acionadores de protocolo detransporte geralmente provêem a funcionalidade para criar,enviar e receber pacotes de dados que são enviados de um nópara outro através da pilha de rede e através de uma rede.Como conhecido para aqueles versados na técnica, um protoco-lo de transporte de entrega confiável ou garantido comum po-de ser TCP/IP (protocolo de controle de transmissão / proto-colo da Internet). UDP (protocolo de datagrama do usuário)através de IP pode ser um protocolo de entrega comum nãoconfiável ou não garantido. TCP, UDP e/ou outros protocolos,tal como IPX/SPX (troca de pacotes pela Internet / troca depacote seqüenciada) podem ser usados com os exemplos seguin-tes a menos que de outra forma mencionado.
Os acionadores intermediários da NDIS ("IM") 140são mostrados entre os acionadores de protocolo 130 e as mi-niportas da NIC da NDIS 160 na figura 1. Para acionadores deprotocolo os acionadores IM aparentam ser miniportas da NDISenquanto para acionadores da NIC eles se parecem com aciona-dores de protocolo. Os pacotes de dados fluindo para cima oupara baixo da pilha de rede passam através do acionador IM140 que pode ignorar, inspecionar, filtrar, enviar, redire-cionar e/ou modificar os pacotes de dados. Um acionador in-termediário 140 pode também ser conhecido como um acionadorde filtro.
A figura 2 é um diagrama de blocos mostrando umambiente de computação de rede 200 incluindo dois nós exem-plares 210 e 260 acoplados via duas redes 202 é 282. Os nós210 e 260, cada um, podem ser computadores pessoais ("PCs"),computadores clientes, servidores, hospedeiros, laptops,dispositivos portáteis, dispositivos eletrônicos do consumi-dor ou qualquer um de vários outros tipos de dispositivos decomputação ou processamento, máquinas ou sistemas. Um exem-plo não limitador de um tipo de sistema de computação é des-crito em detalhes abaixo com relação à figura 11. Os círcu-los 212, 214, 262 e 264 representam NICs associadas com seusnós respectivos. Um exemplo não limitador de um tipo de NICé também descrito abaixo com relação à figura 11 como o a-daptador de rede 1113.
Como usado aqui, o termo nó se refere a qualquersistema de computação, dispositivo ou processo que é unica-mente endereçável, ou de outra forma unicamente identificá-vel, em uma rede (por exemplo, rede 202) e que é operávelpara se comunicar com outros nós na rede. Por exemplo, e semlimitação, um nó pode ser um computador pessoal, um computa-dor servidor, um dispositivo de mão ou laptop, um dispositi-vo de mesa digitalizadora, um sistema de multiprocessador,um sistema com base em microprocessador, um conversor de si-nal de freqüência, um dispositivo eletrônico do consumidor,um PC de rede, um minicomputador, um computador de grandeporte ou semelhantes. Um exemplo não limitador de um nó 210,na forma de um sistema de computação, é apresentado abaixocom relação à figura 11.
As redes 202 e 282 podem ser a mesma rede, podemexistir nas mesmas subredes ou diferentes, podem ser lógicaou fisicamente acopladas ou isoladas uma da outra, podem u-sar tecnologias de rede similares ou diferentes, etc. Emparticular, as redes 202 e 282 podem ser redes roteadas, is-to é, redes incluindo roteadores que enviam pacotes de pro-tocolo roteável. Protocolos roteáveis são tipicamente consi-derados protocolos de comunicações usados para rotear dadosde uma rede para outra. Um exemplo de um protocolo roteávelé TCP/IP. O envio de um pacote de dados em um modo roteávelimplica usar um protocolo de transporte roteável para forma-tar e/ou enviar o pacote de dados. Aqueles versados na téc-nica estarão familiarizados com protocolos roteáveis e topo-logias, sistemas e arquiteturas de rede de roteamento.
Em um exemplo, as redes 202 e 282 podem ser inde-pendentes uma da outra tal que se existe um problema ou fa-lha com uma rede é improvável afetar o estado operacional daoutra. Em outros exemplos, três ou mais redes podem ser usa-das. Nos exemplos onde maiores graus de tolerância à faltasão desejados, um maior número de redes junto com a conecti-vidade associada de nós para essas redes, incluindo um núme-ro similar de NICs instaladas em um nó, pode ser utilizado.
A NIC 212, associada com o nó 210, é mostrada comum endereço exemplar de 172.56.48.37 e é acoplada na rede 1202. A NIC 214, também associada com o nó 210, é mostradacom um endereço exemplar de 197.71.48.38 e é acoplada na re-de 2 282. A NIC 262, associada com o nó 260, é mostrada comum endereço exemplar de 172.56.48.38 e é também acoplada na rede 1 202. A NIC 264, também associada com o nó 260, é mos-trada com um endereço exemplar de 197.71.48.39 e é tambémacoplada na rede 2 282. Esses endereços podem, na prática,ser endereços IPv4 ou IPv6 ou semelhantes ou qualquer outrotipo de endereço de rede tipicamente relacionado com o pro-tocolo sendo usado.
Cada nó pode incluir uma ou mais NICs. As setas201 e 203, também mostradas na figura 11 como seta 1114, re-presentam uma primeira rota ou caminho de comunicações("Trajetória A") sobre a rede 1 202 entre os nós 210 e 260.As setas 282 e 283 representam uma segunda rota ou caminhode comunicações ("Trajetória B") sobre a rede 2 282 entre osnós 210 e 260. Na prática, podem existir um ou mais caminhossobre uma ou mais redes entre os dois ou mais nós no ambien-te 200. O termo "caminho" como usado aqui é definido comouma rota de comunicações, ou ligação de comunicações, entrenós em uma rede. Uma tal rota ou ligação pode ser dinâmicaem que a rota exata entre os nós pode mudar com o tempo.
Os blocos 216 e 266 representam uma aplicação euma pilha de rede, incluindo um acionador de comunicaçõestolerante à falta ("FT") , provido em cada um dos nós 210 e260. 0 acionador FT do bloco 216 é mostrado com um endereçoexemplar de 10.0.0.1 e o acionador FT do bloco 266 é mostra-do com um endereço exemplar de 10.0.0.2. Esses endereços sãotipicamente considerados endereços virtuais. Esses endereçospodem ser endereços IPv4 ou IPv6 ou semelhantes ou qualqueroutro tipo de endereço de rede ou de comunicações. Acionado-res FT podem ou não ter endereços virtuais como mostrado nosvários exemplos abaixo.
Uma pilha de rede tolerante à falta é uma pilha derede incluindo um acionador FT, tal como NETFT descrito a-baixo em conjunto com a figura 3, ou semelhante. Um aciona-dor FT, tal como NETFT, operando em combinação com uma pilhade rede tipicamente permite que os nós se comuniquem via umaou mais trajetórias de comunicações, tais como Trajetória Ae Trajetória B, sobre uma ou mais redes. Caso qualquer umadessas trajetórias de comunicações falhe, os nós podem con-tinuar a comunicação dado pelo menos um caminho operacional.Uma tal falha de caminho pode resultar da falha de uma NICou falha de qualquer elemento de um caminho, incluindo cone-xões, cabeamento ou outros meios de comunicações (incluindoradiofreqüência ("RF") ou infravermelho ("IR") e semelhan-tes), roteadores, bocas de conexão, chaves, barreiras deproteção, provedores de serviço da Internet ("ISPs"), falhade força para qualquer nó, dispositivo ou sistema da rede ousemelhante.
Em um exemplo, uma falha de comunicações pode re-sultar em um evento conecte e use ("PnP"). Um evento PnP po-de indicar a remoção de uma NIC do seu nó ou em uma mudançade sentido dos meios. Uma desconexão do sentido dos meios,por exemplo, tipicamente resulta de uma falha que faz comque a NIC perca o sinal ou portadora nos meios de rede, taiscomo um cabo de rede, ligação RF ou IR ou semelhante. Umadesconexão do sentido dos meios pode ser causada pela desco-nexão do cabo de rede ou portadora da NIC ou desligamento daoutra extremidade do cabo (uma boca de conexão ou chave, porexemplo). Uma conexão do sentido dos meios é tipicamente ooposto, tais como a reconexão do cabo, religamento na bocade conexão ou chave ou semelhantes. Esses tipos de eventos,também conhecidos como eventos de conectividade, são geral-mente eventos locais já que eles ocorrem em ou estão próxi-mos do próprio nó. Tais eventos de conectividade local tipi-camente resultam em uma indicação de evento, tal como um e-vento PnP ou semelhante, em um nó.
Em um outro exemplo, uma falha de comunicações po-de ser detectada pelo uso de pacotes de pulsos enviados en-tre os nós. Falha de um tal pacote de pulsos pode indicarfalha de um caminho entre nós. Pacotes de pulsos tendem aser marcados tal que o acionador FT pode detectá-los com arecepção e removê-los para o fluxo de pacote sendo passadopara cima da pilha de rede. Em um exemplo, pacotes de pulsospodem ser realizados usando protocolo de controle de rota("RCP") pela formação dos pacotes de RCP. Tais pacotes depulsos podem ser usados para validar o estado operacional deextremidade a extremidade de um caminho. Isto é, pelo enviode um pacote de pulsos do nó 210 através da Trajetória A pa-ra o nó 260 e pelo nó 210 recebendo uma resposta para o pa-cote de pulsos enviado do nó 260, é geralmente consideradoque a Trajetória A está operacional de extremidade a extre- midade. Caso o pulso falhe (nenhuma resposta de pulso rece-bida em resposta ao pulso enviado), uma tal falha pode indi-car que a Trajetória A não está operacional, talvez devido àfalha de algum elemento da rede 202 tais como um roteador,chave, conexão ou semelhante, ou devido à falha do próprionó alvo. Em particular, o nó 210 pode ter uma NIC operacio-nal 212 e sentido dos meios válido, indicando que ele estáapropriadamente conectado na rede, mas ainda pode detectaruma falha de pulso devido a alguma falha de rede ou sistemapara baixo da linha.
A figura 3 é um diagrama de blocos mostrando umacionador de comunicações tolerante à falta exemplar, NETFT300. O NETFT 300 pode ser realizado como um acionador de mi-niporta da NDIS (figura 1, 160) para uso com uma pilha derede da NDIS e para prover comunicações de rede entre nóstolerantes às falhas de caminho. Isto é, as comunicações en-tre dois ou mais nós podem continuar quando cada um está u-sando um NETFT a despeito da falha de qualquer componente nocaminho contanto que pelo menos um caminho permaneça opera-cional .
Em um exemplo, a realização do acionador FT comoum acionador de miniporta da NDIS provê pelo menos dois be-nefícios. Primeiro, porque um tal acionador FT geralmente seacomoda abaixo de quaisquer acionadores de protocolo na pi-lha, a confiabilidade do protocolo tende a ser provida porqualquer acionador de protocolo confiável de nível superiorque geralmente não é afetado pela adição da tolerância àfalta no nível da ligação provida por um acionador FT. Porexemplo, quando usando um acionador FT em combinação com umacionador de protocolo tal como um acionador de TCP/IP, oacionador FT tipicamente detectará caminhos falhos e rotearáos pacotes de dados sobre caminhos operacionais de extremi-dade a extremidade independente de qualquer acionador deprotocolo. Caso qualquer perda de pacote ocorra devido à mu-dança de caminhos, o acionador do protocolo TCP/IP, que ge-ralmente se acomoda acima do acionador FT na pilha, tende adetectar tais perdas e executar quaisquer operações de novatentativa ou reenvio para garantir que o protocolo confiávelseja bem-sucedido na entrega do pacote.
Um segundo benefício de colocar o acionador FT a-baixo do acionador de protocolo na pilha é que tipicamentenenhuma degradação da capacidade de roteamento do protocoloé introduzida. Quando assim configurado, qualquer operaçãode envelopamento que um acionador FT executa em um pacote dedados pode utilizar um protocolo roteável, tais como TCP ouUDP, assim garantindo que tais dados sejam roteáveis, alémde ser tolerantes à falta ao nivel da ligação. "Envelopar demaneira roteável" um pacote de dados é envelopar um pacotede dados usando um protocolo roteável.
NETFT, como uma parte de uma pilha de rede, geral-mente se junta em uma aplicação de software via NDIS ou ou-tras interfaces da pilha de rede. Uma tal união geralmentepossibilita que as aplicações enviem e recebam pacotes dedados através de redes unidas na base da pilha. Em um exem-plo, as aplicações tendem a usar um endereço virtual como oendereço de fonte para seus pacotes de dados, esse endereçovirtual sendo conhecido para NETFT e mapeado e comunicadopara outros nós na rede como descrito abaixo. Como mostradona figura 3, o NETFT inclui um adaptador de miniporta 302(também conhecido como um elemento de processamento), umabase de dados de roteamento 304 e um ou mais adaptadores demonitor de rota 306 e adaptadores de tunelamento 308.
O adaptador de tunelamento 308 tipicamente repre-senta uma NIC no nó local (ou, em alguns casos, uma NIC vir-tual) e mantém um soquete usado para envelopar os pacotespara NETFT no nó alvo. Existe tipicamente um adaptador detunelamento 308 associado com cada NIC no nó local com cadaNIC sendo unida em uma rede provendo um caminho para um ou-tro nó. Cada rede pode ou não ser isolada de qualquer outrarede. Um adaptador de tunelamento 308 é tipicamente associa-do com um acionador de protocolo de envelopamento e envelopaos pacotes de dados através de um protocolo de envelopamentopara e de sua NIC associada via interfaces da NDIS. Um exem-plo de um protocolo de envelopamento é UDP. Alternativamen-te, outros protocolos, tais como TCP, IPX ou SPX, podem serusados para envelopamento. Um adaptador de tunelamento 308pode se tornar inativo caso a NIC associada ou a conexão dosmeios se torne inativa.
Uma base de dados de roteamento 304, quando reali-zada em NETFT, é tipicamente uma estrutura de dados simples,que pode ficar localizada na memória do sistema, que incluientradas mapeando um endereço virtual para um ou mais cami-nhos para um NETFT similar em um outro nó. Em um exemplo, osmapeamentos são representados por adaptadores de monitor derota tal como adaptador do monitor de rota 306 que são tipi-camente associados com um adaptador de tunelamento tal comoadaptador de tunelamento 308. De forma geral, uma base dedados de roteamento tal como a base de dados de roteamento304 incluirá um conjunto de adaptadores de rota para cadaadaptador de tunelamento, cada adaptador de rota sendo asso-ciado com um nó alvo diferente alcançável através do caminhoassociado com o adaptador de tunelamento. Quando usandoTCP/IP, por exemplo, a base de dados pode mapear um endereçovirtual de destino para um endereço físico de um nó remotoespecífico.
Uma base de dados de roteamento 304 pode tambémincluir informação de prioridade para cada caminho. Tal in-formação de prioridade pode ser usada para indicar um cami-nho preferido ou primário para um outro nó e/ou pode incluirinformação sobre a velocidade do caminho ou outras caracte-rísticas. Um caminho preferido é o caminho calculado peloNETFT para ser usado através de outros caminhos possíveis,quando possível, com base na informação de prioridade e/ouestado do caminho. A informação de prioridade pode alterna-tivamente indicar um algoritmo de equilíbrio de carga de ro-dízio para fazer uso de múltiplos caminhos para um nó alvopara equilibrar a carga do tráfego através dos caminhos, oupossibilitar algum outro esquema de priorização do caminho.
A tabela de mapeamento da base de dados da tabelade roteamento exemplar 304 é mostrada na tabela 1.
<table>table see original document page 17</column></row><table>
Tabela 1
Com referência à tabela 1 e figura 2, a tabela 1mostra uma tabela de mapeamento exemplar como seria usadapelo NETFT operando no nó 216. A tabela 1 mostra o endereçode destino virtual 10.0.0.2, o endereço virtual como mostra-do para o nó 266, mapeado para o endereço físico172.56.48.38 associado com a Trajetória A para o nó 266 eendereço físico 197.71.48.39 associado com a Trajetória Bpara o nó 266. A Trajetória A é mostrada com primeira prio-ridade e a Trajetória B com segunda prioridade. A tabela 1 éprovida como um exemplo e não é planejada para ser limitado-ra .
Quando enviando dados do nó 216 para o nó 266, umatal tabela de mapeamento é tipicamente usada para enveloparum pacote destinado para o endereço de destino virtual10.0.0.2 enviando o pacote via um protocolo de envelopamen-to, tal como UDP, para o endereço de destino físico172.56.48.38, assim envelopando o pacote do nó 216 sobre aTrajetória A para o nó 266. Uma tal tabela de mapeamento po-de ser criada na base de dados de roteamento (figura 3, 304)para cada conjunto de caminhos estabelecidos entre dois nós.Uma tal tabela de mapeamento pode ser implementada em váriasformas, usar vários esquemas de prioridade e/ou armazenaroutra informação incluindo estado operacional do caminho. Aestrutura da tabela de mapeamento, número de caminhos, for-matos de endereço, etc. mostrados na tabela 1 são providoscomo exemplos e não são planejados para ser limitadores.
O endereço virtual do nó local, endereços virtuaisdo nó remoto e informação de prioridade e outra do caminhosão tipicamente providos para nós por um mecanismo fora dabanda e passados para NETFT via suas interfaces de NDIS. Es-se mecanismo fora da banda pode ser tão simples como um ad-ministrador de sistemas usando uma aplicação de gerenciamen-to para especificar a informação ou ele pode ser um sistemaautomatizado ou semelhante. Tais mecanismos fora da bandasão bem conhecidos para aqueles versados na técnica.Como mostrado na figura 3, o adaptador de minipor-ta 302 (também conhecido como o elemento de processamento doacionador) tipicamente analisa um pacote de dados fluindopara baixo da pilha da rede, examina o endereço virtual dedestino do pacote e usa informação da base de dados de rote-amento 304 para determinar qual adaptador de tunelamento 308através do qual envelopar o pacote de dados. Os pacotes quechegam, ou pacotes de dados fluindo para cima da pilha, sãoenviados para cima da pilha em direção ao seu endereço vir-tual de destino, o protocolo de envelopamento tendo previa-mente removido os cabeçalhos do pacote de envelopamento. Emparticular, o adaptador de tunelamento 308 inspeciona os pa-cotes que chegam e envia pacotes de pulsos para um adaptadorde monitor de rota 306 e envia outros pacotes para cima dapilha via um adaptador de miniporta 302. Aspectos de envelo-pamento dos pacotes de dados usando um protocolo de envelo-pamento e como os cabeçalhos do protocolo são adicionados eremovidos pelos acionadores de protocolo são bem conhecidospara aqueles versados na técnica.
0 adaptador do monitor de rota 306 tipicamente re-presenta um nó remoto acessível através de um caminho espe-cífico identificado por um adaptador de tunelamento associa-do. 0 adaptador do monitor de rota 30 6 tipicamente proveráum endereço físico para o nó remoto, o endereço físico tam-bém correspondendo com um caminho específico para o nó remo-to. Esse endereço físico é tipicamente usado para mapeamen-tos em uma base de dados de roteamento 304. Existe tipica-mente um adaptador de monitor de rota para cada caminho dis-tinto para ura nó remoto, cada adaptador do monitor de rotasendo associado com um adaptador de tunelamento representan-do um caminho. Em um exemplo, com referência de volta à fi-gura 2, o nó 210 é mostrado unido no nó 260 através de doiscaminhos, um através da rede 1 202 ("Trajetória A") e o ou-tro através da rede 2 282 ("Trajetória B"). O NETFT operandono nó 210 pode incluir um primeiro adaptador de monitor derota ("RMA-A") provendo o endereço fisico 172.56.48.38 do nóremoto 260 associado com sua NIC 262. O RMA-A pode ser asso-ciado com um primeiro adaptador de tunelamento ("TA-A") nonó 210 que pode ser associado com a Trajetória A. O NETFT nonó 210 pode também incluir um segundo adaptador de monitorde rota ("RMA-A") provendo o segundo endereço fisico197.71.48.39 do nó remoto 260 associado com sua NIC 264. ORMA-B pode ser associado com um segundo adaptador de tunela-mento ("TA-B") no nó 210 que pode ser associado com a Traje-tória B.
Com referência à figura 3, o adaptador do monitorde rota 306 tipicamente monitora o estado de um caminho paraum nó remoto e indica um caminho falho ou não operacional nabase de dados de roteamento 304. A monitoração tipicamenteinclui receber quaisquer indicações de evento e/ou observarquaisquer falhas de pulso e atualizar a base de dados 304adequadamente. Em ura exemplo, um evento indicando a falha deuma NIC ou conexão de meios pode resultar na desativação doadaptador de tunelamento 308. Em um outro exemplo, uma falha de pul-so pode resultar na desativação do adaptador do monitor de rota 306associado com o nó remoto especifico para o qual o pulso falhou.A figura 4 é um diagrama de blocos mostrando umaarquitetura de comunicações tolerante à falta exemplar 216incluindo NETFT 300 e uma aplicação 402. Nesse exemplo, aaplicação 402 envia pacotes de dados para o NETFT 300 via apilha usando um endereço de fonte virtual 217 e um endereçode destino virtual representando o nó de destino. Tais paco-tes de dados de saida fluem via a trajetória 480 da aplica-ção e através da pilha da rede para o acionador 300. O acio-nador .300 tipicamente determina quais dos caminhos possíveiscada pacote deve adotar, geralmente usando informação deprioridade e informação do estado operacional do caminho ar-mazenado na base de dados do roteamento e envelopa o pacotepara o nó alvo sobre o caminho selecionado usando o endereçode fonte físico apropriado 422 ou 424.
A aplicação 402 pode enviar um pacote de dados a-través do NETFT 300 via o protocolo TCP, como mostrado nafigura 4. Alternativamente, UDP ou qualquer outro protocolopode ser usado. Também, como mostrado, o NETFT 300 pode usaro protocolo UDP para envelopar pacotes para o nó alvo. Al-ternativamente, TCP ou qualquer outro protocolo pode ser u-sado para envelopamento. Além do que, exemplos alternadospodem não fazer uso de adaptadores de miniporta ou acionado-res da NDIS, mas podem usar outros mecanismos ou arquitetu-ras para executar funções similares. Finalmente, os várioselementos da pilha da rede e semelhantes podem operar em ummodo de usuário ou um modo de núcleo, como mostrado ou deoutra forma, ou nos sistemas com ou sem modos de operaçãoequivalentes.A figura 5 é um diagrama de fluxo mostrando os da-dos fluindo através de um ambiente de comunicações toleranteà falta 500 incluindo um nó de fonte 216 e um nó de destino266 acoplados via Trajetória A sobre a rede 1 202 e Trajetó- ria B sobre a rede 2 282. Nesse ambiente exemplar 500, osdados são mostrados sendo enviados da aplicação operando nonó 216 para a aplicação atendendo no endereço virtual dedestino no nó 266. Os pacotes de dados fluem para baixo dapilha da rede operando no nó 216 usando o protocolo TCP parao NETFT como mostrado pela trajetória 501. Assumindo, comomostrado, que a Trajetória A é o caminho selecionado, oNETFT mapeia os pacotes de dados do endereço virtual de fon-te sendo usado pela aplicação para a Trajetória A e envelopaos dados através do protocolo UDP usando o endereço de des-tino físico da Trajetória A para o nó alvo 266, para fora daNIC do nó 216 como também mostrado pela trajetória 501 e pa-ra a rede 1 202 via a ligação 201. Os dados então fluem a-través da rede 1 202, sobre a ligação 203 e para o nó 266,fluindo para cima da pilha de rede operando no nó 2 66 como mostrado pela trajetória 503. Os dados então fluem atravésdo acionador de protocolo UDP, o mesmo protocolo que foi u-sado no lado de envio como o protocolo de envelopamento, on-de os cabeçalhos do protocolo UDP são retirados dos pacotesde dados que são então passados para o NETFT operando no nó266. 0 NETFT então envia os pacotes de dados para cima dapilha para a aplicação que está atendendo no endereço virtu-al de destino. As respostas tendem a fluir na ordem inversa.
A figura 6 é um diagrama de fluxo mostrando os da-dos fluindo através do ambiente de comunicações tolerante àfalta 500 mostrado na figura 5 com a adição de várias falhasde comunicações possíveis 610, 612, 620, 622 e 630. Outrasfalhas de comunicações são também possíveis. A falha 610 in-ica uma falha da NIC 1 operando no nó de envio 216. Uma talfalha pode ocorrer caso a NIC 1 seja removida do nó, caso oacionador da NIC 1 falhe, caso a própria NIC 1 falhe ou se-melhantes. A falha pode ser detectada pelo NETFT via uma in-dicação de evento, tal como um evento PnP ou semelhante e/ouuma falha de pulso. Em uma tal situação, a Trajetória A étipicamente considerada como tendo falhado e o NETFT sele-cionará um caminho operacional alternado de extremidade aextremidade. Um caminho operacional de extremidade a extre-midade é tipicamente um caminho que pode entregar com suces-so os dados do nó de fonte e aplicação inteiramente para onó de destino e aplicação.
A falha 620 indica uma falha dos meios de rede a-coplando com a NIC 1 do nó 216. Essa falha pode ser devido aum cabo sendo desconectado da NIC 1, do cabo ficando desco-nectado de algum dispositivo da rede 1 202, do dispositivono qual o cabo está conectado no lado da rede ser desenergi-zado ou falhar ou semelhante. Esse tipo de falha pode tambémser detectada pelo NETFT via uma indicação de evento, talcomo um evento PnP ou semelhante e/ou uma falha de pulso eum caminho alternado selecionado.
A falha 630 indica uma falha de algum tipo dentroda rede 202 resultando nos pacotes de dados falhando em al-cançar o nó de destino 266. Nesse caso de falha, o nó de en-vio 216 pode ainda estar acoplado na rede 202 com uma indi-cação apropriada de sentido de meios, porém a Trajetória Aficou interrompida mais para baixo da rede. Dada uma tal fa-lha, o NETFT operando no nó de envio 216 pode não detectar afalha via uma indicação de evento se as indicações locaismostram a conectividade na rede 202 como boa, mas podem de-tectar a falha via a falha do pulso da Trajetória A.
A falha 622 da ligação 203 e a falha 612 da NIC 1operando no nó de recepção 266 tendem a ser similares às fa-lhas correspondentes mostradas para o nó 216. Mas essas fa-lhas, não sendo locais ao nó 216 podem não ser detectadasvia indicações de evento, mas podem ser detectadas via falhado pulso.
Qualquer uma dessas falhas, e outras falhas, podemser detectadas pelo NETFT operando no nó 216 e resultam neleselecionando um caminho operacional alternado de extremidadea extremidade, tal como Trajetória B sobre a rede 2 282.Nesse exemplo, como mostrado na figura 6, o NETFT envelopaos dados para baixo da trajetória alternada 681 e sobre arede 2 282 para o nó receptor 266. Caso a condição de falhaseja corrigida e o estado operacional de extremidade a ex-tremidade restaurado na Trajetória A, o NETFT operando no nóde envio 216 pode detectar a recuperação e novamente fazeruso da Trajetória A. Além do que, quaisquer respostas do nó266 de volta para o nó 216 podem ser envelopadas em um modotolerante à falta similar pelo NETFT.
A figura 7 é um diagrama de blocos mostrando umoutro exemplo de um acionador de comunicações tolerante àfalta, NETFT 700. Esse exemplo é similar ao exemplo mostradona figura 3, mas inclui variações como descrito abaixo. Nes-se exemplo, uma aplicação de software pode não precisar usarendereços virtuais. No lugar disso, uma aplicação pode usarum endereço de destino físico para endereçar pacotes de da-dos para o nó alvo.
0 adaptador de protocolo 710 geralmente se juntano adaptador de miniporta 702 (também conhecido como o ele-mento de processamento do acionador) e em um adaptador deminiporta da NIC (não mostrado). Existe tipicamente um adap-tador de protocolo para cada NIC instalada no nó, cada adap-tador de protocolo sendo associado com uma NIC via seu adap-tador de NIC. Como cada adaptador de protocolo é associadocom uma NIC, ele é também associado com o caminho acopladona NIC. O adaptador de protocolo 710 é operável para aceitarpacotes de dados de uma aplicação via o elemento de proces-samento 702 e passar os pacotes de dados para a NIC associa-da sem a necessidade de envelopamento.
0 elemento de processamento 702 tipicamente anali-sa um pacote de dados fluindo para baixo da pilha da rede,examina o endereço de destino físico do pacote e usa a in-formação da base de dados de roteamento 704 para determinarse o pacote pode ser enviado através de um adaptador de pro-tocolo 710 ou precisa ser envelopado através de um adaptadorde tunelamento 308 para o nó alvo. De forma geral, se o ca-minho indicado pelo endereço do destino físico é operacionalde extremidade a extremidade, o pacote de dados será enviadoatravés desse caminho. De outra forma, um caminho alternadopode ser selecionado sobre o qual o pacote pode ser envelo-pado.
Nesse exemplo, a base de dados de roteamento 704mantém mapeamentos de endereços de destino físico e cami-nhos, junto com prioridade e outras informações como descri-to acima. Uma tabela de mapeamento da base de dados de rote-amento exemplar 704 é mostrada na tabela 2.
<table>table see original document page 26</column></row><table>
Tabela 2
Com referência à tabela 2 e figura 2, a tabela 2mostra uma tabela de mapeamento exemplar como seria usadapelo NETFT operando no nó 216. A tabela 2 mostra um mapea-mento incluindo o endereço de destino físico 172.56.48.38associado com a Trajetória A para o nó 266 e o endereço dedestino físico 197.71.48.39 associado com a Trajetória B pa-ra o nó 266. A Trajetória A é mostrada com primeira priori-dade e a Trajetória B com segunda prioridade.
Quando enviando dados do nó 216 para o nó 266, umatal tabela de mapeamento é tipicamente usada no envio (ouenvelopamento se necessário) de um pacote de dados sendo en-viado para o endereço de destino físico 172.56.48.38 do nó266. Se o caminho associado com o endereço de destino origi-nal está operacional, o pacote de dados tende a ser enviadopara o nó de destino sem envelopamento. Se esse caminho nãoestá disponível,' então o pacote de dados é enviado atravésdo caminho alternado para o endereço de destino físico197.71.48.39 do nó 266 através do envelopamento. Outros as-pectos do NETFT 700 são geralmente similares a esses doNETFT como descrito para a figura 3.
A figura 8 é um diagrama de blocos mostrando umaarquitetura de comunicações tolerante à falta exemplar 216incluindo o NETFT 700 e uma aplicação 402. Nesse exemplo, aaplicação 402 envia pacotes de dados para o NETFT 700 via apilha usando um endereço de fonte físico e um endereço dedestino físico 801 representando o nó de destino. Tais paco-tes de dados de saída fluem via trajetória 880 da aplicaçãoe através da pilha de rede para o acionador 700. O acionador700 tipicamente determina quais dos caminhos possíveis cadapacote deve adotar, geralmente usando a informação de prio-ridade e a informação do estado operacional do caminho arma-zenadas na base de dados de roteamento e envia o pacote parao nó alvo através do caminho indicado pelo endereço de des-tino físico original ou, se esse caminho não é a operação deextremidade a extremidade, envelopa o pacote através de umcaminho alternado como indicado nesse exemplo pela rota 882e NIC 2 892.
A aplicação 402 pode enviar um pacote de dados a-través do NETFT 700 via o protocolo TCP, como mostrado nafigura 8. Alternativamente, UDP ou qualquer outro protocolopode ser usado. Também, como mostrado, o NETFT 700 pode usaro protocolo UDP para envelopar pacotes para o nó alvo. Al-ternativamente, TCP ou qualquer outro protocolo pode ser u-tilizado para envelopamento. Além do que, outros exemplospodem não fazer uso de acionadores da NDIS, mas podem usaroutros mecanismos ou arquiteturas para executar funções si-milares. Finalmente, os vários elementos da pilha de rede esemelhantes podem operar em um modo de usuário ou um modo denúcleo, como mostrado ou de outra forma, ou em sistemas comou sem modos de operação equivalentes.
A figura 9 é um diagrama de fluxo mostrando os da-dos fluindo através de um ambiente de comunicações toleranteà falta 900 incluindo um nó de fonte 816 e um nó de destino966 acoplados via Trajetória A através da rede 1 202 e Tra-jetória B através da rede 2 282. Nesse ambiente exemplar900, os dados são mostrados sendo enviados da aplicação ope-rando no nó 216 para a aplicação atendendo no endereço físi-co de destino no nó 266. Os pacotes de dados fluem para bai-xo da pilha da rede operando no nó 216 usando o protocoloTCP para o NETFT como mostrado pela trajetória 901. Assumin-do, como mostrado, que a Trajetória A é o caminho seleciona-do, o NETFT envia os pacotes de dados usando o endereço dedestino físico provido pela aplicação via a NIC 1 do nó 216sobre a Trajetória A e rede 1 202 via a ligação 201. Os da-dos então fluem através da rede 1 202, sobre a ligação 203 epara o nó 966, fluindo para cima da pilha de rede operandono nó 966 como mostrado pela trajetória 903. Os dados entãofluem através do NETFT e do acionador de protocolo (um acio-nador de protocolo para o mesmo protocolo que foi usado nolado de envio como o protocolo de envio) e para cima para aaplicação. As respostas tendem a fluir na ordem inversa.
A figura 10 é um diagrama de fluxo mostrando osdados fluindo através do ambiente de comunicações toleranteà falta 900 mostrado na figura 9 com a adição de várias fa-lhas de comunicações possíveis 1010, 1012, 1020, 1022 e1030. Outras falhas de comunicações são também possíveis. Afalha 1010 indica uma falha da NIC 1 operando no nó de envio816. Uma tal falha pode ocorrer caso a NIC 1 seja removidado nó, seu acionador de NIC falhe, a própria NIC falhe ousemelhantes. A falha pode ser detectada pelo NETFT via umaindicação de evento, tal como um evento PnP ou semelhantee/ou uma falha de pulso. Em uma tal situação, a Trajetória Aé tipicamente considerada como tendo falhado e o NETFT sele-cionará um caminho operacional alternado de extremidade aextremidade.
A falha 1020 indica uma falha dos meios de rede seunindo com a NIC 1 do nó 816. Essa falha pode ser devido aum cabo sendo desconectado da NIC 1, do cabo ficar desconec-tado de algum dispositivo da rede 1 202, do dispositivo emque o cabo está conectado no lado da rede ser desligado oufalhar ou semelhantes. Esse tipo de falha pode também serdetectada pelo NETFT via uma indicação de evento, tal comoum evento PnP ou semelhante e/ou uma falha de pulso e um ca-minho alternado selecionado.
A falha 1030 indica uma falha de algum tipo dentroda rede 202 resultando nos pacotes de dados falhando em al-cançar o nó de destino 966. Nesse caso de falha, o nó de en-vio 816 pode ainda estar unido na rede 202 com uma indicaçãode sentido de meios apropriada, porém a Trajetória A ficouinterrompida mais para baixo da rede. Dada uma tal falha, oNETFT operando no nó de envio 816 pode não detectar a falhavia uma indicação de evento, tal como um evento PnP ou seme-lhante, se as indicações locais mostram a conectividade narede 202 como boa, mas pode detectar a falha através da fa-lha de pulso da Trajetória A.
A falha 1022 da ligação 203 e a falha 1012 da NIC1 operando no nó receptor 966 tendem a ser similares às fa-lhas correspondentes mostradas para o nó 816. Mas essas fa-lhas, não sendo locais ao nó 816 podem não ser detectadasvia indicações de evento, mas podem ser detectadas via falhado pulso.
Qualquer uma dessas falhas e outras falhas podemser detectadas pelo NETFT operando no nó 816 e resultam neleselecionando um caminho operacional alternado de extremidadea extremidade, tal como a Trajetória B sobre a rede 2 282.Nesse exemplo, como mostrado na figura 10, o NETFT envelopaos dados para baixo da trajetória alternada 1081 e sobre arede 2 282 para o nó receptor 9,66. Caso a condição de falhaseja corrigida e o estado operacional de extremidade a ex-tremidade restaurado na Trajetória A, o NETFT operando no nóde envio 816 pode detectar a recuperação e novamente fazeruso da Trajetória A. Além disso, quaisquer respostas do nó966 de volta para o nó 816 podem ser enviadas ou envelopa-das, dependendo do estado operacional da Trajetória A e Tra-jetória B, em um modo similar tolerante à falta por seuNETFT.
A figura 11 é um diagrama de blocos mostrando umambiente de computação exemplar 1100 no qual a tecnologiadescrita acima pode ser realizada. Um ambiente de computaçãoadequado pode ser realizado com numerosos sistemas de usoespecial ou uso geral. Exemplos de sistemas bem conhecidospodem incluir, mas não são limitados a, computadores pesso-ais ("PC"), dispositivos de mão ou laptops, sistemas com ba-se em microprocessador, sistemas de multiprocessador, servi-dores, estações de trabalho, dispositivos eletrônicos deconsumidor, conversores de sinal de freqüência e semelhan-tes .
O ambiente de computação 1100 geralmente inclui umsistema de computação de uso geral na forma de um dispositi-vo de computação 1100 unido em vários dispositivos periféri-cos 1102, 1103, 1104 e semelhantes. 0 sistema 1100 pode seunir a vários dispositivos de entrada 1103, incluindo tecla-dos e dispositivos de indicação, tais como um mouse outrackball, via uma ou mais interfaces de I/O 1112. Os compo-nentes do dispositivo de computação 1101 podem incluir um oumais processadores (incluindo unidades de processamento cen-tral ("CPU"), unidades de processamento gráfico ("GPU"), mi-croprocessadores ("uP") e semelhantes) 1107, memória do sis-tema 1109 e um barramento do sistema 1108 que tipicamente seune aos vários componentes. O processador 1107 tipicamenteprocessa ou executa várias instruções executáveis pelo com-putador para controlar a operação do dispositivo de computa-ção 1101 e para se comunicar com outros dispositivos eletrô-nicos e/ou de computação, sistemas ou ambientes (não mostra-dos) via várias conexões de comunicações tal como uma cone-xão de rede 1114 ou semelhante. 0 barramento do sistema 1108representa qualquer número de vários tipos de estruturas debarramento, incluindo um barramento de memória ou controla-dor de memória, um barramento periférico, um barramento se-rial, uma porta gráfica acelerada, um processador ou barra-mento local usando qualquer uma de uma variedade de arquite-turas de barramento e semelhantes.
A memória do sistema 1109 pode incluir meios legí-veis por computador na forma de memória volátil, tal comomemória de acesso aleatório ("RAM") e/ou memória não volá-til, tais como memória somente de leitura ("ROM") ou memóriaflash ("FLASH"). Um sistema básico de entrada/saída ("BIOS")pode ser armazenado em não volátil ou semelhante. A memóriado sistema 1109 tipicamente armazena dados, instruções exe-cutáveis pelo computador e/ou módulos do programa compreen-dendo instruções executáveis pelo computador que são imedia-tamente acessíveis para e/ou atualmente operadas por um oumais dos processadores 1107.
Os dispositivos de armazenamento em massa 1104 e1110 podem ser unidos no dispositivo de computação 1101 ouincorporados no dispositivo de computação 1100 via acopla-mento no barramento do sistema. Tais dispositivos de armaze-namento em massa 1104 e 1110 podem incluir uma unidade dedisco magnético que lê dê e/ou escreve em um disco magnéticonão volátil removível (por exemplo, um "disco flexível")1105 e/ou uma unidade de disco ótico que lê dê e/ou escreveem um disco ótico não volátil tais como um CD-ROM, DVD ROM1106. Alternativamente, um dispositivo de armazenamento emmassa, tal como disco rigido 1110, pode incluir meio de ar-mazenamento não removível. Outros dispositivos de armazena-mento em massa podem incluir placas de memória, bastões dememória, dispositivos de armazenamento em fita e semelhan-tes .
Qualquer número de programas de computador, arqui-vos, estruturas de dados e semelhantes pode ser armazenadono disco rígido 1110, outros dispositivos de armazenamento1104, 1105, 1106 e memória do sistema 1109 (tipicamente li-mitado para o espaço disponível) incluindo, por meio de e-xemplo, sistemas operacionais, programas de aplicação, ar-quivos de dados, estruturas de diretório e instruções execu-táveis pelo computador.
Dispositivos de saída, tal como dispositivo de e-xibição 1102, podem ser unidos no dispositivo de computação1101 via uma interface, tal como adaptador de vídeo 1111.Outros tipos de dispositivos de saída podem incluir impres-soras, saídas de áudio, dispositivos táteis ou outros meca-nismos de saída sensores ou semelhantes. Dispositivos de sa-ída podem habilitar o dispositivo de computação 1101 a inte-ragir com operadores humanos ou outras máquinas ou sistemas.Um usuário pode fazer interface com o ambiente de computação1100 via qualquer número de dispositivos de entrada diferen-tes 1103 tais como um teclado, mouse, barra de direção, basede jogos, porta de dados e semelhantes. Esses e outros dis-positivos de entrada podem ser unidos no processador 1107via interfaces de entrada/saida 1112 que podem ser unidas nobarramento do sistema 1108 e podem ser unidas por outras in-terfaces e estruturas de barramento, tais como uma porta pa-ralela, porta de jogos, barramento serial universal ("USB"),fire wire, porta de infravermelho e semelhantes.
0 dispositivo de computação 1101 pode operar em umambiente de rede via conexões de comunicações em um ou maisdispositivos de computação remotos através de uma ou maisredes locais ("LAN"), redes remotas ("WAN"), redes da áreade armazenamento ("SAN"), a Internet, ligações de rádio, li-gações óticas e semelhantes. O dispositivo de computação1101 pode ser acoplado em uma rede via adaptador de rede1113 ou semelhante ou, alternativamente, via um modem, liga-ção de linha de assinante digital ("DSL"), ligação de rededigital de serviços integrados ("ISDN"), ligação da Inter-net, ligação sem fio ou semelhantes.
A conexão de comunicações 1114, tal como uma cone-xão de rede, tipicamente provê um acoplamento nos meios decomunicações, tal como uma rede. Meios de comunicações tipi-camente provêem instruções legíveis por computador e execu-táveis por computador, estruturas de dados, arquivos, módu-los do programa e outros dados usando um sinal de dados mo-dulado, tal como uma onda portadora ou outro mecanismo detransporte. O termo "sinal de dados modulado" tipicamentesignifica um sinal que tem uma ou mais de suas característi-cas ajustadas ou alteradas em uma tal maneira a fim de codi-ficar a informação no sinal. Por meio de exemplo, e não li-mitação, meios de comunicações podem incluir meios ligadospor fiação, tal como uma rede ligada por fiação ou conexãoligada por fiação direta ou semelhante, e meios sem fio,tais como acústico, de radiofreqüência, de infravermelho ououtros mecanismos de comunicações sem fio.
Aqueles versados na técnica verificarão que dispo-sitivos de armazenamento utilizados para prover instruçõeslegíveis por computador e executáveis por computador e dadospodem ser distribuídos através de uma rede. Por exemplo, umcomputador remoto ou dispositivo de armazenamento pode arma-zenar instruções legíveis pelo computador e executáveis pelocomputador na forma de aplicações de software e dados. Umcomputador local pode acessar o computador remoto ou dispo-sitivo de armazenamento via a rede e transferir parte ou to-da uma aplicação de software ou dados e pode executar quais-quer instruções executáveis pelo computador. Alternativamen-te, o computador local pode transferir pedaços do softwareou dados quando necessário ou processar de maneira distribu-tiva o software executando algumas das instruções no compu-tador local e algumas nos computadores remotos e/ou disposi-tivos.
Aqueles versados na técnica também verificarãoque, pela utilização de técnicas convencionais, todas ouporções das instruções executáveis pelo computador do soft-ware podem ser executadas por. um circuito eletrôniclo dedi-cado tal como um processador de sinal digital ("DSP") , ar-ranjo lógico programável ("PLA"), circuitos discretos e se-melhantes. 0 termo "aparelho eletrônico" pode incluir dispo-sitivos de computação ou dispositivos eletrônicos do consu-midor compreendendo qualquer software, firmware ou semelhan-te, ou dispositivos eletrônicos ou circuitos não compreen-dendo software, firmware ou semelhantes.
O termo "firmware" tipicamente se refere a instru-ções executáveis, código ou dados mantidos em um dispositivoeletrônico tal como uma ROM. O termo "software" se referegeralmente a instruções executáveis, código, dados, aplica-ções, programas ou semelhantes mantidos em ou em qualquerforma dos meios legíveis por computador. O termo "meios Ie-gíveis por computador" tipicamente se refere à memória dosistema, dispositivos de armazenamento e seus meios associa-dos, meios de comunicações e semelhantes.

Claims (20)

1. Método para prover uma aplicação com comunica-ções de rede tolerante à falta entre uma pluralidade de nós,CARACTERIZADO pelo fato de que compreende:prover uma pluralidade de caminhos de comunicaçõesiniciais via uma pluralidade de redes unidas na pluralidadede nós,receber um pacote de dados em um nó de envio daaplicação, o nó de envio sendo um da pluralidade de nós, opacote de dados sendo endereçado pela aplicação para um en-dereço em um da pluralidade de nós, eselecionar um primeiro caminho selecionado para opacote de dados dentre a pluralidade de caminhos de comuni-cações iniciais, onde o primeiro caminho selecionado é umcaminho preferido.
2. Método, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que também compreende:detectar um evento de conectividade local associa-do com um da pluralidade de caminhos de comunicações inici-ais, eindicar se ou não um caminho da pluralidade de ca-minhos de comunicações iniciais está operacional com base noevento de conectividade local.
3. Método, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que também compreende:enviar um pacote de pulsos roteável através de umda pluralidade de caminhos de comunicações iniciais,monitorar uma resposta para o pacote de pulsos ro-teável para determinar um estado operacional de extremidadea extremidade do um de pluralidade de caminhos de comunica-ções iniciais, eindicar se ou não um da pluralidade de caminhos decomunicações iniciais está operacional de extremidade a ex-tremidade com base na monitoração da resposta.
4. Método, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que o endereço é um endereço deprotocolo da Internet versão 4 ou um endereço de protocoloda Internet versão 6.
5. Método, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que o pacote de dados recebido daaplicação é um pacote do protocolo de controle de transmis-são ou um pacote do protocolo de datagrâma do usuário.
6. Método, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que as instruções executáveis porcomputador para executar o método são armazenadas em um meiolegível por computador.
7. Método, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que o endereço é um endereço vir-tual.
8. Método, de acordo com a reivindicação 7,CARACTERIZADO pelo fato de que também compreende tunelar demaneira roteável o pacote de dados sobre o primeiro caminhoselecionado sem requerer que a aplicação fique ciente dequal da pluralidade de caminhos de comunicações iniciais é ocaminho selecionado.
9. Método, de acordo com a reivindicação 8,CARACTERIZADO pelo fato de que o pacote de dados tunelado demaneira roteável sobre o primeiro caminho selecionado é umpacote do protocolo de controle de transmissão ou um pacotedo protocolo de datagrama do usuário.
10. Método, de acordo com a reivindicação 7,CARACTERIZADO pelo fato de que também compreende:detectar uma falha do primeiro caminho seleciona-do,selecionar um segundo caminho selecionado dentre apluralidade de caminhos de comunicações iniciais onde o se-gundo caminho selecionado é tanto um caminho preferido quan-to está operacional de extremidade a extremidade, etunelar de maneira roteável o pacote de dados so-bre o segundo caminho selecionado sem requerer que a aplica-ção fique ciente de qual do um ou mais caminhos de comunica-ções iniciais é o segundo caminho selecionado.
11. Método, de acordo com a reivindicação 1,CARACTERIZADO pelo fato de que o primeiro caminho seleciona-do é selecionado com base em um endereço de destino físicoincluído com o pacote de dados.
12. Método, de acordo com a reivindicação 11,CARACTERIZADO pelo fato de que também compreende enviar opacote de dados sobre o primeiro caminho selecionado sem re-querer que a aplicação fique ciente de qual da pluralidadede caminhos de comunicações iniciais é o primeiro caminhoselecionado.
13. Método, de acordo com a reivindicação 11,CARACTERIZADO pelo fato de que também compreende:detectar uma falha do primeiro caminho seleciona-do,selecionar um segundo caminho selecionado da plu-ralidade de caminhos de comunicações iniciais onde o segundocaminho selecionado é tanto um caminho preferido quanto estáoperacional de extremidade a extremidade, etunelar de maneira roteável o pacote de dados so-bre o segundo caminho selecionado sem requerer que a aplica-ção fique ciente de qual de um ou mais caminhos de comunica-ções iniciais é o segundo caminho selecionado.
14. Método, de acordo com a reivindicação 13,CARACTERIZADO pelo fato de que o pacote de dados tunelado demaneira roteável sobre o segundo caminho selecionado é umpacote do protocolo de controle de transmissão ou um pacotedo protocolo de datagrama do usuário.
15. Método para prover uma aplicação com comunica-ções de rede tolerante à falta entre uma pluralidade de nós,CARACTERIZADO pelo fato de que compreende:prover uma pluralidade de caminhos de comunicaçõesiniciais via uma pluralidade de redes unidas na pluralidadede nós,receber um pacote de dados em um nó receptor, o nóreceptor incluindo uma pilha de rede tolerante à falta esendo um da pluralidade de nós, o pacote de dados sendo des-tinado para a aplicação,determinar se o pacote de dados foi tunelado demaneira roteável, ese o pacote de dados foi tunelado de maneira rote-ável, enviar o pacote de dados para cima da pilha da redetolerante à falta.
16. Método, de acordo com a reivindicação 15,CARACTERIZADO pelo fato de que também compreende:receber um pacote de pulsos roteável no nó recep-tor sobre um da pluralidade de caminhos de comunicações ini-ciais, eresponder com uma resposta para o pacote de pulsosroteável para indicar um estado operacional de extremidade aextremidade de um da pluralidade de caminhos de comunicaçõesiniciais.
17. Método, de acordo com a reivindicação 15,CARACTERIZADO pelo fato de que o pacote de dados é um pacotedo protocolo de controle de transmissão ou um pacote do pro-tocolo de datagrama do usuário.
18. Método, de acordo com a reivindicação 15,CARACTERIZADO pelo fato de que as instruções executáveis pe-lo computador para executar o método são armazenadas em ummeio legível por computador.
19. Sistema para prover uma aplicação com comuni-cações de rede tolerante à falta entre uma pluralidade denós, CARACTERIZADO pelo fato de que compreende:um primeiro acionador tolerante à falta acopladoem uma primeira pilha da rede e operando em um primeiro nó,o primeiro nó sendo um da pluralidade de nós,um segundo acionador tolerante à falta acoplado emuma segunda pilha de rede e operando em um segundo nó, o se-gundo nó sendo um da pluralidade de nós, eo primeiro acionador tolerante à falta e o segundoacionador tolerante à falta sendo unidos via uma pluralidadede caminhos de comunicações iniciais através de uma plurali-dade de redes.
20. Sistema, de acordo com a reivindicação 19,CARACTERIZADO pelo fato de que o primeiro acionador toleran-te à falta compreende:um elemento de processamento unido na aplicaçãovia a primeira pilha de rede,uma base de dados de roteamento unida no elementode processamento incluindo:uma entrada representando um caminho para o segun-do nó incluindo um endereço fisico do segundo nó, o caminhosendo um da pluralidade de caminhos de comunicações inici-ais, euma indicação de um estado operacional de extremi-dade a extremidade do caminho para o segundo nó,um adaptador de protocolo unido no elemento deprocessamento e unido em uma da pluralidade de redes via aprimeira pilha de rede, a uma da pluralidade de redes sendoassociada com o caminho para o segundo nó, eum adaptador de tunelamento associado com o cami-nho para o segundo nó, unido no elemento de processamento eunido em uma da pluralidade de redes via a primeira pilha derede.
BRPI0615816-1A 2005-09-12 2006-09-11 comunicações tolerante a falta em redes roteadas BRPI0615816A2 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US71612205P 2005-09-12 2005-09-12
US60/716.122 2005-09-12
US11/275.185 2005-12-16
US11/275,185 US7821930B2 (en) 2005-09-12 2005-12-16 Fault-tolerant communications in routed networks
PCT/US2006/035497 WO2007033179A2 (en) 2005-09-12 2006-09-11 Fault-tolerant communications in routed networks

Publications (1)

Publication Number Publication Date
BRPI0615816A2 true BRPI0615816A2 (pt) 2011-05-24

Family

ID=37854967

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0615816-1A BRPI0615816A2 (pt) 2005-09-12 2006-09-11 comunicações tolerante a falta em redes roteadas

Country Status (12)

Country Link
US (7) US7821930B2 (pt)
EP (1) EP1932289A4 (pt)
JP (1) JP4794629B2 (pt)
KR (1) KR20080055805A (pt)
CN (1) CN101263686B (pt)
AU (1) AU2006291046B2 (pt)
BR (1) BRPI0615816A2 (pt)
CA (1) CA2618227A1 (pt)
MX (1) MX2008003407A (pt)
NO (1) NO20080708L (pt)
RU (1) RU2420897C2 (pt)
WO (1) WO2007033179A2 (pt)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10117078B1 (en) 2005-04-12 2018-10-30 Ehud Mendelson Medical information communication method
US7821930B2 (en) 2005-09-12 2010-10-26 Microsoft Corporation Fault-tolerant communications in routed networks
US8467390B2 (en) * 2006-12-14 2013-06-18 Oracle America, Inc. Method and system for network stack tuning
US20090073990A1 (en) * 2007-09-14 2009-03-19 Hewlett-Packard Development Company, L.P. Method of replacing a router in a layer 3 network
US20110040911A1 (en) * 2009-08-13 2011-02-17 Anil Vasudevan Dual interface coherent and non-coherent network interface controller architecture
US9220151B2 (en) 2010-06-02 2015-12-22 Koninklijke Philips N.V. Method for controlling a lighting system, and lighting system
EP2426858B1 (en) * 2010-09-01 2012-10-31 Alcatel Lucent Method and apparatus for restoring a connection through a provider network upon request
US20130028257A1 (en) * 2011-07-27 2013-01-31 Raytheon Company Message Gateway and Methods for Using the Same
RU2460123C1 (ru) * 2011-08-09 2012-08-27 Федеральное государственное военное образовательное учреждение высшего профессионального образования "Военная академия связи имени маршала Советского Союза С.М. Буденного" Министерства Обороны Российской Федерации (Минобороны России) Способ сравнительной оценки структур сетей связи
CN102291311B (zh) * 2011-08-30 2017-03-29 中兴通讯股份有限公司 以太网接口保护方法及网络侧设备
JP6035726B2 (ja) * 2011-11-02 2016-11-30 富士通株式会社 接続制御装置、ストレージシステム及び接続制御装置の制御方法
WO2013086456A1 (en) * 2011-12-08 2013-06-13 Arteris SAS Differential formatting between normal and retry data transmission
CN102447632A (zh) * 2011-12-30 2012-05-09 四川川大智胜软件股份有限公司 一种具有数据容错能力的网络传输方法
WO2014144182A2 (en) * 2013-03-15 2014-09-18 Terascala, Inc. A data transfer method and apparatus
WO2014142973A1 (en) * 2013-03-15 2014-09-18 Hewlett-Packard Development Company, L.P. Network device architecture adjustments
US9965988B2 (en) * 2013-05-07 2018-05-08 Bally Gaming, Inc. System, apparatus and method for dynamically adjusting a video presentation based upon age
US9948545B2 (en) * 2013-06-13 2018-04-17 Tsx Inc. Apparatus and method for failover of device interconnect using remote memory access with segmented queue
CN104919858B (zh) * 2013-12-10 2019-10-18 华为技术有限公司 一种运营商共享网络中的故障处理方法及装置
CN104980348A (zh) * 2014-04-04 2015-10-14 中兴通讯股份有限公司 业务链路由方法及系统、及系统中的设备
US9838858B2 (en) 2014-07-08 2017-12-05 Rapidsos, Inc. System and method for call management
WO2016044540A1 (en) 2014-09-19 2016-03-24 Rapidsos, Inc. Method and system for emergency call management
EP3371990A4 (en) 2015-11-02 2019-11-06 Rapidsos Inc. SYSTEM AND PROCEDURE FOR SITUATION AWARENESS FOR EMERGENCY MEASURES
EP3391632A4 (en) 2015-12-17 2019-06-12 Rapidsos Inc. DEVICES AND METHOD FOR EFFICIENT EMERGENCY CALL
US9998507B2 (en) * 2015-12-22 2018-06-12 Rapidsos, Inc. Systems and methods for robust and persistent emergency communications
US9986404B2 (en) 2016-02-26 2018-05-29 Rapidsos, Inc. Systems and methods for emergency communications amongst groups of devices based on shared data
WO2017189610A2 (en) 2016-04-26 2017-11-02 Rapidsos, Inc. Systems and methods for emergency communications
US20170325056A1 (en) 2016-05-09 2017-11-09 Rapidsos, Inc. Systems and methods for emergency communications
US10841206B2 (en) * 2016-05-31 2020-11-17 128 Technology, Inc. Flow modification including shared context
WO2018039142A1 (en) 2016-08-22 2018-03-01 Rapidsos, Inc. Predictive analytics for emergency detection and response management
US10715350B2 (en) 2016-09-19 2020-07-14 Simmonds Precision Products, Inc. Automatic addressing of networked nodes
US10425511B2 (en) * 2017-01-30 2019-09-24 128 Technology, Inc. Method and apparatus for managing routing disruptions in a computer network
US10362631B2 (en) * 2017-04-03 2019-07-23 Level 3 Communications, Llc Last resource disaster routing in a telecommunications network
JP2018181170A (ja) * 2017-04-20 2018-11-15 富士通株式会社 情報処理装置、情報処理システムおよびプログラム
US10375558B2 (en) 2017-04-24 2019-08-06 Rapidsos, Inc. Modular emergency communication flow management system
EP3721402A4 (en) 2017-12-05 2021-08-04 Rapidsos Inc. EMERGENCY MANAGEMENT SOCIAL MEDIA CONTENT
US10924331B2 (en) * 2018-01-05 2021-02-16 WeRide Corp. Controller area network communication system
US10820181B2 (en) 2018-02-09 2020-10-27 Rapidsos, Inc. Emergency location analysis system
US20190320310A1 (en) 2018-04-16 2019-10-17 Rapidsos, Inc. Emergency data management and access system
WO2019241161A1 (en) 2018-06-11 2019-12-19 Rapidsos, Inc. Systems and user interfaces for emergency data integration
US11917514B2 (en) 2018-08-14 2024-02-27 Rapidsos, Inc. Systems and methods for intelligently managing multimedia for emergency response
US10977927B2 (en) 2018-10-24 2021-04-13 Rapidsos, Inc. Emergency communication flow management and notification system
WO2020172612A1 (en) 2019-02-22 2020-08-27 Rapidsos, Inc. Systems & methods for automated emergency response
US11146680B2 (en) 2019-03-29 2021-10-12 Rapidsos, Inc. Systems and methods for emergency data integration
US10911926B2 (en) 2019-03-29 2021-02-02 Rapidsos, Inc. Systems and methods for emergency data integration
US11228891B2 (en) 2019-07-03 2022-01-18 Rapidsos, Inc. Systems and methods for emergency medical communications
JP7339037B2 (ja) * 2019-07-10 2023-09-05 ファナック株式会社 制御装置、診断方法及び診断プログラム
CN110336744B (zh) * 2019-08-09 2021-05-04 合肥工业大学 一种无线片上网络中区域故障感知的容错路由方法
RU2720553C1 (ru) * 2019-10-18 2020-05-12 Федеральное государственное бюджетное учреждение науки Институт проблем управления им. В.А. Трапезникова Российской академии наук Способ организации системной сети в виде отказоустойчивого неблокируемого трехмерного разреженного р-ичного гиперкуба
US11330664B1 (en) 2020-12-31 2022-05-10 Rapidsos, Inc. Apparatus and method for obtaining emergency data and providing a map view
US12363035B2 (en) 2021-09-29 2025-07-15 Juniper Networks, Inc. Opportunistic mesh for software-defined wide area network (SD-WAN)

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2047899C1 (ru) * 1991-06-21 1995-11-10 Научно-исследовательский институт "Научный центр" Способ обеспечения отказоустойчивости вычислительных систем
US5774640A (en) * 1991-10-21 1998-06-30 Tandem Computers Incorporated Method and apparatus for providing a fault tolerant network interface controller
US20040264402A9 (en) * 1995-06-01 2004-12-30 Padcom. Inc. Port routing functionality
US5923854A (en) * 1996-11-22 1999-07-13 International Business Machines Corporation Virtual internet protocol (IP) addressing
US6314525B1 (en) * 1997-05-13 2001-11-06 3Com Corporation Means for allowing two or more network interface controller cards to appear as one card to an operating system
US6647508B2 (en) * 1997-11-04 2003-11-11 Hewlett-Packard Development Company, L.P. Multiprocessor computer architecture with multiple operating system instances and software controlled resource allocation
WO1999038084A1 (en) * 1998-01-22 1999-07-29 Intelogis, Inc. Method and apparatus for universal data exchange gateway
JP3787029B2 (ja) * 1998-03-03 2006-06-21 富士通株式会社 通信装置,通信手段選択方法及びコンピュータ可読媒体
FI105978B (fi) 1998-05-12 2000-10-31 Nokia Mobile Phones Ltd Menetelmä langattoman päätelaitteen kytkemiseksi tiedonsiirtoverkkoon ja langaton päätelaite
US6988274B2 (en) * 1998-06-12 2006-01-17 Microsoft Corporation Method, system, and computer program product for representing and connecting an underlying connection-oriented device in a known format
US6272113B1 (en) * 1998-09-11 2001-08-07 Compaq Computer Corporation Network controller system that uses multicast heartbeat packets
US6130890A (en) * 1998-09-11 2000-10-10 Digital Island, Inc. Method and system for optimizing routing of data packets
US20010052084A1 (en) 1998-11-10 2001-12-13 Jiandoug Huang Apparatus and methods for providing fault tolerance of networks and network interface cards
US6567377B1 (en) * 1999-03-18 2003-05-20 3Com Corporation High performance load balancing of outbound internet protocol traffic over multiple network interface cards
US6392990B1 (en) * 1999-07-23 2002-05-21 Glenayre Electronics, Inc. Method for implementing interface redundancy in a computer network
US6430622B1 (en) * 1999-09-22 2002-08-06 International Business Machines Corporation Methods, systems and computer program products for automated movement of IP addresses within a cluster
US6874147B1 (en) * 1999-11-18 2005-03-29 Intel Corporation Apparatus and method for networking driver protocol enhancement
JP2003524334A (ja) * 2000-02-25 2003-08-12 ハネウェル・インターナショナル・インコーポレーテッド 冗長ネットワーク制御による複数ネットワークの耐故障性
US6732189B1 (en) * 2000-03-20 2004-05-04 International Business Machines Corporation Method and apparatus for fault tolerant tunneling of multicast datagrams
US7000012B2 (en) * 2000-04-24 2006-02-14 Microsoft Corporation Systems and methods for uniquely identifying networks by correlating each network name with the application programming interfaces of transport protocols supported by the network
US6728780B1 (en) * 2000-06-02 2004-04-27 Sun Microsystems, Inc. High availability networking with warm standby interface failover
US6609213B1 (en) * 2000-08-10 2003-08-19 Dell Products, L.P. Cluster-based system and method of recovery from server failures
WO2002019636A1 (en) * 2000-08-31 2002-03-07 Padcom, Inc. Method and apparatus for routing data over multiple wireless networks
US7386610B1 (en) * 2000-09-18 2008-06-10 Hewlett-Packard Development Company, L.P. Internet protocol data mirroring
US6665812B1 (en) * 2000-12-22 2003-12-16 Emc Corporation Storage array network backup configuration
US20040213220A1 (en) * 2000-12-28 2004-10-28 Davis Arlin R. Method and device for LAN emulation over infiniband fabrics
US6868083B2 (en) 2001-02-16 2005-03-15 Hewlett-Packard Development Company, L.P. Method and system for packet communication employing path diversity
US6672167B2 (en) * 2001-04-23 2004-01-06 The Aerospace Corporation Method and system for processing laser vibrometry data employing bayesian statistical processing techniques
JP2003008581A (ja) * 2001-06-26 2003-01-10 Yokogawa Electric Corp 通信制御装置
US7581048B1 (en) * 2001-06-29 2009-08-25 Emc Corporation Method and apparatus for providing continuous communication between computers
US7020796B1 (en) * 2001-07-27 2006-03-28 Ciena Corporation High availability communication system
JP2003234749A (ja) * 2001-12-03 2003-08-22 Oki Electric Ind Co Ltd Lan間の通信ルート切替方法、ルート切替プログラム、ゲートウェイ及び端末
US20040078625A1 (en) 2002-01-24 2004-04-22 Avici Systems, Inc. System and method for fault tolerant data communication
US7492787B2 (en) * 2002-03-29 2009-02-17 Fujitsu Limited Method, apparatus, and medium for migration across link technologies
JP2003348134A (ja) * 2002-05-28 2003-12-05 Nec Soft Ltd 通信経路選択システム
JP2004031287A (ja) * 2002-06-28 2004-01-29 Pioneer Electronic Corp プラズマディスプレイパネル
US7254109B2 (en) 2002-07-12 2007-08-07 Baypackets, Inc. Fault tolerant correlation engine method and system for telecommunications networks
US20040062195A1 (en) 2002-09-30 2004-04-01 Intel Corporation Algorithm for dynamic provisioning of fail-over support in generalized multi-protocol label switching enabled networks
US7191235B1 (en) * 2002-11-26 2007-03-13 Cisco Technology, Inc. System and method for communicating data in a loadbalancing environment
DE60327687D1 (de) * 2003-01-23 2009-07-02 Supercomputing Systems Ag Fehlertolerantes computergesteuertes System
US7450940B2 (en) * 2003-04-28 2008-11-11 Chantry Networks, Inc. Wireless network communication system and method
US7861002B2 (en) * 2003-05-22 2010-12-28 Adtran, Inc. Network router that efficiently switches between a primary data path and a backup data path
JP2005057472A (ja) * 2003-08-04 2005-03-03 Nippon Telegr & Teleph Corp <Ntt> 通信方法及びシステム
JP2005327186A (ja) * 2004-05-17 2005-11-24 Nec Corp コンピュータシステムの複数経路情報管理方法及び装置
US7990849B2 (en) 2004-06-17 2011-08-02 Hewlett-Packard Development Company, L.P. Automated recovery from a split segment condition in a layer2 network for teamed network resources of a computer system
US9491084B2 (en) * 2004-06-17 2016-11-08 Hewlett Packard Enterprise Development Lp Monitoring path connectivity between teamed network resources of a computer system and a core network
US8046830B2 (en) 2004-07-23 2011-10-25 Citrix Systems, Inc. Systems and methods for network disruption shielding techniques
JP4148931B2 (ja) 2004-08-16 2008-09-10 富士通株式会社 ネットワークシステム、監視サーバ及び監視サーバプログラム
US7668962B2 (en) * 2005-02-07 2010-02-23 Symantec Operating Corporation System and method for connection failover using redirection
US7872965B2 (en) * 2005-08-01 2011-01-18 Hewlett-Packard Development Company, L.P. Network resource teaming providing resource redundancy and transmit/receive load-balancing through a plurality of redundant port trunks
US8036105B2 (en) * 2005-08-08 2011-10-11 International Business Machines Corporation Monitoring a problem condition in a communications system
US7821930B2 (en) 2005-09-12 2010-10-26 Microsoft Corporation Fault-tolerant communications in routed networks

Also Published As

Publication number Publication date
EP1932289A2 (en) 2008-06-18
RU2420897C2 (ru) 2011-06-10
MX2008003407A (es) 2008-03-27
US8169894B2 (en) 2012-05-01
KR20080055805A (ko) 2008-06-19
US7821930B2 (en) 2010-10-26
US9253293B2 (en) 2016-02-02
US20070058528A1 (en) 2007-03-15
US20120272093A1 (en) 2012-10-25
WO2007033179A3 (en) 2007-05-18
US20110004783A1 (en) 2011-01-06
CN101263686B (zh) 2014-11-12
WO2007033179A2 (en) 2007-03-22
CN101263686A (zh) 2008-09-10
JP2009508443A (ja) 2009-02-26
US20120272092A1 (en) 2012-10-25
CA2618227A1 (en) 2007-03-22
US20150113165A1 (en) 2015-04-23
NO20080708L (no) 2008-04-14
AU2006291046B2 (en) 2010-03-04
EP1932289A4 (en) 2013-04-10
RU2008109226A (ru) 2009-10-10
JP4794629B2 (ja) 2011-10-19
AU2006291046A1 (en) 2007-03-22
US20110004782A1 (en) 2011-01-06
US8369208B2 (en) 2013-02-05
US20160142289A1 (en) 2016-05-19
US8958325B2 (en) 2015-02-17

Similar Documents

Publication Publication Date Title
BRPI0615816A2 (pt) comunicações tolerante a falta em redes roteadas
CN113454598B (zh) 提供具有访客vm移动性的服务
US7953854B2 (en) Apparatus and method for providing remote access redirect capability in a channel adapter of a system area network
CN104468181B (zh) 虚拟网络设备故障的检测和处理
US11799738B2 (en) Communication of a message using a network interface controller on a subnet
CN1246994C (zh) 用于在局域网内实现快速恢复进程的方法和系统
US7864666B2 (en) Communication control apparatus, method and program thereof
KR100831639B1 (ko) 정보 처리 장치, 통신 부하 분산 방법 및 통신 부하 분산프로그램을 기록한 기록 매체
US9122604B2 (en) External settings that reconfigure the error handling behavior of a distributed PCIe switch
US8903991B1 (en) Clustered computer system using ARP protocol to identify connectivity issues
WO2009012697A1 (en) Method and apparatus for inspecting the configuration information
CN101292502A (zh) 用于管理容错网络上的节点的设备和方法
US12494991B2 (en) Traffic protection with predetermined reroute and adaptive failure detection for use of applications hosted on virtual private clouds
CN104753699A (zh) 一种链路故障处理方法和装置
KR20250085167A (ko) 전원 제어기
Cavalli et al. A Reliable Approach for Transport Session Management

Legal Events

Date Code Title Description
B08F Application dismissed because of non-payment of annual fees [chapter 8.6 patent gazette]

Free format text: REFERENTE A 7A ANUIDADE.

B08K Patent lapsed as no evidence of payment of the annual fee has been furnished to inpi [chapter 8.11 patent gazette]

Free format text: REFERENTE AO DESPACHO 8.6 PUBLICADO NA RPI 2256 DE 01/04/2014.