BRPI0711752A2 - distribuiÇço de mÁquina virtual para hospedagem com base em caracterizaÇÕes de carga de trabalho - Google Patents

distribuiÇço de mÁquina virtual para hospedagem com base em caracterizaÇÕes de carga de trabalho Download PDF

Info

Publication number
BRPI0711752A2
BRPI0711752A2 BRPI0711752-3A BRPI0711752A BRPI0711752A2 BR PI0711752 A2 BRPI0711752 A2 BR PI0711752A2 BR PI0711752 A BRPI0711752 A BR PI0711752A BR PI0711752 A2 BRPI0711752 A2 BR PI0711752A2
Authority
BR
Brazil
Prior art keywords
candidate
host
resource
rating
resources
Prior art date
Application number
BRPI0711752-3A
Other languages
English (en)
Inventor
Brian M Wahlert
Rene Antonio Vega
Robert Gibson
Robert M Fries
William L Scheidel
Pavel A Dournov
John Morgan Oslake
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of BRPI0711752A2 publication Critical patent/BRPI0711752A2/pt
Publication of BRPI0711752A8 publication Critical patent/BRPI0711752A8/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)
  • Hardware Redundancy (AREA)

Abstract

DISTRIBUIÇçO DE MÁQUINA VIRTUAL PARA HOSPEDAGEM COM BASE EM CARACTERIZAÇÕES DE CARGA DE TRABALHO Para determinar se distribuir uma MV candidata para um hospedeiro candidato, levando em consideração recursos disponíveis a partir do hospedeiro candidato e recursos exigidos pela MV candidata, uma sub-classificação é calculada para cada um de vários recursos disponíveis a partir do hospedeiro candidato, onde a sub-classificação para o recurso corresponde a uma quantidade do recurso que está livre depois que a MV candidata é distribuída para o hospedeiro candidato. Portanto, uma classificação é calculada a partir das sub-avaliações calculadas para caracterizar o quão bem o hospedeiro candidato pode acomodar a MV candidata. A classificação para o hospedeiro candidato é apresentada para um seletor que determina se distribuir a MV candidata para o hospedeiro candidato com base na classificação desse.

Description

