BRPI0618776A2 - envio de dados de roteamento com base em tempos em que os servidores uniram-se a um cluster - Google Patents

envio de dados de roteamento com base em tempos em que os servidores uniram-se a um cluster Download PDF

Info

Publication number
BRPI0618776A2
BRPI0618776A2 BRPI0618776-5A BRPI0618776A BRPI0618776A2 BR PI0618776 A2 BRPI0618776 A2 BR PI0618776A2 BR PI0618776 A BRPI0618776 A BR PI0618776A BR PI0618776 A2 BRPI0618776 A2 BR PI0618776A2
Authority
BR
Brazil
Prior art keywords
server
cluster
servers
message
routing data
Prior art date
Application number
BRPI0618776-5A
Other languages
English (en)
Inventor
Pernell James Dykes
William Newport
Jinmei Shen
Kevin William Sutter
Hao Wang
Original Assignee
Ibm
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 Ibm filed Critical Ibm
Publication of BRPI0618776A2 publication Critical patent/BRPI0618776A2/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/46Cluster building
    • 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/24Negotiation of communication capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

ENVIO DE DADOS DE ROTEAMENTO COM BASE EM TEMPOS EM QUE OS SERVIDORES UNIRAM-SE A UM CLUSTER. Método, aparelho, sistema e mídia portadora de sinal que, em uma concretização, envia uma mensagem para um cluster de servidores e recebe uma mensagem ponto a ponto a partir de um servidor de coordenação do cluster, onde o servidor de coordenação uniu-se ao cluster antes de todos os outros servidores no cluster. A mensagem ponto a ponto inclui dados de roteamento relativos a todos os servidores no cluster. Em uma concretização, a mensagem inclui um registro que inclui uma identificação de um novo servidor, dados de recursos sobre o novo servidor e uma hora em que o novo servidor uniu-se ao cluster e os servidores do cluster adicionam o registro de dados de roteamento e enviam uma solicitação para o novo servidor através do registro. Em outra concretização, a mensagem inclui registros de todos os servidores em um segundo cluster e o novo servidor envia dados de roteamento para os servidores no segundo cluster. Se um servidor sai do cluster, o seu registro é removido. Desta forma, um cluster pode responder a servidores dinamicamente unindo e deixando o cluster, ao mesmo tempo em que reduz o tráfego de rede.

Description

