BR112015006005B1 - Sistema e método para alocar dinamicamente um endereço de rede - Google Patents

Sistema e método para alocar dinamicamente um endereço de rede Download PDF

Info

Publication number
BR112015006005B1
BR112015006005B1 BR112015006005-6A BR112015006005A BR112015006005B1 BR 112015006005 B1 BR112015006005 B1 BR 112015006005B1 BR 112015006005 A BR112015006005 A BR 112015006005A BR 112015006005 B1 BR112015006005 B1 BR 112015006005B1
Authority
BR
Brazil
Prior art keywords
address allocation
network address
network
subdivision
computing devices
Prior art date
Application number
BR112015006005-6A
Other languages
English (en)
Other versions
BR112015006005A2 (pt
Inventor
Albert P. Niemoller
Andrew B. Dickinson
Bradley D. Roberts
Eric P. Wei
Colin J. Whittaker
Original Assignee
Amazon Technologies, Inc
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 Amazon Technologies, Inc filed Critical Amazon Technologies, Inc
Publication of BR112015006005A2 publication Critical patent/BR112015006005A2/pt
Publication of BR112015006005B1 publication Critical patent/BR112015006005B1/pt

Links

Images

Classifications

    • 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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5061Pools of addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • H04L61/5014Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5038Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]

Landscapes

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

Abstract

SISTEMA E MÉTODO PARA ALOCAR DINAMICAMENTE UM ENDEREÇO DE REDE. São reveladas modalidades para dinamicamente alocar endereços de rede para dispositivos baseados em demanda. Uma primeira alocação de endereço de rede é inicialmente designada para uma subdivisão de uma rede incluindo vários dispositivos de computação. Um roteador para a subdivisão é configurado para implementar a primeira alocação de endereço de rede. Os dados indicando uma reconfiguração do dispositivo de computação são obtidos. Uma segunda alocação de endereço de rede é subsequentemente designada para a subdivisão da rede baseada em parte na reconfiguração dos dispositivos de computação. O roteador para a subdivisão é reconfigurado para implementar a segunda alocação de endereço de rede.

Description