"DISTRIBUIÇÃO DE MÁQUINA VIRTUAL PARA HOSPEDAGEM COM BASE EM CARACTERIZAÇÕES DE CARGA DE TRABALHO"
Campo da Invenção
A presente invenção refere-se a selecionar um hospedeiro para uma máquina virtu- al com base em uma caracterização da carga de trabalho de cada um de uma pluralidade de hospedeiros bem como uma caracterização da carga de trabalho da máquina virtual. De uma maneira similar, a presente invenção refere-se a determinar se uma máquina física de- veria ou poderia ser virtualizada como uma máquina virtual e distribuída para um hospedei- ro, aqui baseado em uma caracterização da carga de trabalho de um hospedeiro típico bem como uma caracterização da carga de trabalho da máquina física.
Fundamentos da Invenção
Como deveria ser apreciado, uma máquina virtual ('MV') é uma construção de soft- ware ou seu similar operando em um dispositivo de computação ou seu similar (isto é, um 'hospedeiro') para o propósito de emular um sistema de hardware. Tipicamente, embora não necessariamente, a MV é um aplicativo ou seu similar, e pode ser empregada no hospedeiro para instanciar um aplicativo de uso ou seu similar enquanto ao mesmo isola tal aplicativo de uso de tal dispositivo hospedeiro ou de outros aplicativos em tal hospedeiro. Em uma situação típica, o hospedeiro pode acomodar uma pluralidade de MVs distribuídas, cada MV executando algurria função pré-determinada por meio de recursos disponíveis a partir do hospedeiro. Notavelmente, cada MV é para todos os objetivos e propõem uma máquina de computação, embora na forma virtual, e assim representa ela mesma como tal ambos para o aplicativo de uso dessa e para o mundo externo.
Tipicamente, embora não necessariamente, um hospedeiro distribui cada MV desse em uma partição separada. Tal hospedeiro pode incluir uma camada de virtualização com um monitor de MV ou seu similar que age como um aplicativo fiscal ou 'hipervisor', onde a camada de virtualização fiscaliza e/ou de outra forma gerencia aspectos supervisores de cada MV do hospedeiro, e age como uma possível ligação entre cada MV e o mundo exter- no.
Uma marca de uma MV é que a MV como uma construção virtual pode ser parada e re-iniciada quando desejar, e também que a MV mediante ser parada, pode ser armaze- nada e restaurada da maneira de um arquivo ou seu similar. Em particular, a MV como ins- tanciada em um dispositivo de computação particular é uma construção de software singular que pode ser ordenadamente embalada visto que a construção de software inclui todos os dados com relação a tal MV, incluindo dados operacionais e informação de estado com rela- ção à MV. Como um resultado, a MV em um primeiro hospedeiro pode ser movida ou 'mi- grada' para um segundo hospedeiro parando a MV no primeiro hospedeiro, movendo a MV parada para o segundo hospedeiro, e re-iniciando a MV movida no segundo hospedeiro, ou seus similares. Mais geralmente, uma MV pode ser migrada de uma primeira plataforma a juma segunda plataforma de uma maneira similar, onde as plataformas representam diferen- tes hospedeiros, diferentes configurações do mesmo hospedeiro, ou seus similares. No últi- mo caso, e como deveria ser apreciado, um dispositivo de computação pode ter uma confi- guração diferente se, por exemplo, memória adicional é adicionado, um processador é alte- rado, um dispositivo de entrada adicional é fornecido, um dispositivo de seleção é removido, etc.
A virtualização por meio de MVs pode ser empregada para permitir um sistema de computador relativamente poderoso para agir como um hospedeiro para uma coleção de MVs isoladas independentes. Como tal, as MVs em um hospedeiro co-existem na mesma plataforma de hardware e operam como se cada MV tivesse acesso exclusivo aos recursos disponíveis a partir e por meio do hospedeiro. Conseqüentemente, a virtualização permite uso ótimo de cada hospedeiro, e também permite migração das MVs entre um conjunto de hospedeiros / plataformas baseado na demanda, necessidades, exigências, capacidade, disponibilidade, e outras restrições típicas.
A virtualização também permite que um usuário com máquinas físicas, cada uma operando um aplicativo para consolidar tais aplicativos para um conjunto de hospedeiros, desse modo reduzindo as necessidades de hardware totais. Assim, e além de um exemplo, um usuário com múltiplas máquinas físicas, cada uma agindo como um servidor ou seu simi- lar pode achar que cada servidor físico pode ser virtualizado a uma MV, e que múltiplas tais MVs podem residir em um único hospedeiro. Embora amplamente variável, não se sabe com quais MVs um único hospedeiro pode acomodar o equivalente de cinco ou dez ou mais máquinas físicas. Para resumir, então, a virtualização resulta em um usuário sendo capaz de levar vantagem mais completa de hardware existente utilizando tal hardware em uma classificação muito mais alta. De fato, visto que como um usuário típico pode somente utili- zar aproximadamente 15 por cento de recursos de hardware disponíveis em média quando distribuindo servidores físicos, a virtualização pode ser empregada para fornecer aumentos de três, quatro, e talvez até cinco e seis vezes em tal utilização, permitindo, é claro, reservar capacidade e sobrecarga associada com MVs acomodados.
Mais especificamente, um usuário típico tem muitas máquinas servidoras e seus similares que executam cargas de trabalho variadas que não utilizam completamente o hardware subjacente. Além disso, algum do hardware está se aproximando do fim da vida e pode ser difícil justificar a atualização do hardware para um sistema mais rápido mais mo- derno quando o hardware existente não é completamente utilizado. O usuário assim se be- neficiaria de empregar virtualização para habilitar uma solução que consolida as máquinas servidoras e seus similares como MVs a um conjunto de hospedeiros. Entretanto, e signifi- cativamente, tal usuário exige uma ferramenta de gerenciamento que pode guiar tal usuário em selecionar quais máquinas servidoras e seus similares virtualizar, e também em selecio- nar qual hospedeiro é para acomodar cada MV.
Em outras palavras, o usuário exige uma ferramenta de gerenciamento que pode guiar tal usuário em localizar as máquinas servidoras ou seus similares como MVs no con- junto de hospedeiros. Geralmente, a distribuição lida com combinar eficientemente uma car- ga de trabalho com um conjunto de recursos físicos compatíveis para servir a carga de tra- balho. Se a distribuição é ineficaz ou permite combinações incompatíveis de recursos para exigências, o objetivo de otimizar o uso de hardware se torna difícil se não impossível alcan- çar. Assim, a presente invenção facilita distribuição eficiente compatível e leva em conta exigências de recurso incluindo comunicação em rede, armazenamento, licenciamento, po- tência de computador, memória, e seus similares.
Sumário da Invenção
Na presente invenção, um sistema e método são fornecidos com relação a uma máquina virtual candidata (MV) e um dispositivo de computação hospedeiro candidato (hos- pedeiro) mediante o qual a MV candidata é potencialmente para ser distribuída. Tal sistema e método são para auxiliar em determinar se distribuir a MV candidata ao hospedeiro candi- dato, levando em conta recursos disponíveis a partir do hospedeiro candidato e recursos exigidos pela MV candidata.
Uma sub-classificação é calculada para cada um dos vários recursos disponíveis a partir do hospedeiro candidato, onde a sub-classificação para o recurso corresponde a uma quantidade do recurso que é livre depois que a MV candidata é distribuída ao hospedeiro candidato. Então, uma classificação é calculada a partir das sub-avaliações calculadas para caracterizar como o hospedeiro candidato pode bem se acomodar a MV candidata. A classi- ficação para cada hospedeiro candidato é apresentada a um seletor que determinar se dis- tribuir a MV candidata ao hospedeiro candidato baseado na classificação desse. Uma sele- ção do hospedeiro candidato é recebida para distribuição da MV candidata neste, e os re- cursos do hospedeiro selecionado como exigido pela MV candidata são reservados até que a MV candidata é distribuída ao hospedeiro selecionado. Portanto, a MV candidata é distri- buída ao hospedeiro selecionado.
Breve Descrição dos Desenhos
O sumário anterior, bem como a seguinte descrição detalhada das modalidades da presente invenção, será melhor entendido quando lido em conjunto com os desenhos em anexo. Para o propósito de ilustrar a invenção, são mostradas nos desenhos modalidades que são presentemente preferenciais. Como deveria ser entendido, entretanto, a invenção não é limitada aos arranjos precisos e instrumentalidades mostradas. Nos desenhos:
A Fig. 1 é um diagrama de bloco que representa um sistema de computador de propósito geral no qual aspectos da presente invenção e/ou partes dessa podem ser incor- porados;
A Fig. 2 é um diagrama de bloco que mostra um sistema de máquinas físicas ou similares que são ou podem ser virtualizadas como máquinas virtuais (MVs)1 cada uma das quais é distribuída a qualquer potencialmente de um conjunto de hospedeiros 14 em moda- lidades da presente invenção;
A Fig. 3 é um diagrama de bloco que mostra um sistema para avaliar uma ou mais MVs da Fig. 2 a serem distribuídas a um ou mais hospedeiros de acordo com modalidades da presente invenção;
A Fig. 4 é um fluxograma que mostra etapas chave executadas em conjunto com o sistema da Fig. 3 para avaliar uma ou mais MVs a serem distribuídas a um ou mais hospe- deiros de acordo com modalidades da presente invenção;
A Fig. 5 é um diagrama de bloco que mostra uma representação de um recurso de um hospedeiro da Fig. 2 como empregado por uma MV1 e em particular como uma sub- classificação da Fig. 4 corresponde à utilização percentual do recurso restante livre depois que uma MV 12 é distribuída ao hospedeiro; e
A Fig. 6 é um fluxograma que mostra etapas chave executadas em agregar dados de amostra para produzir dados de utilização com relação a um recurso tal como para ser empregado em conjunto com o sistema da Fig. 3 de acordo com as modalidades da presen- te invenção.
Descrição Detalhada da Invenção
Ambiente de Computador
A Fig. 1 e a seguinte discussão pretendem fornecer uma breve descrição geral de um ambiente de computação adequado no qual a presente invenção e/ou partes dessa po- dem ser implementadas. Embora não exigido, a invenção é descrita no contexto geral de instruções executáveis por computador, tal como módulos de programa, sendo executados por um computador, tal como uma estação de trabalho cliente ou um servidor. Geralmente, os módulos de programa incluem rotinas, programas, objetivos, componentes, estruturas de dados e seus similares que executam tarefas particulares ou implementam tipos de dados abstratos particulares. Além disso, dever-se-ia apreciar que a invenção e/ou partes dessa podem ser praticadas com outras configurações de sistema de computador, incluindo dispo- sitivos portáteis, sistemas multiprocessadores, eletrônica programável por consumidor ou baseado em microprocessador, PCs de rede, minicomputadores, computadores de grande porte e seus similares. A invenção pode também ser praticada em ambientes de computa- ção distribuídos onde tarefas são executadas por dispositivos de processamento remoto que são ligados através de uma rede de comunicações. Em um ambiente de computação distri- buído, os módulos de programa podem ser localizados em ambos dispositivos de armaze- namento em memória local e remoto. Como mostrado na Fig. 1, um sistema de computador de propósito geral exemplifi- cado inclui um dispositivo de computação convencional 120 tal como um computador pes- soal, um servidor, ou seus similares, incluindo uma unidade de processamento 121, uma memória de sistema 122, e um barramento de sistema 123 que acopla vários componentes de sistema, incluindo a memória de sistema à unidade de processamento 121. O barramen- to de sistema 123 pode ser qualquer um dos vários tipos de estruturas de barramentos inclu- indo um barramento de memória ou controlador de memória, um barramento periférico, e um barramento local usando qualquer uma de uma variedade de arquiteturas de barramen- to. A memória de sistema inclui memória somente de leitura (ROM) 124 e memória de aces- so aleatório (RAM) 125. Um sistema de entrada/saída básico (BIOS) 126, contendo as roti- nas básicas que ajudam a transferir informação entre elementos no computador 120, tal co- mo durante a inicialização, é armazenado na ROM 124.
O computador pessoal 120 pode adicionalmente incluir uma unidade de disco rígido 127 para ler e escrever em um disco rígido (não mostrado), uma unidade de disco magnéti- co 128 para ler e escrever em um disco magnético removível 129, e uma unidade de disco óptico 130 para ler e escrever em um disco óptico removível 131 tal como um CD-ROM ou outros meios ópticos. A unidade de disco rígido 127, unidade de disco magnético 128, e uni- dade de disco óptico 130 são conectadas ao barramento de sistema 123 por uma interface de unidade de disco rígido 132, uma interface de unidade de disco magnético 133, e uma interface de unidade óptica 134, respectivamente. As unidades e seus meios legíveis por computador fornecem armazenamento não volátil de instruções legíveis por computador, estruturas de dados, módulos de programa e outros dados para o computador pessoal 120.
Embora a modalidade exemplificada descrita aqui empregue um disco rígido, um disco magnético removível 129, e um disco óptico removível 131, dever-se-ia apreciar que outros tipos de meios legíveis por computador que podem armazenar dados que são aces- síveis por um computador podem ser também usados no ambiente operacional exemplifica- do. Tais outros tipos de meios incluem um cassete magnético, uma placa de memória rápi- da, um disco de vídeo digital, um cartucho Bernoulli, uma memória de acesso aleatório (RAM), uma memória somente de leitura (ROM), e seus similares.
Um número de módulos de programa podem ser armazenados no disco rígido, dis- co magnético 129, disco óptico 131, ROM 124 ou RAM 125, incluindo um sistema operacio- nal 135, um ou mais programas de aplicativo 136, outros módulos de programa 137 e dados de programa 138. Um usuário pode inserir comandos e informação no computador pessoal 120 através de dispositivos de entrada tal como um teclado 140 e dispositivo de apontamen- to 142. Outros dispositivos de entrada (não mostrados) podem incluir um microfone, um co- mando de jogos, mesa de jogos, antena de satélite, digitalizador, ou seus similares. Esses e outros dispositivos de entrada são freqüentemente conectados à unidade de processamento 121 através de uma interface de porta serial 146 que está acoplada ao barramento de sis- tema, mas pode estar conectada por outras interfaces, tal como uma porta paralela, porta de jogos ou um barramento serial universal (USB). Um monitor 147 ou outro tipo de dispositivo de exibição está também conectado ao barramento de sistema 123 via uma interface, tal como um adaptador de vídeo 148. Em adição ao monitor 147, um computador pessoal tipi- camente inclui outros dispositivos de saída periféricos (não mostrados), tais como alto- falantes e impressora. O sistema exemplificado da Fig. 1 também inclui um adaptador hos- pedeiro 155, um barramento de Interface de Sistema de Pequenos Computadores (SCSI) 156, e um dispositivo de armazenamento externo 162 conectado ao barramento SCSI 156.
O computador pessoal 120 pode operar em um ambiente de rede usando conexões lógicas a um ou mais computadores remotos, tal como um computador remoto 149. O com- putador remoto 149 pode ser outro computador pessoal, um servidor, um roteador, um PC de rede, um dispositivo autônomo ou outro nó de rede comum, e tipicamente inclui muitos dos elementos descritos acima em relação ao computador pessoal 120, embora somente um dispositivo de armazenamento em memória 150 tenha sido ilustrado na Fig. 1. As cone- xões lógicas representadas na Fig. 1 incluem uma rede de área local (LAN) 151 e uma rede de área ampla (WAN) 152. Tais ambientes de rede são comuns em escritórios, redes de computador de grandes empresas, intranets, e a Internet.
Quando usado em um ambiente de rede LAN, o computador pessoal 120 é conec- tado à LAN 151 através de uma interface de rede ou adaptador 153. Quando usado em um ambiente de rede WAN1 o computador pessoal 120 tipicamente inclui um modem 154 ou outro dispositivo para estabelecer comunicações pela rede de área ampla 152, tal como a Internet. O modem 154, que pode ser interno ou externo, é conectado ao barramento de sistema 123 via a interface de porta serial 146. Em um ambiente de rede, os módulos de programa representados em relação ao computador pessoal 120, ou partes desses, podem ser armazenados no dispositivo de armazenamento em memória remoto. Será apreciado que as conexões de rede mostradas são exemplificadas e outros meios de estabelecer uma ligação de comunicações entre os computadores podem ser usados.
Hospedeiros e Máquinas Virtuais
Voltando agora para a Fig. 2, vê-se que a presente invenção pode ter aplicabilidade particular no contexto de máquinas físicas 10 ou seus similares que são ou podem ser virtu- alizadas como máquinas virtuais (MVs) 12, cada uma das quais é para ser distribuída para potencialmente qualquer um de um conjunto de hospedeiros 14 de uma maneira apropriada. Nota-se aqui que as máquinas físicas 10 ou seus similares, MVs 12 e o hospedeiro 14 po- dem ser quaisquer máquinas servidoras apropriadas ou seus similares, MVs, e hospedeiro sem abandonar o espírito e escopo da presente invenção. Tais máquinas servidoras ou seus similares, MVs1 e hospedeiro são conhecidas ou deveriam estar aparentes ao público relevante e, portanto, não necessitam ser apresentadas em qualquer detalhe além do qual já é fornecido.
Como foi apresentado acima, cada MV 12 é uma construção de software ou seu similar que quando distribuída a um hospedeiro 14 emula a máquina física correspondente 10 ou seu similar. Assim, a MV 12 pode empregar os recursos do hospedeiro 14 para ins- tanciar um servidor ou outro aplicativo de uso ou seu similar enquanto ao mesmo tempo isolando tal aplicativo de uso de tal hospedeiro 14 e outros aplicativos em tal hospedeiro 14. Como mostrado, o hospedeiro 14 pode acomodar uma pluralidade de MVs distribuídas 12, onde cada MV 12 independentemente executa alguma função pré-determinada. Por exem- plo, pelo menos algumas das MVs 12 distribuídas ao hospedeiro 14 podem agir como servi- dores de dados, pelo menos algumas de tais MVs 12 podem agir como servidores de rede com relação à rede 16 acoplada ao hospedeiro 14, pelo menos algumas das MVs 12 podem agir como servidores de correio, e pelo menos algumas de tais MVs 12 podem executar fun- ções de baixo nível incluindo funções de manutenção, coleta de dados, monitoramento de hardware, correção de erro, gerenciamento de arquivo, e seus similares. Notavelmente, ca- da MV 12 é para todas as intenções e propõe uma máquina de computação, embora na forma virtual.
O próprio hospedeiro 14 pode ser um dispositivo de computação apropriado tal co- mo um computador de mesa, um computador laptop, um computador portátil, um assistente de dados, um computador de grande porte, ou qualquer outro tipo de dispositivo de compu- tação com a funcionalidade e a capacidade necessárias para hospedar uma ou mais das MVs 12. Tendo em mente que cada MV pode exigir memória significativa, operações l/O, capacidade de armazenamento, e capacidade de processador a partir do hospedeiro 14, entretanto, e também tendo em mente que o hospedeiro 14 pode ser esperado para acomo- dar 2, 5, 10, 20 ou mais das MVs 12 em uma hora, o hospedeiro 14 igualmente deveria ter significativa potência e recursos para ser capaz, de fato, de acomodar tais MVs 12.
Com relação a cada máquina física 10 ou seu similar, aprecia-se que cada MV 12 corresponde mais tipicamente a tal máquina física 10 tal como um servidor, mas poderia, de fato, corresponder a qualquer tipo de dispositivo de computação físico sem abandonar o espírito e escopo da presente invenção. Assim, em adição ao servidor como a máquina físi- ca 10, cada MV 12 poderia corresponder a qualquer tipo de máquina física tipo aplicativo, incluindo, mas não limitada a qualquer máquina de manutenção, máquina de coleta de da- dos, máquina de monitoramento de hardware, máquina de correção de erro, máquina de gerenciamento de arquivo, e seus similares. Além disso, cada MV 12 poderia também cor- responder a qualquer aplicativo de nível de sub-máquina, incluindo um processador de pala- vra, um analisador de planilha, um aplicativo de correio, um aplicativo de banco de dados, um aplicativo de desenho, um aplicativo de renderização de conteúdo, e seus similares. Classificação de Distribuição de Máquina Virtual
Um usuário ao decidir se virtualizar uma máquina física 10 ou seu similar geralmen- te (1) determina se a máquina física 10 é um candidato aceitável para virtualização, e (2) para um bom candidato, converte a máquina física 10 em uma máquina virtual (MV) 12.
Convertendo a máquina física 10 em uma MV 12 pode ser executado de qualquer maneira apropriada sem abandonar o espírito e escopo da presente invenção. Visto que como con- vertendo a máquina física 10 em uma MV 12 é geralmente conhecido ou deveria ser aparen- te ao público relevante, detalhes para fazer isso não necessitam ser apresentadas aqui em qualquer detalhe exceto que é fornecido.
Em qualquer classificação, uma vez que uma MV 12 correspondente à máquina fí- sica 10 foi produzida, (3) um ou mais hospedeiros candidatos 14 são identificados como hospedeiros 14 nos quais a MV pode ser distribuída de uma maneira eficiente e/ou de outra forma aceitável, e (4) tal MV 12 pode então ser distribuída a um selecionado dos hospedei- ros candidatos 14. Notavelmente, a presente invenção pode ser empregada para auxiliar em tomar decisões executadas nas etapas (1) e (3). Ou seja, a presente invenção fornece um sistema pelo qual se pode determinar se uma máquina física 10 deveria ou poderia ser vir- tualizada como uma MV 12 e distribuída a um hospedeiro 14, baseado em uma caracteriza- ção da carga de trabalho de um hospedeiro típico 14 bem como uma caracterização da car- ga de trabalho da máquina física 10. Em adição, a mesma ferramenta pode ser empregada para determinar se um ou mais hospedeiros candidatos 14 são aceitáveis para uma MV 12, novamente com base em uma caracterização da carga de trabalho de cada hospedeiro can- didato 14 bem como uma caracterização da MV 12.
Voltando agora para a Fig. 3, um sistema para executar a presente invenção é mos- trado. Em tal sistema, e como visto, um avaliador 18 recebe dados relacionados a um mode- lo de uma MV candidata 12 e pelo menos um hospedeiro candidato 14 para determinar se cada hospedeiro candidato 14 tem a capacidade de acomodar a MV candidata 12 à medida que distribuída neste. Nota-se aqui que no contexto de determinar se uma máquina física 10 deveria ou poderia ser virtualizada como uma MV 12 e distribuída a um hospedeiro 14, a MV candidata 12 é uma caracterização da máquina física 10 à medida que virtualizada, enquan- to um único hospedeiro candidato 14 é um hospedeiro composto 14 que significa caracteri- zar um hospedeiro 14 mediante o qual a MV 12 seria distribuída. Nota-se que tal hospedeiro caracterizado 14 pode ser um hospedeiro médio, um hospedeiro melhor disponível, um hos- pedeiro acima da média, ou seus similares à medida que as circunstâncias ditam. No con- texto de determinar se um ou mais hospedeiros candidatos 14 são aceitáveis para uma MV 12, a MV candidata 12 é uma MV 12 que é para ser distribuída a qualquer de uma pluralida- de de hospedeiros candidatos 14.
Em qualquer caso, o avaliador 18 recebe para a MV candidata 12 dados de modelo incluindo uma configuração de processador de referência para a MV candidata 12, e uma caracterização de carga de trabalho determinada para a MV candidata 12. Tal configuração de processador de referência pode, por exemplo, ser aquela que a MV candidata 12 tem um processador particular operando em uma velocidade particular com recursos particulares disponíveis. A MV candidata 12 tipicamente tem dados modelos associados que especificam a capacidade exigida para executar a carga de trabalho de tal MV 12 no contexto da confi- guração de processador de referência, e, por exemplo, pode especificar a utilização de pro- cessador que a MV 12 incorreria em um processador de referência específico.
Tal caracterização de carga de trabalho pode ser baseada em vários fatores, e co- mo tal, pode incluir uma caracterização de carga de trabalho com relação à utilização de diferentes recursos da MV candidata 12, tal como o processador (porcentagem utilizada, por exemplo), a memória (quantidade disponível, leituras e escritas por unidade de tempo, etc.), a capacidade de armazenamento (quantidade disponível, leituras e escritas por unidade de tempo, etc.), a rede 16 (quantidade disponível, leituras e escritas por unidade de tempo, etc.), e seus similares. É claro, tal caracterização de carga de trabalho pode ser baseada em outros fatores sem abandonar o espírito e escopo da presente invenção, incluindo fatores de não utilização tal como versões de software, hardware incluído e seus similares.
Também, a caracterização de carga de trabalho pode ser especificada em diferen- tes termos sem abandonar o espírito e escopo da presente invenção. Desse modo, nota-se que a carga de trabalho pode ser especificada em diferentes unidades para diferentes re- cursos. Por exemplo, a carga do processador pode ser especificada como uma porcenta- gem de utilização enquanto a carga de rede pode ser especificada em termos de tráfego de rede em bytes/seg. Nota-se também que a carga de armazenamento pode incluir uma espe- cificação de rendimento de armazenamento incluindo um número de bytes e operações l/O que são executadas pela MV 12 por unidade de tempo. Nota-se também que a carga de rede pode não ser necessariamente especificada como largura de banda porque o tráfego de rede pode não depender da mesma. Nota-se finalmente que a carga de trabalho pode ser especificada em termos de recursos físicos. Em qualquer classificação, entretanto a car- ga de trabalho é caracterizada, o avaliador 18 apropriadamente converte tal carga de traba- Iho caracterizada em uma forma amenizável nos cálculos apresentados abaixo. Tais con- versões são conhecidas ou deveriam estar aparentes ao publico relevante e, portanto, não necessitam ser apresentadas aqui em qualquer detalhe além do que é fornecido.
Como pode ser apreciado, a configuração de processador e a caracterização de carga de trabalho com relação à MV candidata 12 são, de fato, uma configuração e caracte- rização virtual, visto que a MV candidata 12 é um dispositivo virtual. No entanto, tal configu- ração virtual e caracterização de carga de trabalho são aplicáveis a determinar os recursos exigidos a partir de cada hospedeiro candidato 14, pelo menos com relação aos fatores da caracterização de carga de trabalho. Geralmente, na presente invenção, o avaliador 18 toma como entrada uma representação de uma carga de trabalho, seja ela uma MV candidata 12 ou uma máquina física candidata 10. Em qualquer caso, a carga de trabalho é descrita ao avaliador 18 de acordo com os dados obtidos por um coletor de dados 20, uma interface de dados 22, ou seus similares como é visto na Fig. 3. Nota-se com relação à Fig. 3 que tais dados não necessitam ser necessariamente derivados de uma MV candidata 12 derivada de uma máquina física candidata 10, mas poderia ao invés ser derivada diretamente da máqui- na física candidata 10.
De uma maneira similar, o avaliador 18 também recebe para cada hospedeiro can- didato 14, dados modelos incluindo uma configuração de processador real para o hospedei- ro candidato 14, e uma caracterização de carga de trabalho real para cada hospedeiro can- didato 14. Similar a antes, tal configuração de processador real pode, por exemplo, ser a- quela em que o hospedeiro candidato 14 tem um processador particular operando em uma velocidade particular com recursos particulares disponíveis antes da distribuição da MV candidata 12 a tal hospedeiro candidato 14. Aqui, a caracterização de carga de trabalho real é baseada nos mesmos fatores da caracterização de carga de trabalho da MV candidata 12, e como tal pode incluir uma caracterização de carga de trabalho real com relação à utiliza- ção de diferentes recursos do hospedeiro candidato 14, tal como o processador, a memória, a capacidade de armazenamento, a rede 16, e seus similares. Como pode ser apreciado, tal coletor de dados históricos 20 pode operar de qualquer maneira apropriada sem abandonar o espírito e escopo da presente invenção. Um método para coletar tais dados é apresentado abaixo. Tal coletor de dados históricos 20 é conhecido ou deveria estar aparente ao público relevante e, portanto, não necessita ser apresentado aqui em qualquer detalhe particular.
Nota-se também com relação a cada hospedeiro candidato 14 que pelo menos al- guns dos dados reais para os fatores da caracterização de carga de trabalho podem ser obtidos como dados atuais a partir do hospedeiro candidato 14 a título de uma interface de dados 22 ou seu similar como o hospedeiro candidato 14 está operando. Como pode ser apreciado, tal interface de dados 22 pode operar de qualquer maneira apropriada sem a- bandonar o espírito e escopo da presente invenção. Tal interface 22 é conhecida ou deveria estar aparente ao público relevante e, portanto, não necessita ser apresentado aqui em qualquer detalhe particular. Nota-se também que em pelo menos algumas circunstâncias, uma interface de dados similar 22 pode ser empregada para obter pelo menos alguns dados atuais com relação à MV candidata 12. Por exemplo, tal interface 22 pode coletar tais dados atuais a partir da máquina física 10 correspondente à MV candidata 12, ou a partir da MV candidata 12 se em operação já em algum hospedeiro 14.
Principalmente, e em uma modalidade da presente invenção, o avaliador 18 opera para emitir uma classificação com relação a cada hospedeiro candidato 14 que caracteriza se a MV candidata 12 pode ser distribuída a tal hospedeiro candidato 14 e se então quão bem o hospedeiro candidato 14 pode acomodar a MV candidata 12. Geralmente, tal classifi- cação reflete baseado nas configurações e caracterizações de carga de trabalho se o hos- pedeiro candidato 14 tem a capacidade de acomodar a MV candidata 12 como distribuída neste, e se então quanta capacidade em termos relativos. Por exemplo, a classificação pode ser emitida como um número de 0-5, com 0 significando nenhuma capacidade, 5 significan- do capacidade máxima, e valores intermediários significando quantidades relativas de capa- cidade.
Em uma modalidade da presente invenção, o avaliador 18 opera com base em exi- gências rígidas e exigências suaves. Uma rígida exigência seria definida como uma exigên- cia que deve ser alcançada para a MV candidata 12 a ser distribuída a um hospedeiro can- didato 14. Por exemplo, se a MV candidata 12 exige 2 gigabytes de espaço de armazena- mento no hospedeiro candidato 14 e este somente tem 1 gigabyte disponível, a MV candida- ta 12 não deveria ser distribuída a tal hospedeiro candidato 14. Geralmente, as exigências rígidas são avaliadas com base em dados reais obtidos pela interface de dados 22 a partir de cada hospedeiro candidato 14. Exemplos de tais exigências rígidas geralmente seguem capacidade relacionada aos fatores de carga de trabalho apresentados acima, e assim po- dem incluir, mas não estão limitados a:
- capacidade de processador - o hospedeiro candidato 14 deve ter suficiente por- centagem de disponibilidade de processador para satisfazer as exigências da MV candidata 12, e em adição a MV candidata de múltiplos processadores 12 pode somente executar em um hospedeiro candidato 14 executando uma versão apropriada de software de virtualiza- Ção;
- capacidade de armazenamento - o hospedeiro candidato 14 deve ter suficiente espaço de armazenamento livre e recursos de armazenamento relacionados para armaze- nar e servir a MV candidata 12;
- capacidade de memória - o hospedeiro candidate 14 deve ter suficiente memória para permitir que a MV candidata 12 execute como distribuído; e
- capacidade de rede - o hospedeiro candidato 14 deve ter suficiente largura de banda de rede disponível para acessar a rede 16 como exigido pela MV candidata 12.
Nota-se que nem todas acima podem de fato ser exigências rígidas em todas as circunstâncias. Por exemplo, a capacidade de processador não necessita ser uma exigência rígida se o desempenho degradado de ausência de capacidade suficiente é considerado aceitável. Por exemplo, a capacidade de rede igualmente não necessita ser uma exigência rígida se o desempenho degradado de ausência de capacidade suficiente é considerado aceitável.
Uma exigência suave seria definida como uma exigência que deveria ser alcançada para alcançar um nível bom ou aceitável de desempenho da VM candidata 12 como distribu- ído a qualquer hospedeiro candidato particular 14. Ou seja, uma exigência suave deveria ser alcançada, mas se não a MV candidata 12 como distribuída ainda operará, apesar de com um nível degradado de serviço.
Antes de produzir a classificação mencionada acima para cada hospedeiro candida- to 14 com relação à MV candidata 12, e voltando agora para a Fig. 4, o avaliador em uma modalidade da presente invenção executa funções incluindo:
- re-escalonar a utilização de processador da MV candidata 12 para a utilização de processador equivalente do processador do hospedeiro candidato 14 (etapa 401). Por e- xemplo, se a MV candidata 12 exige 20% do processador dessa, mas o processador do hospedeiro candidato 14 é mais rápido, pode ser o caso que a MV candidata 12 exigiria, ao invés, somente 8% de tal processador de tal hospedeiro candidato 14. Como dever-se-ia apreciar, então, o re-escalonamento é necessário comparar em unidades equivalentes a utilização do processador exigida pela MV candidata 12 com a utilização de processador disponível a partir do hospedeiro candidato 14. Como pode ser apreciado, tal re- escalonamento pode ser executado pelo avaliador 18 de qualquer maneira apropriada sem abandonar o espírito e escopo da presente invenção. Por exemplo, referência pode ser feita às classificações equivalentes do processador da MV candidata 12 e o processador do hos- pedeiro candidato 14. A classificação de desempenho de um processador pode não ser par- te de dados de modelo recebidos pelo avaliador 18 a partir do coletor de dados 20. Ao invés, o avaliador 18 pode manter uma biblioteca de configurações de processador que incluem classificações de desempenho. Se a biblioteca não contém o processador sob classificação, então a classificação para tal processador pode ser aproximada usando um algoritmo que considera as classificações de configurações de processador similares na biblioteca.
- explicar sobrecarga de virtualização (etapa 403). Em particular, quando uma má- quina física 10 é virtualizada para uma MV 12, aprecia-se que um hospedeiro 14 acomo- dando a MV 12 deve ter capacidade não somente para a MV 12, mas para o trabalho extra ou 'sobrecarga' associada com a virtualização de tal MV 12. Tal sobrecarga é encarregada em qualquer MV 12 e resulta da emulação do dispositivo, partição de recurso, e outros re- cursos que devem ser gastos para efetuar a virtualização da MV 12. Como se pode apreciar, a quantidade de sobrecarga varia dependendo do tipo de carga de trabalho que pode estar associada com a MV candidata 12. Por exemplo, se a MV candidata 12 exige acesso à rede 16, a sobrecarga deve ser gasta para traduzir solicitações de rede virtual em solicitações reais. Similarmente, se a MV candidata 12 exige acesso a armazenamento, a sobrecarga deve ser gasta para traduzir solicitações em disco a solicitações reais. Em qualquer classifi- cação, a sobrecarga pode ser caracterizada pelo avaliador 18 baseado em fatores apropria- dos, tal como o tipo de trabalho que a MV candidata 12 executa, o número de solicitações em disco esperadas, o número de solicitações em rede esperadas, o número de solicitações de rede esperadas, o número de solicitações gráficas esperadas, o número de acessos à memória, o número de exceções de processador, o número de processos executando, e seus similares. Como se pode apreciar, então, explicar que a sobrecarga pode ser executa- da pelo avaliador 18 de qualquer maneira apropriada sem abandonar o espírito e escopo da presente invenção.
- simular a execução da MV candidata 12 no hospedeiro candidato 14 depois de escalonar e explicar sobrecarga (etapa 405). Em particular, o avaliador 18 localiza uma MV 'fictícia' 12 no hospedeiro candidato 14 com parâmetros de utilização que pelo menos cor- respondem aproximadamente à MV candidata 12 como distribuído e operando no hospedei- ro candidato 14 para determinar se o hospedeiro candidato 14 acomoda aceitavelmente tal VM fictícia 12. Tal simulação com tal MV fictícia 12 é executada em uma tentativa para con- firmar que o hospedeiro candidato 14 pode ao invés acomodar a MV candidata 12, pelo me- nos como representado pela MV fictícia 12. Em essência, localizando a MV fictícia 12 no hospedeiro candidato 14 combina as exigências de recurso da MV candidata 12 por meio da MV fictícia 12 com a utilização de recurso atual no hospedeiro candidato 14 para resultar na utilização de recurso que resultaria a partir da localização da MV candidata 12 no hospedei- ro candidato 14.
Nota-se que a MV fictícia 12 à medida que localizada no hospedeiro candidato 14 pode realmente ser distribuída ou pode alternativamente ser conceitualmente distribuída. Particularmente com relação ao último caso, realmente localizando / distribuindo uma MV fictícia 12 pode não ser aceitável, visto que como tal MV fictícia 12 empregaria recursos re- ais no hospedeiro candidato 14, e como tal poderia possivelmente afetar outras MVs 12 ou seus similares em tal hospedeiro candidato 14 que estão executando trabalho real. Ao invés, a distribuição conceituai por meio de computação por ser executada, e fazendo isso as exi- gências de desempenho da MV candidata 12 e as características de desempenho do hos- pedeiro candidato 14 seriam combinadas para projetar a utilização do hospedeiro candidato 14 com tal MV candidata 12 distribuída a esse.
Com relação à sobrecarga de virtualização mencionada acima, é adicionalmente notado que desde que tal sobrecarga é assim variável e depende do tipo de carga de traba- lho da MV candidata 12, um conjunto fixo de cargas de trabalho de referência pode ser defi- nido em uma modalidade da presente invenção, um para cada tipo de carga de trabalho. Tais tipos de cargas de trabalho e referências correspondentes podem incluir, mas não es- tão limitadas a: servidor de banco de dados, servidor de rede, e servidor terminal. Cada tipo de carga de trabalho tem uma caracterização específica que permite estimar processador, memória, armazenamento, e sobrecarga de rede e seus similares associados com o tipo de carga de trabalho. Em geral, cargas de trabalho de armazenamento mais intensivas de rede incorrem em mais sobrecarga de processador devido ao custo de virtualizar tais recursos.
Nota-se que a estimativa de sobrecarga de virtualização pode ser adicionalmente refinada. Em particular, o custo de processador pode estar associado com um único byte de rede e I/O de disco transferido entre a MV candidata 12 e o hospedeiro candidato 14. Se os dados de modelo recebidos a partir do coletor de dados 20 incluem carga de trabalho de I/O rede e de disco, então o avaliador 18 pode aplicar o custo de processador para um único byte a tais dados de carga de trabalho para obter a sobrecarga de processador total. Em casos onde o custo do processador é obtido a partir de um processador que é diferente do processador sob classificação; o custo pode ser re-escalonado de modo similar ao descrito na etapa 401. Tal re-escalonamento reduz o esforço exigido para modelar a sobrecarga de virtualização através de uma variedade de configurações de processador.
A saída do avaliador 18 para cada hospedeiro candidato 14 como foi apresentado acima é uma classificação que caracteriza quão bem o hospedeiro candidato 14 pode aco- modar a MV candidata 12, levando em consideração os recursos exigidos pela MV candida- ta 12 e a sobrecarga exigida para virtualizar a MV candidata 12 no hospedeiro candidato 14. Em uma modalidade da presente invenção, tal classificação é calculada pelo avaliador 18 da seguinte maneira.
Primeiro, se qualquer das exigências rígidas mencionadas acima não é alcançada tal que o hospedeiro candidato 14 não tem suficiente de um recurso exigido disponível, a classificação é 0. Além disso, se o uso de qualquer recurso pela MV candidata 12 no hospe- deiro candidato 14 o leva a exceder um limite estabelecido para o uso de tal recurso, a clas- sificação é 0 (etapa 407). Como será apresentado em mais detalhes abaixo, cada recurso no hospedeiro candidato 14 tem um limite de utilização além do qual o uso não é recomen- dado. Assim, tal limite de fato define uma reserva do recurso que está disponível para o hospedeiro candidato 14 manipular mais do que situações de uso esperadas. Se a classifi- cação é estabelecida para 0 porque a MV candidata 12 leva o hospedeiro candidato 14 a violar uma exigência rígida ou um limite, o processo para aqui. De outra forma, o processo continua calculando um valor para a classificação (etapa 409).
Em uma modalidade da presente invenção, uma sub-classificação é calculada para cada um de vários recursos no hospedeiro candidato 14 (etapa 411). Tais recursos podem ser quaisquer recursos sem abandonar o espírito e escopo da presente invenção, tal como, por exemplo, utilização de processador, utilização de memória, utilização de armazenamen- to, utilização de rede, e seus similares.
A sub-classificação para cada recurso é calculada com base em um limite estabele- cido para o recurso, uma utilização percentual calculada para o recurso com base nos dados reunidos, e um peso atribuído ao recurso, como segue:
Sub-classificação = (Limite - Utilização Percentual) χ Peso O limite e peso podem ser selecionados por um administrador ou seu similar com base em quaisquer fatores apropriados sem abandonar o espírito e escopo da presente in- venção. O limite, que é o limite apresentado acima, pode ser expresso como uma porcenta- gem e corresponde à reserva mencionada acima definida para o recurso. Tal reserva pode ser às vezes arbitrariamente definida, mas em geral deveria ser estabelecida para fornecer um reforço razoável de capacidade extra sob as circunstâncias. Como um exemplo, se o recurso é armazenamento no hospedeiro candidato 14, a reserva pode ser definida como 20 por cento da capacidade de armazenamento no hospedeiro candidato 14, caso no qual o limite é 80 por cento. Similarmente, uma reserva de 15 por cento estabeleceria o limite como 85 por cento, por exemplo. O peso age para dar mais ênfase ou menos ênfase ao recurso como comparado a outros recursos quando computando a classificação geral. Assim, se todos os recursos são considerados como sendo de igual importância, tais recursos podem ser todos dados um peso regular, por exemplo, 5. Correspondentemente, se um recurso é considerado como sendo duas vezes tão importante quando outro, ao recurso pode ser da- do um peso duas vezes do outro, por exemplo, 6 e 3, respectivamente.
Criticamente, a utilização percentual para o recurso é calculada com base nos da- dos correspondentes coletados pelo coletor de dados 20 e/ou pela interface de dados 22, como o caso pode ser, e depois que tais dados podem ter sido escalonados e/ou ajustados para sobrecarga como nas etapas 401 e 403, novamente como o caso pode ser. Calcular tal utilização percentual como executado pelo avaliador 18 pode ser executado de qualquer maneira apropriada sem abandonar o espírito e escopo da presente invenção. Geralmente, a utilização percentual como calculada para qualquer recurso particular do hospedeiro can- didato 14 representa quanto do recurso como uma porcentagem é utilizado pelo hospedeiro candidato 14 enquanto a MV candidata 12 é distribuída neste, e enquanto o hospedeiro candidato 14 está executando todas as outras funções que foram executadas antes da MV candidata 12 ser distribuída. Assim, e como um exemplo, se o hospedeiro candidato 14 an- tes da MV candidata 12 estava utilizando 20 por cento da capacidade de rede disponível, e se o hospedeiro candidato 14 depois da distribuição da MV candidata 12 é projetado para utilizar 45 por cento de tal capacidade de rede disponível (isto é, um atributo de 25 por cento adicional à MV candidata 12), então a utilização percentual de recursos de rede para o hos- pedeiro candidato 14 é o valor de 45 por cento.
Graficamente, a utilização percentual é representada na Fig. 5. Em particular, e como mostrado, para algum recurso particular, o hospedeiro candidato antes da MV candi- data 12 ser distribuída neste tem uma utilização de hospedeiro pré-existente que é mostrada como sendo 25 por cento, que representa outras MVs 12 já distribuídas a tal hospedeiro candidato 14 bem como outras operações de hospedeiro. Depois de distribuir a MV candida- ta 12, e como mostrado, uma utilização adicional pela MV candidata 12 foi determinada co- mo sendo 40 por cento, resultando em uma utilização percentual total de 65 por cento. Para tal recurso, uma reserva de 20 por cento foi estabelecida, como mostrado, com o resultado sendo que o limite é 80 por cento (100 - 20), e que depois de distribuir a MV candidata 12, 15 por cento do recurso permanece livre (80 - 65). Assim, a sub-classificação para tal recur- so seria o limite de 80 por cento menos a utilização total de 65 por cento, que é os 15 por cento restantes livres, multiplicado por peso foi estabelecido para o recurso. Em soma, en- tão, a utilização percentual de qualquer recurso corresponde mais intimamente ao percentu- al do recurso restante livre depois da MV candidata 12 ser distribuída para o hospedeiro candidato 14 tendo tal recurso.
Em qualquer classificação, uma vez que a sub-classificação é calculada para cada recurso considerado do hospedeiro candidato 14, tais sub-classificações são combinadas para resultar na classificação para o hospedeiro candidato 14 (etapa 413) como segue:
Classificação = Soma de Sub-Classificações / Soma de Pesos de Sub- Classificações / Valor de Normalização
Nota-se que um valor adicional tal como 0,5 pode ser adicionado à computação tal que a classificação nunca é menos do que tal valor adicional. Tal classificação pode também ser arredondada para o mais próximo de 0,5, com um resultado sendo um número entre 0 e um valor máximo tal como 5. Como se pode apreciar, o valor de normalização é selecionado para reduzir a faixa da classificação entre o 0 e os valores máximos. Por exemplo, se a So- ma de Sub-Classificações / Soma de Pesos de Sub-Classificações tem um valor máximo e a classificação máxima é 5, o valor de normalização seria 20, que é 100 / 5.
É claro, a classificação para cada hospedeiro candidato 14 e as sub-classificações desse pode também ser calculada de qualquer outra maneira apropriada sem abandonar o espírito e escopo da presente invenção, presumindo, é claro, que a classificação representa uma representação razoável de quão bem o hospedeiro candidato 14 pode acomodar a MV candidata 14 e outras operações já executadas pelo hospedeiro candidato 14. Por exemplo, embora a classificação aqui de fato enfatiza quantos recursos livres o hospedeiro candidato 14 terá depois de distribuir a MV candidata 12 neste, tal classificação pode, ao invés, enfa- tizar quantos dos recursos são usados no hospedeiro candidato 14.
Depois que o avaliador 18 calculou a classificação para cada hospedeiro candidato 14 para a MV candidata 12, o avaliador pode apresentar as classificações a um administra- dor ou seu similar (etapa 415), depois do qual o administrador pode selecionar dentre os hospedeiros candidatos classificados 14 (etapa 417). Nota-se aqui que um administrador igualmente selecionará dentre os hospedeiros candidatos 14 com base em uma das duas estratégias de distribuição - equilíbrio de carga e utilização de recurso. Em equilíbrio de carga, o administrador está tentando distribuir a MV candidata 12 no hospedeiro candidato 14 com a maior parte dos recursos depois de tal distribuição (isto é, recursos livres), tal que por fim, todos os hospedeiros 14 distribuindo MVs 12 façam isso com aproximadamente a mesma carga de uma maneira equilibrada. Em contraste, em utilização de recurso, o admi- nistrador está tentando maximizar o uso de cada hospedeiro 14, e assim desejaria distribuir a MV candidata 12 ao hospedeiro candidato 14 com os mínimos recursos (isto é, recursos livres) depois de tal distribuição.
Assim, o equilíbrio de carga tenta deixar todos os hospedeiros 14 igualmente utili- zados depois da distribuição, enquanto a utilização de recursos tenta usar até todos os re- cursos disponíveis em um hospedeiro 14 antes de mover para o início usando um próximo hospedeiro 14. Como deveria ser apreciado, então, visto que a classificação calculada aci- ma enfatiza recursos livres de um hospedeiro candidato 14, um administrador executando equilíbrio de carga igualmente selecionaria o hospedeiro candidato mais alto classificado 14 para distribuir a MV candidata 12, que por definição teria os recursos mais livres depois de tal distribuição, relativamente falando. Em contraste, um administrador executando utilização de recursos selecionaria igualmente o mais baixo hospedeiro candidato classificado não zero 14 para distribuir a MV candidata 12, que por definição teria os últimos recursos livres depois de tal distribuição, relativamente falando.
Uma vez que um hospedeiro candidato 14 foi selecionado, uma reserva de recursos pode ser feita no hospedeiro selecionado 14, talvez por meio de uma MV de reserva 12 que é criada e distribuída ao hospedeiro selecionado 14 (etapa 419). Como se pode apreciar, a MV de reserva 12 é uma MV de 'programação' 12 sem qualquer funcionalidade ou conteúdo substantivo. Tal MV de reserva 12 descreve a configuração de hardware e exigências de recurso da MV candidata 12, mas omite a memória, os dados, e armazenamento da MV candidata 12. Como se pode apreciar, então, a MVde reserva 12 fornece uma verificação importante que a distribuição da MV candidata 12 é realmente possível, especialmente visto que como certas exigências de distribuição podem ser conhecidas somente pelo software de virtualização subjacente e não ao avaliador 18, e as exigências de distribuição podem ser diferentes entre sistemas de virtualização de diferentes versões, liberações, ou de diferentes fornecedores. Em adição, uma MV típica 12 pode ser relativamente grande, talvez, na or- dem de vários gigabytes ou mais, e copiando tal MV 12 para um hospedeiro 14, particular- mente por uma rede lenta 16, poderia levar horas se não mais. Assim, a MV de reserva 12 é distribuída m muito mais rapidamente e como tal age para reservar recursos de hospedeiro para a MV candidata 12 durante o tempo que a MV candidata 12 está, de fato, sendo de- senvolvida para o hospedeiro selecionado 14 (etapa 421). Nota-se que a reserva de recur- sos como na etapa 419 pode também ser alcançada debitando uso de recurso do hospedei- ro selecionado 14 tal que distribuições adicionais levam em conta que a distribuição da MV candidata 12 usará em termos de recursos.
Enquanto a presente invenção foi até agora apresentada em termos de hospedeiros candidatos individuais 14, tal invenção pode também ser praticada com relação a grupos de hospedeiros ou seus similares de uma maneira similar. Como pode ser apreciado, um grupo de hospedeiros é uma coleção de hospedeiros 14, qualquer um dos quais pode acomodar uma MV candidata particular 12 se, de fato, distribuída a tal grupo de hospedeiros. Nota-se, de qualquer forma, que os recursos para um grupo de hospedeiros pode ser caracterizado de uma maneira levemente diferente, tal como, por exemplo, com base em uma média re- presentativa do grupo de hospedeiros, ou com base em uma representação coletiva do gru- po de hospedeiros, ou com base no hospedeiro fornecido por último 14 do grupo, ou seus similares.
Também, embora a presente invenção assim tenha sido descrita em termos de uma MV candidata 12 a ser distribuída a um hospedeiro 14, tal invenção pode também ser prati- cada com relação a uma MV candidata 12 já distribuída a um hospedeiro 14, mas sendo migrada para um hospedeiro candidato 14. Como pode ser apreciado, em tal caso, o mesmo procedimento de avaliação ocorre, embora alguns dados com relação à MV candidata 12 possam ser obtidos de fontes levemente diferentes, e distribuir a MV candidata 12 é alcan- çado migrando a MV candidata 12 de um hospedeiro 14 para o hospedeiro selecionado 14.
Similarmente, enquanto a presente invenção até aqui foi apresentada em termos de MVs candidatas individuais 12, tal invenção pode ser praticada com relação a uma plurali- dade de MVs candidatas 12 a serem distribuídas a um hospedeiro candidato 14, bem como a um grupo de hospedeiros candidatos. Uma distribuição de muitos para um envolve uma avaliação de utilização hipotética de um hospedeiro candidato 14 com base na adição de muitas MVs 12 ao invés de somente uma. Como deveria ser apreciado, então, recursos para a pluralidade de VMs candidatas 12 são representados coletivamente.
Notavelmente, uma distribuição muitos para muitos é mais complexa. A forma com- putacionalmente menos intensiva de executar distribuição muitos para muitos é simplesmen- te pegar um ordenamento arbitrário de MVs 12 e distribuir com base em tal ordenamento. Entretanto, a distribuição globalmente ótima não é alcançada visto que como um ordena- mento diferente das MVs 12 pode ter resultado em uma distribuição geral melhor. Uma heu- rística pode ser aplicada para melhorar o ordenamento - por exemplo, o ordenamento pode ser baseado na maior MV 12 à menor MV 12 como selecionado com base em uma agrega- ção ponderada de utilização de vários recursos. É claro, a solução completamente ótima seria tentar todos os possíveis ordenamentos de MVs 12, embora tal solução seria prova- velmente proibitivamente computacionalmente dispendiosa bem como amplamente desne- cessária, visto que a heurística mencionada acima provavelmente produz resultados que são aceitáveis.
Como foi apresentado acima, o processo de determinar uma classificação para ca- racterizar distribuição de uma MV candidata 12 a um hospedeiro candidato 14 pode ser em- pregado não somente com relação a uma MV 12 já virtualizada, mas também com relação a uma máquina física 10 que é uma candidata para virtualização. Como tal, uma única MV candidata 12 foi avaliada pelo avaliador 18 contra um ou mais hospedeiros candidatos 14. Nota-se, no entanto, que o avaliador 18 pode também avaliar uma pluralidade de MVs can- didatas 12 contra um hospedeiro candidato particular 14, contra um representativo de hos- pedeiros candidatos disponíveis 14, contra uma pluralidade de hospedeiros candidatos 14, ou seu similar. Nos dois primeiros casos, o avaliador 18 seria de fato empregado para de- terminar qual da pluralidade de MVs candidatas 12 é melhor adequada para ser distribuída a um hospedeiro candidato 14, enquanto no terceiro caso o avaliador 18 seria de fato empre- gado para determinar qual da pluralidade de MVs candidatas 12 é melhor adequada para ser distribuída a qual dos hospedeiros candidatos 14. Particularmente com relação aos pri- meiros dois casos, o avaliador 18 pode assim ser empregado para selecionar dentre uma pluralidade de máquinas físicas candidatas 10 como representado pelas MVs corresponden- tes 12 a serem virtualizadas e distribuídas a um hospedeiro candidato 14.
Dados da MV Candidata 12, Hospedeiro Candidato 14 para o Avaliador 18
Como foi lembrado acima, dependendo de se a MV candidata 12 já foi virtualizada a partir de uma máquina física 10 ou não foi ainda virtualizada, os dados para a MV candida- ta 12 que são apresentados ao avaliador 18 e empregados por ele podem derivar de dife- rentes fontes. Nota-se que uma MV candidata 12 pode ser completamente nova e não ba- seada em qualquer máquina física 10, caso no qual um administrador ou seu similar pode definir dados para tal MV candidata 12, com base em recursos esperados exigidos incluindo processador, memória, rede, e recursos de armazenamento e seus similares. Os ditos da- dos para uma MV candidata 12 á medida que derivados de uma máquina física 10 e dados para um hospedeiro candidato 14 podem ser derivados de informação de configuração e dados de desempenho adquiridos da máquina física 10 e do hospedeiro candidato 14, res- pectivamente, tal como para representar mais precisamente tal MV candidata 12 e hospe- deiro candidato 14 ao avaliador 18.
Com relação a dados de desempenho disponíveis em particular para ou uma MV 12 ou um hospedeiro 14, tais dados podem ser coletados como amostras ou seus similares e agregados de qualquer maneira apropriada por meio do coletor de dados 20 e interface de dados 22 ou seu similar sem abandonar o espírito e escopo, presumindo que tal agregação em particular produz uma representação razoável de utilização. Em particular, e entendendo que a utilização de recurso é geralmente relativamente menor, mas nas horas ocupadas, a utilização média relativamente alta não é uma representação especialmente boa de tal utili- zação. Ao invés, em uma modalidade da presente invenção, a utilização é representada como uma média de utilização relativamente mais alta. Conseqüentemente, agregar dados amostrados para produzir tal utilização média mais alta pode ser executado sobre um núme- ro de níveis de tempo. Em particular, em cada nível, um número de valores mais altos de dados amostrados é ponderado.
Por exemplo, e voltando agora para a Fig. 6, pode ser o caso que dados de utiliza- ção particular são organizados em três níveis, primeiro, segundo, e terceiro respectivamente representando dados de hora em hora, diários, e semanais, onde:
- os dados de hora em hora no primeiro nível são selecionado como sendo amos- tras de hora em hora dos dados de utilização (etapa 601),
- os dados diários no segundo nível são uma agregação dos dados de hora em ho- ra no primeiro nível, especificamente a média das três amostras mais altas de tais dados diários (etapa 605), e
- um valor final dos dados a serem empregados pelo avaliador 18 é uma agregação dos dados semanais no terceiro nível, especificamente a média das três amostras mais altas de tais dados semanais (etapa 607).
É claro, qualquer número de níveis e qualquer outro método de agregação de nível em nível para produzir um valor final podem também ser empregados sem abandonar o es- pírito e escopo da presente invenção.
Conclusão
A programação necessária para efetuar os processos executados em conjunto com a presente invenção é relativamente direta e deveria estar aparente ao público de progra- mação relevante. Conseqüentemente, tal programação não é anexada a esse. Qualquer programação particular, então, pode ser empregada para efetuar a presente invenção sem abandonar o espírito e escopo dessa.
Na descrição anterior, pode-se ver que a presente invenção compreende um siste- ma e um método novos e úteis que permitem que um administrador ou seu similar distribua as máquinas físicas 10 ou seus similares como MVs 12 em hospedeiros 14. Tal sistema e método eficientemente alcançam carga de trabalho para um conjunto de recursos físicos compatíveis para servir a carga de trabalho, assim facilitando distribuição eficiente compatí- vel levando em conta exigências de recurso incluindo comunicação em rede, armazenamen- to, potência de processador, memória, e seus similares. Dever-se-ia entender, portanto, que esta invenção não está limitada às modalidades particulares descritas, mas pretende cobrir modificações no espírito e escopo da presente invenção como definido pelas reivindicações em anexo.