Relatório Descritivo da Patente de Invenção para: "ENVIO DEDADOS DE ROTEAMENTO COM BASE EM TEMPOS EM QUEOS SERVIDORES UNIRAM-SE A UM CLUSTER".
Campo
Uma concretização da invenção geralmente diz respeitoaos computadores. Em particular, uma concretização dainvenção geralmente diz respeito a um cluster de sistemasde computadores ligados através de uma rede.
Antecedentes
0 desenvolvimento do sistema de computador EDVAC de1948 é freqüentemente citado como o inicio da era docomputador. Desde aquela época, os sistemas de computadortêm evoluído em dispositivos extremamente sofisticados esistemas de computador podem ser encontrados em diversasconfigurações. Sistemas de computador normalmente incluemuma combinação de hardware, tais como semicondutores ecircuitos impressos, e de software, também conhecido comoprogramas de computador. À medida que os avanços notratamento de semicondutores e a arquitetura computacionalempurram o desempenho do hardware do computador mais paracima, mais complexo e sofisticado software de computadortem evoluído para obter vantagem do melhor desempenho dohardware, resultando em sistemas de computadores que sãohoje muito mais poderosos do que apenas alguns anos atrás.Anos atrás, os computadores eram dispositivos stand-alone que não se comunicavam uns com os outros, mas, hoje,são, cada vez mais, computadores conectados em rede e umcomputador, chamado de cliente, pode solicitar a outrocomputador, chamado de servidor, para realizar umaoperação. Com o advento da Internet, este modelo cliente /servidor é cada vez mais utilizado no comércio online eserviços, tais como leilões de casas online, estoquecomercial, bancos, comércio, armazenamento e recuperação deinformação.
Os servidores que processam as solicitaçõesde clientessão, muitas vezes, organizados em clusters ligados atravésde uma rede. Um estado de servidor estável em um cluster éo ideal, no qual os servidores que existem no cluster e osdados e os serviços disponíveis nos servidores sãoconhecidos e constantes. Um estado de servidor estávelpermite que o cliente solicite usar os servidoresimediatamente após os servidores ficam disponíveis, de modoque as solicitações do cliente não encontram um erro.
Em contraste com o estado de servidor estável, umcluster de servidores pode existir em um estado de servidorturbulento. Um estado de servidor turbulento pode sercausado pelos seguintes fatores: a adição dinâmica eremoção de servidores ao e do cluster, a adição dinâmica eremoção de itens de dados e serviços aos e dos servidores,a inicialização dos servidores no cluster e a falha dosservidores. Um estado de servidor turbulento cria problemaspara encontrar o servidor correto em um cluster paraprocessar uma solicitação de um cliente porque a informaçãode roteamento, que identifica os servidores e os seus dadose serviços, se torna obsoleta. A informação de roteamentoobsoleta pode fazer com que as solicitações do clienteencontre erros. Por exemplo, as informações de roteamentoobsoletas podem fazer com que as solicitações do clientesejam encaminhadas para um servidor onde os dados ouserviços não estão mais disponíveis (muitotarde), e podefazer com que solicitações do sejam encaminhadas para osservidores onde os dados novos ou novos serviços ainda nãoestão prontos para tratar as solicitações (muito cedo).
Assim, as informações de roteamento obsoletas, comumente,causadas por um estado de servidor turbulento, impactam nasatisfação do consumidor no cliente.
Uma abordagem atual para tentar lidar com um estado deservidor turbulento e as informações de roteamentoresultantes obsoletas é chamada de abordagem de bulletinboard. Em uma abordagem de bulletin board, um servidor nocluster é designado um coordenador, todos os servidores docluster enviam suas informações de roteamento para ocoordenador e todos os clientes recuperam as informações deroteamento para os servidores no cluster a partir docoordenador. Se o coordenador é removido do cluster ouencontra um erro, um novo coordenador é escolhido, e cadaservidor recoloca a sua informação de roteamento para onovo coordenador. Assim, a abordagem bulletin board causatráfego de rede adicional, que impacta negativamente odesempenho e satisfação do cliente.
Assim, é necessária uma melhor coordenação dainformação de roteamento.
Sumário
A presente invenção fornece um método realizado em umservidor de recepção, como reivindicado na reivindicação 1.
A presente invenção fornece também um métodocorrespondente realizado em um novo servidor, comoreivindicado na reivindicação 9.
Correspondente sistema e programas de computador sãotambém fornecidos.
Desta forma, um cluster pode responder a servidoresdinamicamente unindo-se e deixando o cluster, enquantoreduz o tráfego de rede.
Breve Descrição das Figuras
Várias concretizações da presente invenção sãodescritas a seguir, em conjugação com os desenhos anexos:A figura 1 retrata um diagrama de blocos de um sistemade exemplo para implementar uma concretização da invenção.
A figura 2A retrata um diagrama de blocos de umcluster de exemplo de servidores, de acordo com umaconcretização da invenção.
A figura 2B mostra um diagrama de blocos de um novoservidor de exemplo unido-se a um cluster de servidores, deacordo com uma concretização da invenção.
A figura 3 mostra um diagrama de blocos da fusão dosclusters de exemplo de servidores, de acordo com umaconcretização da invenção.
A figura 4 representa um diagrama de blocos dos dadosde roteamento de exemplo, de acordo com uma concretizaçãoda invenção.
A figura 5 mostra um fluxograma do processamento deexemplo de um novo servidor unindo-se a um cluster deservidores, de acordo com uma concretização da invenção.
A figura 6 apresenta um fluxograma do processamento deexemplo para a conexão de clusters de servidores, de acordocom uma concretização da invenção.
A figura 7 apresenta um fluxograma de processamento deexemplo para uma mensagem difundida, de acordo com umaconcretização da invenção.A figura 8 mostra um fluxograma do processamento deexemplo que responde a um servidor deixando uma rede, deacordo com uma concretização da invenção.
Deve ser notado, contudo, que os desenhos anexosilustram somente concretizações de exemplo da invenção, e,portanto, não são considerados como limitação do seu escopode aplicação, para a invenção poder admitir outrasconcretizações igualmente eficazes.
Descrição
Referindo-se às figuras, onde números semelhantesdenotam partes semelhantes em todas as várias vistas, afigura 1 apresenta uma representação diagrama de blocos dealto nivel de um sistema de computador servidor 100 ligadoa uma rede 130, de acordo com a concretização da presenteinvenção. Os termos "sistema de computador" e "servidor"são utilizados apenas por conveniência, quaisquerdispositivos eletrônicos apropriados podem ser utilizados,em várias concretizações, o sistema de computador 100 podeoperar tanto como um cliente ou um servidor, e um sistemade computador ou dispositivo eletrônico que opera como umcliente em um contexto pode funcionar como um servidor emoutro contexto. Os principais componentes do sistema decomputador servidor 100 inclui um ou mais processadores101, uma memória principal 102, uma interface de terminal111, uma interface de armazenamento 112, uma interface dedispositivo de E/S (Entrada / Saida) 113 e interfaces derede/ comunicação 114, todos os quais estão acoplados paracomunicação inter-componente da através de um barramento dememória 103, um barramento de E/S 104 e uma unida deinterface de barramento de E/S 105.
O sistema de computador servidor 100 inclui uma oumais unidades de processamento central programáveis depropósito geral (CPUs) 101A, 101B, 101C, 101D e, aquigenericamente referidas como um processador 101. Em umaconcretização, o sistema de computador 100 contém múltiplosprocessadores típicos de um sistema relativamente grande,porém, em outra concretização, o sistema de computador 100pode ser, alternativamente, um único sistema de CPU. Cadaprocessador 101 executa instruções armazenadas na memóriaprincipal 102 e podem incluir um ou mais dos níveis decachê on-board.
A memória principal 102 é uma memória semicondutora deacesso aleatório para armazenar dados e programas. Amemória principal 102 é conceitualmente uma única entidademonolítica, mas em outras concretizações, a memóriaprincipal 102 é um arranjo mais complexo, tal como umahierarquia de caches e outros dispositivos de memória. Porexemplo, a memória pode existir em múltiplos níveis decaches, e estes caches podem ser subdivididos por função,de forma que um cachê detém instruções enquanto outro detémdados não relacionados à instrução, que são utilizados peloprocessador ou processadores. A memória pode ainda serdistribuída e associada a diferentes CPUs ou conjuntos deCPUs, como é conhecida em qualquer uma denominadas dasvárias arquiteturas de computadores de acesso à memória nãouniforme (NUMA).
A memória principal 102 inclui um controlador 158 eserviços 159. Apesar de o controlador 158 e os serviços 159serem ilustrados como sendo contidos dentro da memória 102no sistema de computadores 100, em outras concretizações,alguns ou todos eles podem estar em diferentes sistemas decomputador e podem ser acessados remotamente, por exemplo,através da rede 130. O sistema de computador 100 podeutilizar mecanismos de endereçamento virtual que permiteque os programas do sistema do computador 100 se comportemcomo se eles só tivessem acesso a uma grande e únicaentidade de armazenamento, em vez de acesso a múltiplas,pequenas entidades de armazenamento. Assim, enquanto ocontrolador 158 e os serviços 159 são ilustrados comoestando contidos dentro da memória principal 102, esteselementos não estão necessariamente todos completamentecontidos no mesmo dispositivo de armazenamento físico, aomesmo tempo. Além disso, embora o controlador 158 e osserviços 159 sejam ilustrados como sendo entidadesdistintas, em outras concretizações, alguns deles, ouporções de alguns deles, podem ser empacotados em conjunto.
Em uma concretização, o controlador 158 incluiinstruções armazenadas na memória 102 capazes de executarno processador 101 ou declarações susceptíveis de sereminterpretadas por executar instruções sobre o processador101 a desempenhar as funções como a seguir descrito comreferência às figuras 5, 6, 7 e 8. Em outra concretização,o controlador 158 pode ser implementado em microcódigo oufirmware. Em outra concretização, o controlador 158 podeser implementado em hardware através portas lógica e / ououtras técnicas apropriadas de hardware.
O controlador 158 inclui dados de roteamento 160, umgerenciador baseado em tempo 162, um verificador de saúde164, uma fusão de informação 166, um radiodifusor deinformação 167, e um remetente ponto-a-ponto 168. Ogerenciador baseado em tempo 162 calcula o tempo decorridodesde um servidor juntou-se a um cluster de servidores. Overificador de saúde 164 monitora os erros associados comos servidores 100 ou a rede 130. A fusão de informação 166funde em informações de dados de roteamento 160. Oradiodifusor informações 167 envia mensagens difundidaspara a rede 130. O remetente ponto-a-ponto 168 enviamensagens ponto-a-ponto para os servidores inscritos narede 130. Os dados de roteamento 160 descrevem osservidores 100 ligados à rede 130. Os dados de roteamento160 são descrito mais adiante com referência à figura 4.
Os serviços são serviços 159, funções, ou métodosdisponíveis no servidor 100, e em várias concretizações,podem ser aplicativos, aplicativos de usuário, aplicativosde terceiros, servidores de aplicação, sistemasoperacionais, quaisquer outros serviços adequados, ou parteou a combinação destes.
O barramento de memória 103 fornece um caminho decomunicação de dados para a transferência de dados entre oprocessador 101, a principal memória 102, e a unidade deinterface de E/S 105. A unidade de interface de E/S 105éainda acoplada ao barramento de E/S do sistema 104 para atransferência de dados de e para as diversas unidades deE/S. A unidade de interface de E/S 105 comunica-se commúltiplas unidades de interface de E/S 111, 112, 113, e114, que também são conhecidas como processadores de E/S(IOPs) ou Adaptadores de E/S (IOAs), através do barramentode E/S do sistema 104. 0 barramento de E/S do sistema 104pode ser, por exemplo, um barramento PCI padrão daindústria, ou qualquer outra tecnologia de barramentoapropriada.
As Unidades de interface de E/S suportam comunicaçãocom uma variedade de dispositivos de armazenamento e deE/S. Por exemplo, a unidade de interface de terminal 111suporta a fixação de um ou mais terminais de usuários 121,122, 123, e 124. A unidade de interface de armazenamento112 suporta a fixação de um ou mais dispositivos dearmazenamento de acesso direto (DASD) 125, 126 e 127 (quesão tipicamente dispositivos de armazenamento deacionamento de disco magnético rotativo, embora pudessemser, alternativamente, outros dispositivos, incluindo osarranjos de discos rígidos configurados para aparecer comoum único grande dispositivo de armazenamento para um host).
O conteúdo da memória principal 102 pode ser armazenado erecuperado a partir dos dispositivos de armazenamento deacesso direto 125, 126 e 127.
A interface de dispositivo de E/S 113 fornece umainterface para qualquer um dos vários outros dispositivosde E/S ou dispositivos de outros tipos. Dois dessesdispositivos, a impressora 128 e a máquina de fax 129, sãomostrados na concretização exemplificativo da figura 1,mas, em outras concretizações, tais dispositivos podemexistir, que podem ser de diferentes tipos. A interface derede 114 fornece um ou mais canais de comunicação dosistema de computador 100 para outros dispositivos digitaise sistemas de computador; esses caminhos podem incluir, porexemplo, uma ou mais redes 130.
Embora o barramento de memória 103 seja mostrado nafigura 1 como uma estrutura de barramento únicarelativamente simples, fornecendo um caminho de comunicaçãodireta entre os processadores 101, a memória principal 102,e o Barramento de interface de E/S 105, na realidade, obarramento de memória 103 pode compreender váriosbarramentos ou caminhos diferentes de comunicação, quepodem ser dispostos em qualquer das diversas formas, taiscomo links ponto-a-ponto em configurações hierárquicas,emestrela ou teia, vários barramentos hierárquicos, caminhosparalelos e redundantes, etc. Além disso, embora ainterface de barramento de E/S 105 e a interface debarramento de E/S 104 sejam mostradas como respectivasunidades únicas, o sistema de computador 100 pode, narealidade, conter vários unidade de interface de E/S 105 e/ ou múltiplos barramento de E/S 104. Embora váriasunidades de interface de E/S sejam mostradas, que separam obarramento de E/S do sistema 104 de vários caminhos decomunicações que executam os diversos dispositivos de E/S,em outras concretizações, alguns ou todos os dispositivosde E/S estão conectados diretamente a um ou maisbarramentos de E/S do sistema.
0 sistema de computador 100 ilustrado na figura 1 temmúltiplos terminais associados 121, 122, 123 e 124, comopoderia ser típico de um sistema de computador de múltiplosusuários "mainframe". Normalmente, em tal caso o númeroreal de dispositivos inscritos é maior do que os mostradosna figura 1, apesar de a presente invenção não se limitar asistemas particulares de qualquer tamanho. O sistema decomputador 100 poderá ser, alternativamente, um sistema deúnico usuário, tipicamente contendo apenas um único displayde usuário e teclado de entrada, ou poderia ser um servidorou dispositivo semelhante, que tem pouca ou nenhumainterface de usuário diretamente, mas recebe pedidos deoutros sistemas de computador (clientes). Em outrasconcretizações, o sistema de computador 100 pode serimplementado como um computador pessoal, computadorportátil, laptop ou computador notebook, PDA (PersonalDigital Assistant), computador de bolso, computador tablet,telefone, pager, automóvel, sistema de teleconferência,aparelho, ou qualquer outro tipo de dispositivo eletrônicoadequado.
A rede 130 pode ser qualquer rede adequada oucombinação de rede e pode suportar qualquer protocoloadequado apropriado para comunicação de dados e / ou códigode / para o sistema de computador 100. Em váriasconcretizações, a rede 130 pode representar um dispositivode armazenamento ou de uma combinação de dispositivos dearmazenamento, ligados direta ou indiretamente ao sistemade computador 100. Em uma concretização, a rede 130 podesuportar Infiniband. Em outra concretização, a rede 130pode suportar comunicações sem fios. Em outraconcretização, a rede 130 pode suportar comunicações comfios, tais como uma linha telefônica ou cabo. Em outraconcretização, a rede Ethernet 130 pode suportar aespecificação IEEE 802.3x (Instituto de EngenheirosElétricos e Eletrônicos). Em outra concretização, a rede130 pode ser a Internet e pode suportar IP (InternetProtocol). Em outra concretização, a rede 130 pode ser umarede local (LAN) ou uma rede de longa distância (WAN) . Emoutra concretização, a rede pode ser uma rede provedora deserviços hotspot 130. Em outra concretização, a rede 130pode ser uma intranet. Em outra concretização, a rede 130pode ser uma rede GPRS (General Packet Radio Service) . Emoutra concretização, a rede 130 pode ser uma rede FRS(Family Radio Service) . Em outra concretização, a rede 130pode ser qualquer rede de dados celulares adequada outecnologia de rede de rádio baseada em célula. Em outraconcretização, a rede 130 pode ser uma rede sem fio IEEE802.11b. Em ainda outra concretização, a rede 130 pode serqualquer rede adequada ou a combinação das redes. Emborauma rede 130 seja mostrado, em outras concretizações,qualquer número de redes (do mesmo ou de diferentes tipos)podem estar presentes.
Deve ser entendido que a figura 1 destina-se adescrever os componentes principais representativos dosistema de computadores 100 e a rede 130 em um alto nivel,cada um dos componentes pode ter uma maior complexidade doque representado na figura 1, que outros componentes, ou emcomplemento a esses mostrados na figura 1 podem estarpresentes, e que o número, o tipo, e configuração dessescomponentes podem variar. Vários exemplos de talcomplexidade adicional ou variações adicionais sãodivulgados aqui; entendendo-se que estes são apenas atitulo de exemplo e não são necessariamente as únicasvariações.
Os vários componentes de software ilustrados na figuraIea implementação das várias concretizações da invençãopodem ser aplicados em uma série de maneiras, inclusiveutilizando diversos aplicativos de informática, rotinas,componentes, programas, objetos, módulos, estruturas dedados, etc, a seguir designados "programas de computador",ou simplesmente "programas". Os programas de computadornormalmente incluem uma ou mais instruções ou declaraçõesque sejam residentes em diversas vezes em várias memória edispositivos de armazenamento no sistema de computadores100, e de que, quando lidas e executadas por um ou maisprocessadores no sistema de computadores 100, faz com que osistema de computador 100 execute as etapas necessáriaspara executar etapas ou elementos que incluem os diferentesaspectos de uma concretização da invenção.
Além disso, embora concretizações da invenção tenhamsido e serão descritas a seguir no contexto de sistemas decomputador de pleno funcionamento, as diversasconcretizações da invenção são susceptíveis de seremdistribuídas como um produto de programa em uma variedadede formas, e se aplicam igualmente à invençãoindependentemente do tipo particular de mídia portadora dosinal utilizada para realizar efetivamente a distribuição.
Os programas que definem as funções da presenteconcretização podem ser entregues ao sistema do computador100 através de uma variedade de mídias portadora de sinaltangíveis legíveis e graváveis por computador, que incluem,mas não estão limitados a:
(1) informação permanentemente armazenada em uma mídiade armazenamento não-regravável, por exemplo, umdispositivo de memória só de leitura ou dentro de umsistema de computador, como um CD-ROM, DVD-R, DVD+ R; ou
(2) informação alterável armazenada em uma midia dearmazenamento regravável, por exemplo, uma unidade de discorigido (por exemplo, o DASD 125, 126, ou 127), CD-RW, DVD-RW, DVD + RW, DVD-RAM, ou disquete; ou
(3) informação veiculada por um meio de comunicação,como, por exemplo, através de um computador ou uma redetelefônica, por exemplo, a rede 130.
Essa midia tangíveis portando o sinal, quandocarregando instruções legível por máquina que direcionam asfunções da presente invenção, representam concretizações dapresente invenção.
Concretizações da presente invenção podem também serentregues como parte de um serviço de envolvimento com umcorporação cliente, organização sem fins lucrativos,entidade governamental, estrutura organizacional interna,ou algo do gênero. Concretizações destes aspectos podemincluir configurar um sistema de computador para executar,e a implantar sistemas de software e serviços da web queimplementam, alguns ou todos os métodos descritos nestedocumento. Concretizações destes aspectos podem incluirtambém analisar a empresa cliente, criar recomendações emresposta à análise, gerar software para implementar asporções de recomendações, integrar o software em processosexistentes e infra-estrutura, medir uso de métodos e desistemas descritos aqui, alocar despesas para usuários, ecobrar usuários para a sua utilização destes métodos esistemas. Além disso, vários programas descritos a seguirpodem ser identificados com base em um aplicativo para oqual eles são implementados em uma determinadaconcretização da invenção. Mas, qualquer nomenclaturaparticular de programa que segue é usada unicamente porconveniência, e, portanto, concretizações da invenção nãodevem ser limitadas exclusivamente para uso em qualqueraplicativo especifico identificado e / ou implícito poressa nomenclatura.
O ambiente exemplificativo ilustrado na figura 1 nãose destina a limitar a presente invenção. De fato, outrasalternativas de ambientes de hardware e / ou software podemser utilizadas sem se afastar do escopo da invenção.
A figura 2A retrata um diagrama de blocos de umcluster de exemplo 202 de servidores 100, de acordo com aconcretização da invenção. O cluster 202 pode também serconhecido como uma partição ou um grupo. Qualquer número deservidores 100 pode ser organizado em cluster 202 equalquer número de clusters pode a existir. Os servidores100 no cluster 202 podem enviar pedidos uns aos outros (pormeio da rede 130 da figura 1) que utiliza os serviços 159.Qualquer um dos servidores 100 poderá agir como um cliente.
A figura 2B mostra um diagrama de blocos de um novoservidor de exemplo 100-6 unindo-se ao cluster 202-1, queinclui servidores 100-1, 100-2, 100-3, 100-4 e 100-5, deacordo com uma concretização da invenção. O servidor 100(figura 1) refere-se genericamente aos servidores 100-1,100-2, 100-3, 100-4, 100-5 e 100-6. O cluster 202 (figura2) refere-se genericamente ao cluster 202-1. Os servidores100-1, 100-2, 100-3, 100-4, 100-5 e 100-6 são conectadosvia rede 130.
O servidor 100-1 é o servidor mais antigo no cluster202-1, significando que o servidor 100-1 está no cluster202-1 a mais tempo, é o membro original do cluster 202-1,e, portanto, uniu-se ao cluster 202—1 em um tempo antes deos servidores 100-2, 100-3, 100-4, 100-5, 100-6 e 202-1unirem-se ao cluster. A designação de servidor mais antigo100-1 pode mudar conforme os servidores 100 unem-se e saemdo cluster 202-1. Os servidores 100-1, 100-2, 100-3, 100-4e 100-5 são membros pré-existentes do cluster 202-1,significando que eles já tenham sido ligados à rede 130 etenham recebido previamente os dados de roteamento 160 queidentificam os vários servidores e serviços disponíveis 159no cluster 202-1 a partir do servidor mais antigo 100-1.O servidor 100-6 é o novo servidor no cluster 202-1, oque significa que ele se uniu ao cluster 202-1 após osoutros servidores 100-1, 100-2, 100-3, 100-4 e 100-5. Emresposta ao novo servidor 100-6 conectando à rede 130, onovo servidor 100-6 envia uma mensagem 205 para o cluster202-1 através da rede 103, que inclui um registro queidentifica o novo servidor 100-6 e inclui informações sobreo novo servidor 100-6 e os serviços 159 disponíveis nonovo servidor 100-6. Nas mensagens difundidas, a mesmamensagem 205 é enviada para todos os servidores do cluster202-1 sem o novo servidor 100-6 precisar conhecer oendereço de rede dos servidores de recepção 100-1, 100-2,100-3, 100-4 e 100-5. Em vez disso, o novo servidor 100-6envia a mensagem 205 para um endereço do cluster 202-1, e arede 130 envia a mensagem 205 a cada um dos servidores 100-1, 100-2, 100-3, 100 -4 e 100-5 no cluster 202-1. Asmensagens difundidas também são conhecidos como multi-casting.
A mensagem 205 é recebida por todos os servidores 100-1, 100-2, 100-3, 100-4 e 100-5, que estão ligados à rede130. Em resposta ao recebimento da mensagem 205, o servidormais antigo 100-1 adiciona o registro recebido de sua cópiados dados de roteamento 160 e envia a mensagem ponto-a-ponto 210 para o novo servidor 100-6, que inclui os dadosde recursos globais 160, que representam todos osservidores 100-1, 100-2, 100-3, 100-4 e 100-5 no cluster202-1. O servidor mais antigo 100-1 envia a mensagem pontoa ponto 210 exclusivamente para o novo servidor 100-6, oque significa que o servidor mais antigo 100-1 não envia omensagem ponto-a-ponto 210 para os outros servidores 100-2,100-3, 100-4 e 100-5. Um mensagem ponto a ponto também échamada de mensagem unicast. Em resposta ao recebimento damensagem 205, os servidores 100-2, 100-3, 100-4 e 100-5adicionam o registro recebido às suas respectivas cópiasdos dados de roteamento 160, mas não precisam enviar seusrespectivos dados de roteamento para o novo servidor 100-6,porque o servidor mais antigo 100-1 tem respondido com aúnica mensagem ponto a ponto 210, a qual inclui os dados deroteamento 160, representando todos os servidores docluster 202-1.
A figura 3 mostra um diagrama de blocos da fusão de umcluster de exemplo 202-2 e o cluster 202-3, de acordo com aconcretização da invenção. 0 cluster 202-2 incluiservidores 100-7, 100-8 e 100-9. O cluster 202-3 incluiservidores 100-10, 100-11 e 100-12. O servidor 100 (figura1) refere-se genericamente aos servidores 100-7, 100-8,100-9, 100-10, 100-11 e 100-12. O cluster 202 (figura 2A)refere-se genericamente aos clusters 202-2 e 202-3. Em umaconcretização, os clusters 202-2 e 202-3 foram previamenteconectados como um cluster 202, mas perderam a conexãoentre si, foram separados, e estão agora reconectar. Comoresultado de serem desconectados, os registros para osservidores do cluster perdidos foram retirados dos dados deroteamento 160, como descrito mais adiante com referência àfigura 8. Em outra concretização, os clusters 202-2 e 202-3anteriormente não estavam conectados, mas estão agora aserem conectados.
Em resposta ao servidor mais antigo 100-7, no cluster202-2 detectar a conexão (ou reconexão) para o cluster 202-3, o servidor mais antigo 100-7 envia a mensagem difundida305 a todos os servidores 100-10, 100-11 e 100-12 docluster 202-3. Embora os servidores 100-8 e 100-9 nocluster 202-2 possam detectar a conexão do cluster 202-3,eles não enviam a mensagem difundida 305, porque eles nãosão o servidor mais antigo no cluster 202-2. A mensagemdifundida 305 inclui todos os registros nos dados deroteamento 160-2 para todos os servidores 100-7, 100-8 e100-9 no cluster 202-2.
Em resposta ao recebimento da mensagem difundida 305,os servidores de recepção 100-11 e 100-12 adicionam osregistros de dados de roteamento 160-2 a partir da mensagemdifundida 305 a suas respectivas cópias dos dados deroteamento 160-3, mas não respondem, porque eles não são oservidor mais antigo no cluster 202-3. Em resposta aorecebimento da mensagem difundida 305, o servidor 100-10determina que é o servidor mais antigo no cluster 202-3,examinando a sua cópia dos dados de roteamento 160-3 eenvia a mensagem ponto-a-ponto 310 para o servidor maisantigo 100-7, no cluster 202-2. A mensagem ponto-a-ponto310 inclui todos os registros nos dados de roteamento 160-3para todos os servidores 100-10, 100-11, 100-12 e nocluster 202-3.
Em resposta ao recebimento da mensagem ponto a ponto310, o servidor mais antigo 100-7, em seguida, envia amensagem difundida 315 para os servidores 100-8 e 100-9 nocluster 202-2, que inclui os registros recebidos a partirdos dados de roteamento 160-3. Os servidores de recepção100-8 e 100-9 no cluster 202-2 adicionam os registrosrecebidos a partir dos dados de roteamento 160-3 para assuas cópias dos dados de roteamento 160-2. O servidor maisantigo 100-7 no cluster 202-2, em seguida, adiciona osregistros recebidos a partir dos dados de roteamento 160-3à sua cópia dos dados de roteamento 160-2. Os clusters 202-2 e 202-3 são agora reunidos em um único cluster, e oservidor mais antigo no novo cluster único é o servidormais antigo 100-7 e 100-11, tal como indicado nos dados deroteamento resultante da fusão 160-2 e 160-3.
A figura 4 retrata um diagrama de blocos de umaestrutura de dados exeplificativa para os dados deroteamento 160, de acordo com a concretização da invenção.Os dados de roteamento 160 incluem registros 405, 410, e415, mas em outras concretizações qualquer número deregistros com eventuais dados podem estar presentes. Cadaum dos registros 405, 410, e 415 inclui um campo deidentificação do servidor 420, um campo de dados derecursos 425 e um campo de hora 430, mas em outrasconcretizações, mais ou menos campos podem estar presentes.
O campo de identificação do servidor 420 identifica oservidor 100 que é associado com o registro. Em váriasconcretizações, o campo de identificação do servidor 420pode incluir um endereço de rede, um endereço de IP(Internet Protocol), um endereço MAC (Media Access Control)ou qualquer outro tipo de identificador susceptível de serutilizado para acessar ou enviar mensagens, pedidos oudados para o servidor 100.
Em várias concretizações, os dados de recurso 425podem incluir um identificador de recurso de recursos ouserviços 159 nos servidores 100, o estado dos recursos ouserviços 159 no servidor 100, o conteúdo dos serviços 159,o número ou o tipo de pedidos pendentes nos serviços 159, autilização da CPU dos processadores 101 no servidor 100,uso da memória do servidor 100, e um ponto de extremidade.Mas, em outras concretizações, os dados de recurso 425podem incluir quaisquer dados adequados que outrosservidores podem desejam receber.
O campo de hora 430 identifica a hora em que oservidor 420 associado aderiu ao cluster. A hora que oservidor 420 aderiu ao cluster pode ser a hora em que oservidor 420 conectou-se à rede ou a hora que o servidor420 enviou a mensagem 205. Assim, no exemplo da figura 4, oregistro 405 identifica o servidor mais antigo do clusterporque o registro 405 tem a hora mais anterior 430.
A figura 5 retrata um fluxograma de exemplo para oprocessamento de um novo servidor que se uniu a um cluster,de acordo com a concretização da invenção. O controlecomeça no bloco 500. O controle, em seguida, continua nobloco 505 quando o novo servidor 100-6 se conecta à rede130 e determina o endereço do cluster 202-1. O controle, emseguida, continua no bloco 510, onde o controlador 158 donovo servidor 100-6 cria um registro em uma identificaçãode servidor 420 que identifica o novo servidor 100-6, comdados de recursos 425 relativos aos serviços 159disponíveis no novo servidor 100-6 e uma hora 430 queidentifica o horário atual (que podem incluir a data).
O controle, em seguida, continua no bloco 515, em queo controlador 158 do novo servidor 100-6 envia a mensagemdifundida 205, o que inclui o registro criado, para todosos servidores do cluster 202-1, através do endereçodeterminado do cluster 202-1 na rede 130. O controle, emseguida, continua no bloco 520, quando os servidores 100 nocluster 202-1 recebem e processam a mensagem difundida 205,como descrito mais adiante com referência à figura 7.
O controle, em seguida, continua no bloco 525, quandoo controlador 158 do novo servidor 100-6 recebe um mensagemponto a ponto 210, com os dados de roteamento 160 quecontém os registros para todos os servidores 100 do cluster202-1. A mensagem ponto a ponto é enviada pelo servidormais antigo 100-1 do cluster 202-1 e é enviadaexclusivamente para o novo servidor 100-6 e não para osoutros servidores 100-2, 100-3, 100-4 e 100-5 no cluster 202-1.
O controle, em seguida, continua no bloco 530, quandoo controlador 158 do novo servidor 100-6 envia assolicitações para os serviços 159 em outros servidores docluster 202-1 da rede 130 através dos dados de roteamento160. O controlador 158 pode utilizar os dados de roteamento160 para encontrar o serviço adequado, nos dados de recurso425, e determinar o identificador do servidor 420 associadocom o servidor desejado apropriado e, em seguida, enviar opedido para o identificador do servidor determinado 420.
Assim, o controlador 158 solicita um ou mais serviços 159 apartir de uma ou mais servidores 100 do cluster 202 atravésdos dados de roteamento recebidos 160.
O controle, em seguida, continua no bloco 599, onde alógica da figura 5 retorna.
A figura 6 apresenta um fluxograma do processamento deexemplo para a conexão clusters dos servidores, de acordocom a concretização da invenção. O controle começa no bloco600. O controle 158, em seguida, continua no bloco 605quando o controlador do servidor 100, no cluster 202-2,conecta-se ao cluster 202-3. O controle 158, em seguida,continua no bloco 610, quando o controlador do servidor 100determina se o servidor 100 é o servidor mais antigo 100-7,no cluster 202-2, ou seja, o controlador 158 determina se oservidor 100 uniu-se ao cluster 202-2 antes de todos osoutros servidores do cluster 202-2 para determinar se otempo 430 do servidor 100 que conectou ao cluster 202-3está antes ou mais cedo do que a hora 430 de todos osoutros servidores nos dados de roteamento 160-2.Se a determinação no bloco 610 é verdade, então oservidor 100 que conectou ao cluster 202-3 realmente uniu-se ao cluster 202-2 antes de todos os outros servidores docluster 202-2 e é o mais antigo servidor 100-7 do cluster202-2, assim, o controle continua no bloco 615 quando ocontrolador 158 no servidor mais antigo 100-7 envia amensagem difundida 305 para o cluster 202-3. A mensagemdifundida 305 inclui todos os registros nos dados deroteamento 160-2 para todos os servidores 100-7, 100-8 e100-9 no cluster 202-2.
O controle, em seguida, continua no bloco 620, quandoos servidores no cluster 202-3 processam a mensagem 305,como descrito mais adiante com referência à figura 7. Ocontrole, em seguida, continua no bloco 625 quando ocontrolador 158 no servidor mais antigo 100-7, no cluster202-2 recebe a mensagem ponto a ponto 310 do servidor maisantigo 100-10 do cluster 202-3, que inclui todos osregistros de dados de roteamento 160-3 para todos osservidores 100-10, 100-11 e 100-12 no cluster 202-3.
O controle, em seguida, continua no bloco 630 quando ocontrolador 158 no servidor mais antigo 100-7, no cluster202-2 envia a mensagem difundida 315 a todos os servidores100-8 e 100-9 no cluster 202-2. A mensagem difundida 315inclui todos os registros nos dados de roteamento 160-3para todos os servidores 100-10, 100-11 e 100-12 no cluster202-3. O controle, em seguida, continua no bloco 635 quandoos servidores do cluster 202-2 recebem a mensagemdifundida, fundem as suas cópias dos dados de roteamento160-3 e 160-2, e enviam as solicitações para os servidoresnos clusters 202-2 e 202-3 através dos dados de roteamentofundidos, como descrito mais adiante com referência àfigura 7. O controle, em seguida, continua no bloco 640quando o controlador 158 no servidor mais antigo 100-7, nocluster 202-2 funde suas cópias dos dados de roteamento160-3 e 160-2 e envia as solicitações para os servidoresnos clusters 202-2 202-3, através dos dados de roteamentofundidos. O controle, em seguida, continua no bloco 699onde a lógica da figura 6 retorna.
Se a determinação no bloco 610 é falsa e, em seguida,o servidor 100 do cluster 202-2 que conectou-se ao cluster202-3 não uniu-se ao cluster 202-2 antes de todos os outrosservidores do cluster 202-2, de modo que o servidor 100 queconectou ao cluster 202-3 é o servidor 100-8 ou 100-9, deforma que o controle continua no bloco 699, onde a lógicada figura 6 retorna.
A figura 7 apresenta um fluxograma do processamento deexemplo em um servidor para a manipulação da recepção deuma mensagem difundida, de acordo com a concretização dainvenção. O controle começa no bloco 700. O controle, emseguida, continua no bloco 705 quando o controlador 158recebe no servidor de recepção a mensagem difundida (porexemplo, a mensagem 205, 305, ou 315) a partir do servidororiginário (o servidor que enviou a mensagem difundida). Amensagem recebida inclui um ou mais registros 405, 410, ou415, que estão associados com o servidor originário ou queestão associados a todos os servidores em um cluster 202.
O controle, em seguida, continua no bloco 710 quando ocontrolador 158 determina se o servidor de recepção é oservidor mais antigo da cópia local dos dados de roteamento160. O controlador 158 faz a determinação através dacomparação da hora 430, no registro dos dados de roteamento160 associados com o servidor de recepção com a hora 430para os outros registros nos dados de roteamento 160 edetermina se a hora 430 que o servidor de recepção uniu-seao cluster servidor 202 é mais cedo do que a hora 430 queos outros servidores uniram-se ao cluster 202.
Se a hora 430 do servidor de recepção é a hora maiscedo (antes de todas as outras horas) nos dados deroteamento 160 do cluster 202, então o servidor de recepçãoé o servidor mais antigo (por exemplo, o servidor 100-1,100-7, ou 100-10), no cluster 202, de forma que o controlecontinua no bloco 715 quando o controlador 158 do servidorde recepção recupera os registros de sua cópia local dosdados de roteamento 160 para todos os servidores do cluster202, acrescenta os registros recuperados a uma mensagemponto a ponto e envia a mensagem ponto a ponto (porexemplo, a mensagem ponto a ponto 210 ou 310) para oservidor (por exemplo, o servidor 100-6 ou 100-7) queoriginou a mensagem.
O controle, em seguida, continua no bloco 720 quando ocontrolador 158 no servidor de recepção calcula: delta =(tl + t3) / 2 - t2, em que:
t2 = hora da chegada da mensagem;
tl = hora 430 no registro recebido na mensagemdifundida que está associado ao servidor originário, que éa hora que o servidor originário da mensagem difundidauniu-se ao cluster 202; e
t3 = o tempo que o servidor de recepção enviou amensagem ponto a ponto para o servidor originário(anteriormente descrito acima com referência ao bloco 715).O controle, em seguida, continua no bloco 725, quandoo controlador 158 no servidor de recepção adiciona o deltacalculado ao registro de hora 430 no registro recebidoassociado ao servidor que originou a mensagem. Assim, ocontrolador 158 no servidor de recepção ajusta a hora emque o servidor originário uniu-se ao cluster 202 pelo deltacalculado para considerar o atraso entre o momento em que oservidor originário decidiu unir-se ao cluster e o tempoque o servidor mais antigo do cluster 202 percebeu que oservidor originário uniu-se ao cluster 202.
O controle, em seguida, continua no bloco 730 quando ocontrolador no servidor de recepção acumula dados detemporização de viagem cíclica e ajusta os dados calculadoscom mais atividades.
O controle, em seguida, continua no bloco 735, quandoo controlador 158 no servidor de recepção adiciona osregistros recebidos na mensagem aos dados de roteamento 160e ordena os registros nos dados de roteamento 160 com basena hora 430.
O controle, em seguida, continua no bloco 740, quandoo controlador 158 no servidor de recepção verifica osserviços apropriados 159 identificados nos dados de recurso425 e envia as solicitações para os serviços 159 nosservidores 100 do cluster 202 associados através doservidor identificador 420.
Se a determinação no bloco 710 é falsa e, em seguida,o servidor de recepção não é o servidor mais antigo dacópia local dos dados de roteamento 160 (ou seja, oservidor de recepção não uniu-se ao cluster 202 em umahora mais cedo do que os outros servidores 100 no cluster202), de modo que o controle continua no bloco 735,conforme anteriormente descrito acima.
A figura 8 mostra um fluxograma de resposta deprocessamento de exemplo a um servidor que está deixandouma rede 130, de acordo com a concretização da invenção. Ocontrole começa no bloco 800. O controle, em seguida,continua no bloco 805, quando o controlador 158 determinase um servidor 100 deixou o cluster 202, por exemplo, se umservidor 100 que deixou a rede 130 encontrou um erro, ou setornou inacessível. Se a determinação no bloco 805 éverdadeira e, então, um servidor 100 deixou o cluster 202,um servidor 100 deixou a rede 130, um servidor 100encontrou um erro 100, ou um servidor 100 é inacessível, demodo que o controle continua no bloco 810, onde ocontrolador 158 encontra um registro através do campo deidentificador de servidor 420 dos dados de roteamento 160associados com o servidor que foi determinado no bloco 805e remove o registro dos dados de roteamento 160. Ocontrole, em seguida, continua no bloco 899 onde a lógicada figura 8 retorna.
Se a determinação no bloco 805 é falsa, então, ocontrole continua no bloco 899, onde a lógica da figura 8retorna.Na descrição detalhada anterior das concretizaçõesexemplificativas da invenção, referência foi feita aosdesenhos anexos (em que números semelhantes representamelementos semelhantes), que representam uma parte do mesmo,e que é apresentada a titulo de ilustração exemplificativadas concretizações especificas em que a invenção pode serpraticada. Estas concretizações foram descritas em detalhessuficientes para permitir àqueles versados na técnica parapraticar a invenção, mas outras concretizações podem serutilizadas e mudanças lógicas, mecânicas, elétricas eoutras alterações podem ser feitas sem se afastar do escopoda presente invenção. Diferentes instâncias da palavra"concretização", conforme utilizada no presente relatóriodescritivo, não visam necessariamente a mesmaconcretização, mas podem ser quaisquer dados e estruturasde dados ilustrados ou aqui descritos, sendo apenasexemplos, e em outras concretizações, diferentesquantidades de dados, tipos de dados, campos, números etipos de campos, nomes de campo, números e tipos deregistros, entradas ou organizações de dados podem serutilizados. Além disso, todos os dados podem ser combinadoscom lógica, de modo a que uma estrutura de dados separadanão é necessária. A descrição detalhada anterior não deveser, por conseguinte, ser tomada em um sentido limitante, eno âmbito da presente invenção é definida apenas pelasreivindicações anexas.
Na descrição anterior, inúmeros detalhes específicosforam estabelecidos para proporcionar uma profundacompreensão da invenção. Mas a invenção pode ser praticadasem esses detalhes específicos. Em outros casos, circuitosbem conhecidos, estruturas e técnicas não foram mostradosem pormenores, de modo a não obscurecer a invenção.