REFERÊNCIA CRUZADA A PEDIDO RELACIONADO
[001] O seguinte pedido reivindica prioridade e benefício do Pedido de Patente US intitulado “DYNAMICALLY ALLOCATING NETWORK ADDRESSES” depositado em 18 de setembro de 2012 com o número de pedido 13/621.891, que é aqui incorporado por referência na sua totalidade.
FUNDAMENTOS
[002] Os dispositivos de rede podem ser associados com um ou mais endereços de rede por interface de rede. Os endereços de rede facilitam o roteamento de dados para e a partir de dispositivos de rede. Endereços de rede de Protocolo de Internet (IP) estão associados com máscaras de sub-rede, que indicam a porção do endereço de rede que corresponde a um prefixo de roteamento e a porção do endereço de rede que corresponde a um identificador hospedeiro para uma sub-rede. Uma sub-rede é uma subdivisão logicamente visível de uma rede IP. Sub-redes podem ser organizadas de forma lógica em uma arquitetura hierárquica, particionando desse modo o espaço de endereço de rede em uma estrutura de roteamento tipo árvore. Esgotamento de endereço de rede é um problema potencial para IP versão 4, uma vez que os endereços de rede são apenas 32 bits de comprimento. IP versão 6 usa endereços de 128 bits e, portanto, não é tão facilmente suscetível para enfrentar o esgotamento. No entanto, apesar dos problemas de esgotamento de endereços, IP versão 4 continua a ser de uso comum.
BREVE DESCRIÇÃO DOS DESENHOS
[003] Muitos dos aspectos da presente divulgação podem ser mais bem compreendidos com referência aos seguintes desenhos. Os componentes nos desenhos não estão necessariamente em escala, com ênfase, por um lado, sendo colocada claramente na ilustração dos princípios da presente descrição. Além disso, nos desenhos, números de referência iguais designam partes correspondentes ao longo das diversas vistas.
[004] A Figura 1 é um desenho de um ambiente de rede de acordo com várias modalidades da presente divulgação.
[005] A Figura 2 é um desenho de um exemplo de um ambiente de computação hospedado empregue no ambiente de rede da Figura 1 de acordo com diversas modalidades da presente divulgação.
[006] As Figuras 3 e 4 são fluxogramas que ilustram exemplos de funcionalidade implementada como partes de um serviço de alocação de endereço executado em um ambiente de computação no ambiente de rede da Figura 1 de acordo com diversas modalidades da presente divulgação.
[007] A Figura 5 é um diagrama de blocos esquemático que fornece uma ilustração de exemplo de um ambiente de computação utilizado no ambiente de rede da Figura 1 de acordo com diversas modalidades da presente divulgação.
DESCRIÇÃO DETALHADA
[008] A presente divulgação relaciona-se com a alocação dinâmica de endereços de rede para dispositivos de rede com base na demanda. Esgotamento de endereço de rede é um problema sério em protocolo de internet (IP) versão 4 e potencialmente outros protocolos de comunicação. Os endereços IP publicamente acessíveis são difíceis de encontrar, e sua alocação é cuidadosamente gerida. Mesmo redes IP privadas podem enfrentar problemas de esgotamento dos endereços. Grandes redes privadas costumam usar, por exemplo, o espaço de endereço “10.0.0.0/8” (representado em notação classless inter-domain routing (CIDR)), que utiliza um prefixo de rede de oito bits e um identificador de hospedeiro de 24 bits e fornece para quase 17 milhões de endereços (aproximadamente 224 endereços).
[009] Dita uma quantidade substancial pode parecer ser inesgotável para uma organização. No entanto, se as alocações de endereços de rede não são bem geridas, as questões de esgotamento dos endereços podem surgir. Por exemplo, uma organização pode ingenuamente optar por alocar espaço de endereço para uma rede “/22” para cada rack nos centros de dados da organização. Uma rede “/22” disponibiliza, aproximadamente, 1024 (ou seja, 210) endereços. Uma organização usando tal esquema de alocação seria limitada a 16.384 (ou 214) racks com alocações “/22” dentro do espaço de endereço “10.0.0.0/8”. Tal limitação pode apresentar um problema real para grandes organizações.
[010] O problema pode ser agravado se a rede é ainda estruturada hierarquicamente. Para ilustrar, pode haver certo número de roteadores de agregação na rede, com alguma quantidade de racks atrás de cada um dos roteadores de agregação. Suponha que uma rede “/15” foi alocada para cada roteador de agregação. Este fornece uma alocação de cerca de 131.072 (ou 217) endereços para cada roteador, o que poderia ser dividido em 128 (ou 27) alocações de rack de 1024 endereços cada. Além disso, no escopo do espaço de endereço “10.0.0.0/8”, poderia haver 128 (ou 27) ditos roteadores de agregação. Os problemas de escalabilidade podem surgir com o número total de roteadores de agregação e/ou o número de racks por roteador de agregação.
[011] Tal esquema de alocação de endereço de rede rígida como discutido no exemplo acima pode não fazer sentido se alguns racks usam menos de 1024 endereços. Se um determinado rack utiliza apenas 256 endereços, seria um desperdício alocar 1024 endereços para o rack particular. No entanto, quando um rack é inicialmente configurado, pode não ser conhecido quantos endereços acabarão sendo utilizados, especialmente quando um número variável de instâncias de máquinas pode ser empregue no rack. Uma grande quantidade como 1024 pode ser selecionada como um limite superior, levando a ineficiências na alocação. Além disso, em alguns casos, o limite superior pode ser demasiado baixo para racks que estão densamente configurados.
[012] Várias modalidades da presente divulgação preveem a alocação dinâmica de endereços de rede com base na demanda de superar essas ineficiências e os desafios de escalabilidade. Configuração manual, fixa de endereços de rede pode ser substituída com a configuração automática, dinâmica, que reconhece a natureza dinâmica do uso de endereços dentro de subdivisões de rede com um número variável de instâncias de máquinas. Um número inicial de endereços de rede pode ser alocado de acordo com uma configuração física inicial de um rack ou outra subdivisão da rede. Alocações de endereços adicionais de rede podem ser feitas para a subdivisão conforme necessário para atender a demanda da rede. Na discussão a seguir, uma descrição geral do sistema e dos seus componentes é fornecida, seguido por uma discussão da operação do mesmo.
[013] Com referência à Figura 1, é mostrado um ambiente de rede 100 de acordo com várias modalidades. O ambiente de rede 100 inclui um ambiente de computação hospedado 103 e um ambiente de computação 106 em comunicação de dados através de uma rede 109. A rede 109 inclui, por exemplo, a Internet, intranets, extranets, redes de área ampla (WANs), redes locais (LANs), redes cabeadas, redes sem fio, ou outras redes adequadas, etc., ou qualquer combinação de duas ou mais dessas redes.
[014] O ambiente de computação hospedado 103 compreende uma pluralidade de racks de uma 112a... 112N, que pode fornecer conectividade com a rede 109 por meio de um ou mais roteadores de agregação 115. Embora descrito como “racks”, os racks 112 podem corresponder a outras subdivisões de um ambiente de computação hospedado 103, por exemplo, centros de dados, salas dentro de centros de dados, os agrupamentos de racks, os agrupamentos de equipamentos de computação, e assim por diante. Cada um dos racks 112 pode incluir uma pluralidade de dispositivos de computação 118a... 118N e um roteador 121. O roteador 121 pode corresponder a um roteador top-of-rack (TOR) ou outro dispositivo que fornece conectividade com a rede 109 para o respectivo rack 112. Os roteadores 121 podem empregar um protocolo de roteamento, como protocolo de informações de roteamento (RIP), open shortest path first (OSPF) ou outros protocolos de roteamento. Roteadores 121 podem, em alguns casos, ser constrangidos pelo número de alocações de endereços de rede separados que podem ser anunciados.
[015] Os dispositivos de computação 118a podem corresponder aos dispositivos que tenham um processador e circuito de memória, que são usados para fornecer serviços de computação para clientes de acordo com um modelo de computação de utilidade. Para este fim, um dispositivo de computação particular 118a pode incluir, por exemplo, uma pluralidade de instâncias de máquina 124a... 124N. As instâncias de máquinas 124 dentro de um dispositivo de computação 118 podem ser hospedadas por um cliente ou múltiplos clientes. Como será descrito, diferentes instâncias da máquina 124 podem ter características diferentes. Um dado dispositivo de computação 118 pode ser reconfigurado dinamicamente para ter qualquer número de instâncias de máquina 124.
[016] Deve-se notar que diferentes racks 112 podem ter diferentes tipos e quantidades de dispositivos de computação 118. Alguns dispositivos de computação 118 podem ter relativamente mais recursos de computação, por exemplo, mais memória, processador mais potente, armazenamento de dados mais rápido, etc. ou diferentes combinações de recursos de computação. Além disso, os dispositivos de computação 118 podem ter diferentes tipos e quantidades de instâncias de máquinas 124.
[017] Cada um dos racks 112 pode ser designado a uma ou mais alocações de endereços de rede para conectividade com a rede 109. Em alguns casos, tais alocações de endereços de rede podem ser agregadas em uma alocação atribuída ao respectivo roteador de agregação 115, proporcionando assim uma estrutura hierárquica para parte da rede 109, no ambiente de computação hospedado 103. O ambiente de computação hospedado 103 pode ter vários roteadores de agregação 115 servindo diferentes racks 112 ou subdivisões da rede 109. Os roteadores de agregação 115 podem empregar um protocolo de roteamento como OSPF ou outros protocolos de roteamento. Roteadores de agregação 115 podem, em alguns casos, ser constrangidos pelo número de alocações de endereços de rede separados que podem ser anunciados.
[018] O ambiente de computação 106 pode compreender, por exemplo, um computador servidor ou qualquer outro sistema de fornecimento de capacidade de computação. Alternativamente, o ambiente de computação 106 pode empregar uma pluralidade de dispositivos de computação que pode ser empregue que são dispostos, por exemplo, em um ou mais bancos servidores ou de bancos de computador ou outros arranjos. Tais dispositivos de computação podem estar localizados em uma única instalação ou podem ser distribuídos entre muitas localizações geográficas diferentes. Por exemplo, o ambiente de computação 106 pode incluir uma pluralidade de dispositivos que, juntos, podem incluir um recurso de computação em nuvem, um recurso de computação em grade, e/ou de qualquer outro arranjo de computação distribuído. Em alguns casos, o ambiente de computação 106 pode corresponder a um dos recursos de computação elástica em que a capacidade de processamento alocada, rede, armazenamento, ou outros recursos relacionados com a computação podem variar ao longo do tempo.
[019] Várias aplicações e/ou outras funcionalidades podem ser executadas no ambiente de computação 106 de acordo com várias modalidades. Além disso, vários dados são armazenados em um armazenamento de dados 125 que é acessível para o ambiente de computação 106. O armazenamento de dados 125 pode ser representativo de uma pluralidade de armazenadores de dados 125 como pode ser apreciado. Os dados armazenados no armazenamento de dados 125, por exemplo, estão associados com a operação das várias aplicações e/ou entidades funcionais descritas abaixo.
[020] Os componentes executados no ambiente de computação 106, por exemplo, incluem um serviço de alocação de endereço 127, um serviço de monitor de rede 130, e outras aplicações, serviços, processos, sistemas, motores, ou funcionalidade não discutidos em detalhes aqui. O serviço de alocação de endereço 127 é executado para gerar designações de alocação de endereço 131 de endereços na rede 109 para o ambiente de computação hospedado 103. A designação de alocações de endereços 131 pode corresponder às alocações iniciais (por exemplo, quando um rack 112 é configurado inicialmente) ou alocações posteriores com base na demanda (por exemplo, a demanda criada pela reconfiguração dos dispositivos de computação 118 no rack 112). O serviço de alocação de endereço 127 pode gerenciar lançamentos de alocações de endereços que são subutilizados ou estão previstos para serem subutilizados. Além disso, o serviço de alocação de endereço 127 pode ser configurado para consolidar as alocações de endereços para liberar espaço de alocação de endereço ou para facilitar a agregação das alocações. Em várias modalidades, o serviço de alocação de endereço 127 pode ser dividido em dois ou mais serviços, por exemplo, onde um serviço inclui a lógica de negócios para determinar se deve atribuir ou liberar alocações, e outro de serviço executa a aplicação no ambiente de computação hospedado 103.
[021] O serviço monitor de rede 130 pode ser executado para monitorar vários aspectos do ambiente de computação hospedado 103. Tais aspectos podem estar relacionados com o consumo do recurso, utilização de endereço de rede, histórico de consumo de recurso, histórico de utilização de endereçamento de rede, velocidades de aumentos ou diminuições de consumo de recursos ou utilização de endereços, e assim por diante. Os dados gerados pelo serviço de monitoramento de rede 130, como resultado de tal monitoramento podem corresponder a entradas para o serviço de alocação de endereço 127. Essas entradas podem permitir que o serviço de alocação de endereço 127 tome uma decisão quanto à possibilidade de atribuir novas alocações de endereços de rede, liberar alocações de endereços de rede existentes, consolidar ou agregar alocações de endereço de rede, e assim por diante.
[022] Os dados armazenados no armazenamento de dados 125 inclui, por exemplo, dados de topologia de rede 133, alocações de endereço 136, histórico de alocação de endereço 139, dados do tipo de dispositivo 142, dados de uso de dispositivo 145, dados do cliente 148, e potencialmente outros dados. Os dados de topologia de rede 133 podem incluir informações sobre a topologia da rede física e lógica do ambiente de computação hospedado 103. Essas informações podem incluir dados referentes à racks 112 ou outras subdivisões de rede, dispositivos de computação 118 nos racks 112, roteadores 121, roteadores de agregação 115, e assim por diante. As alocações de endereços 136 descrevem os blocos de endereços de rede que foram atribuídos a roteadores de agregação 115, roteadores 121, dispositivos de computação 118, instâncias de máquinas 124, e/ou outros componentes do ambiente de computação hospedado 103. Como um exemplo não limitativo, uma alocação de endereço 136 pode indicar que os endereços no bloco “10.1.2.0/27” foram atribuídos a um determinado roteador 121 associado com um rack 112.
[023] O histórico de alocação de endereço 139 pode indicar um histórico de alocação de endereço 136, que foi feito para componentes particulares no ambiente de computação hospedado 103. Como um exemplo não limitativo, o histórico de alocação de endereço 139 pode indicar que um roteador 121 para um rack particular 112 foi atribuído cinco blocos de endereços “/27”, com um bloco que está sendo atribuído a cada semana. Assim, a partir do histórico de alocação de endereço 139, demanda histórica e velocidade para alocações de endereços pode ser determinada.
[024] Os dados do tipo de dispositivo 142 indicam as características de vários dispositivos de computação 118 e instâncias de máquinas 124. Por exemplo, um dispositivo de computação 118 de um tipo de dispositivo particular pode ser capaz de acomodar cinco instâncias de máquina tipo grande 124, dez instâncias de máquina tipo médio 124, ou vinte instâncias de máquina tipo pequena 124. Os dados de uso do dispositivo 145 podem indicar as configurações atuais e utilização de endereço de rede para os vários dispositivos de computação 118.
[025] Por exemplo, os dados de uso do dispositivo 145 podem indicar que um dispositivo de computação atual 118 é dividido em três instâncias de máquina do tipo grande 124, onde duas das instâncias de máquinas 124 estão usando dois endereços de rede e uma das instâncias de máquinas 124 está usando cinco endereços de rede. Os dados de uso do dispositivo 145 podem incluir também o histórico de uso de endereço de rede e velocidade para instâncias de máquinas anteriores e atuais 124. Tais dados podem ser correlacionados com os dados do cliente 148 para determinar o endereço de rede e utilização de exemplo para determinados clientes no ambiente de computação hospedado 103.
[026] Referindo-nos agora à Figura 2, é mostrado um exemplo de um ambiente de computação hospedado 103 de acordo com várias modalidades. O ambiente de computação hospedado 103 inclui uma pluralidade de dispositivos de computação 203a, 203b... 203n, uma pluralidade de dispositivos de computação 206a, 206b... 206n, e um armazenamento de dados 209. Tais componentes do ambiente de computação hospedado 103 podem estar em comunicação de dados uns com os outros e/ou dispositivos de computação externos por meio de uma rede 109 (Figura 1). Tais dispositivos de computação 203 e 206 podem estar localizados em uma única instalação ou podem ser dispersos entre muitas localizações geográficas diferentes.
[027] Os dispositivos de computação 203 e 206 correspondem aos dispositivos de computação 118 (Figura 1). Os dispositivos de computação 203 e 206 podem corresponder a diferentes plataformas de hardware em várias modalidades. Assim, os dispositivos de computação 203 e 206 podem ter diferentes configurações de recursos de hardware, por exemplo, de unidades centrais de processamento (CPUs) que fornecem recursos de processamento de propósito geral, unidades de processamento gráfico (GPUs) que fornecem recursos de processamento gráficos, memória de sistema, características de armazenamento de dados, como a capacidade, a largura de banda, e operações de entrada/saída de armazenamento por segundo (IOPS), largura de banda de rede e/ou outras características de hardware. Em uma modalidade, todos os dispositivos de computação 203a, 203b... 203n podem ter uma primeira configuração do hardware, enquanto que todos os dispositivos de computação 206a, 206b... 206n podem ter uma segunda configuração de hardware.
[028] Por exemplo, os dispositivos de computação 203 podem ter uma determinada proporção de um primeiro tipo de recurso a um segundo tipo de recurso, enquanto os dispositivos de computação 206 podem ter uma proporção diferente do primeiro tipo de recurso para o segundo tipo de recurso. Em um exemplo específico, os dispositivos de computação 203 podem ter uma quantidade relativamente elevada de memória, enquanto que os dispositivos de computação 206 podem ter uma quantidade relativamente elevada de recursos da CPU. Em outro exemplo específico, os dispositivos de computação 203 podem ter uma quantidade relativamente elevada de recursos da CPU, enquanto que os dispositivos de computação 206 podem ter uma quantidade relativamente elevada de recursos da GPU. Embora apenas dois conjuntos de dispositivos de computação 203 e 206 sejam mostrados, entende-se que pode haver qualquer número de conjuntos de dispositivos de computação 203 e 206 com diferentes configurações de hardware.
[029] Como um exemplo não limitativo, um cliente que está planejando executar um armazenamento de dados que irá responder a um grande volume de consultas para pequenas quantidades de dados pode preferir ter um dispositivo de computação 203, 206 com capacidade IOPS de armazenamento relativamente alta sobre a largura de banda de armazenamento.Por outro lado, um cliente que está planejando executar um arquivo de backup de dados pode preferir ter um dispositivo de computação 203, 206 com capacidade de largura de banda de armazenamento relativamente elevada sobre IOPS de armazenamento. O arquivo de backup de dados pode não responder a muitos pedidos, mas quando uma solicitação é recebida, uma grande quantidade de largura de banda pode ser preferida para transferir dados a partir do arquivo de backup de dados.
[030] Cada dispositivo de computação 203, 206 pode executar uma ou mais instâncias de máquinas (MI). A instância de máquina pode corresponder a uma máquina real ou a uma máquina virtual. Uma instância da máquina virtual é um sistema de computador virtualizado, ou uma implementação de software de um sistema de computação físico. As máquinas virtuais podem prever ambientes múltiplos e/ou diferentes ambientes do sistema operacional para executar simultaneamente em um único sistema que tem um circuito processador e uma memória. Como um exemplo não limitativo, várias instâncias de um ambiente de sistema operacional Linux® podem executar em simultâneo com várias instâncias de um ambiente de sistema operacional Microsoft® Windows® em um único sistema. Cada instância da máquina pode ser controlada por diferentes clientes, que podem ter acesso administrativo apenas para às suas próprias instâncias e sem acesso às instâncias de outros clientes. Várias instâncias da máquina podem, de fato, ser executadas simultaneamente em um sistema de computador, incluindo processadores paralelos, embora várias instâncias possam aparecer para executar simultaneamente em um sistema de computador com vários segmentos com menor número de processadores que instâncias.
[031] Diferentes tipos de instâncias de máquinas podem estar disponíveis. No exemplo da Figura 2, os dispositivos de computação 203 podem suportar três tipos de instâncias de máquina: MI grande 212, MI média 215, e MI pequena 218, cada uma das quais pode ser associada a diferentes configurações de recursos. Como um exemplo não limitativo, cada instância de MI grande 212 pode ter quatro unidades equivalentes a CPU, 15 GB de memória do sistema, e 1.000 GB de armazenamento de dados. Cada instância de MI média 215 pode ter duas unidades equivalentes a CPU, 10 GB de memória do sistema, e 600 GB de armazenamento de dados. Além disso, cada instância MI pequena 218 pode ter uma unidade equivalente a CPU, 5 GB de memória do sistema, e 250 GB de armazenamento de dados. No exemplo da Figura 2, os dispositivos de computação 206 podem também suportar três tipos de instâncias de máquina, isto é, MI grande 221, MI média 224, e MI pequena 227. MI grande 221, MI média 224, e MI pequena 227 podem ter as mesmas configurações respectivas como MI grande 212, MI média 215, e MI pequena 218 ou pode ter diferentes configurações conforme desejado. Como um exemplo não limitativo, uma instância de MI grande 221 pode ter quatro unidades equivalentes à CPU, 20 GB de memória do sistema, e 1.000 GB de armazenamento de dados.
[032] O exemplo de três tipos de instâncias de máquinas para cada tipo de dispositivo de computação 203, 206 não se destina a ser limitativo. Em várias modalidades, podem existir mais ou menos tipos de instâncias de máquinas para cada tipo de dispositivo 203, 206. Em uma modalidade de computação, uma instância da máquina pode compreender uma alocação de todo um dispositivo de computação 203, 206 sem virtualização.
[033] No exemplo da Figura 2, uma instância de MI grande 212 está em execução no dispositivo 203a, duas MI médias 215a, 215b instâncias estão executando no dispositivo de computação 203b, uma instância MI média 215c e duas MI pequenas 218a, 218b estão sendo executadas no dispositivo de computação 203n, uma instância MI grande 221 está em execução no dispositivo de computação 206a, três instâncias MI médias 224a, 224b, 224c estão executando no dispositivo de computação 206b, e uma instância MI média 224d e quatro instâncias MI pequenas 227a, 227b, 227c, 227d estão sendo executadas no dispositivo de computação 206n. Cada instância de máquina pode ser associada a um cliente, embora qualquer cliente possa estar associado com qualquer número de instâncias de máquina.
[034] Em várias modalidades, o cliente pode ser capaz de lançar novas instâncias de máquinas e/ou terminar instâncias de máquinas dinamicamente. Assim, o ambiente de computação hospedado 103 pode proporcionar capacidade de computação elástica para o cliente que pode variar ao longo do tempo. Como um exemplo não limitativo, um cliente hospedando um site de rede raramente visitado em uma instância de máquina de repente pode obter um fluxo de visitas à página de rede quando o site da rede é mencionado na televisão ou ligado a um site de rede popular. O aumento no tráfego do site de rede pode sobrecarregar a capacidade de computação da instância da máquina, levando a má performance do site e disponibilidade da rede. Para lidar com o tráfego do site de rede, o cliente pode lançar novas instâncias de máquinas e/ou transição para uma instância de máquina com mais recursos e melhor desempenho. O cliente também pode configurar endereços de rede adicionais ou menores para as instâncias de máquinas específicas, conforme necessário. O operador do ambiente de computação hospedado 103 pode necessitar assegurar que a capacidade de computação de reposição esteja disponível no ambiente de computação hospedado 103 para acomodar essas novas instâncias de máquinas. Ao mesmo tempo, o excesso de capacidade de computação de reposição pode ser caro e ineficiente de recursos.
[035] Várias aplicações e/ou outras funcionalidades podem ser executadas nas instâncias de máquinas e nos dispositivos de computação 203, 206 de acordo com várias modalidades. Além disso, vários dados são armazenados em um armazenamento de dados 209, que é acessível para os dispositivos de computação 203, 206. O armazenamento de dados 209 pode ser representativo de uma pluralidade de armazenadores de dados 209 como pode ser apreciado. Os dados armazenados no armazenamento de dados 209 incluem, por exemplo, dados de imagem da máquina 230, dados de clientes 233, e potencialmente outros dados.
[036] Os dados de imagem da máquina 230 podem incluir dados utilizados para lançar uma instância de máquina. Dados de imagem da máquina 230 podem incluir uma ou mais imagens de disco de um ambiente de sistema operacional. Algumas das imagens de disco podem ser pré-configuradas para uso por qualquer cliente ou um subconjunto de clientes, enquanto outros podem ser personalizados para um determinado cliente ou um subconjunto de clientes. Em uma modalidade, uma imagem de disco pode ser carregada por múltiplas instâncias da máquina.
[037] Os dados do cliente 233 podem incluir dados específicos do cliente. Em uma modalidade, todos os dados de configuração do cliente para uma instância da máquina são armazenados nos dados do cliente 233. Deste modo, esses dados podem ser facilmente partilhados entre muitas instâncias de máquinas. Como um exemplo não limitativo, os dados do cliente 233 podem incluir páginas de rede para ser servidos por um ou mais servidores de página de rede executando em instâncias de máquina associadas a um cliente. No entanto, entende-se que em algumas modalidades os dados específicos do cliente podem ser armazenados dentro de armazenamento local de dados associados com uma instância de máquina.
[038] Voltando agora à Figura 1, uma descrição geral da operação dos vários componentes do ambiente de rede 100 é proporcionada. Para começar, um roteador de agregação 115 pode ser dado a uma alocação inicial de endereços de rede para a rede 109. Um rack de 112 ou outra subdivisão pode ser configurado para o ambiente de computação hospedado 103 atrás do roteador de agregação 115. Vários outros roteadores e equipamentos de rede podem ser interpostos entre o rack 112 e o roteador de agregação 115 em várias modalidades. Em algumas modalidades, o roteador 121 no rack 112 pode ser acoplado à rede 109 sem um roteador de agregação 115.
[039] O rack 112 pode ser inicialmente configurado com um conjunto de dispositivos de computação 118. Em alguns casos, um ou mais dos dispositivos de computação 118 podem ser inicialmente configurados para receber uma ou mais instâncias da máquina 124. Em alguns casos, um ou mais dos dispositivos de computação 118 podem não ter nenhuma configuração inicial em instâncias da máquina 124. Todos os espaços físicos dentro do rack 112 podem ser inicialmente ocupados, ou espaços físicos dentro do rack 112 podem estar disponíveis. O serviço de alocação de endereço 127 atribui alocações de endereços de rede para o rack 112 baseado, pelo menos em parte, em uma configuração de alocação padrão, os tipos de dispositivos para cada um dos dispositivos de computação 118 no rack 112, velocidade de alocação histórica ou a velocidade de uso de endereços para os tipos dos dispositivos de computação 118, velocidade de alocação histórica ou velocidade de utilização para o endereço dos clientes associados com os dispositivos de computação 118, e/ou outros fatores.
[040] Como um exemplo não limitativo, um rack 112 pode ser inicialmente configurado com 20 dispositivos de computação 118 de um determinado tipo de dispositivo. Em resposta ao número de dispositivos de computação 118, o tipo de dispositivos de computação 118, e/ou outros dados, o serviço de alocação de endereço 127 pode decidir alocar ao rack 112 um bloco “/27” de 32 endereços. Para este fim, o serviço de alocação de endereço 127 pode configurar automaticamente o roteador 121 para anunciar esse determinado bloco de endereços, concretizando assim a alocação. O serviço de alocação de endereço 127 pode selecionar o determinado bloco de endereços a partir de um grande bloco de endereços (por exemplo, um bloco “/22” ou outro) que tenha sido atribuído ao roteador de agregação correspondente 115.
[041] Continuando com o exemplo não limitativo, pode ser que cada um dos 20 dispositivos de computação 118 seja inicialmente configurado para utilizar um único endereço correspondente a partir do bloco “/27”. Vários endereços no bloco podem ser reservados como um número de rede, endereço de gateway, endereço de transmissão, e assim por diante. À medida que o rack 112 é reconfigurado, utilização de endereçamento pode subir. Os dispositivos de computação 118 podem ser adicionados ao rack 112, instâncias de máquina adicionais 124 podem ser adicionadas aos dispositivos de computação 118, o cliente poderá solicitar endereços de rede adicionais para suas instâncias de máquinas ou dispositivos computacionais 124 118, e/ou outras reconfigurações podem ocorrer. O serviço do monitor de rede 130 pode monitorar a topologia da rede, alocações de endereços, o uso do dispositivo, incluindo a utilização de endereços, e/ou outras informações relativas ao ambiente de computação hospedado 103. Os dados associados com e indicando a reconfiguração podem ser armazenados na topologia da rede de dados 133, o histórico de alocação de endereço 139, os dados de tipo de dispositivo 142, os dados de utilização do dispositivo 145, etc. Esses dados que indicam uma reconfiguração podem ser fornecidos diretamente para o serviço de alocação de endereço 127 em algumas modalidades. Podem ser estabelecidos limites para garantir que alocações de endereço são realizadas com antecedência da exaustão de endereço.
[042] Por exemplo, o serviço de alocação de endereço 127 pode obter dados que indicam que uma reconfiguração do rack 112 resultou em um aumento da quantidade de instâncias de máquinas 124. Por conseguinte, o serviço de alocação de endereço 127 pode decidir atribuir outro bloco “/27” de endereços de rede para o particular rack 112. O bloco de endereços de rede em alguns casos pode ser selecionado como um subconjunto dos endereços alocados para o roteador de agregação 115. Após a alocação, o endereço do serviço de alocação 127 pode reconfigurar automaticamente o roteador 121 para implementar a alocação adicional de endereços.
[043] O serviço de alocação de endereço 127 pode ser configurado para preferir alocações contíguas, se disponível. Em alguns casos, com base, pelo menos em parte, no histórico de alocação de endereço 139, os dados do cliente 148, e/ou outros fatores, o endereço do serviço de alocação 127 pode inicialmente reservar alocações de endereços não atribuídos, que são contíguas a uma alocação, onde a reserva é para possível futuro uso. Se a demanda em outros racks 112 leva a alocações adicionais, essas alocações reservadas podem ser atribuídas a outros racks, se necessário. Assim, a alocação não contígua pode ser necessária.
[044] Se as designações de alocação contígua são feitas, o serviço de alocação de endereço 127 pode ser configurado para consolidar alocações. Por exemplo, se duas redes “/27” são alocados de forma contígua, o serviço de alocação de endereço 127 pode ser configurado para enrolar as duas alocações “/27” em uma alocação “/26”. Da mesma forma, se quatro redes “/27” são alocadas de forma contíguas, o serviço de alocação de endereço 127 pode ser configurada para enrolar as quatro alocações “/27” em uma alocação “/25”. Em uma modalidade, através da combinação de alocações contíguas, endereços adicionais que foram endereços anteriormente reservados para as alocações menores (por exemplo, número de rede, endereço de transmissão, etc.) pode tornar-se transmissível para dispositivos de computação 118. Ao realizar esta agregação de rota ou sumarização, as demandas de roteamento sobre os roteadores 121 e roteadores de agregação 115 podem ser reduzidas.
[045] Em uma modalidade, um roteador 121 (ou a roteador de agregação 115) pode ser configurado para anunciar rotas que não são atribuídas aos dispositivos 118 para efeitos de agregação de computação. Por exemplo, três alocações de endereços contíguos 136 para blocos “/27” podem ser atribuídas a um determinado rack 112. As alocações de endereços 136 podem ser agregadas em um único bloco “/25”, apesar de incluir um bloco “/27” não atribuído dentro do bloco “/25” a fim de simplificar anúncios de roteamento. O bloco “/27” não atribuído pode ser reservado para uso futuro pelo rack 112 ou pode ser dissociado mais tarde para uso por outro rack 112 dependendo da demanda.
[046] Enquanto algumas reconfigurações em racks 112 podem levar a uma maior utilização de endereços, outras reconfigurações podem levar à redução da utilização de endereços. Por exemplo, um rack 112 que foi anteriormente atribuído a uma alocação de endereço 136 de um bloco “/22” pode agora só estar usando 400 endereços, que poderia caber dentro de um bloco “/23”. Tal utilização reduzida pode ocorrer quando menos instâncias de máquinas 124 estão sendo hospedadas para ganhar dispositivos de computação 118 que se tornaram relativamente potência fraca. Consequentemente, o serviço de alocação de endereço 127 pode lançar outro bloco “/23” a partir da alocação “/22”. Os limiares podem ser usados para proporcionar a histerese. A histerese pode ser desejável para evitar a liberação de uma alocação que pode ser usada dentro de um tempo curto. Por exemplo, a utilização de endereços pode mergulhar temporariamente abaixo de 512 para um bloco “/22”, mas um “/23” não pode ser liberado até utilização de endereçamento ser abaixo de 450.
[047] Em alguns casos, os endereços dentro do bloco para ser lançado já podem estar em uso. Em tais casos, serviço de utilização de endereçamento 127 pode ser configurado para iniciar uma transição de dispositivos de computação 118 fora de endereços no bloco a ser liberado para endereços no bloco a ser retido. Em algumas modalidades, mover dispositivos de computação 118 de um endereço para outro pode ser indesejável e pode resultar repressão da liberação de parcelas da alocação de endereço 136. Por exemplo, embora apenas 400 endereços em um bloco “/22” possam ser usados, devido à utilização de endereços existente, o endereço do serviço de alocação 127 só pode apenas liberar um bloco “/24”. O serviço de alocação de endereço 127 pode ser configurado com limites para evitar dividir alocações de endereços 136 em numerosos pequenos blocos para evitar roteamento problemático por alto.
[048] Os exemplos discutidos acima podem ser alargados às alocações 136 atribuídas aos roteadores de agregação 115, bem como. A porção do ambiente de computação hospedado 103 que está atrás de um roteador de agregação 115 pode ser considerada uma subdivisão da rede 109. Para este fim, os blocos de endereços de rede podem ser alocados a um roteador de agregação 115 baseado, pelo menos, em parte, na demanda prevista ou real, por exemplo, os racks 112, os dispositivos de computação 118, as instâncias da máquina 124, etc., que são atendidos pelo roteador de agregação 115. Real ou prevista para endereços de rede pode aumentar ou diminuir ao longo do tempo, resultando em alocações de endereços adicionais 136 que estão sendo alocados ou nas alocações de endereços existentes 136 que estão sendo liberados para realocação.
[049] Referindo-nos agora à Figura 3, é mostrado um fluxograma que fornece um exemplo do funcionamento de uma porção de serviço de alocação do endereço 127 de acordo com várias modalidades. Entende-se que o fluxograma da Figura 3 fornece apenas um exemplo dos muitos tipos diferentes de arranjos funcionais que podem ser utilizados para implementar a operação da porção do serviço de alocação de endereço 127 como aqui descrito. Como alternativa, o fluxograma da Figura 3 pode ser visto como representando um exemplo de etapas de um método implementado no ambiente de computação 106 (Figura 1) de acordo com uma ou mais modalidades.
[050] Começando com caixa 303, o serviço de alocação de endereço 127 determina uma configuração inicial de uma subdivisão de uma rede de 109 (Figura 1). A subdivisão pode corresponder a um rack 112 (Figura 1), a porção de um ambiente de computação hospedado 103 (Figura 1) que está por trás de um dado roteador de agregação 115 (Figura 1), ou de outra subdivisão. Para este fim, o serviço de alocação de endereço 127 pode referir-se aos dados recolhidos pelo serviço de monitoramento de rede 130 (Figura 1) para determinar a topologia da rede 109, os dispositivos de computação 118 (Figura 1) e os seus tipos de dispositivos, as instâncias de máquina 124 (Figura 1) que tenham sido configuradas, os clientes associados com as instâncias de máquina 124, e assim por diante.
[051] Na caixa 306, o serviço de alocação de endereço 127 atribui uma primeira alocação de endereço 136 (Figura 1) para a subdivisão baseado, pelo menos em parte, na configuração inicial. Por exemplo, a alocação de endereço 136 pode ser determinada com base, pelo menos em parte, do respectivo tipo de dispositivo para cada um dos dispositivos de computação 118, a demanda projetada para os endereços de rede e/ou outros fatores. Na caixa 309, o serviço de alocação de endereço 127 configura o roteador 121 (Figura 1) (ou roteador de agregação 115, conforme o caso) para implementar a primeira alocação de endereço 136.
[052] Na caixa 312, o serviço de alocação de endereço 127 obtém dados, por exemplo, a partir do serviço de monitor de rede 130, que indica uma reconfiguração dos dispositivos de computação 118 na subdivisão. Por exemplo, os dispositivos de computação 118 adicionais podem ser adicionados, os dispositivos de computação 118 podem ser substituídos com dispositivos de computação mais poderosos 118, dispositivos de computação 118 podem ser reconfigurados com mais instâncias de máquinas 124, dispositivos de computação 118 podem ser reconfigurados para os clientes que tendem a usar muitos endereços de rede, e assim por diante. No caso da Figura 3, a reconfiguração indica um aumento na utilização de endereçamento real ou prevista. Na caixa 315, o serviço de alocação de endereço 127 atribui uma segunda alocação de endereço 136 à subdivisão baseada, pelo menos em parte, na reconfiguração. A segunda alocação de endereço 136 pode ser selecionada, por exemplo, com base em contiguidade com a primeira alocação de endereço 136. Por exemplo, “10.1.0.0/24”, é contígua à “10.1.1.0/24.” A contiguidade pode depender da capacidade das alocações de endereços 136 em caber dentro de uma máscara de sub-rede particular. O tamanho da segunda alocação de endereço 136 pode ser determinado, por exemplo, com base em uma velocidade de alocação de endereço, alocação, ou utilização.
[053] Na caixa 318, o serviço de alocação de endereço 127 determina se deve agregar as primeira e segunda alocações de endereços 136. Por exemplo, “10.1.0.0/24” podem ser agregados com “10.1.1.0/24” para produzir “10.1.1.0/23”. Em algumas modalidades, as alocações de endereços não contíguas 136 podem ser agregadas. Se o serviço de alocação de endereço 127 não determina agregar as primeira e segunda alocações de endereços 136, o serviço de alocação de endereço 127 move para a caixa 321 e configura o roteador 121 (ou roteador de agregação 115, conforme o caso) para anunciar a segunda alocação de endereço 136 como rota separada. O serviço de alocação de endereço 127, em seguida, continua para a caixa 324.
[054] Se, em vez disso, o serviço de alocação de endereço 127 determina que a primeiro e segunda alocações de endereços 136 devem ser agregadas, o serviço de alocação de endereço 127 continua a partir da caixa 318 para caixa 327 e combina a primeira alocação de endereço 136 com a segunda alocação de endereço 136. Na caixa 330, o serviço de alocação de endereço 127 configura o roteador 121 (ou roteador de agregação 115, conforme o caso) para anunciar a alocação de endereço combinados 136. O serviço de alocação de endereço 127, em seguida, passa para a caixa 324.
[055] Na caixa 324, o serviço de alocação de endereço 127 determina se outra reconfiguração ocorreu. Se outra reconfiguração ocorreu, o serviço de alocação de endereço 127 retorna para a caixa 312 e obtém dados que indicam a reconfiguração. Se outra reconfiguração não ocorreu, a parte do endereço de serviço de alocação 127 termina.
[056] Passando agora para a Figura 4, é mostrado um fluxograma que fornece um exemplo da operação de outra porção do serviço de alocação de endereço 127 de acordo com várias modalidades. Entende-se que o fluxograma da Figura 4 fornece apenas um exemplo dos muitos tipos diferentes de arranjos funcionais que podem ser utilizados para implementar a operação da porção do serviço de alocação de endereço 127, como aqui descrito. Como alternativa, o fluxograma da Figura 4 pode ser visto como representando um exemplo de etapas de um método implementado no ambiente de computação 106 (Figura 1) de acordo com uma ou mais modalidades.
[057] Começando com caixa 403, o serviço de alocação de endereço 127 (Figura 1) obtém dados, por exemplo, a partir do serviço de monitor de rede 130 (Figura 1), que indica a reconfiguração dos dispositivos de computação 118 (Figura 1) em uma subdivisão de uma rede 109 (Figura 1) (por exemplo, um rack 112 (Figura 1), uma porção de um ambiente de computação hospedado 103 (Figura 1) por trás de um roteador de agregação 115 (Figura 1), etc). Por exemplo, os dispositivos de computação 118 podem ser removidos, dispositivos de computação 118 podem ser reconfigurados com menos instâncias de máquina 124, dispositivos de computação 118 podem ser reconfigurados para os clientes que tendem a usar menos endereços de rede, e assim por diante. No caso da Figura 4, a reconfiguração indica uma redução da utilização endereço real ou presumida.
[058] Na caixa 406, o serviço de alocação de endereço 127 determina se a utilização de endereçamento para a subdivisão é inferior ao limiar. Se não, o serviço de alocação de endereço 127 procede para a caixa 409 e nenhuma liberação de alocações de endereços 136 (Figura 1) ocorre. Se assim for, o serviço de alocação de endereço 127 continua a partir da caixa 406 para a caixa 412 e determina se, pelo menos, uma porção do endereço de alocação 136 para a subdivisão é liberável. Por exemplo, a alocação de endereço 136 pode ser preenchida com os endereços que estão atualmente em uso e não podem ser movidos, tornando, assim, a alocação de endereço 136 potencialmente não destacável. Se a alocação de endereço 136 não pode ser liberada, o serviço de alocação de endereço 127 continua para a caixa 409.
[059] Se a alocação de endereço 136 pode ser liberada, o serviço de alocação de endereço 127 muda de caixa 412 para caixa 415 e determina se deve mover alocações de endereços ativos. Se não, o serviço de alocação de endereço 127 continua para a caixa 418. Se, em vez disso, alocações de endereços ativos estão sendo movidas, o serviço de alocação de endereço 127 continua a partir da caixa 415 para caixa 421 e migra alocações de endereços ativos para fora de um liberável da alocação do endereço 136. Isto pode envolver a reconfiguração automática dos dispositivos de computação 118 que estão envolvidas, notificando os clientes associados com os dispositivos de computação 118, etc.
[060] Na caixa 418, o serviço de alocação de endereço 127 libera o subconjunto da alocação de endereço 136. Na caixa 424, o serviço de alocação de endereço 127 reconfigura o roteador 121 (ou roteador de agregação 115, conforme o caso) para anunciar o subconjunto não liberado da alocação de endereço 136. Como um exemplo não limitativo, onde a alocação de endereço 136 foi “10.1.1.0/23,” alocações de endereços podem ser migradas longe de “10.1.1.0/24” e “10.1.1.0/24” podem ser lançadas. A rota para “10.1.0.0/24” pode subsequentemente ser anunciada. Se o subconjunto liberado da alocação de endereço 136 não é agregado com outro subconjunto, então pode ser o caso de que nenhuma nova rota é anunciada como resultado. O serviço de alocação de endereço de 127 procede para a caixa 409.
[061] Na caixa 409, o serviço de alocação de endereço 127 determina se outra reconfiguração ocorreu. Se outra reconfiguração ocorreu, o serviço de alocação de endereço 127 volta para a caixa 403 e obtém dados que indicam a reconfiguração. Se outra reconfiguração não ocorreu, a parte do endereço de serviço de alocação 127 termina.
[062] Com referência à Figura 5, é mostrado um diagrama de blocos esquemático do ambiente de computação 106 de acordo com uma modalidade da presente divulgação. O ambiente de computação 106 inclui um ou mais dispositivos de computação 500. Cada dispositivo de computação 500 inclui, pelo menos, um circuito processador, por exemplo, tendo um processador 503 e uma memória 506, ambos dos quais estão acoplados a uma interface local 509. Para este fim, cada dispositivo de computação 500 pode compreender, por exemplo, pelo menos, um computador servidor ou dispositivo semelhante. A interface local 509 pode compreender, por exemplo, um bus de dados com um endereço/bus de controle de acompanhamento ou outra estrutura de linhas de bus, como pode ser apreciado.
[063] Armazenados na memória 506 estão os dados e vários componentes que são executáveis pelo processador 503. Em particular, armazenado na memória 506 e executável pelo processador 503 é o serviço de alocação de endereço 127, o serviço de monitor de rede 130, e potencialmente outras aplicações. Também armazenados na memória 506 podem ser um armazenamento de dados 125 e outros dados. Além disso, um sistema operativo pode ser armazenado na memória 506 e executável pelo processador 503.
[064] Entende-se que pode haver outras aplicações que são armazenadas na memória 506 e são executáveis pelo processador 503, como pode ser apreciado. Sempre que qualquer componente aqui discutido é implementado na forma de software, qualquer um de uma série de linguagens de programação podem ser empregues, como, por exemplo, C, C++, C#, Objective C, Java®, JavaScript®, Perl, PHP, Visual Basic, Python®, Ruby, Flash® ou outras linguagens de programação.
[065] Um número de componentes de software são armazenados na memória 506 e são executáveis pelo processador 503. A este respeito, o termo “executável” significa um arquivo de programa que se encontra em uma forma que pode em última análise ser executada pelo processador 503. Exemplos de programas executáveis podem ser, por exemplo, um programa compilado que pode ser traduzido em código de máquina em um formato que pode ser carregado para uma parte de acesso aleatório da memória 506 e executado pelo processador 503, o código de fonte que pode ser expresso em formato adequado como código objeto que é capaz de ser carregado para uma parte de acesso aleatório da memória 506 e executado pelo processador 503, ou o código de fonte que pode ser interpretado por outro programa executável para gerar instruções em uma porção de acesso aleatório da memória 506 para ser executado pelo processador 503, etc. Um programa executável pode ser armazenado em qualquer porção ou componente da memória 506 incluindo, por exemplo, a memória de acesso aleatório (RAM), memória apenas de leitura (ROM), um disco rígido, disco em estado sólido, unidade USB flash, cartão de memória, disco óptico, como disco compacto (CD) ou Digital Versatile Disc (DVD), disquete, fita magnética ou outros componentes de memória.
[066] A memória 506 é aqui definida como incluindo os componentes de memória e de armazenamento de dados tanto voláteis como não voláteis. Os componentes voláteis são aqueles que não retêm valores de dados sobre perda de potência. Componentes não voláteis são aqueles que retêm dados sobre a perda de potência. Assim, a memória 506 pode compreender, por exemplo, memória de acesso aleatório (RAM), memória apenas de leitura (ROM), discos rígidos, drives de estado sólido, drives USB flash, cartões de memória acessados através de um leitor de cartões de memória, discos flexíveis acessados através de uma unidade de disco flexível associada, discos ópticos acessados através de uma unidade de disco óptico, fitas magnéticas acessadas através de uma unidade de fita se for o caso, e/ou outros componentes de memória, ou uma combinação de dois ou mais desses componentes de memória. Além disso, a memória RAM pode compreender, por exemplo, memória estática de acesso aleatório (SRAM), memória dinâmica de acesso aleatório (DRAM), ou memória de acesso aleatório magnético (MRAM) e outros dispositivos semelhantes. O ROM pode compreender, por exemplo, uma memória programável apenas de leitura (PROM), uma memória apagável programável apenas de leitura (EPROM), uma memória apenas de leitura programável apagável eletricamente (EEPROM), ou outro tipo de dispositivo de memória.
[067] Além disso, o processador 503 pode representar vários processadores 503 e/ou múltiplos núcleos do processador e a memória 506 pode representar múltiplas memórias 506 que operam em circuitos de processamento paralelo, respectivamente. Em tal caso, a interface local 509 pode ser uma rede apropriada que facilita a comunicação entre quaisquer dois dos múltiplos processadores 503, entre qualquer processador 503 e qualquer das memórias 506, ou entre duas quaisquer das memórias 506, etc. A interface local 509 pode compreender sistemas suplementares destinadas a coordenar esta comunicação, incluindo, por exemplo, realizar o balanceamento de carga. O processador 503 pode ser de energia elétrica ou de qualquer outra construção disponíveis.
[068] Embora o serviço de alocação de endereço 127, o monitor de rede de serviço 130, e outros diversos sistemas aqui descritos possam ser incorporados em software ou código executados por hardware de finalidade geral como foi discutido acima, como uma alternativa a mesma pode também ser incorporada em hardware dedicado ou uma combinação de software/hardware para fins gerais e hardware dedicado. Se incorporado em hardware dedicado, cada um pode ser implementado como um circuito ou máquina de estado que emprega qualquer uma das, ou uma combinação de um número de tecnologias. Estas tecnologias podem incluir, entre outras, circuitos lógicos discretos, tendo portas lógicas para implementar várias funções lógicas sobre um pedido de um ou mais sinais de dados, circuitos integrados de aplicação específica (ASICs), tendo portas lógicas adequadas, field- programmable gate arrays (FPGAs), ou outros componentes, etc. Estas tecnologias são geralmente bem conhecidas pelos especialistas na técnica e, por conseguinte, não são aqui descritas em detalhes.
[069] Os fluxogramas das Figuras 3 e 4 mostram a funcionalidade e operação de uma aplicação de porções do serviço de alocação de endereço 127. Se incorporadas em software, cada bloco pode representar um módulo, segmento, ou parte do código que compreende instruções de programas para implementar a função lógica especificada. As instruções do programa podem ser incorporadas sob a forma de código fonte, que compreende instruções legíveis por humanos escritas em uma linguagem de programação ou o código de máquina que compreende instruções numéricas reconhecíveis por um sistema de execução adequado, como um processador 503 de um sistema de computador ou outro sistema. O código de máquina pode ser convertido a partir do código-fonte, etc. Se incorporado em hardware, cada bloco pode representar um circuito ou um número de circuitos interligados para implementar a função lógica especificada.
[070] Embora os fluxogramas das Figuras 3 e 4 mostrem uma ordem específica de execução, entende-se que a ordem de execução pode ser diferente do que é descrito. Por exemplo, a ordem de execução de dois ou mais blocos pode ser mexida em relação à ordem indicada. Além disso, dois ou mais blocos mostrados em sucessão nas Figuras 3 e 4 podem ser executados simultaneamente ou com concordância parcial. Além disso, em algumas modalidades, um ou mais dos blocos mostrados nas Figuras 3 e 4 podem ser ignorados ou omitidos. Além disso, qualquer número de contadores, variáveis de estado, semáforos de aviso ou mensagens podem ser adicionados ao fluxo lógico aqui descrito, para fins de reforço da utilidade, contabilidade, avaliação de desempenho, ou prestação de ajuda à resolução de problemas, etc. Entende- se que todas essas variações estão dentro do escopo da presente revelação.
[071] Além disso, qualquer lógica ou aplicativo aqui descrito, incluindo o serviço de alocação de endereço 127 e o serviço de monitor de rede 130, que compreende software ou código pode ser incorporado em qualquer meio não transitório legível por computador para uso por ou em conexão com um sistema de execução de instruções, como, por exemplo, um processador 503 em um sistema de computador ou outro sistema. Neste sentido, a lógica pode compreender, por exemplo, declarações, incluindo as instruções e declarações que podem ser obtidas a partir do meio legível por computador e executadas pelo sistema de execução de instrução. No contexto da presente divulgação, um “meio legível por computador” pode ser qualquer meio que pode conter, armazenar, ou manter a lógica ou aplicação aqui descrita, para utilização em, ou em conexão com o sistema de execução de uma instrução.
[072] Diversas modalidades da presente descrição podem ser descritas tendo em conta os seguintes pontos: 1. Um meio legível por computador não transitório que contém um programa executável em pelo menos um dispositivo de computação, que compreende: código que atribui inicialmente uma primeira alocação de endereço de rede para uma subdivisão de uma rede incluindo uma pluralidade de dispositivos de computação com base, pelo menos em parte, de um respectivo tipo de dispositivo de computação para cada um dos dispositivos de computação; código que configura um roteador para a subdivisão para implementar a primeira alocação de endereço de rede; código que obtém dados que indicam uma reconfiguração dos dispositivos de computação para hospedar um aumento da quantidade de instâncias de máquinas; código que subsequentemente atribui uma segunda alocação de endereço de rede para a subdivisão da rede com base, pelo menos em parte, na reconfiguração dos dispositivos de computação; código que reconfigura o roteador para a subdivisão para implementar a segunda alocação de endereço de rede; código que obtém dados indicando uma reconfiguração posterior dos dispositivos de computação incluídos na subdivisão para hospedar uma quantidade reduzida de instâncias de máquinas; código que libera uma terceira alocação de endereço de rede atribuída à subdivisão baseada, pelo menos em parte, na reconfiguração subsequente dos dispositivos de computação; e código que reconfigura o roteador para a subdivisão para excluir a notificação da terceira alocação de endereço de rede. 2. O meio não transitório legível em computador da cláusula 1, o código que compreende ainda reconfigurar um dos dispositivos de computação para usar um endereço de rede diferente em resposta à terceira alocação de endereço de rede que está sendo liberada. 3. O meio não transitório legível em computador da cláusula 1, em que a terceira alocação de endereço de rede é um subconjunto da primeira alocação de endereço de rede ou a segunda alocação de endereço de rede. 4. Um sistema, compreendendo: pelo menos um dispositivo de computação; e um serviço de alocação de endereço executável por, pelo menos um dispositivo de computação, serviço de alocação de endereço a ser configurado para: inicialmente atribuir uma primeira alocação de endereço de rede para uma subdivisão de uma rede, a subdivisão incluindo uma pluralidade de dispositivos de computação; configurar um roteador para a subdivisão para implementar a primeira alocação de endereço de rede; obter dados que indicam uma reconfiguração dos dispositivos de computação; subsequentemente atribuir uma segunda alocação de endereço de rede para a subdivisão da rede com base, pelo menos em parte, na reconfiguração dos dispositivos de computação; e reconfigurar o roteador para a subdivisão para implementar a segunda alocação de endereço de rede. 5. O sistema de cláusula 4, em que os dispositivos de computação incluem uma pluralidade de instâncias de máquinas, que empregam uma quantidade variável de endereços de rede. 6. O sistema de cláusula 4, em que a segunda alocação de endereço de rede é posteriormente atribuída com base, pelo menos em parte, em uma maior quantidade de instâncias de máquinas hospedadas pelos dispositivos de computação em conformidade com a reconfiguração dos dispositivos de computação. 7. O sistema de cláusula 4, em que a segunda alocação de endereço de rede é posteriormente atribuída com base, pelo menos em parte, em uma velocidade de alocação de endereço de rede associada com os dispositivos de computação. 8. O sistema de cláusula 4, em que a primeira alocação de endereço de rede é baseada, pelo menos em parte, em um respectivo tipo de dispositivo de computação para cada um dos dispositivos de computação. 9. O sistema de cláusula 8, em que o serviço de alocação de endereço é ainda configurado para: prever uma quantidade de instâncias da máquina para pelo menos um dos dispositivos de computação baseado pelo menos em parte, no respectivo tipo de dispositivo de computação; e em que a primeira alocação de endereço de rede é baseada, pelo menos em parte, na quantidade de instâncias de máquina que é previsto. 10. O sistema da cláusula 4, em que a subdivisão corresponde a um rack, e o roteador corresponde a um roteador associado ao rack. 11. O sistema da cláusula 4, em que a segunda alocação de endereço de rede é selecionada com base, pelo menos em parte, em contiguidade da segunda alocação de endereço de rede com a primeira alocação de endereço de rede. 12. O sistema de cláusula 4, em que a primeira alocação de endereço de rede e a segunda alocação de endereço de rede são atribuídas à subdivisão em resposta à segundo alocação de endereço de rede que está sendo implementada. 13. O sistema da cláusula 12, em que a primeira alocação de endereço de rede e a segunda alocação de endereço de rede são contíguas. 14. O sistema da cláusula 12, em que a primeira alocação de endereço de rede e a segunda alocação de endereço de rede não são contíguas. 15. O sistema de cláusula 14, em que, em resposta à segunda alocação de endereço de rede a ser implementada, o roteador está configurado para alertar uma alocação de endereço de rede contígua, que inclui a primeira alocação de endereço de rede, a segunda alocação de endereço de rede, e uma terceira rede alocação de endereço que é contígua à primeira alocação de endereço de rede e a segunda alocação de endereço de rede e não é atribuído à subdivisão. 16. O sistema da cláusula 4, em que a primeira alocação de endereço de rede já não é atribuída à subdivisão em resposta à segunda alocação de endereço de rede que está sendo implementada. 17. O sistema da cláusula 4, em que a segunda alocação de endereço de rede inclui a primeira alocação de endereço de rede. 18. Um método, que compreende: obter, por pelo menos um dispositivo de computação, dados indicando uma reconfiguração de pelo menos uma de uma pluralidade de dispositivos de computação incluídos em uma subdivisão de uma rede, a subdivisão sendo atribuída uma alocação de endereço de rede; determinar, por pelo menos um dispositivo de computação, se liberar uma alocação de um primeiro subconjunto da alocação de endereço de rede com base, pelo menos em parte, na reconfiguração de, pelo menos, um dos dispositivos de computação; liberar, por pelo menos um dispositivo de computação, a alocação do primeiro subconjunto da alocação de endereço de rede em resposta à determinação; e reconfigurar, por pelo menos um dispositivo de computação, um roteador para a subdivisão para alertar um segundo subconjunto da alocação de endereço de rede em vez da alocação de endereço de rede. 19. O método da cláusula 18, em que a reconfiguração corresponde a uma redução na quantidade de instâncias de máquina hospedadas por pelo menos um dos dispositivos de computação. 20. O método da cláusula 19, que compreende ainda determinar, por pelo menos um dispositivo de computação, se a quantidade de instâncias de máquina satisfaz um limiar para a liberação do primeiro subconjunto da alocação de endereço de rede. 21. O método da cláusula 18, que compreende ainda a reconfiguração automática, por pelo menos um dispositivo de computação, um dos dispositivos de computação na subdivisão para usar um primeiro endereço de rede no primeiro subconjunto da alocação de endereço de rede em vez de um segundo endereço de rede no segundo subconjunto da alocação de endereço de rede antes de reconfigurar automaticamente o roteador. 22. O método da cláusula 18, em que o primeiro subconjunto de alocação de endereço de rede e o segundo subconjunto da alocação de endereço de rede são contíguos. 23. O método da cláusula 18, em que o primeiro subconjunto de alocação de endereço de rede e o segundo subconjunto da alocação de endereço de rede não são contíguos. 24. O método da cláusula 18, que compreende ainda as etapas de: obter, no pelo menos um dispositivo de computação, dados indicando uma reconfiguração subsequente de, pelo menos, um dos dispositivos de computação incluídos na subdivisão; atribuir, no pelo menos um dispositivo de computação, outro endereço de rede para a alocação para a subdivisão baseada, pelo menos em parte, na reconfiguração subsequente dos pelo menos um dos dispositivos de computação; e reconfigurar automaticamente, no pelo menos um dispositivo de computação, o roteador para a subdivisão para alertar a outra alocação de endereço de rede para além do segundo subconjunto da alocação de endereço de rede.
[073] O meio legível por computador pode compreender qualquer uma de uma multiplicidade de meios físicos, como, por exemplo, meios magnéticos, ópticos ou de semicondutores. Exemplos mais específicos de um meio legível por computador adequado incluiriam, entre outros, fitas magnéticas, disquetes magnéticos, discos rígidos magnéticos, cartões de memória, drives de estado sólido, drives USB flash ou discos ópticos. Além disso, o meio legível por computador pode ser uma memória de acesso aleatório (RAM), incluindo, por exemplo, a memória estática de acesso aleatório (SRAM) e memória dinâmica de acesso aleatório (DRAM), ou uma memória magnética de acesso aleatório (MRAM). Além disso, o meio legível por computador pode ser uma memória apenas de leitura (ROM), uma memória apenas de leitura programável (PROM), uma memória programável apenas de leitura apagável (EPROM), uma memória apenas de leitura programável apagável eletricamente (EEPROM), ou outro tipo de dispositivo de memória.
[074] Deve ser salientado que as modalidades da presente invenção acima descritas são apenas exemplos de possíveis implementações estabelecidas para um claro entendimento dos princípios da divulgação. Muitas variações e modificações podem ser feitas para as formas acima descritas sem se afastar substancialmente do espírito e princípios da divulgação. Todas estas modificações e variações destinam- se a estar aqui incluídas dentro do escopo desta divulgação e protegidas pelas seguintes reivindicações.