Claims (20)

1. Método com relação a uma máquina virtual candidata (MV) e um dispositivo de computação hospedeiro candidato (hospedeiro) mediante o qual a MV candidata é potenci- almente distribuída, o método para auxiliar a determinar se para distribuir a MV candidata ao hospedeiro candidato levando em consideração os recursos disponíveis do hospedeiro can- didato e os recursos exigidos pela MV candidata, CARACTERIZADO pelo fato de que com- preende: calcular uma sub-classificação para cada um dos vários recursos disponíveis a par- tir do hospedeiro candidato, a sub-classificação para o recurso corresponde a uma quanti- dade do recurso que está livre após a MV candidata ser distribuída ao hospedeiro candidato; calcular uma classificação das sub-classificações para caracterizar quão bem o hospedeiro candidato pode acomodar a MV candidata; apresentar a classificação para o hospedeiro candidato a um seletor, este determi- na se distribuir a MV candidata ao hospedeiro candidato com base na classificação deste; receber a seleção do hospedeiro candidato para distribuição da MV candidata neste; receber os recursos do hospedeiro selecionado à medida que exigido pela MV can- didata até esta ser distribuída ao hospedeiro selecionado; e distribuir a MV candidata ao hospedeiro selecionado.
2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o seletor seleciona o hospedeiro candidato para distribuição da MV candidata neste se o hos- pedeiro candidato tiver uma classificação relativamente alta e o seletor estiver tentando exe- cutar o equilíbrio de carga de múltiplas MVs através de múltiplos hospedeiros, a classifica- ção relativamente alta corresponde ao hospedeiro candidato que tem uma quantidade relati- vãmente alta de recursos que permanecem após a distribuição da MV candidata neste, e onde o seletor seleciona o hospedeiro candidato para distribuição da MV candidata neste se o hospedeiro candidato tem uma classificação relativamente baixa, não nula e o seletor está tentando executar a utilização do recurso de múltiplas MVs no hospedeiro candidato, a clas- sificação relativamente baixa corresponde ao hospedeiro candidato que tem uma quantida- de relativamente baixa de recursos que permanecem após a distribuição da MV candidata neste.
3. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que compreende calcular a sub-classificação para cada recurso com base em um conjunto limite para o recurso, uma utilização calculada para o recurso com base nos dados reunidos, e um peso atribuído ao recurso, como segue: Sub-classificação = (Limite - Utilização) χ Peso onde o limite corresponde a uma reserva definida para o recurso no hospedeiro candidato para fornecer um reforço de capacidade para o recurso, onde o peso correspon- dente a cada recurso fornece uma ênfase relativa para o recurso se comparado a outros recursos, e onde a utilização para o recurso representa o quanto de recurso é utilizado pelo hospedeiro candidato enquanto a MV candidata e quaisquer outras MVs são distribuídas neste.
4. Método, de acordo com a reivindicação 3, CARACTERIZADO pelo fato de que a utilização inclui a utilização de hospedeiro pré-existente antes de distribuir a MV candidata no hospedeiro candidato e a utilização de hospedeiro a partir de uma MV candidata depois de ser distribuída ao hospedeiro candidato, e onde o limite é uma quantidade do recurso além da reserva.
5. Método, de acordo com a reivindicação 3, CARACTERIZADO pelo fato de que compreende calcular a classificação das sub-classificações e respectivos pesos como se- gue: Classificação = Soma das Sub-Classificações / Soma dos Pesos das Sub- Classificações / Valor de Normalização onde o valor de normalização é selecionado para reduzir a faixa de classificação entre 0 e um valor máximo.
6. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que os recursos incluem a utilização do processador, utilização de memória, utilização de arma- zenamento, e utilização de rede.
7. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que os recursos incluem a utilização de processador e adicionalmente compreendem re- escalonar a utilização de processador da MV candidata para uma utilização de processador equivalente do hospedeiro candidato.
8. Método, de acordo com a reivindicação 1, CARACTERIZADO adicionalmente pelo fato de que compreende no mínimo um recurso considerando a sobrecarga de virtuali- zação com relação a tal recurso, a sobrecarga de virtualização representa uma utilização adicional do recurso associado com a virtualização da MV candidata no hospedeiro candida- to.
9. Método, de acordo com a reivindicação 1, CARACTERIZADO adicionalmente pelo fato de que compreende simular a execução da MV candidata no hospedeiro candidato por meio de no mínimo simular a localização de uma MV fictícia no hospedeiro candidato com os parâmetros de utilização que correspondem à MV candidata quando distribuída e operando no hospedeiro candidato para determinar se o hospedeiro candidato aceitavel- mente acomoda tal MV fictícia, desse modo confirmando que o hospedeiro candidato pode sem dúvida acomodar a MV candidata, no mínimo como representado pela MV fictícia.
10. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que compreende configurar a classificação do hospedeiro candidato para zero se com relação a qualquer recurso particular, o hospedeiro candidato não tiver o suficiente do recurso dispo- nível.
11. Método, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que compreende configurar a classificação para o hospedeiro candidato para zero se o uso do recurso particular pela MV candidata no hospedeiro candidato leva o hospedeiro candidato a exceder um conjunto limite para o uso de tal recurso.
12. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que com relação à MV candidata e uma pluralidade de dispositivos de computação hospedeiros candidatos (hospedeiros), qualquer uma das MVs candidatas é potencialmente para ser dis- tribuída, o método para auxiliar na determinação de para qual hospedeiro candidato distribu- ir a MV candidata, levando em consideração os recursos disponíveis de cada hospedeiro candidato e os recursos exigidos pela MV candidata, o método compreende, para cada hos- pedeiro candidato: calcular uma subc-classificação para cada um dos vários recursos disponíveis a partir do hospedeiro candidato, a sub-classificação para o recurso corresponde a uma quan- tidade do recurso que está livre depois que a MV candidata é distribuída ao hospedeiro can- didato; e calcular uma classificação das sub-classificações calculadas para caracterizar quão bem o hospedeiro candidato pode acomodar a MV candidata; o método adicionalmente compreende apresentar a classificação para cada hospe- deiro candidato a um seletor, o seletor para selecionar um dos hospedeiros candidatos para distribuir a MV candidata neste com base na classificação desse.
13. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que com relação a uma máquina virtual candidata (MV) e um grupo de hospedeiros candidatos mediante o qual a MV candidata é potencialmente distribuída, o grupo de hospedeiros sendo uma coleção de hospedeiros, qualquer um dos quais pode acomodar a MV candidata se de fato distribuída a tal grupo de hospedeiros.
14. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que com relação a uma pluralidade de MVs candidatas e o hospedeiro candidato, qualquer uma da pluralidade de MVs candidatas sendo potencialmente distribuída ao hospedeiro candida- to, o método para auxiliar a determinar qual MV candidata distribuir ao hospedeiro candida- to, levando em consideração os recursos disponíveis do hospedeiro candidato e os recursos exigidos por cada MV candidata, o método compreende, para cada MV candidata: calcular uma sub-classificação para cada um dos vários recursos disponíveis a par- tir do hospedeiro candidato, a sub-classificação para o recurso corresponde a uma quanti- dade do recurso que está livre depois que a MV candidata é distribuída ao hospedeiro can- didato; e calcular uma classificação a partir das sub-classificações calculadas para caracteri- zar quão bem o hospedeiro candidato pode acomodar a MV candidata; o método adicionalmente compreende apresentar a classificação para cada MV candidata a um seletor, este seleciona uma das MVs candidatas para distribuir ao hospedei- ro candidato com base na classificação desse.
15. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que com relação a uma máquina física candidata a ser potencialmente virtualizada para a MV candidata e o hospedeiro candidato mediante o qual a MV candidata é potencialmente dis- tribuída, o método para auxiliar a determinar se virtualizar a máquina física candidata para a MV candidata e distribuir a MV candidata ao hospedeiro candidato levando em consideração os recursos disponíveis a partir do hospedeiro candidato e os recursos exigidos pela MV candidata.
16. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que compreende calcular a sub-classificação para qualquer recurso particular com base nos da- dos de utilização reunidos com relação ao recurso particular, os dados de utilização repre- sentam o quanto de recurso é utilizado pelo hospedeiro candidato enquanto a MV candidata e quaisquer outras MVs são distribuídas neste, e que inclui os dados amostrados agregados para enfatizar a utilização relativamente mais alta através de: selecionar os dados em um primeiro nível para serem amostras de hora em hora dos dados de utilização; selecionar os dados em um segundo nível para serem dados diários agregados a partir de dados de hora em hora do primeiro nível pela média das três amostras mais altas de tais dados de hora em hora; selecionar os dados em um terceiro nível para serem dados semanais agregados a partir dos dados diários do segundo nível pela média das três amostras mais altas de tais dados diários; e calcular um valor final como agregado dos dados semanais do terceiro nível pela média das três amostras mais altas de tais dados semanais.
17. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que reservar os recursos do hospedeiro selecionado compreende distribuir uma MV reserva no hospedeiro selecionado, a MV reserva sendo uma MV sem funcionalidade e conteúdo subs- tantivos, mas mantendo os recursos do hospedeiro selecionado à medida que exigido pela MV candidata até que a MV candidata é distribuída ao hospedeiro selecionado.
18. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a MV candidata é distribuída a outro hospedeiro, e a distribuição da MV candidata compre- ende migrar a MV candidata a partir de outro hospedeiro ao hospedeiro selecionado.
19. Método com relação a uma máquina física candidata e um dispositivo de com- putação hospedeiro candidato (hospedeiro) mediante o qual a máquina física candidata é potencialmente distribuída, o método para auxiliar a determinar se distribuir a máquina física candidata ao hospedeiro candidato levando em consideração os recursos disponíveis do hospedeiro candidato e os recursos solicitados pela máquina física candidata, CARACTERIZADO pelo fato de que compreende: calcular uma sub-classificação para cada um dos várias recursos disponíveis do hospedeiro candidato, a sub-classificação para o recurso corresponde a uma quantidade do recurso que está livre depois que a máquina física candidata é distribuída ao hospedeiro candidato; calcular uma classificação a partir das sub-classificações calculadas para caracteri- zar quão bem o hospedeiro candidato pode acomodar a máquina física candidata; apresentar a classificação para o hospedeiro candidato a um seletor, o seletor de- termina se distribuir a máquina física candidata ao hospedeiro candidato com base na clas- sificação deste; receber uma seleção do hospedeiro candidato para distribuir a MV candidata neste; reservar os recursos do hospedeiro selecionado à medida que exigido pela MV candidata até que a máquina física candidata é distribuída ao hospedeiro selecionado; e distribuir a máquina física candidata como uma versão virtualizada desta ao hospe- deiro selecionado.
20. Método, de acordo com a reivindicação 19, com relação a uma pluralidade de máquinas físicas candidatas e o hospedeiro candidato no qual uma da pluralidade de má- quinas físicas candidatas é potencialmente distribuídas ao hospedeiro candidato, o método para auxiliar a determinar qual máquina física candidata distribuir ao hospedeiro candidato, levando em consideração os recursos disponíveis a partir do hospedeiro candidato e recur- sos exigidos pela máquina física candidata, CARACTERIZADO pelo fato de que compreen- de, para cada máquina física candidata: calcular uma sub-classificação para cada um dos vários recursos disponíveis do hospedeiro candidato, a sub-classificação para o recurso corresponde a uma quantidade do recurso que está livre depois que a máquina física candidata é distribuída ao hospedeiro candidato; e calcular uma classificação a partir das sub-classificações calculadas para caracteri- zar quão bem o hospedeiro candidato pode acomodar a máquina física candidata; o método adicionalmente compreende apresentar a classificação para cada máqui- na física candidata a um seletor, o seletor seleciona uma das máquinas físicas candidatas para distribuição ao hospedeiro candidato com base na classificação deste.
BRPI0711752A 2006-05-18 2007-02-15 Distribuição de máquina virtual para hospedagem com base em caracterizações de carga de trabalho BRPI0711752A8 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/437,142 US20070271560A1 (en) 2006-05-18 2006-05-18 Deploying virtual machine to host based on workload characterizations
US11/437.142 2006-05-18
PCT/US2007/004188 WO2007136437A1 (en) 2006-05-18 2007-02-15 Deploying virtual machine to host based on workload characterizations