Claims (15)

1. Método realizado EM um servidor de recepção em umcluster de uma pluralidade de servidores caracterizado pelofato de que compreende:receber uma mensagem de um novo servidor, onde o novoservidor enviou a mensagem de radiodifusão para o clusterda pluralidade de servidores;determinar se o servidor de recepção juntou-se aocluster antes de todos os outros da pluralidade deservidores no cluster, ese a determinação é verdadeira, enviar uma mensagemponto a ponto para o novo servidor, onde a mensagem ponto aponto compreende rotear dados relativos a todos dapluralidade de servidores no cluster.
2. Método, de acordo com a reivindicação 1,caracterizado pelo fato de que a mensagem inclui: umregistro compreendendo a identificação de um novo servidor,dados de recursos sobre o novo servidor e a hora que o novoservidor uniu-se ao cluster.
3. Método, de acordo com a reivindicação 1,caracterizado pelo fato de que ainda compreende: adicionaro registro aos dados de roteamento.
4. Método, de acordo com a reivindicação 1,caracterizado pelo fato de que ainda compreende: enviar umpedido para o novo servidor através do registro.
5. Método, de acordo com a reivindicação 1,caracterizado pelo fato de que os dados de roteamentoincluem: uma pluralidade de registros associados com apluralidade de servidores, onde cada um da pluralidade deregistros inclui a identificação do respectivo servidor,recursos fornecidos pelo respectivo servidor e uma hora emque os respectivos servidores aderiram ao cluster, onde oservidor de recepção executa a determinação baseado nashoras na pluralidade de registros.
6. Método, de acordo com a reivindicação 1,caracterizado pelo fato de que se um da pluralidade deservidores deixa o cluster, remover o registro associado aoservidor que deixa o cluster a partir dos dados deroteamento.
7. Método, de acordo com a reivindicação 1,caracterizado pelo fato de que o envio da mensagem ponto aponto ainda inclui: enviar a mensagem ponto a pontoexclusivamente para o novo servidor.
8. Método, de acordo com a reivindicação 2,caracterizado pelo fato de que ainda compreende: se adeterminação é falsa, adicionar o registro aos dados deroteamento.
9. Método realizado em um novo servidor que querparticipar de um cluster de servidores caracterizado pelofato de que compreende:enviar uma mensagem para o cluster de servidoresconectado através de uma rede, ereceber uma mensagem ponto a ponto a partir de umservidor de coordenação do primeiro cluster da primeirapluralidade de servidores, onde o servidor de coordenaçãouniu-se ao primeiro cluster antes de todos os outros daprimeira pluralidade de servidores e onde a mensagem pontoa ponto compreende dados de roteamento relativos a todos daprimeira pluralidade de servidores no primeiro cluster, eonde a mensagem ponto a ponto é recebida exclusivamentepelo novo servidor.
10. Método, de acordo com a reivindicação 9,caracterizado pelo fato de que os dados de roteamentocompreendem: identificações de todos os servidores nocluster, os recursos fornecidos por todos os servidores nocluster e horas em que cada um dos servidores juntou-se aocluster.
11. Método, de acordo com a reivindicação 9,caracterizado pelo fato de que ainda compreende: enviar umasolicitação de pelo menos um dos recursos de um dosservidores através dos dados de roteamento.
12. , de acordo com a reivindicação 9, caracterizadopelo fato de que compreende: armazenar uma hora na mensagemtransmitida, onde a hora compreende a hora em que o novoservidor uniu-se ao cluster.
13. , de acordo com a reivindicação 9, caracterizadopelo fato de que ainda compreende: armazenar umaidentificação do novo servidor e dados de recursos namensagem transmitida, onde os dados de recurso descrevempelo menos um serviço disponível no novo servidor.
14. Sistema caracterizado pelo fato de que incluimeios adaptados para a realização de todas as etapas dométodo definido em qualquer uma das reivindicaçõesprecedentes.
15. Programa de computador caracterizado pelo fato deque inclui instruções para a realização de todas as etapasdo método definido em qualquer uma das reivindicaçõesprecedentes, quando o referido programa de computador éexecutado em um sistema de computador.
BRPI0618776-5A 2005-11-17 2006-10-26 envio de dados de roteamento com base em tempos em que os servidores uniram-se a um cluster BRPI0618776A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/282,029 2005-11-17
US11/282,029 US20070112963A1 (en) 2005-11-17 2005-11-17 Sending routing data based on times that servers joined a cluster
PCT/EP2006/067819 WO2007057284A1 (en) 2005-11-17 2006-10-26 Sending routing data based on times that servers joined a cluster