Claims (13)

1. Sistema para alocar dinamicamente um endereço de rede, caracterizado pelo fato de que compreende: pelo menos um dispositivo de computação; e um serviço de alocação de endereço executável por pelo menos um dispositivo de computação, o serviço de alocação de endereço a ser configurado para: inicialmente atribuir uma primeira alocação de endereço de rede para uma subdivisão de uma rede, a subdivisão incluindo uma pluralidade de dispositivos de computação; configurar um roteador para a subdivisão para implementar a primeira alocação de endereço rede; obter dados que indicam uma reconfiguração da pluralidade dos dispositivos de computação, em que a reconfiguração muda uma quantidade de instâncias de máquina virtual hospedadas pela pluralidade de dispositivos de computação; dinamicamente atribuir uma segunda alocação de endereço de rede para a subdivisão da rede de base, pelo menos em parte, na reconfiguração da pluralidade de dispositivos de computação, em que um tamanho da segunda alocação de endereço de rede é determinado com base em uma velocidade de alocação de endereço de rede associada à pluralidade de dispositivos de computação; e reconfigurar o roteador para a subdivisão para implementar a segunda alocação de endereço de rede.
2. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que a primeira alocação de endereço de rede é baseada, pelo menos em parte, em um respectivo tipo de dispositivo de computação para dispositivos individuais da pluralidade de dispositivos de computação.
3. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que o serviço de alocação de endereço é ainda configurado para: prever a quantidade de instâncias da máquina virtual para pelo menos um da pluralidade de dispositivos de computação baseado pelo menos em parte, no respectivo tipo de dispositivo de computação; e em que a primeira alocação de endereço de rede é baseada, pelo menos em parte, na quantidade de instâncias de máquina virtual que é prevista.
4. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que a subdivisão corresponde a um rack, e o roteador corresponde a um roteador associado ao rack.
5. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que a segunda alocação de endereço de rede é selecionada com base, pelo menos em parte, na contiguidade da segunda alocação de endereço de rede com a primeira alocação de endereço de rede.
6. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que a primeira alocação de endereço de rede e a segunda alocação de endereço de rede são atribuídos à subdivisão em resposta à segunda alocação de endereço de rede a ser implementada.
7. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que a primeira alocação de endereço de rede já não está designada à subdivisão em resposta à segunda alocação de endereço de rede a ser implementada.
8. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que a segunda alocação de endereço de rede inclui a primeira alocação de endereço de rede.
9. Método para alocar dinamicamente um endereço de rede, caracterizado pelo fato de que compreende: obter, por pelo menos um dispositivo de computação, dados indicando uma reconfiguração de pelo menos um de uma pluralidade de dispositivos de computação incluídos em uma subdivisão de uma rede, a subdivisão sendo atribuída uma alocação de endereço de rede, em que a reconfiguração muda uma quantidade de instâncias de máquina virtual hospedadas pela pluralidade de dispositivos de computação; determinar, por pelo menos um dispositivo de computação, se liberar uma alocação de um primeiro subconjunto da alocação de endereço de rede com base, pelo menos em parte, na reconfiguração da, pelo menos, um da pluralidade de dispositivos de computação; liberar dinamicamente, por pelo menos um dispositivo de computação, a alocação do primeiro subconjunto da alocação de endereço de rede em resposta à determinação; e reconfigurar, por pelo menos um dispositivo de computação, um roteador para a subdivisão de alerta de um segundo subconjunto da alocação de endereço de rede em vez da alocação de endereço de rede, em que um tamanho do segundo subconjunto da alocação de endereço de rede é determinado com base em uma velocidade de alocação de endereço de rede associada aos dispositivos de computação.
10. Método, de acordo com a reivindicação 9, caracterizado pelo fato de que a reconfiguração corresponde na redução da quantidade de instâncias de máquina virtual hospedadas por, pelo menos, um da pluralidade de dispositivos de computação.
11. Método, de acordo com a reivindicação 10, caracterizado pelo fato de que compreende ainda determinar por, pelo menos um dispositivo de computação, se a quantidade de instâncias de máquina virtual satisfaz um limiar para a liberação do primeiro subconjunto da alocação de endereço de rede.
12. Método, de acordo com a reivindicação 9, caracterizado pelo fato de que compreende ainda a reconfiguração automática, por pelo menos um dispositivo de computação, de um da pluralidade de dispositivos de computação na subdivisão para usar um primeiro endereço de rede no primeiro subconjunto da alocação de endereço de rede em vez de um segundo endereço de rede no segundo subconjunto da alocação de endereço de rede antes de reconfigurar automaticamente o roteador.
13. Método, de acordo com a reivindicação 9, caracterizado pelo fato de que compreende ainda: obter, no pelo menos um dispositivo de computação, dados indicando uma reconfiguração subsequente de, pelo menos, um da pluralidade de dispositivos de computação incluído na subdivisão; atribuir, no pelo menos um dispositivo de computação, outro endereço de rede para a alocação à subdivisão baseado, pelo menos em parte, na reconfiguração subsequente do pelo menos um da pluralidade de dispositivos de computação; e reconfigurar automaticamente, no pelo menos um dispositivo de computação, o roteador para a subdivisão para alertar a outra alocação de endereço de rede para além do segundo subconjunto da alocação de endereço de rede.
BR112015006005-6A 2012-09-18 2013-09-13 Sistema e método para alocar dinamicamente um endereço de rede BR112015006005B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/621,891 US9055112B2 (en) 2012-09-18 2012-09-18 Dynamically allocating network addresses
US13/621,891 2012-09-18
PCT/US2013/059631 WO2014046975A2 (en) 2012-09-18 2013-09-13 Dynamically allocating network addresses