Publications (2)

Publication Number Publication Date
BRPI0711752A2 true BRPI0711752A2 (pt) 2012-01-03
BRPI0711752A8 BRPI0711752A8 (pt) 2017-01-17

Family

ID=38713348

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0711752A BRPI0711752A8 (pt) 2006-05-18 2007-02-15 Distribuição de máquina virtual para hospedagem com base em caracterizações de carga de trabalho

Country Status (13)

Country Link
US (1) US20070271560A1 (pt)
EP (1) EP2024847A4 (pt)
JP (1) JP5162579B2 (pt)
KR (1) KR101432838B1 (pt)
CN (1) CN101449258B (pt)
AU (1) AU2007254462B2 (pt)
BR (1) BRPI0711752A8 (pt)
CA (1) CA2649714A1 (pt)
MX (1) MX2008014537A (pt)
MY (1) MY149953A (pt)
RU (1) RU2433459C2 (pt)
TW (1) TWI470551B (pt)
WO (1) WO2007136437A1 (pt)

Families Citing this family (268)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8924524B2 (en) * 2009-07-27 2014-12-30 Vmware, Inc. Automated network configuration of virtual machines in a virtual lab data environment
US7823152B2 (en) * 2006-06-06 2010-10-26 International Business Machines Corporation System and method for collaborative hosting of applications, virtual machines, and data objects
US8032882B2 (en) * 2006-07-26 2011-10-04 Hewlett-Packard Development Company, L.P. System and method for controlling aggregate CPU usage by virtual machines and driver domains
US8782671B2 (en) * 2006-07-26 2014-07-15 Hewlett-Packard Development Company, L. P. Systems and methods for flexibly controlling resource usage by a driver domain on behalf of a virtual machine
US8209695B1 (en) * 2006-07-28 2012-06-26 Hewlett-Packard Development Company, L.P. Reserving resources in a resource-on-demand system for user desktop utility demand
US9092250B1 (en) * 2006-10-27 2015-07-28 Hewlett-Packard Development Company, L.P. Selecting one of plural layouts of virtual machines on physical machines
US8336046B2 (en) * 2006-12-29 2012-12-18 Intel Corporation Dynamic VM cloning on request from application based on mapping of virtual hardware configuration to the identified physical hardware resources
US20080172671A1 (en) * 2007-01-11 2008-07-17 International Business Machines Corporation Method and system for efficient management of resource utilization data in on-demand computing
US9270781B2 (en) * 2007-02-15 2016-02-23 Citrix Systems, Inc. Associating virtual machines on a server computer with particular users on an exclusive basis
US9043391B2 (en) 2007-02-15 2015-05-26 Citrix Systems, Inc. Capturing and restoring session state of a machine without using memory images
WO2008102739A1 (ja) * 2007-02-23 2008-08-28 Nec Corporation 仮想サーバシステム及び物理サーバ選択方法
US8028048B2 (en) * 2007-02-27 2011-09-27 International Business Machines Corporation Method and apparatus for policy-based provisioning in a virtualized service delivery environment
US8561061B2 (en) * 2007-05-14 2013-10-15 Vmware, Inc. Adaptive dynamic selection and application of multiple virtualization techniques
US20090007099A1 (en) * 2007-06-27 2009-01-01 Cummings Gregory D Migrating a virtual machine coupled to a physical device
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US8374929B1 (en) 2007-08-06 2013-02-12 Gogrid, LLC System and method for billing for hosted services
US20090049024A1 (en) * 2007-08-14 2009-02-19 Ncr Corporation Dynamic query optimization between systems based on system conditions
US8108857B2 (en) * 2007-08-29 2012-01-31 International Business Machines Corporation Computer program product and method for capacity sizing virtualized environments
US8127296B2 (en) * 2007-09-06 2012-02-28 Dell Products L.P. Virtual machine migration between processors having VM migration registers controlled by firmware to modify the reporting of common processor feature sets to support the migration
JP4982347B2 (ja) * 2007-12-11 2012-07-25 株式会社東芝 画像情報の更新を検出するプログラム、方法および画像処理装置
JP5010492B2 (ja) * 2008-01-31 2012-08-29 株式会社東芝 通信装置、方法及びプログラム
WO2009108344A1 (en) * 2008-02-29 2009-09-03 Vkernel Corporation Method, system and apparatus for managing, modeling, predicting, allocating and utilizing resources and bottlenecks in a computer network
US8935701B2 (en) * 2008-03-07 2015-01-13 Dell Software Inc. Unified management platform in a computer network
JP4577384B2 (ja) * 2008-03-14 2010-11-10 日本電気株式会社 管理マシン、管理システム、管理プログラム、および、管理方法
US7882219B2 (en) * 2008-03-27 2011-02-01 International Business Machines Corporation Deploying analytic functions
US9363143B2 (en) 2008-03-27 2016-06-07 International Business Machines Corporation Selective computation using analytic functions
US20090248722A1 (en) * 2008-03-27 2009-10-01 International Business Machines Corporation Clustering analytic functions
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US8533293B1 (en) 2008-03-31 2013-09-10 Amazon Technologies, Inc. Client side cache management
US8156243B2 (en) 2008-03-31 2012-04-10 Amazon Technologies, Inc. Request routing
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US20090320020A1 (en) * 2008-06-24 2009-12-24 International Business Machines Corporation Method and System for Optimising A Virtualisation Environment
US9081624B2 (en) * 2008-06-26 2015-07-14 Microsoft Technology Licensing, Llc Automatic load balancing, such as for hosted applications
US7925782B2 (en) 2008-06-30 2011-04-12 Amazon Technologies, Inc. Request routing using network computing components
US9912740B2 (en) 2008-06-30 2018-03-06 Amazon Technologies, Inc. Latency measurement in resource requests
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US9842004B2 (en) * 2008-08-22 2017-12-12 Red Hat, Inc. Adjusting resource usage for cloud-based networks
JPWO2010024027A1 (ja) * 2008-08-28 2012-01-26 日本電気株式会社 仮想サーバシステム及び物理サーバ選択方法
US8458717B1 (en) 2008-09-23 2013-06-04 Gogrid, LLC System and method for automated criteria based deployment of virtual machines across a grid of hosting resources
US8572608B2 (en) 2008-10-22 2013-10-29 Vmware, Inc. Methods and systems for converting a related group of physical machines to virtual machines
JP4839361B2 (ja) * 2008-11-11 2011-12-21 株式会社日立製作所 仮想マシン移動管理サーバおよび仮想マシン移動方法
US8073940B1 (en) 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8732309B1 (en) 2008-11-17 2014-05-20 Amazon Technologies, Inc. Request routing utilizing cost information
US8065417B1 (en) 2008-11-17 2011-11-22 Amazon Technologies, Inc. Service provider registration by a content broker
US8060616B1 (en) 2008-11-17 2011-11-15 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US8521880B1 (en) 2008-11-17 2013-08-27 Amazon Technologies, Inc. Managing content delivery network service providers
US10025627B2 (en) 2008-11-26 2018-07-17 Red Hat, Inc. On-demand cloud computing environments
US8751654B2 (en) * 2008-11-30 2014-06-10 Red Hat Israel, Ltd. Determining the graphic load of a virtual desktop
US8918761B1 (en) 2008-12-05 2014-12-23 Amazon Technologies, Inc. Elastic application framework for deploying software
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US8521851B1 (en) 2009-03-27 2013-08-27 Amazon Technologies, Inc. DNS query processing using resource identifiers specifying an application broker
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US8464267B2 (en) * 2009-04-10 2013-06-11 Microsoft Corporation Virtual machine packing method using scarcity
US8291416B2 (en) * 2009-04-17 2012-10-16 Citrix Systems, Inc. Methods and systems for using a plurality of historical metrics to select a physical host for virtual machine execution
JP5315128B2 (ja) * 2009-05-25 2013-10-16 株式会社日立製作所 処理依頼先管理装置、処理依頼先管理プログラムおよび処理依頼先管理方法
US9424094B2 (en) 2009-06-01 2016-08-23 International Business Machines Corporation Server consolidation using virtual machine resource tradeoffs
US8782236B1 (en) 2009-06-16 2014-07-15 Amazon Technologies, Inc. Managing resources using resource expiration data
US8489744B2 (en) * 2009-06-29 2013-07-16 Red Hat Israel, Ltd. Selecting a host from a host cluster for live migration of a virtual machine
US8694638B2 (en) * 2009-06-29 2014-04-08 Red Hat Israel Selecting a host from a host cluster to run a virtual machine
CN102656562B (zh) * 2009-06-30 2015-12-09 思杰系统有限公司 用于选择桌面执行位置的方法和系统
JP5375403B2 (ja) * 2009-07-23 2013-12-25 富士通株式会社 仮想マシン移動制御プログラム,仮想マシン移動制御方法および仮想マシン移動制御装置
US8397073B1 (en) 2009-09-04 2013-03-12 Amazon Technologies, Inc. Managing secure content in a content delivery network
US8495629B2 (en) * 2009-09-24 2013-07-23 International Business Machines Corporation Virtual machine relocation system and associated methods
US8433771B1 (en) 2009-10-02 2013-04-30 Amazon Technologies, Inc. Distribution network with forward resource propagation
US8832683B2 (en) * 2009-11-30 2014-09-09 Red Hat Israel, Ltd. Using memory-related metrics of host machine for triggering load balancing that migrate virtual machine
US8589921B2 (en) * 2009-11-30 2013-11-19 Red Hat Israel, Ltd. Method and system for target host optimization based on resource sharing in a load balancing host and virtual machine adjustable selection algorithm
US8533711B2 (en) 2009-11-30 2013-09-10 Red Hat Israel, Ltd. Method and system for adjusting a selection algorithm for selecting a candidate host with a highest memory sharing history value with a target virtual machine from amongst a set of host machines that have a standard deviation of memory sharing history with the virtual machine below a threshold amount
US8327060B2 (en) * 2009-11-30 2012-12-04 Red Hat Israel, Ltd. Mechanism for live migration of virtual machines with memory optimizations
US8887172B2 (en) * 2009-12-31 2014-11-11 Microsoft Corporation Virtualized management of remote presentation sessions using virtual machines having load above or below thresholds
WO2011086824A1 (ja) * 2010-01-12 2011-07-21 日本電気株式会社 マイグレーション管理装置、マイグレーション管理システム、マイグレーション管理方法、及びマイグレーション管理プログラム
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US20110202640A1 (en) * 2010-02-12 2011-08-18 Computer Associates Think, Inc. Identification of a destination server for virtual machine migration
US9027017B2 (en) 2010-02-22 2015-05-05 Virtustream, Inc. Methods and apparatus for movement of virtual resources within a data center environment
US9122538B2 (en) 2010-02-22 2015-09-01 Virtustream, Inc. Methods and apparatus related to management of unit-based virtual resources within a data center environment
JP5544967B2 (ja) * 2010-03-24 2014-07-09 富士通株式会社 仮想マシン管理プログラム及び仮想マシン管理装置
CN102214117B (zh) * 2010-04-07 2014-06-18 中兴通讯股份有限公司南京分公司 虚拟机管理方法、系统及虚拟机管理服务器
US8495512B1 (en) 2010-05-20 2013-07-23 Gogrid, LLC System and method for storing a configuration of virtual servers in a hosting system
US8738333B1 (en) 2010-05-25 2014-05-27 Vmware, Inc. Capacity and load analysis in a datacenter
US8392625B2 (en) * 2010-06-25 2013-03-05 Intel Corporation Methods and systems to implement a physical device to differentiate amongst multiple virtual machines of a host computer system
US8826292B2 (en) 2010-08-06 2014-09-02 Red Hat Israel, Ltd. Migrating virtual machines based on level of resource sharing and expected load per resource on candidate target host machines
JP5417287B2 (ja) * 2010-09-06 2014-02-12 株式会社日立製作所 計算機システム、及び、計算機システムの制御方法
US8560544B2 (en) 2010-09-15 2013-10-15 International Business Machines Corporation Clustering of analytic functions
WO2012039053A1 (ja) * 2010-09-24 2012-03-29 株式会社日立製作所 計算機システムの運用管理方法、計算機システム及びプログラムを記憶する計算機読み取り可能な媒体
US8819283B2 (en) 2010-09-28 2014-08-26 Amazon Technologies, Inc. Request routing in a networked environment
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US10097398B1 (en) 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US8577992B1 (en) 2010-09-28 2013-11-05 Amazon Technologies, Inc. Request routing management based on network components
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US9384029B1 (en) * 2010-09-30 2016-07-05 Amazon Technologies, Inc. Managing virtual computing nodes
US8418185B2 (en) * 2010-10-19 2013-04-09 International Business Machines Corporation Memory maximization in a high input/output virtual machine environment
US8386501B2 (en) 2010-10-20 2013-02-26 Microsoft Corporation Dynamically splitting multi-tenant databases
US8799453B2 (en) 2010-10-20 2014-08-05 Microsoft Corporation Managing networks and machines for an online service
US9075661B2 (en) * 2010-10-20 2015-07-07 Microsoft Technology Licensing, Llc Placing objects on hosts using hard and soft constraints
US8751656B2 (en) 2010-10-20 2014-06-10 Microsoft Corporation Machine manager for deploying and managing machines
US8417737B2 (en) 2010-10-20 2013-04-09 Microsoft Corporation Online database availability during upgrade
US8296267B2 (en) 2010-10-20 2012-10-23 Microsoft Corporation Upgrade of highly available farm server groups
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
US8850550B2 (en) 2010-11-23 2014-09-30 Microsoft Corporation Using cached security tokens in an online service
US9391949B1 (en) 2010-12-03 2016-07-12 Amazon Technologies, Inc. Request routing processing
US9721030B2 (en) 2010-12-09 2017-08-01 Microsoft Technology Licensing, Llc Codeless sharing of spreadsheet objects
US8738972B1 (en) 2011-02-04 2014-05-27 Dell Software Inc. Systems and methods for real-time monitoring of virtualized environments
CN102646052B (zh) * 2011-02-16 2016-01-27 中国移动通信集团公司 一种虚拟机部署方法、装置及系统
JP5708013B2 (ja) * 2011-02-22 2015-04-30 富士通株式会社 仮想マシンの配置変更方法、仮想マシンの配置変更装置、及び、仮想マシンの配置変更プログラム
JP5412599B2 (ja) * 2011-03-03 2014-02-12 株式会社日立製作所 計算機システム、および、計算機システムにおける仮想計算機の最適配置方法
JP5652718B2 (ja) * 2011-03-11 2015-01-14 日本電気株式会社 バッチ処理制御装置、バッチ処理制御方法およびバッチ処理制御プログラム
US8566838B2 (en) 2011-03-11 2013-10-22 Novell, Inc. Techniques for workload coordination
US8806484B2 (en) 2011-04-18 2014-08-12 Vmware, Inc. Host selection for virtual machine placement
JP5729466B2 (ja) * 2011-04-20 2015-06-03 日本電気株式会社 仮想マシン管理装置、仮想マシン管理方法、及び、プログラム
US9069890B2 (en) * 2011-04-20 2015-06-30 Cisco Technology, Inc. Ranking of computing equipment configurations for satisfying requirements of virtualized computing environments based on an overall performance efficiency
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
WO2012155947A1 (en) * 2011-05-13 2012-11-22 Telefonaktiebolaget L M Ericsson (Publ) Allocation of virtual machines in datacenters
KR101495862B1 (ko) 2011-05-18 2015-03-13 한국전자통신연구원 제로 클라이언트를 지원하는 가상화 서버 및 가상 머신 관리 방법
US8661182B2 (en) * 2011-05-26 2014-02-25 Vmware, Inc. Capacity and load analysis using storage attributes
JP5566342B2 (ja) * 2011-06-08 2014-08-06 株式会社エヌ・ティ・ティ・データ コンピュータシステム、仮想マシンデータ配置方法およびプログラム
CN103827823A (zh) * 2011-07-29 2014-05-28 惠普发展公司,有限责任合伙企业 迁移虚拟机
US8909785B2 (en) 2011-08-08 2014-12-09 International Business Machines Corporation Smart cloud workload balancer
CA2845402A1 (en) * 2011-08-16 2013-02-21 Cirba Inc. System and method for determining and visualizing efficiencies and risks in computing environments
EP2748705A4 (en) 2011-08-25 2015-05-20 Virtustream Inc SYSTEMS AND METHODS FOR HOST-RELATED RESOURCE MANAGEMENT WITH CLUSTER-BASED RESOURCE POOLS
US9495222B1 (en) 2011-08-26 2016-11-15 Dell Software Inc. Systems and methods for performance indexing
CN102279771B (zh) * 2011-09-02 2013-07-10 北京航空航天大学 一种虚拟化环境中自适应按需资源分配的方法及系统
US9722866B1 (en) * 2011-09-23 2017-08-01 Amazon Technologies, Inc. Resource allocation to reduce correlated failures
DE102012217202B4 (de) 2011-10-12 2020-06-18 International Business Machines Corporation Verfahren und System zum Optimieren des Platzierens virtueller Maschinen in Cloud-Computing-Umgebungen
US8850442B2 (en) * 2011-10-27 2014-09-30 Verizon Patent And Licensing Inc. Virtual machine allocation in a computing on-demand system
TWI533146B (zh) * 2011-11-10 2016-05-11 財團法人資訊工業策進會 虛擬資源調整裝置、方法及儲存其之電腦可讀取紀錄媒體
TWI456502B (zh) * 2011-12-01 2014-10-11 Univ Tunghai 虛擬機叢集之動態資源分配方法
US8863141B2 (en) * 2011-12-14 2014-10-14 International Business Machines Corporation Estimating migration costs for migrating logical partitions within a virtualized computing environment based on a migration cost history
US9292350B1 (en) * 2011-12-15 2016-03-22 Symantec Corporation Management and provisioning of virtual machines
TWI452518B (zh) * 2011-12-21 2014-09-11 Inventec Corp 虛擬機器的配置方法與使用其之伺服器系統
CN103176847A (zh) * 2011-12-26 2013-06-26 英业达集团(天津)电子技术有限公司 虚拟机的分配方法
CN102591702B (zh) * 2011-12-31 2015-04-15 华为技术有限公司 虚拟化处理方法及相关装置和计算机系统
KR101341254B1 (ko) * 2012-01-04 2013-12-12 주식회사 엘지유플러스 가상 머신 구동 시스템 및 그 제어방법
US8904009B1 (en) 2012-02-10 2014-12-02 Amazon Technologies, Inc. Dynamic content delivery
US9110729B2 (en) 2012-02-17 2015-08-18 International Business Machines Corporation Host system admission control
US10021179B1 (en) 2012-02-21 2018-07-10 Amazon Technologies, Inc. Local resource delivery network
TWI459296B (zh) * 2012-02-21 2014-11-01 Hon Hai Prec Ind Co Ltd 增加伺服器的虛擬機配置數量的方法
JPWO2013128836A1 (ja) * 2012-03-02 2015-07-30 日本電気株式会社 仮想サーバ管理装置及び仮想サーバの移動先決定方法
CN103309723B (zh) * 2012-03-16 2016-08-10 山东智慧生活数据系统有限公司 虚拟机资源整合系统及方法
JP5737789B2 (ja) * 2012-03-22 2015-06-17 株式会社日立ソリューションズ 仮想マシン運用監視システム
US10623408B1 (en) 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
US8843935B2 (en) 2012-05-03 2014-09-23 Vmware, Inc. Automatically changing a pre-selected datastore associated with a requested host for a virtual machine deployment based on resource availability during deployment of the virtual machine
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9092269B2 (en) * 2012-06-21 2015-07-28 Microsoft Technology Licensing, Llc Offloading virtual machine flows to physical queues
US20140019964A1 (en) * 2012-07-13 2014-01-16 Douglas M. Neuse System and method for automated assignment of virtual machines and physical machines to hosts using interval analysis
US9043787B2 (en) * 2012-07-13 2015-05-26 Ca, Inc. System and method for automated assignment of virtual machines and physical machines to hosts
US9152443B2 (en) * 2012-07-13 2015-10-06 Ca, Inc. System and method for automated assignment of virtual machines and physical machines to hosts with right-sizing
KR101239290B1 (ko) * 2012-07-23 2013-03-06 (주)엔텍 제로 클라이언트를 지원하는 가상화 서버의 가상 머신 설정을 위한 시스템 및 방법
US8825550B2 (en) * 2012-08-23 2014-09-02 Amazon Technologies, Inc. Scaling a virtual machine instance
US9525659B1 (en) 2012-09-04 2016-12-20 Amazon Technologies, Inc. Request routing utilizing point of presence load information
US9135048B2 (en) * 2012-09-20 2015-09-15 Amazon Technologies, Inc. Automated profiling of resource usage
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
BR112015005588B1 (pt) * 2012-09-20 2022-01-18 Amazon Technologies , Inc Sistema e método implementado por computador para perfilamento de utilização de recursos de computação.
KR101430649B1 (ko) 2012-10-31 2014-08-18 삼성에스디에스 주식회사 클라우드 환경 내의 데이터 분석 서비스 제공 시스템 및 방법
US9183033B2 (en) * 2012-12-06 2015-11-10 Industrial Technology Research Institute Method and system for analyzing root causes of relating performance issues among virtual machines to physical machines
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
CN103885831B (zh) * 2012-12-19 2017-06-16 中国电信股份有限公司 虚拟机宿主机的选择方法与装置
EP2953024A1 (en) * 2013-02-01 2015-12-09 NEC Corporation Resource control system, control pattern generation device, control device, resource control method and program
US9465630B1 (en) * 2013-02-20 2016-10-11 Ca, Inc. Assigning dynamic weighted variables to cluster resources for virtual machine provisioning
US20140344808A1 (en) * 2013-05-20 2014-11-20 International Business Machines Corporation Dynamically modifying workload patterns in a cloud
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
WO2014198001A1 (en) * 2013-06-14 2014-12-18 Cirba Inc System and method for determining capacity in computer environments using demand profiles
US9383986B2 (en) 2013-06-18 2016-07-05 Disney Enterprises, Inc. Safe low cost web services software deployments
US9207976B2 (en) 2013-08-13 2015-12-08 International Business Machines Corporation Management of prioritizing virtual machines in an operating environment
CN103514046B (zh) * 2013-09-24 2017-04-26 华为技术有限公司 一种虚拟机放置方法及集群管理服务器
US9389970B2 (en) * 2013-11-01 2016-07-12 International Business Machines Corporation Selected virtual machine replication and virtual machine restart techniques
CN104683408A (zh) * 2013-11-29 2015-06-03 中国科学院深圳先进技术研究院 OpenStack云计算管理平台建立虚拟机实例的方法和系统
US9563463B2 (en) 2013-12-13 2017-02-07 Hitachi, Ltd. Computer system and control method therefor
US9641385B1 (en) * 2013-12-16 2017-05-02 Amazon Technologies, Inc. Dynamic system configuration in a virtual environment
CN104714846B (zh) * 2013-12-17 2018-06-05 华为技术有限公司 资源处理方法、操作系统及设备
CN103902384B (zh) * 2014-03-28 2017-08-11 华为技术有限公司 为虚拟机分配物理机的方法及装置
US20170046188A1 (en) * 2014-04-24 2017-02-16 Hewlett Packard Enterprise Development Lp Placing virtual machines on physical hardware to guarantee bandwidth
US9652631B2 (en) * 2014-05-05 2017-05-16 Microsoft Technology Licensing, Llc Secure transport of encrypted virtual machines with continuous owner access
US9940167B2 (en) 2014-05-20 2018-04-10 Red Hat Israel, Ltd. Identifying memory devices for swapping virtual machine memory pages
US9116767B1 (en) 2014-06-06 2015-08-25 International Business Machines Corporation Deployment pattern monitoring
US11093279B2 (en) 2014-06-09 2021-08-17 International Business Machines Corporation Resources provisioning based on a set of discrete configurations
US9544367B2 (en) * 2014-06-16 2017-01-10 Verizon Patent And Licensing Inc. Automated server cluster selection for virtual machine deployment
US9286001B2 (en) * 2014-06-30 2016-03-15 Microsoft Licensing Technology Llc Effective range partition splitting in scalable storage
CN104133727A (zh) * 2014-08-08 2014-11-05 成都致云科技有限公司 基于实时资源负载分配的方法
US9092376B1 (en) 2014-08-29 2015-07-28 Nimble Storage, Inc. Methods and systems for ordering virtual machine snapshots
US9778990B2 (en) 2014-10-08 2017-10-03 Hewlett Packard Enterprise Development Lp Methods and systems for concurrently taking snapshots of a plurality of virtual machines
US9992304B2 (en) * 2014-10-13 2018-06-05 At&T Intellectual Property I, L.P. Relocation of applications to optimize resource utilization
US9727252B2 (en) 2014-11-13 2017-08-08 Hewlett Packard Enterprise Development Lp Methods and systems for optimal snapshot distribution within a protection schedule
WO2016090485A1 (en) 2014-12-09 2016-06-16 Cirba Ip Inc. System and method for routing computing workloads based on proximity
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US11182713B2 (en) 2015-01-24 2021-11-23 Vmware, Inc. Methods and systems to optimize operating system license costs in a virtual data center
CN106033373B (zh) * 2015-03-11 2019-09-27 苏宁易购集团股份有限公司 一种云计算平台中虚拟机资源调度方法和调度系统
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US9965309B2 (en) * 2015-03-23 2018-05-08 Empire Technology Development Llc Virtual machine placement
US9887932B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887931B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
KR101669567B1 (ko) * 2015-04-27 2016-10-27 울산과학기술원 가상 머신의 배치를 관리하는 방법
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
US10616179B1 (en) 2015-06-25 2020-04-07 Amazon Technologies, Inc. Selective routing of domain name system (DNS) requests
CN106325999A (zh) * 2015-06-30 2017-01-11 华为技术有限公司 一种分配宿主机资源的方法和装置
US10310883B2 (en) * 2015-07-06 2019-06-04 Purdue Research Foundation Integrated configuration engine for interference mitigation in cloud computing
US11403099B2 (en) * 2015-07-27 2022-08-02 Sony Interactive Entertainment LLC Backward compatibility by restriction of hardware resources
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
US9857871B2 (en) 2015-09-04 2018-01-02 Sony Interactive Entertainment Inc. Apparatus and method for dynamic graphics rendering based on saccade detection
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US9742795B1 (en) 2015-09-24 2017-08-22 Amazon Technologies, Inc. Mitigating network attacks
US9794281B1 (en) 2015-09-24 2017-10-17 Amazon Technologies, Inc. Identifying sources of network attacks
US9959146B2 (en) * 2015-10-20 2018-05-01 Intel Corporation Computing resources workload scheduling
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10915333B2 (en) 2016-03-30 2021-02-09 Sony Interactive Entertainment Inc. Deriving application-specific operating parameters for backwards compatiblity
US10275239B2 (en) 2016-03-30 2019-04-30 Sony Interactive Entertainment Inc. Deriving application-specific operating parameters for backwards compatiblity
US10303488B2 (en) 2016-03-30 2019-05-28 Sony Interactive Entertainment Inc. Real-time adjustment of application-specific operating parameters for backwards compatibility
US10192528B2 (en) 2016-03-31 2019-01-29 Sony Interactive Entertainment Inc. Real-time user adaptive foveated rendering
US10401952B2 (en) 2016-03-31 2019-09-03 Sony Interactive Entertainment Inc. Reducing rendering computation and power consumption by detecting saccades and blinks
US10372205B2 (en) 2016-03-31 2019-08-06 Sony Interactive Entertainment Inc. Reducing rendering computation and power consumption by detecting saccades and blinks
US10169846B2 (en) 2016-03-31 2019-01-01 Sony Interactive Entertainment Inc. Selective peripheral vision filtering in a foveated rendering system
CN105955826A (zh) * 2016-05-10 2016-09-21 广东睿江云计算股份有限公司 一种云主机系统中服务质量的控制方法及装置
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
CN107479950B (zh) * 2016-06-08 2021-03-05 阿里巴巴集团控股有限公司 一种虚拟机调度方法、设备及系统
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US10540196B2 (en) * 2016-07-01 2020-01-21 Intel Corporation Techniques to enable live migration of virtual environments
JP6511023B2 (ja) * 2016-08-22 2019-05-08 日本電信電話株式会社 仮想マシン管理装置およびデプロイ可否判断方法
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
US10616250B2 (en) 2016-10-05 2020-04-07 Amazon Technologies, Inc. Network addresses with encoded DNS-level information
US9740465B1 (en) 2016-11-16 2017-08-22 Vector Launch Inc. Orchestration of software application deployment in a satellite platform
US10346191B2 (en) * 2016-12-02 2019-07-09 Wmware, Inc. System and method for managing size of clusters in a computing environment
US10552272B2 (en) * 2016-12-14 2020-02-04 Nutanix, Inc. Maintaining high availability during N-node failover
CN108241531A (zh) * 2016-12-23 2018-07-03 阿里巴巴集团控股有限公司 一种在集群中为虚拟机分配资源的方法和装置
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
US10423455B2 (en) 2017-02-03 2019-09-24 Microsoft Technology Licensing, Llc Method for deploying virtual machines in cloud computing systems based on predicted lifetime
US10296367B2 (en) * 2017-02-03 2019-05-21 Microsoft Technology Licensing, Llc Resource management for virtual machines in cloud computing systems
US10942760B2 (en) 2017-02-03 2021-03-09 Microsoft Technology Licensing, Llc Predictive rightsizing for virtual machines in cloud computing systems
US10887176B2 (en) * 2017-03-30 2021-01-05 Hewlett Packard Enterprise Development Lp Predicting resource demand in computing environments
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
US10447648B2 (en) 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
US20190068466A1 (en) * 2017-08-30 2019-02-28 Intel Corporation Technologies for auto-discovery of fault domains
CN107643939A (zh) * 2017-09-14 2018-01-30 郑州云海信息技术有限公司 一种分配虚拟机的方法及系统
US10742593B1 (en) 2017-09-25 2020-08-11 Amazon Technologies, Inc. Hybrid content request routing system
CN109582433B (zh) * 2017-09-29 2022-02-01 腾讯科技(深圳)有限公司 一种资源调度方法、装置、云计算系统及存储介质
US10904090B2 (en) * 2018-01-26 2021-01-26 Nutanix, Inc. Virtual machine placement based on network communication patterns with other virtual machines
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
JP7115213B2 (ja) * 2018-10-19 2022-08-09 富士フイルムビジネスイノベーション株式会社 情報処理システムおよび認証システム
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system
US10735278B1 (en) * 2019-03-12 2020-08-04 Pivotal Software, Inc. Service availability metrics
US11442763B2 (en) 2019-04-26 2022-09-13 Dell Products L.P. Virtual machine deployment system using configurable communication couplings
US11263037B2 (en) 2019-08-15 2022-03-01 International Business Machines Corporation Virtual machine deployment
US11080083B1 (en) 2019-08-28 2021-08-03 Juniper Networks, Inc. Providing physical host hardware state information to virtual machines deployed on the physical host
US11586567B2 (en) 2020-01-07 2023-02-21 Vmware, Inc. Techniques for virtualizing PF-VF mailbox communication in SR-IOV devices
US11544097B2 (en) * 2020-01-07 2023-01-03 Vmware, Inc. Dynamic reconfiguration of virtual devices for migration across device generations
CN111563451B (zh) * 2020-05-06 2023-09-12 浙江工业大学 基于多尺度小波特征的机械通气无效吸气努力识别方法
US11307889B2 (en) 2020-05-28 2022-04-19 International Business Machines Corporation Schedule virtual machines
US11886926B1 (en) * 2020-12-10 2024-01-30 Amazon Technologies, Inc. Migrating workloads between computing platforms according to resource utilization
US11593180B2 (en) 2020-12-15 2023-02-28 Kyndryl, Inc. Cluster selection for workload deployment
US20220237048A1 (en) * 2021-01-26 2022-07-28 Vmware, Inc. Affinity and anti-affinity for sets of resources and sets of domains in a virtualized and clustered computer system
US20220237049A1 (en) * 2021-01-26 2022-07-28 Vmware, Inc. Affinity and anti-affinity with constraints for sets of resources and sets of domains in a virtualized and clustered computer system

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2536304B2 (ja) * 1990-12-12 1996-09-18 日本電気株式会社 ジョブ終了時間予測システム
KR100649799B1 (ko) * 1998-03-23 2006-11-24 썬 마이크로시스템즈, 인코포레이티드 고속 서브-클레스 검사 및 서브-타입 검사를 컴퓨터에 의해 구현하는 방법 그 시스템
US6209066B1 (en) * 1998-06-30 2001-03-27 Sun Microsystems, Inc. Method and apparatus for memory allocation in a multi-threaded virtual machine
US8375127B1 (en) * 1999-03-31 2013-02-12 International Business Machines Corporation Method and system for using virtual URLs for load balancing
JP2001094629A (ja) * 1999-09-21 2001-04-06 Canon Inc ネットワーク接続装置及びその制御方法ならびに記録媒体
US6985937B1 (en) * 2000-05-11 2006-01-10 Ensim Corporation Dynamically modifying the resources of a virtual server
US7171654B2 (en) * 2000-05-25 2007-01-30 The United States Of America As Represented By The Secretary Of The Navy System specification language for resource management architecture and corresponding programs therefore
JP2001350707A (ja) * 2000-06-06 2001-12-21 Hitachi Ltd 情報処理システム、記憶装置の割り当て方法
US7035963B2 (en) * 2000-12-27 2006-04-25 Intel Corporation Method for resolving address space conflicts between a virtual machine monitor and a guest operating system
US6957435B2 (en) * 2001-04-19 2005-10-18 International Business Machines Corporation Method and apparatus for allocating processor resources in a logically partitioned computer system
US7548975B2 (en) * 2002-01-09 2009-06-16 Cisco Technology, Inc. Methods and apparatus for implementing virtualization of storage within a storage area network through a virtual enclosure
US7484208B1 (en) * 2002-12-12 2009-01-27 Michael Nelson Virtual machine migration
US7725434B2 (en) * 2003-04-15 2010-05-25 At&T Intellectual Property, I, L.P. Methods, systems, and computer program products for automatic creation of data tables and elements
US7644408B2 (en) * 2003-04-25 2010-01-05 Spotware Technologies, Inc. System for assigning and monitoring grid jobs on a computing grid
US7478393B2 (en) * 2003-04-30 2009-01-13 International Business Machines Corporation Method for marketing to instant messaging service users
US20050044301A1 (en) * 2003-08-20 2005-02-24 Vasilevsky Alexander David Method and apparatus for providing virtual computing services
US8776050B2 (en) * 2003-08-20 2014-07-08 Oracle International Corporation Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes
US20050060590A1 (en) * 2003-09-16 2005-03-17 International Business Machines Corporation Power-aware workload balancing usig virtual machines
TWI253251B (en) * 2003-09-19 2006-04-11 Inst Information Industry Network address port translation gateway providing fast query and replacement for virtual host service, and the method thereof
US7437730B2 (en) * 2003-11-14 2008-10-14 International Business Machines Corporation System and method for providing a scalable on demand hosting system
JP2005309644A (ja) * 2004-04-20 2005-11-04 Hitachi Ltd リソース制御方法及びそのシステム
US7979863B2 (en) * 2004-05-21 2011-07-12 Computer Associates Think, Inc. Method and apparatus for dynamic CPU resource management
US20060005190A1 (en) * 2004-06-30 2006-01-05 Microsoft Corporation Systems and methods for implementing an operating system in a virtual machine environment
GB2416878B (en) * 2004-08-06 2008-05-14 Univ Surrey Resource management in grid computing
US8095928B2 (en) * 2004-10-06 2012-01-10 Hewlett-Packard Development Company, L.P. Method of forming virtual computer cluster within shared computing environment
GB2419701A (en) * 2004-10-29 2006-05-03 Hewlett Packard Development Co Virtual overlay infrastructure with dynamic control of mapping
US7668703B1 (en) * 2005-06-07 2010-02-23 Hewlett-Packard Development Company, L.P. Determining required capacity for a resource
US20070204266A1 (en) * 2006-02-28 2007-08-30 International Business Machines Corporation Systems and methods for dynamically managing virtual machines