Publications (1)

Publication Number Publication Date
BRPI0618776A2 true BRPI0618776A2 (pt) 2011-03-15

Family

ID=37714486

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0618776-5A BRPI0618776A2 (pt) 2005-11-17 2006-10-26 envio de dados de roteamento com base em tempos em que os servidores uniram-se a um cluster

Country Status (9)

Country Link
US (1) US20070112963A1 (pt)
EP (1) EP1952589B1 (pt)
JP (1) JP4653225B2 (pt)
CN (1) CN101300796B (pt)
AT (1) ATE445276T1 (pt)
BR (1) BRPI0618776A2 (pt)
DE (1) DE602006009697D1 (pt)
IL (1) IL191329A (pt)
WO (1) WO2007057284A1 (pt)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9264384B1 (en) 2004-07-22 2016-02-16 Oracle International Corporation Resource virtualization mechanism including virtual host bus adapters
US9813283B2 (en) 2005-08-09 2017-11-07 Oracle International Corporation Efficient data transfer between servers and remote peripherals
CN102217228B (zh) * 2007-09-26 2014-07-16 Nicira股份有限公司 管理和保护网络的网络操作系统
EP2273727A1 (fr) * 2009-06-25 2011-01-12 France Telecom Procede d'obtention d'une information representative d'une disponibilité d'un réseau de communication, dispositif et programme d'ordinateur correspondant
US9973446B2 (en) 2009-08-20 2018-05-15 Oracle International Corporation Remote shared server peripherals over an Ethernet network for resource virtualization
CN101841884B (zh) * 2010-04-30 2012-05-02 北京航空航天大学 一种基于能量的无线传感网络簇头继承分簇方法
CN102404191B (zh) * 2010-09-10 2014-12-24 腾讯科技(深圳)有限公司 路由方法和装置
US9331963B2 (en) 2010-09-24 2016-05-03 Oracle International Corporation Wireless host I/O using virtualized I/O controllers
US9313641B2 (en) * 2012-09-17 2016-04-12 Qualcomm Incorporated System and method for advertising and communicating within a neighborhood aware network
US9083550B2 (en) * 2012-10-29 2015-07-14 Oracle International Corporation Network virtualization over infiniband
US10382249B2 (en) * 2012-12-04 2019-08-13 Genesys Telecomminucations Laboratories, Inc. Logging in multithreaded application
CN103441918A (zh) * 2013-08-29 2013-12-11 哈尔滨工程大学 一种自组织集群服务器系统及其自组织方法
CN109286507B (zh) * 2017-07-21 2022-11-11 伊姆西Ip控股有限责任公司 发现方法、计算系统以及计算机可读介质
CN113037700B (zh) * 2019-12-25 2024-02-09 拓尔思天行网安信息技术有限责任公司 一种边界视频服务的负载方法、装置、设备及存储介质
US11687376B2 (en) * 2020-06-12 2023-06-27 Baidu Usa Llc Method for data protection in a data processing cluster with dynamic partition
US11019023B1 (en) * 2020-08-13 2021-05-25 Salesforce.Com, Inc. Container orchestration system (COS) services discovery across multiple COS clusters based on COS cluster domain name system

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0764926A (ja) * 1993-08-25 1995-03-10 Nippon Telegr & Teleph Corp <Ntt> 分散サーバ装置
US5572582A (en) * 1995-02-24 1996-11-05 Apple Computer, Inc. Method and apparatus for establishing communication between two teleconferencing endpoints
US5737328A (en) * 1995-10-04 1998-04-07 Aironet Wireless Communications, Inc. Network communication system with information rerouting capabilities
JPH09114722A (ja) * 1995-10-20 1997-05-02 Nippon Telegr & Teleph Corp <Ntt> 分散システムにおける共有情報管理方法
JP3097525B2 (ja) * 1995-11-10 2000-10-10 株式会社日立製作所 情報フィルタリング処理を行うデータ伝送方法
US5787249A (en) * 1996-04-30 1998-07-28 International Business Machines Coporation Method for managing membership of a group of processors in a distributed computing environment
US5699501A (en) * 1996-04-30 1997-12-16 International Business Machines Corporation System for group leader recovery in a distributed computing environment
US5787250A (en) * 1996-04-30 1998-07-28 International Business Machines Corporation Program product for managing membership of a group of processors in a distributed computing environment
JPH1097482A (ja) * 1996-09-19 1998-04-14 Fuji Electric Co Ltd 計算機システム
US6507863B2 (en) * 1999-01-27 2003-01-14 International Business Machines Corporation Dynamic multicast routing facility for a distributed computing environment
AU4262401A (en) 2000-03-31 2001-10-15 British Telecommunications Public Limited Company Network routing and congestion control
WO2001082678A2 (en) * 2000-05-02 2001-11-08 Sun Microsystems, Inc. Cluster membership monitor
US7617292B2 (en) * 2001-06-05 2009-11-10 Silicon Graphics International Multi-class heterogeneous clients in a clustered filesystem
CN1213567C (zh) * 2002-02-27 2005-08-03 华为技术有限公司 一种网络设备的集群管理方法
CN1190042C (zh) * 2002-11-15 2005-02-16 烽火通信科技股份有限公司 基于以太网技术的网络设备管理方法
WO2004077280A2 (en) 2003-02-27 2004-09-10 Bea Systems, Inc. System and method for communications between servers in a cluster
US7257731B2 (en) * 2003-12-23 2007-08-14 Nokia Inc. System and method for managing protocol network failures in a cluster system
US7606187B2 (en) * 2004-10-28 2009-10-20 Meshnetworks, Inc. System and method to support multicast routing in large scale wireless mesh networks
US7729350B2 (en) * 2004-12-30 2010-06-01 Nokia, Inc. Virtual multicast routing for a cluster having state synchronization