Publications (2)

Publication Number Publication Date
BR112015006005A2 BR112015006005A2 (pt) 2017-07-04
BR112015006005B1 true BR112015006005B1 (pt) 2023-01-17

Family

ID=50275645

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112015006005-6A BR112015006005B1 (pt) 2012-09-18 2013-09-13 Sistema e método para alocar dinamicamente um endereço de rede

Country Status (11)

Country Link
US (2) US9055112B2 (pt)
EP (1) EP2898423B1 (pt)
JP (1) JP5989907B2 (pt)
CN (1) CN104769573B (pt)
AU (1) AU2013318330B2 (pt)
BR (1) BR112015006005B1 (pt)
CA (1) CA2881149C (pt)
IN (1) IN2015DN00539A (pt)
RU (1) RU2606557C9 (pt)
SG (1) SG11201502056RA (pt)
WO (1) WO2014046975A2 (pt)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104661250B (zh) * 2015-02-03 2018-03-20 河海大学 风电机组无线传感器状态监控系统的路由替代自愈方法
CN105120013B (zh) * 2015-08-28 2019-08-13 西安理邦科学仪器有限公司 探头、中央站的网络地址的分配方法及系统
CN105306617B (zh) * 2015-09-22 2019-07-09 广州昂宝电子有限公司 用于分配网络地址的方法和网络设备
US10142284B2 (en) * 2015-09-30 2018-11-27 Vmware, Inc. Faster IP address allocation in a hybrid cloud environment using subnet selective randomization
FI3860050T3 (fi) * 2016-02-18 2023-08-02 Fusionlayer Oy Verkkojen aktivointi/deaktivointi ohjelmiston määrittelemissä tietojenkäsittely-ympäristöissä
CN107707380B (zh) * 2017-07-31 2018-10-23 贵州白山云科技有限公司 一种监控告警方法和装置
US10534351B1 (en) * 2018-10-08 2020-01-14 Quest Automated Services, LLC Automation system network
CN110290228B (zh) * 2019-06-03 2022-03-11 网宿科技股份有限公司 一种互联网协议ip地址分配方法及装置
US11509626B2 (en) * 2020-01-29 2022-11-22 Jpmorgan Chase Bank, N.A. System and method for network IP address capacity analytics and management
US11436092B2 (en) * 2020-04-20 2022-09-06 Hewlett Packard Enterprise Development Lp Backup objects for fully provisioned volumes with thin lists of chunk signatures

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835723A (en) 1995-12-28 1998-11-10 Intel Corporation Dynamic assignment of multicast addresses
JPH10308763A (ja) * 1997-05-09 1998-11-17 Toshiba Corp 通信システム
US7299294B1 (en) * 1999-11-10 2007-11-20 Emc Corporation Distributed traffic controller for network data
US7079511B2 (en) * 2000-12-06 2006-07-18 Qualcomm, Incorporated Method and apparatus for handoff of a wireless packet data services connection
US8359377B2 (en) 2001-04-30 2013-01-22 Hewlett-Packard Development Company, L.P. Interface for automated deployment and management of network devices
US7197549B1 (en) 2001-06-04 2007-03-27 Cisco Technology, Inc. On-demand address pools
US7788345B1 (en) * 2001-06-04 2010-08-31 Cisco Technology, Inc. Resource allocation and reclamation for on-demand address pools
CN1695113A (zh) * 2002-11-12 2005-11-09 泽特拉公司 具有改进的通信的电气设备
US7383340B2 (en) 2003-06-30 2008-06-03 Intel Corporation System and method for programmatically changing the network location of a network component
DE10330471A1 (de) * 2003-07-05 2005-02-03 Alstom Technology Ltd Vorrichtung zum Abscheiden von Fremdpartikeln aus der den Laufschaufeln einer Turbine zuführbaren Kühlluft
US20050027778A1 (en) * 2003-07-29 2005-02-03 Arthur Dimitrelis Automatic configuration of an address allocation mechanism in a computer network
US7624445B2 (en) 2004-06-15 2009-11-24 International Business Machines Corporation System for dynamic network reconfiguration and quarantine in response to threat conditions
US7940694B2 (en) * 2005-11-14 2011-05-10 Juniper Networks, Inc. Intelligent filtering of redundant data streams within computer networks
US7929552B2 (en) 2006-10-26 2011-04-19 At&T Intellectual Property I, L.P. Automated IP pool management
US8972547B2 (en) * 2007-10-18 2015-03-03 International Business Machines Corporation Method and apparatus for dynamically configuring virtual internet protocol addresses
WO2010041996A1 (en) * 2008-10-09 2010-04-15 Telefonaktiebolaget L M Ericsson (Publ) A virtualization platform
US7921197B2 (en) * 2008-11-19 2011-04-05 Vmware, Inc. Dynamic configuration of virtual machines
CN101409689B (zh) * 2008-11-25 2011-05-11 清华大学 互联网地址交换方法
CA2755005A1 (en) * 2009-02-14 2010-08-19 Bvisual S.A. Method and system for videoconferencing or data transfer between clients behind different network address translators
US8838473B2 (en) * 2009-02-25 2014-09-16 Microsoft Corporation Services advertisement in a wireless mesh
DE112010003675T5 (de) * 2009-09-17 2013-01-10 International Business Machines Corp. Adress-Server
CN102143239B (zh) * 2010-02-02 2015-01-28 华为技术有限公司 实现在不同网络间进行通信的方法及装置
US20110239291A1 (en) * 2010-03-26 2011-09-29 Barracuda Networks, Inc. Detecting and Thwarting Browser-Based Network Intrusion Attacks For Intellectual Property Misappropriation System and Method
US8631100B2 (en) * 2010-07-20 2014-01-14 Juniper Networks, Inc. Automatic assignment of hardware addresses within computer networks
US9384030B2 (en) * 2011-08-11 2016-07-05 Ca, Inc. System and method for deploying a dynamic virtual network address translation appliance
JP6218819B2 (ja) * 2012-06-20 2017-10-25 フュージョンレイヤー・オサケユキテュア オーケストレートされたコンピューティング環境における、ipのコミッショニングおよびデコミッショニングのための方法および装置
US9390055B2 (en) * 2012-07-17 2016-07-12 Coho Data, Inc. Systems, methods and devices for integrating end-host and network resources in distributed memory