Also Published As

Publication number Publication date
CN101449258B (zh) 2012-03-28
KR20090018905A (ko) 2009-02-24
EP2024847A1 (en) 2009-02-18
JP2009537894A (ja) 2009-10-29
TW200818020A (en) 2008-04-16
CA2649714A1 (en) 2007-11-29
KR101432838B1 (ko) 2014-08-26
RU2433459C2 (ru) 2011-11-10
CN101449258A (zh) 2009-06-03
TWI470551B (zh) 2015-01-21
EP2024847A4 (en) 2009-08-12
MY149953A (en) 2013-11-15
JP5162579B2 (ja) 2013-03-13
BRPI0711752A8 (pt) 2017-01-17
AU2007254462B2 (en) 2011-09-29
MX2008014537A (es) 2008-11-27
US20070271560A1 (en) 2007-11-22
WO2007136437A1 (en) 2007-11-29
RU2008145502A (ru) 2010-05-27
AU2007254462A1 (en) 2007-11-29

Similar Documents

Publication Publication Date Title
BRPI0711752A2 (pt) distribuiÇço de mÁquina virtual para hospedagem com base em caracterizaÇÕes de carga de trabalho
US8327370B2 (en) Dynamic policy manager method, system, and computer program product for optimizing fractional resource allocation
US10162658B2 (en) Virtual processor allocation techniques
Dupont et al. An energy aware framework for virtual machine placement in cloud federated data centres
US9268394B2 (en) Virtualized application power budgeting
US8914795B2 (en) Determining an allocation configuration for allocating virtual machines to physical machines
US7716667B2 (en) Migrating virtual machines among computer systems to balance load caused by virtual machines
Liu et al. Multi-objective scheduling of scientific workflows in multisite clouds
JP5328772B2 (ja) 大規模なストレージ・コントローラの集合におけるスケーラブルな性能ベースのボリューム割り振りのための、方法、システム、およびコンピュータ・プログラム
US20060248372A1 (en) Intelligent resource provisioning based on on-demand weight calculation
US9953276B2 (en) Method and system that measures and reports computational-resource usage in a data center
US20120239323A1 (en) Virtual Machine Power Usage Estimations
US10664299B2 (en) Power optimizer for VDI system
Kleineweber et al. Rule-based mapping of virtual machines in clouds
Zhang et al. Performance degradation-aware virtual machine live migration in virtualized servers
Kurowski et al. Dynamic grid scheduling with job migration and rescheduling in the GridLab resource management system
Meier et al. IBM systems virtualization: Servers, storage, and software
Harper et al. A virtual resource placement service
Lanfermann et al. Grid object description: Characterizing grids
Chen et al. DB2 Virtualization
Higgins et al. Managing the construction and use of functional performance models in a grid environment
Scalzo Oracle on VMware: Expert Tips for Database Visualization
Kaur et al. Minimizing Virtual Machine Migration for Efficient Resource Management in Green Clouds
Álvarez Automated Data Management in Cloud Computing

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC (US)

B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09B Patent application refused [chapter 9.2 patent gazette]
B09B Patent application refused [chapter 9.2 patent gazette]

Free format text: MANTIDO O INDEFERIMENTO UMA VEZ QUE NAO FOI APRESENTADO RECURSO DENTRO DO PRAZO LEGAL