Also Published As

Publication number Publication date
WO2007057284A1 (en) 2007-05-24
ATE445276T1 (de) 2009-10-15
US20070112963A1 (en) 2007-05-17
CN101300796A (zh) 2008-11-05
JP4653225B2 (ja) 2011-03-16
EP1952589B1 (en) 2009-10-07
IL191329A (en) 2013-10-31
JP2009516279A (ja) 2009-04-16
CN101300796B (zh) 2011-05-18
EP1952589A1 (en) 2008-08-06
DE602006009697D1 (de) 2009-11-19

Similar Documents

Publication Publication Date Title
BRPI0618776A2 (pt) envio de dados de roteamento com base em tempos em que os servidores uniram-se a um cluster
US7467295B2 (en) Determining a boot image based on a requesting client address
US7721297B2 (en) Selective event registration
CN103458036B (zh) 一种集群文件系统的访问装置和方法
US6236658B1 (en) Method and apparatus for message routing, including a content addressable memory
JP4290730B2 (ja) ツリーベースメモリ構造
US7519730B2 (en) Copying chat data from a chat session already active
US9723110B2 (en) System and method for supporting a proxy model for across-domain messaging in a transactional middleware machine environment
WO2018153209A1 (zh) 资源数值转移的方法、服务器、系统和存储介质
US7962564B2 (en) Discovery of a virtual topology in a multi-tasking multi-processor environment
US7860864B2 (en) Distributed directory deployment
WO2018099394A1 (zh) 报文传输
US7831686B1 (en) System and method for rapidly ending communication protocol connections in response to node failure
US6671792B1 (en) Share masks and alias for directory coherency
TW591414B (en) Apparatus and method of multicasting or broadcasting data from one partition of a partitioned computer system to a plurality of other partitions
WO2021258861A1 (zh) 一种作业处理方法以及相关设备
US7725770B2 (en) Enhanced failure data collection system apparatus and method
US20070088700A1 (en) Sending keys that identify changes to clients
US11720457B2 (en) Remote direct memory access (RDMA)-based recovery of dirty data in remote memory
US20060102665A1 (en) Retry of methods based on exception type and method type
US20040177129A1 (en) Method and apparatus for distributing logical units in a grid
Platforms USENIX

Legal Events

Date Code Title Description
B06G Technical and formal requirements: other requirements [chapter 6.7 patent gazette]

Free format text: APRESENTE O DEPOSITANTE COMPLEMENTACAO DA TRADUCAO DE ACORDO COM O ATO NORMATIVO 128, ITEM 9.2.1, ADAPTADO AO ATO NORMATIVO 127.

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

Free format text: REFERENTE A 6A 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 2214 DE 11/06/2013.

B15K Others concerning applications: alteration of classification

Ipc: H04L 12/741 (2013.01), H04L 12/751 (2013.01), H04L