Also Published As

Publication number Publication date
RU2606557C9 (ru) 2017-02-22
US9055112B2 (en) 2015-06-09
IN2015DN00539A (pt) 2015-06-26
WO2014046975A3 (en) 2014-05-30
JP5989907B2 (ja) 2016-09-07
CN104769573B (zh) 2018-07-27
RU2015114530A (ru) 2016-11-10
US20150271018A1 (en) 2015-09-24
CA2881149A1 (en) 2014-03-27
EP2898423A4 (en) 2016-06-01
JP2015529417A (ja) 2015-10-05
AU2013318330B2 (en) 2016-04-07
EP2898423A2 (en) 2015-07-29
EP2898423B1 (en) 2020-02-26
WO2014046975A2 (en) 2014-03-27
BR112015006005A2 (pt) 2017-07-04
US9705741B2 (en) 2017-07-11
SG11201502056RA (en) 2015-04-29
AU2013318330A1 (en) 2015-02-19
RU2606557C2 (ru) 2017-01-10
US20140082164A1 (en) 2014-03-20
CN104769573A (zh) 2015-07-08
CA2881149C (en) 2017-08-22

Similar Documents

Publication Publication Date Title
BR112015006005B1 (pt) Sistema e método para alocar dinamicamente um endereço de rede
JP5919609B2 (ja) サービスプロバイダネットワークにおけるホストマシンパーティション上のマルチデスクトップに対するマルチテナントアクセス
CN107455000B (zh) 在软件定义的数据中心中供应网络服务
JP6670025B2 (ja) クラウド・ネットワーキングのためのマルチテナント認識型動的ホスト構成プロトコル(dhcp)機構
US10313428B2 (en) Multi-subnet participation for network gateway in a cloud environment
US20190044833A1 (en) Optimizing allocation of on-demand resources using performance zones
CN108924268B (zh) 一种容器云服务系统及pod创建方法、装置
JP2012094119A (ja) 仮想マシン間の通信
ES2607636T3 (es) Método implementado por ordenador y sistema para proporcionar un servicio de conexión en red y un producto de programa de ordenador adaptado para realizar el método
CN106254154B (zh) 一种资源共享方法和装置
US11909719B1 (en) Managing the allocations and assignments of internet protocol (IP) addresses for computing resource networks
CN117354283A (zh) 一种容器的ip地址分配方法及装置、系统、设备

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 13/09/2013, OBSERVADAS AS CONDICOES LEGAIS