RU2433459C2 - Развертывание виртуальной машины на хосте на основе описания характеристик рабочей нагрузки - Google Patents

Развертывание виртуальной машины на хосте на основе описания характеристик рабочей нагрузки Download PDF

Info

Publication number
RU2433459C2
RU2433459C2 RU2008145502/08A RU2008145502A RU2433459C2 RU 2433459 C2 RU2433459 C2 RU 2433459C2 RU 2008145502/08 A RU2008145502/08 A RU 2008145502/08A RU 2008145502 A RU2008145502 A RU 2008145502A RU 2433459 C2 RU2433459 C2 RU 2433459C2
Authority
RU
Russia
Prior art keywords
server
potential
virtual machine
host
processor
Prior art date
Application number
RU2008145502/08A
Other languages
English (en)
Other versions
RU2008145502A (ru
Inventor
Брайан М. ВАЛЕРТ (US)
Брайан М. ВАЛЕРТ
Рене Антонио ВЕГА (US)
Рене Антонио ВЕГА
Роберт ГИБСОН (US)
Роберт ГИБСОН
Роберт М. ФРИС (US)
Роберт М. ФРИС
Уилльям Л. ШАЙДЕЛЬ (US)
Уилльям Л. ШАЙДЕЛЬ
Павел А. ДУРНОВ (US)
Павел А. ДУРНОВ
Джон Морган ОСЛЕЙК (US)
Джон Морган ОСЛЕЙК
Original Assignee
Майкрософт Корпорейшн
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 Майкрософт Корпорейшн filed Critical Майкрософт Корпорейшн
Publication of RU2008145502A publication Critical patent/RU2008145502A/ru
Application granted granted Critical
Publication of RU2433459C2 publication Critical patent/RU2433459C2/ru

Links

Images

Classifications

    • 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
    • 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

Abstract

Изобретение относится к области развертывания виртуальных машин на хостах. Техническим результатом является повышение эффективности развертывания потенциальной виртуальной машины (VM) на потенциальном хосте за счет учета ресурсов, доступных от потенциального хоста, и ресурсов, требуемых потенциальной виртуальной машиной (VM). Для этого вычисляется промежуточная оценка для каждого из нескольких ресурсов, доступных от потенциального хоста, где промежуточная оценка для ресурса соответствует количеству ресурса, который остается свободным после того, как потенциальная виртуальная машина (VM) будет развернута на потенциальном хосте. После этого из вычисленных промежуточных оценок вычисляется оценка, чтобы охарактеризовать, насколько хорошо потенциальный хост может разместить потенциальную виртуальную машину (VM). Оценка для потенциального хоста предоставляется блоку выбора, который определяет, следует ли развертывать потенциальную виртуальную машину (VM) на потенциальном хосте, на основе его оценки. 3 н. и 15 з.п. ф-лы, 6 ил.

Description

Область техники, к которой относится изобретение
Настоящее изобретение имеет отношение к выбору хоста для виртуальной машины на основе описания характеристик рабочей нагрузки каждого из множества хостов, а также описания характеристик рабочей нагрузки виртуальной машины. Аналогичным образом, настоящее изобретение имеет отношение к определению того, должна или может ли физическая машина быть преобразована в виртуальную машину и быть развернута на хосте, в данном случае на основе описания характеристик рабочей нагрузки типичного хоста, а также описания характеристик рабочей нагрузки физической машины.
Предшествующий уровень техники
Как следует понимать, виртуальная машина ("VM") является программной конструкцией или т.п., работающей на вычислительном устройстве или т.п. (то есть "хосте") с целью эмуляции аппаратной системы. Как правило, хотя необязательно, виртуальная машина (VM) является прикладной программой или т.п. и может использоваться на хосте для создания экземпляра используемой прикладной программы или т.п., одновременно изолируя такую используемую прикладную программу от такого устройства хоста или от других прикладных программ на таком хосте. В одной типичной ситуации хост может разместить множество развернутых виртуальных машин (VM), причем каждая виртуальная машина (VM) выполняет некоторую предопределенную функцию посредством ресурсов, доступных от хоста. Особенно следует отметить, что каждая виртуальная машина (VM) во всех отношениях является вычислительной машиной, хотя и в виртуальной форме, и, таким образом, представляет себя таковой и для своих используемых прикладных программ, и для внешнего мира.
Как правило, хотя необязательно, хост развертывает каждую свою виртуальную машину (VM) в отдельном разделе. Такой хост может включать в себя уровень виртуализации с монитором виртуальных машин (VM) или т.п., который действует в качестве прикладной программы "надзирателя" или "гипервизора", причем уровень виртуализации наблюдает и/или иным образом управляет контролирующими аспектами каждой виртуальной машины (VM) хоста и действует как возможная линия связи между каждой виртуальной машиной (VM) и внешним миром.
Один признак виртуальной машины (VM) состоит в том, что виртуальная машина (VM) как виртуальная конструкция может быть по желанию остановлена и повторно запущена, а также в том, что виртуальная машина (VM) после ее остановки может быть сохранена и извлечена таким же образом, как файл и т.п. В частности, виртуальная машина (VM), экземпляр которой создан на конкретном вычислительном устройстве, представляет собой отдельную программную конструкцию, которая может быть аккуратно упакована, поскольку программная конструкция включает в себя все данные, имеющие отношение к такой виртуальной машине (VM), в том числе рабочие данные и информацию о состоянии, имеющие отношение к виртуальной машине (VM). В результате виртуальная машина (VM) на первом хосте может быть перемещена или "перенесена" на второй хост посредством остановки виртуальной машины (VM) на первом хосте, перемещения остановленной виртуальной машины (VM) на второй хост и повторного запуска перенесенной виртуальной машины (VM) на втором хосте и т.п. В более общем смысле виртуальная машина (VM) аналогичным образом может быть перенесена с первой платформы на вторую платформу, где платформы представляют собой разные хосты, разные конфигурации одного и того же хоста и т.п. В последнем случае, как следует понимать, вычислительное устройство может иметь другую конфигурацию, если, например, добавлена дополнительная память, заменен процессор, обеспечено дополнительное устройство ввода данных, удалено устройство выбора и т.д.
Виртуализация посредством виртуальных машин (VM) может использоваться, чтобы дать возможность относительно мощной компьютерной системе действовать в качестве хоста для набора независимых, изолированных виртуальных машин (VM). Также виртуальные машины (VM) на хосте сосуществуют на одной и той же аппаратной платформе и работают, как если бы каждая виртуальная машина (VM) имела эксклюзивный доступ к ресурсам, доступным на хосте и посредством него. В соответствии с этим виртуализация дает возможность оптимального использования каждого хоста, а также дает возможность переноса виртуальных машин (VM) среди набора хостов/платформ на основе необходимости, потребностей, требований, возможностей, доступности и других типичных ограничений.
Виртуализация также позволяет пользователю с физическими машинами, каждая из которых работает с прикладными программами, объединить такие прикладные программы в набор хостов, тем самым уменьшая общие аппаратные потребности. Таким образом и в качестве лишь одного примера, пользователь с несколькими физическими машинами, каждая из которых действует как сервер или т.п., может определить, что каждый физический сервер может быть преобразован (виртуализирован) в виртуальную машину (VM) и что несколько таких виртуальных машин (VM) могут находиться на одном хосте. Хотя это колеблется в широких пределах, известно, что с помощью таких виртуальных машин (VM) один хост может разместить эквивалент пяти, или десяти, или более физических машин. В итоге виртуализация приводит к тому, что пользователь способен более полно воспользоваться существующими аппаратными средствами посредством намного более интенсивного использования таких аппаратных средств. Фактически, поскольку типичный пользователь может потреблять только приблизительно в среднем 15% доступных аппаратных ресурсов при развертывании физических серверов, виртуализация может быть использована для обеспечения трех-, четырех- и возможно даже пяти- и шестикратного увеличения такого потребления, безусловно давая возможность для резервной мощности и накладных расходов, связанных с размещением виртуальных машин (VM).
В частности, типичный пользователь имеет много серверных машин или т.п., выполняющих различные рабочие нагрузки, которые полностью не используют базовое аппаратное обеспечение. Кроме того, некоторое аппаратное обеспечение приближается к концу срока службы, и может быть трудно обосновать обновление аппаратных средств до более современной, более быстрой системы, когда существующее аппаратное оборудование полностью не используется. Таким образом, пользователь извлек бы выгоду из использования виртуализации для предоставления возможности решения, которое объединяет серверы и т.п. в виде виртуальных машин (VM) в набор хостов. Однако существенным образом такому пользователю требуется инструмент управления, который может направлять такого пользователя при выборе того, какие серверы или т.п. следует виртуализировать, а также при выборе того, какой хост должен разместить каждую виртуальную машину (VM).
Другими словами, пользователю требуется инструмент управления, который может направлять такого пользователя при размещении серверов и т.п. в виде виртуальных машин (VM) на наборе хостов. Обычно развертывание сталкивается с эффективным подбором соответствия между определенной рабочей нагрузкой и набором совместимых физических ресурсов для обслуживания рабочей нагрузки. Если развертывание является неэффективным или позволяет несовместимые соответствия между ресурсами и требованиями, то достичь цель оптимизации использования аппаратного оборудования становится трудно, если вообще возможно. Таким образом, настоящее изобретение способствует совместимому, эффективному развертыванию и принимает во внимание требования к ресурсам, в том числе работу с сетью, хранение, лицензирование, вычислительную мощность, память и т.п.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
В настоящем изобретении представлены система и способ, относящиеся к потенциальной виртуальной машине (VM) и потенциальному базовому вычислительному устройству (хосту), на котором потенциально может быть развернута эта потенциальная виртуальная машина (VM). Такие система и способ предназначены для содействия в определении того, следует ли развертывать потенциальную виртуальную машину (VM) на потенциальном хосте, учитывая ресурсы, доступные от потенциального хоста, и ресурсы, требуемые потенциальной виртуальной машиной (VM).
Для каждого из нескольких ресурсов, доступных от потенциального хоста, вычисляется промежуточная оценка, причем промежуточная оценка для ресурса соответствует количеству ресурса, которое остается свободным после того, как потенциальная виртуальная машина (VM) будет развернута на потенциальном хосте. После этого из вычисленных промежуточных оценок вычисляется оценка, чтобы охарактеризовать то, насколько хорошо потенциальный хост может разместить потенциальную виртуальную машину (VM). Оценка для каждого потенциального хоста предоставляется блоку выбора, который определяет, следует ли развернуть потенциальную виртуальную машину (VM) на потенциальном хосте, на основе его оценки. Сделанный выбор потенциального хоста принимается для развертывания на нем потенциальной виртуальной машины (VM), и ресурсы выбранного хоста, требуемые потенциальной виртуальной машиной (VM), резервируются до тех пор, пока потенциальная виртуальная машина (VM) не будет развернута на выбранном хосте. После этого потенциальная виртуальная машина (VM) развертывается на выбранном хосте.
ПЕРЧЕНЬ ФИГУР ЧЕРТЕЖЕЙ
Предшествующее описание сущности изобретения, а также последующее подробное описание вариантов воплощения настоящего изобретения будут лучше понятны при их прочтении совместно с приложенными чертежами. С целью иллюстрации изобретения на чертежах показаны варианты воплощения, которые являются в настоящее время предпочтительными. Однако, как следует понимать, изобретение не ограничено показанными точными расстановками и средствами. На чертежах:
Фиг.1 - блок-схема, представляющая компьютерную систему общего назначения, в которую могут быть включены аспекты настоящего изобретения и/или его частей;
Фиг.2 - блок-схема, показывающая систему физических машин и т.п., которые являются или могут быть преобразованными в виртуальные машины (VM), каждая из которых может быть развернута теоретически на любом хосте из набора хостов 14 в вариантах воплощения настоящего изобретения;
Фиг.3 - блок-схема, показывающая систему для оценки одной или более виртуальных машин (VM), показанных на фиг.2, которые могут быть развернуты на одном или более хостах в соответствии с вариантами воплощения настоящего изобретения;
Фиг.4 - блок схема последовательности операций, показывающая ключевые этапы, выполняемые применительно к системе, показанной на фиг.3, для оценки одной или более виртуальных машин (VM), которые могут быть развернуты на одном или более хостах в соответствии с вариантами воплощения настоящего изобретения;
Фиг.5 - блок-схема, показывающая представление ресурса хоста, показанного на фиг.2, используемого виртуальной машиной (VM), и, в частности, каким образом промежуточная оценка, показанная на фиг.4, соответствует выраженному в процентах потреблению ресурса, остающегося свободным после развертывания виртуальной машины (VM) 12 на хосте;
Фиг.6 - блок-схема последовательности операций, показывающая ключевые этапы, выполняемые при объединении выборок данных для получения данных о потреблении в отношении ресурса, которые, например, могут быть использованы применительно к системе, показанной на фиг.3, в соответствии с вариантами воплощения настоящего изобретения.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Компьютерное окружение
Фиг.1 и последующее рассмотрение предназначены для того, чтобы дать краткое общее описание подходящего вычислительного окружения, в котором может быть реализовано настоящее изобретение и/или его части. Хотя это не требуется, изобретение описано в общем контексте исполняемых на компьютере команд, таких как программные модули, исполняемые компьютером, например клиентской рабочей станцией или сервером. Обычно программные модули включают в себя подпрограммы, программы, объекты, компоненты, структуры данных и т.п., которые выполняют отдельные задачи или реализуют отдельные абстрактные типы данных. Кроме того, следует понимать, что изобретение и/или его части могут быть осуществлены с помощью других конфигураций компьютерных систем, в том числе переносных устройств, многопроцессорных систем, основанной на микропроцессоре или программируемой бытовой электроники, сетевых персональных компьютеров, миникомпьютеров, универсальных вычислительных систем и т.п. Изобретение также может быть осуществлено в распределенных вычислительных окружениях, в которых задачи выполняются посредством удаленных устройств обработки, которые связаны через систему связи. В распределенном вычислительном окружении программные модули могут быть размещены и в локальных, и в удаленных запоминающих устройствах.
Как показано на фиг.1, иллюстративная вычислительная система общего назначения включает в себя традиционное вычислительное устройство 120, например персональный компьютер, сервер и т.п., содержащее процессор 121, системную память 122 и системную шину 123, которая соединяет различные системные компоненты, в том числе системную память, с процессором 121. Системная шина 123 может представлять собой любой из нескольких типов шинных структур, в том числе шину памяти или контроллер памяти, периферийную шину и локальную шину, с использованием любой из разнообразных шинных архитектур. Системная память включает в себя постоянное запоминающее устройство (ROM; ПЗУ) 124 и оперативное запоминающее устройство (RAM; ОЗУ) 125. Базовая система 126 ввода-вывода (BIOS), содержащая базовые подпрограммы, которые помогают переносить информацию между элементами в персональном компьютере 20, например, во время запуска, хранится в постоянном запоминающем устройстве (ROM; ПЗУ) 124.
Персональный компьютер 120 может также включать в себя накопитель 127 на жестких дисках для чтения и записи на жесткий диск (не показан), на магнитный дисковод 128 для чтения или записи на сменный магнитный диск 129 и оптический дисковод 130 для чтения или записи на сменный оптический диск 131, например компакт-диск, предназначенный только для чтения (CD-ROM), или другие оптические носители. Накопитель 127 на жестких дисках, магнитный дисковод 128 и оптический дисковод 130 соединены с системной шиной 123 посредством интерфейса 132 накопителя на жестких дисках, интерфейса 133 магнитного дисковода и интерфейса 134 оптического дисковода соответственно. Накопители дисководы и соответствующие им машиночитаемые носители предоставляют энергонезависимое хранилище машиночитаемых команд, структур данных, программных модулей и других данных для персонального компьютера 120.
Хотя описанное здесь иллюстративное окружение использует жесткий диск, сменный магнитный диск 129 и сменный оптический диск 131, следует понимать, что в иллюстративном окружении также могут использоваться другие типы машиночитаемых носителей, которые могут хранить доступные для компьютера данные. Такие другие типы носителей включают в себя магнитную кассету, карту флэш-памяти, цифровой видеодиск, картридж Бернулли, оперативное запоминающее устройство (RAM; ОЗУ), постоянное запоминающее устройство (ROM; ПЗУ) и т.п.
Несколько программных модулей может быть сохранено на жестком диске, на магнитном диске 129, на оптическом диске 131, в постоянном запоминающем устройстве (ROM; ПЗУ) 124 или оперативном запоминающем устройстве (RAM; ОЗУ) 125, в том числе операционная система 135, одна или более прикладных программ 136, другие программные модули 137 и программные данные 138. Пользователь может вводить команды и информацию в персональный компьютер 120 через устройства ввода данных, например клавиатуру 140 и координатно-указательное устройство 142. Другие устройства ввода данных (не показаны) могут включать в себя микрофон, джойстик, игровую клавиатуру, спутниковый диск, сканер и т.п. Эти и другие устройства ввода данных часто соединяются с процессором 121 через интерфейс 146 последовательного порта, который соединен с системной шиной, но могут быть соединены посредством других интерфейсов, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB). Монитор 147 или устройство отображения другого типа также соединяется с системной шиной 123 через интерфейс, например видеоадаптер 148. В дополнение к монитору 147 персональный компьютер обычно включает в себя другие периферийные устройства вывода (не показаны), например динамики и принтеры. Иллюстративная система на фиг.1 также включает в себя контроллер 155 сервера, шину 156 интерфейса малых вычислительных систем (SCSI) и внешнее запоминающее устройство 162, соединенное с шиной интерфейса SCSI.
Персональный компьютер 120 может работать в сетевом окружении с использованием логических соединений с одним или более удаленными компьютерами, например с удаленным компьютером 149. Удаленный компьютер 149 может являться другим персональным компьютером, сервером, маршрутизатором, сетевым персональным компьютером, одноранговым устройством или другим общим сетевым узлом и обычно включает в себя многие или все элементы, описанные выше относительно персонального компьютера 120, хотя на фиг.1 проиллюстрировано только запоминающее устройство 150. Логические соединения, изображенные на фиг.1, включают в себя локальную сеть (LAN) 151 и глобальную сеть (WAN) 152. Такие сетевые среды являются обычными в офисах, в компьютерных сетях масштаба предприятия, в интрасетях и в Интернете.
При использовании в окружении локальной сети персональный компьютер 120 соединен с локальной сетью (LAN) 151 через сетевой интерфейс или адаптер 153. При использовании в окружении глобальной сети персональный компьютер 120 обычно включает в себя модем 154 или другие средства установления связи по глобальной сети 152, например Интернет. Модем 154, который может являться внутренним или внешним, соединен с системной шиной 123 через интерфейс 146 последовательного порта. В сетевом окружении программные модули, изображенные относительно персонального компьютера 120, или их части могут храниться в удаленном запоминающем устройстве. Следует понимать, что показанные сетевые соединения являются иллюстративными и могут использоваться другие средства установления линии связи между компьютерами.
Хосты и виртуальные машины
Обращаясь теперь к фиг.2, можно видеть, что настоящее изобретение может иметь конкретное применение в контексте физических машин 10 и т.п., которые являются или могут быть преобразованными в виртуальные машины (VM) 12, каждая из которых может быть соответствующим образом развернута теоретически на любом хосте из набора хостов 14. Здесь следует отметить, что физические машины 10 или т.п., виртуальные машины (VM) 12 и хост 14 могут представлять собой любые подходящие серверы и т.п., виртуальные машины (VM) и хост без отступления от сущности и объема настоящего изобретения. Такие серверы или т.п., виртуальные машины (VM) и хост известны или должны быть понятны специалистам и поэтому не требуют более подробного изложения, кроме того, которое уже предоставлено.
Как было изложено выше, каждая виртуальная машина (VM) 12 является программной конструкцией или т.п., которая при ее развертывании на хосте 14 эмулирует соответствующую физическую машину 10 и т.п. Таким образом, виртуальная машина (VM) 12 может использовать ресурсы хоста 14 для создания экземпляра сервера или другой используемой прикладной программы и т.п., одновременно изолируя такое используемое программное приложение от такого хоста 14 и других прикладных программ на таком хосте 14. Как показано, хост 14 может разместить множество развернутых виртуальных машин (VM) 12, причем каждая виртуальная машина (VM) 12 независимо выполняет некоторую предопределенную функцию. Например, по меньшей мере некоторые из виртуальных машин (VM) 12, развернутых на хосте 14, могут действовать как серверы данных, по меньшей мере некоторые из таких виртуальных машин (VM) 12 могут действовать как сетевые серверы по отношению к сети 16, присоединенной к хосту 14, по меньшей мере некоторые из таких виртуальных машин (VM) 12 могут действовать как почтовые серверы и по меньшей мере некоторые из таких виртуальных машин (VM) 12 могут выполнять функции нижнего уровня, в том числе функции обслуживания, сбор данных, отслеживание аппаратного обеспечения, исправление ошибок, управление файлами и т.п. Следует отметить, что каждая виртуальная машина (VM) 12 во всех отношениях является вычислительной машиной, хотя и в виртуальной форме.
Хост 14 сам по себе может представлять собой соответствующее вычислительное устройство, например настольный компьютер, портативный компьютер, переносной компьютер, карманный компьютер, универсальную вычислительную систему или вычислительное устройство любого другого типа с функциональностью и возможностями, необходимыми для размещения одной или более виртуальных машин (VM) 12. Принимая во внимание, что каждая виртуальная машина (VM) может требовать от хоста 14 существенных объемов памяти, операций ввода-вывода, емкости запоминающего устройства и производительности процессора, однако, также принимая во внимание, что хост 14, как предполагается, может разместить 2, 5, 10, 20 или более виртуальных машин (VM) 12 одновременно, хост 14 должен иметь существенную мощность и ресурсы для того, чтобы быть в состоянии действительно разместить такие виртуальные машины (VM) 12.
В отношении каждой физической машины 10 или т.п. следует понимать, что каждая виртуальная машина (VM) 12 наиболее типично соответствует такой физической машине 10, например серверу, но фактически может соответствовать физическому вычислительному устройству любого типа без отступления от сущности и объема настоящего изобретения. Таким образом, в дополнение к серверу в качестве физической машины 10 каждая виртуальная машина (VM) 12 может соответствовать прикладной физической машине любого другого типа, в том числе, но без ограничения, любой машине для обслуживания, машине для сбора данных, машине для отслеживания аппаратного обеспечения, машине для исправления ошибок, машине для управления файлами и т.п. Кроме того, каждая виртуальная машина (VM) 12 также может соответствовать любой прикладной программе уровня функционального узла, в том числе текстовому процессору, анализатору электронных таблиц, прикладной программе для работы с почтой, прикладной программе для работы с базой данных, графической прикладной программе, прикладной программе для визуализации информационного содержания и т.п.
Оценка развертывания виртуальной машины
Пользователь при принятии решения, следует ли виртуализировать физическую машину 10 или т.п., обычно (1) определяет, является ли физическая машина 10 допустимым кандидатом на виртуализацию, и (2) для хорошего кандидата преобразовывает физическую машину 10 в виртуальную машину VM 12. Преобразование физической машины 10 в виртуальную машину (VM) 12 может быть выполнено любым соответствующим образом без отступления от сущности и объема настоящего изобретения. Поскольку преобразование физической машины 10 в виртуальную машину (VM) 12 является общеизвестным или должно являться понятным для специалиста, подробности его выполнения не требуют более подробного изложения, кроме того, которое предоставлено.
Во всяком случае, когда виртуальная машина (VM) 12, соответствующая физической машине 10, создана, (3) один или более потенциальных хостов 14 идентифицируются как хосты 14, на которых виртуальная машина (VM) может быть развернута эффективным и/или допустимым образом, и (4) такая виртуальная машина (VM) 12 затем может быть развернута на выбранном потенциальном хосте 14. Следует отметить, что настоящее изобретение может использоваться для помощи в принятии решения, выполняемом на этапах (1) и (3). Таким образом, настоящее изобретение обеспечивает систему, посредством которой можно определить, следует и можно ли виртуализировать физическую машину 10 как виртуальную машину (VM) 12 и развернуть ее на хосте 14, на основании описания характеристик рабочей нагрузки типичного хоста 14, а также описания характеристик рабочей нагрузки физической машины 10. Кроме того, этот же инструмент может быть использован для определения того, является ли один или более потенциальных хостов 14 приемлемым для виртуальной машины (VM) 12, вновь на основе описания характеристик рабочей нагрузки каждого потенциального хоста 14, а также описания характеристик виртуальной машины (VM) 12.
На фиг.3 показана система для выполнения настоящего изобретения. В такой системе, как можно видеть, блок 18 оценки принимает данные, относящиеся к модели потенциальной виртуальной машины (VM) 12 и по меньшей мере одного потенциального хоста 14, чтобы определить, имеет ли каждый потенциальный хост 14 возможность разместить потенциальную виртуальную машину (VM) 12, развернутую на нем. Здесь следует отметить, что в контексте определения того, должна и может ли физическая машина 10 быть преобразована в виртуальную машину (VM) 12 и развернута на хосте 14, потенциальная виртуальная машина (VM) 12 является описанием характеристик физической машины 10 как виртуализированной, в то время как один потенциальный хост 14 является составным хостом 14, подразумеваемым для описания характеристик хоста 14, на котором должна быть развернута виртуальная машина (VM) 12. Следует отметить, что такой охарактеризованный хост 14 может представлять собой средний хост, наилучший доступный хост, наилучший средний хост и т.п., как диктуют обстоятельства. В контексте определения того, является ли один или более потенциальных хостов 14 допустимым для виртуальной машины (VM) 12, потенциальная виртуальная машина (VM) 12 является виртуальной машиной (VM) 12, которая может быть развернута на любом из множества потенциальных хостов 14.
В любом случае блок 18 оценки принимает для потенциальной виртуальной машины (VM) 12 модельные данные, включающие в себя базовую конфигурацию процессора для потенциальной виртуальной машины (VM) 12, и определенную характеристику рабочей нагрузки для потенциальной виртуальной машины (VM) 12. Такая базовая конфигурация процессора может, например, представлять, что потенциальная виртуальная машина (VM) 12 имеет конкретный процессор, работающий с конкретной скоростью с конкретными доступными ресурсами. Потенциальная виртуальная машина (VM) 12 обычно имеет связанные с ней модельные данные, которые определяют возможности, требуемые для выполнения рабочей нагрузки такой виртуальной машины (VM) 12 в контексте базовой конфигурации процессора, и, например, могут определить потребление процессора, которое виртуальная машина (VM) 12 совершила бы на заданном базовом процессоре.
Такое описание характеристик рабочей нагрузки может быть основано на различных показателях и поэтому может включать в себя описание характеристик рабочей нагрузки относительно потребления различных ресурсов потенциальной виртуальной машины (VM) 12, таких как процессор (например, выраженное в процентах потребление), память (доступный объем, количество чтений и записей в единицу времени и т.д.), емкость запоминающего устройства (доступный объем, количество чтений и записей в единицу времени и т.д.), сеть 16 (доступная пропускная способность, количество чтений и записей в единицу времени и т.д.) и т.п. Безусловно, такое определение характеристик рабочей нагрузки может быть основано на других показателях без отступления от сущности и объема настоящего изобретения, в том числе на показателях, не имеющих отношения к потреблению, таких как версии программного обеспечения, включенное в состав аппаратное оборудование и т.п.
Кроме того, определение характеристик рабочей нагрузки может быть задано в других терминах без отступления от сущности и объема настоящего изобретения. В этом отношении следует отметить, что рабочая нагрузка может быть задана в разных единицах для разных ресурсов. Например, загруженность процессора может быть задана как выраженное в процентах потребление, в то время как сетевая нагрузка может быть задана в терминах сетевого трафика в байтах в секунду. Следует также отметить, что загруженность запоминающего устройства может включать в себя спецификацию пропускной способности запоминающего устройства, в том числе количество байтов и операций ввода-вывода, которые выполняются виртуальной машиной (VM) 12 в единицу времени. Также следует отметить, что сетевая нагрузка может не обязательно быть задана как пропускная способность, поскольку сетевой трафик может не зависеть от нее. Наконец, следует отметить, что рабочая нагрузка может быть задана в терминах физических ресурсов. Однако, во всяком случае, описывается характеристика рабочей нагрузки, блок 18 оценки соответствующим образом конвертирует такую охарактеризованную рабочую нагрузку в форму, пригодную для вычислений, изложенных ниже. Такие преобразования известны или должны быть понятны специалистам и поэтому не требуют более подробного изложения, кроме того, которое предоставлено.
Следует понимать, что конфигурация процессора и описание характеристик рабочей нагрузки относительно потенциальной виртуальной машины (VM) 12 фактически являются виртуальной конфигурацией и виртуальным описанием характеристик, поскольку потенциальная виртуальная машина (VM) 12 является виртуальным устройством. Однако такая виртуальная конфигурация и виртуальное описание характеристик рабочей нагрузки применимы к определению ресурсов, требуемых от каждого потенциального хоста 14, по меньшей мере, относительно показателей для описания характеристик рабочей нагрузки. В общем случае в настоящем изобретении блок 18 оценки берет в качестве входной информации представление рабочей нагрузки либо для потенциальной виртуальной машины (VM) 12, либо для потенциальной физической машины 10. В каждом случае рабочая нагрузка описывается для блока 18 оценки в соответствии с данными, полученными блоком 20 сбора данных, интерфейсом 22 данных и т.п., как можно видеть на фиг.3. Следует отметить в отношении фиг.3, что такие данные не обязательно получаются из потенциальной виртуальной машины (VM) 12, полученной из потенциальной физической машины 10, но вместо этого могут быть получены непосредственно от потенциальной физической машины 10.
Аналогичным образом блок 18 оценки также принимает для каждого потенциального хоста 14 модельные данные, включающие в себя фактическую конфигурацию процессора для потенциального хоста 14 и фактическое описание характеристик рабочей нагрузки для каждого потенциального хоста 14. Как и ранее, такая фактическая конфигурация процессора может, например, представлять, что потенциальный хост 14 имеет конкретный процессор, работающий с конкретной скоростью с конкретными ресурсами, доступными до развертывания потенциальной виртуальной машины (VM) 12 такому потенциальному хосту 14. Здесь описание характеристик фактической рабочей нагрузки основано на тех же самых показателях, что и описание характеристик рабочей нагрузки потенциальной виртуальной машины (VM) 12, и также может включать в себя описание характеристик фактической рабочей нагрузки относительно использования других ресурсов потенциального хоста 14, например процессора, памяти, емкости запоминающего устройства, сети 16 и т.п.
Следует отметить относительно каждого потенциального хоста 14 и потенциальной виртуальной машины (VM) 12, что по меньшей мере некоторые из данных для показателей описания характеристик рабочей нагрузки могут быть получены на хронологической основе посредством блока 20 сбора данных и т.п., по мере работы потенциального хоста 14, по мере работы виртуальной машины (VM) 12, по мере работы физической машины, соответствующей виртуальной машине (VM) 12 и т.п. Следует понимать, что такой блок 20 сбора хронологических данных может работать любым подходящим образом без отступления от сущности и объема настоящего изобретения. Один способ сбора таких данных изложен ниже. Такой блок 20 сбора хронологических данных известен или должен быть понятен для специалистов и поэтому не требует подробного изложения здесь.
Также следует отметить относительно каждого потенциального хоста 14, что по меньшей мере некоторые из фактических данных для показателей описания характеристик рабочей нагрузки могут быть получены как текущие данные от потенциального хоста 14 посредством интерфейса 22 данных и т.п. по мере работы потенциального хоста 14. Следует понимать, что такой интерфейс 22 данных может работать любым подходящим образом без отступления от сущности и объема настоящего изобретения. Такой интерфейс 22 известен или должен быть понятен для специалистов и поэтому не требует подробного изложения здесь. Также следует отметить, что по меньшей мере в некоторых обстоятельствах подобный интерфейс 22 данных может использоваться для получения по меньшей мере некоторых текущих данных относительно потенциальной виртуальной машины (VM) 12. Например, такой интерфейс 22 может собирать такие текущие данные от физической машины 10, соответствующей потенциальной виртуальной машине (VM) 12, или от потенциальной виртуальной машины (VM) 12, если она уже работает на некотором хосте 14.
Главным образом и в одном варианте воплощения настоящего изобретения, блок 18 оценки работает для выдачи оценки относительно каждого потенциального хоста 14, которая характеризует, может ли потенциальная виртуальная машина (VM) 12 быть развернута на таком потенциальном хосте 14, и если может, насколько хорошо потенциальный хост 14 может разместить потенциальную виртуальную машину (VM) 12. В общем случае, такая оценка отражает на основе конфигурации и описания характеристик рабочей нагрузки, имеет ли потенциальный хост 14 возможность разместить потенциальную виртуальную машину (VM) 12, как развернутую на нем, и если имеет, насколько велика эта возможность в относительных единицах. Например, оценка может быть выдана как число от 0 до 5, где 0 обозначает отсутствие возможности, 5 обозначает максимальную возможность и промежуточные значения обозначают промежуточную относительную величину возможности.
В одном варианте воплощения настоящего изобретения блок 18 оценки работает на основе жестких требований и мягких требований. Жесткое требование может быть определено как требование, которое обязательно должно быть удовлетворено для развертывания потенциальной виртуальной машины (VM) 12 на потенциальном хосте 14. Например, если потенциальная виртуальная машина (VM) 12 требует 2 гигабайта пространства запоминающего устройства на потенциальном хосте 14 и потенциальный хост 14 имеет в наличии только 1 гигабайт, потенциальная виртуальная машина (VM) 12 не должна развертываться на таком потенциальном хосте 14. В общем случае, жесткие требования оцениваются на основе фактических данных, полученных посредством интерфейса 22 данных от каждого потенциального хоста 14. Примеры таких жестких требований обычно вытекают из возможностей, относящихся к изложенным выше показателям рабочей нагрузки, и поэтому могут включать в себя, но без ограничения:
- возможности процессора - потенциальный хост 14 обязательно должен иметь достаточную выраженную в процентах доступность процессора для удовлетворения требованиям потенциальной виртуальной машины (VM) 12, и, кроме того, мультипроцессорная потенциальная виртуальная машина (VM) 12 может выполняться только на потенциальном хосте 14, на котором выполняется подходящая версия программного обеспечения виртуализации;
- возможности запоминающего устройства - потенциальный хост 14 обязательно должен иметь достаточно свободного пространства на запоминающем устройстве и соответствующих ресурсов для хранения и обслуживания потенциальной виртуальной машины (VM) 12;
- возможности памяти - потенциальный хост 14 обязательно должен иметь достаточно памяти, чтобы дать возможность потенциальной виртуальной машине (VM) 12 выполняться как развернутой;
- возможности сети - потенциальный хост 14 обязательно должен иметь в наличии достаточную пропускную способность сети для доступа к сети 16, требуемого потенциальной виртуальной машиной (VM) 12.
Следует отметить, что не все из упомянутого выше фактически может представлять собой жесткие требования при любых обстоятельствах. В одном примере возможности процессора необязательно должны являться жестким требованием, если ухудшенная производительность из-за нехватки достаточных возможностей считается допустимой. В другом примере возможности сети аналогично необязательно являются жестким требованием, если ухудшенная пропускная способность из-за нехватки достаточных возможностей считается допустимой.
Мягкое требование может быть определено как требование, которое следует удовлетворить для достижения хорошего или допустимого уровня производительности потенциальной виртуальной машины (VM) 12, развернутой на любом конкретном потенциальном хосте 14. Таким образом, мягкое требование следует удовлетворить, но если оно не будет удовлетворено, развернутая потенциальная виртуальная машина (VM) 12 по-прежнему будет работать, хотя и с ухудшенным уровнем обслуживания.
Перед созданием упомянутой выше оценки для каждого потенциального хоста 14 относительно потенциальной виртуальной машины (VM) 12 и как показано на фиг.4, блок оценки в одном варианте воплощения настоящего изобретения выполняет функции, включающие в себя:
- масштабирование потребления процессора потенциальной виртуальной машины (VM) 12 к эквивалентному потреблению процессора потенциального хоста 14 (этап 401). Например, если потенциальная виртуальная машина (VM) 12 требует 20% своего процессора, но процессор потенциального хоста 14 оказывается быстрее, может случиться, что потенциальная виртуальная машина (VM) 12 вместо этого потребует лишь 8% такого процессора такого потенциального хоста 14. Следует понимать, что тогда необходимо масштабирование для сравнения в эквивалентных единицах потребления процессора, требуемого потенциальной виртуальной машиной (VM) 12, с потреблением процессора, доступного от потенциального хоста 14. Следует понимать, что такое масштабирование может быть выполнено блоком 18 оценки любым подходящим образом без отступления от сущности и объема настоящего изобретения. Например, можно упомянуть эквивалентное ранжирование процессора потенциальной виртуальной машины (VM) 12 и процессора потенциального хоста 14. Ранжирование по производительности процессора может не являться частью модельных данных, принятых блоком 18 оценки от блока 20 сбора данных. Вместо этого блок 18 оценки может поддерживать библиотеку конфигураций процессоров, которая включает в себя ранжирование по производительности. Если библиотека не содержит процессор при оценке, то ранжирование для такого процессора может быть приближено с использованием алгоритма, который учитывает ранжирование аналогичных конфигураций процессоров в библиотеке;
- учет накладных расходов виртуализации (этап 403). В частности, когда физическая машина 10 преобразовывается в виртуальную машину (VM) 12, следует понимать, что хост 14 при размещении виртуальной машины (VM) 12 должен иметь возможности не только для виртуальной машины (VM) 12, но и для дополнительной работы или "накладных расходов", связанных с виртуализацией такой виртуальной машины (VM) 12. Такие накладные расходы налагаются любой виртуальной машиной (VM) 12 и являются результатом эмуляции устройств, разделения ресурсов и других ресурсов, которые должны быть израсходованы для осуществления виртуализации виртуальной машины (VM) 12. Следует понимать, что количество накладных расходов изменяется в зависимости от типа рабочей нагрузки, которая может быть связана с потенциальной виртуальной машиной (VM) 12. Например, если потенциальная виртуальная машина (VM) 12 требует доступа к сети 16, должны быть понесены накладные расходы для транслирования виртуальных сетевых запросов в фактические запросы. Аналогично, если потенциальная виртуальная машина (VM) 12 требует доступа к запоминающему устройству, должны быть понесены накладные расходы для транслирования запросов к диску в фактические запросы. В любом случае накладные расходы могут быть охарактеризованы блоком 18 оценки на основе соответствующих показателей, таких как тип работы, которую потенциальная виртуальная машина (VM) 12 должна выполнять, количество ожидаемых запросов к диску, количество ожидаемых сетевых запросов, количество ожидаемых графических запросов, количество обращений к памяти, количество прерываний процессора, количество выполняемых процессов и т.п. Следует понимать, что учет накладных расходов может быть выполнен блоком 18 оценки любым подходящим образом без отступления от сущности и объема настоящего изобретения;
- моделирование выполнения потенциальной виртуальной машины (VM) 12 на потенциальном хосте 14 после масштабирования и учета накладных расходов (этап 405). В частности, блок 18 оценки помещает "фиктивную" виртуальную машину (VM) 12 на потенциальном хосте 14 с параметрами использования, которые по меньшей мере приблизительно соответствуют потенциальной виртуальной машине (VM) 12, развернутой и работающей на потенциальном хосте 14, чтобы определить, приемлемо ли размещает потенциальный хост 14 такую фиктивную виртуальную машину (VM) 12. Такое моделирование с помощью такой фиктивной виртуальной машины (VM) 12 выполняется в попытке подтвердить, что потенциальный хост 14 действительно может разместить потенциальную виртуальную машину (VM) 12, по меньшей мере представленную фиктивной виртуальной машиной (VM) 12. По существу размещение фиктивной виртуальной машины (VM) 12 на потенциальном хосте 14 объединяет требования к ресурсам потенциальной виртуальной машины (VM) 12 посредством фиктивной виртуальной машины (VM) 12 с текущим использованием ресурсов на потенциальном хосте 14, чтобы получить в результате потребление ресурсов, которое может получиться в результате размещения потенциальной виртуальной машины (VM) 12 на потенциальном хосте 14.
Следует отметить, что фиктивная виртуальная машина (VM) 12, размещенная на потенциальном хосте 14, может быть развернута фактически или, как альтернатива, может быть развернута концептуально. В частности, относительно последнего случая фактическое размещение/развертывание фиктивной виртуальной машины (VM) 12 может являться недопустимым, поскольку такая фиктивная виртуальная машина (VM) 12 использовала бы фактические ресурсы на потенциальном хосте 14 и, таким образом, могла бы затронуть другие виртуальные машины (VM) 12 и т.п. на таком потенциальном хосте 14, которые выполняют фактическую работу. Вместо этого может быть выполнено концептуальное развертывание посредством вычисления, и при этом требования к рабочим характеристикам потенциальной виртуальной машины (VM) 12 и показатели производительности потенциального хоста 14 будут объединены, чтобы спроектировать потребление на потенциальном хосте 14 посредством такой потенциальной виртуальной машины (VM) 12, развернутой на нем.
Относительно упомянутых выше накладных расходов виртуализации следует также отметить, что, поскольку такие накладные расходы являются такими переменными и зависят от типа рабочей нагрузки потенциальной виртуальной машины (VM) 12, в одном варианте воплощения настоящего изобретения может быть определен фиксированный набор эталонных рабочих нагрузок, по одной для каждого типа рабочей нагрузки. Такие типы рабочих нагрузок и соответствующие эталоны могут включать в себя, но без ограничения: сервер базы данных, веб-сервер и терминальный сервер. Каждый тип рабочей нагрузки имеет заданное описание характеристик, которое позволяет оценивать накладные расходы для процессора, памяти, запоминающего устройства и сети и т.п., связанные с типом рабочей нагрузки. В общем случае, более интенсивные рабочие нагрузки на запоминающее устройство и на сеть подвержены более крупным накладным расходам для процессора из-за стоимости виртуализации таких ресурсов.
Следует отметить, что оценка накладных расходов виртуализации может быть дополнительно усовершенствована. В частности, стоимостное выражение процессора может быть связано с передачей одного байта при сетевых и дисковых операциях ввода-вывода между потенциальной виртуальной машиной (VM) 12 и потенциальным хостом 14. Если модельные данные, принятые от блока 20 сбора данных, включают в себя дисковую и сетевую рабочую нагрузку при вводе-выводе, то блок 18 оценки может применить стоимостное выражение процессора для одного байта к таким данным рабочей нагрузки, чтобы получить общие накладные расходы процессора. В случаях, где стоимостное выражение процессора получено от процессора, который отличается от оцениваемого процессора, стоимостное выражение может быть масштабировано точно так же, как описано на этапе 401. Такое масштабирование уменьшает усилия, требуемые для моделирования накладных расходов виртуализации через множество конфигураций процессоров.
Выходная информация блока 18 оценки для каждого потенциального хоста 14, как было изложено выше, представляет собой оценку, которая характеризует, насколько хорошо потенциальный хост 14 может разместить потенциальную виртуальную машину (VM) 12, с учетом ресурсов, требуемых потенциальной виртуальной машиной (VM) 12, и накладных расходов, требуемых для виртуализации потенциальной виртуальной машины (VM) 12 на потенциальном хосте 14. В одном варианте воплощения настоящего изобретения такая оценка вычисляется блоком 18 оценки следующим образом.
Во-первых, если любое из упомянутых выше жестких требований не удовлетворено, то есть потенциальный хост 14 не имеет в наличии необходимых ресурсов, оценка равна 0. Кроме того, если использование какого-либо ресурса потенциальной виртуальной машиной (VM) 12 на потенциальном хосте 14 приводит к тому, что потенциальный хост 14 превышает порог, установленный для использования такого ресурса, оценка равна 0 (этап 407). Как будет более подробно изложено ниже, каждый ресурс на потенциальном хосте 14 имеет предопределенный порог использования, вне которого использование не рекомендуется. Таким образом, такой порог фактически определяет резерв ресурса, который должен быть доступным для потенциального хоста 14, чтобы обрабатывать ситуации, в которых потребление является выше ожидаемого. Если оценка установлена равной 0, поскольку потенциальная виртуальная машина (VM) 12 приводит к тому, что потенциальный хост 14 нарушает жесткое требование или порог, процесс останавливается. В ином случае процесс продолжается посредством вычисления значения для оценки (этап 409).
В одном варианте воплощения настоящего изобретения для каждого из нескольких ресурсов на потенциальном хосте 14 вычисляется промежуточная оценка (этап 411). Такие ресурсы могут представлять собой любые ресурсы без отступления от сущности и объема настоящего изобретения, например потребление процессора, потребление памяти, потребление запоминающего устройства, потребление сети и т.п.
Промежуточная оценка для каждого ресурса вычисляется на основе порога, установленного для ресурса, выраженного в процентах потребления, вычисленного для ресурса на основе собранных данных, и весового коэффициента, назначенного ресурсу, следующим образом:
Промежуточная оценка = (Порог - Потребление) × Весовой коэффициент.
Порог и весовой коэффициент могут быть выбраны администратором и т.п. на основе любых соответствующих показателей без отступления от сущности и объема настоящего изобретения. Порог, который является изложенным выше порогом, может быть выражен как процентная доля и соответствует упомянутому выше резерву, определенному для ресурса. Такой резерв может быть определен достаточно произвольно, но в общем случае должен быть установлен для обеспечения разумного запаса дополнительных возможностей при обстоятельствах. В качестве примера, если ресурс представляет собой запоминающее устройство на потенциальном хосте 14, резерв может быть определен как 20% емкости запоминающего устройства на потенциальном хосте 14, и в этом случае порог составляет 80%. Аналогично, например, резерв величиной в 15% установит порог равным 85%. Весовой коэффициент служит для того, чтобы давать больший акцент или меньший акцент ресурсу по сравнению с другими ресурсами при вычислении полной оценки. Таким образом, если все ресурсы рассматриваются как имеющие равную важность, всем таким ресурсам можно дать одинаковый вес, например, равный 5. Соответствующим образом, если один ресурс рассматривается как вдвое более важный, чем другой, этому ресурсу можно дать вес, вдвое больший, чем вес другого ресурса, например 6 и 3 соответственно.
Немаловажно, что выраженное в процентах потребление для ресурса вычисляется на основе соответствующих данных, собранных блоком 20 сбора данных и/или интерфейсом 22 данных, в зависимости от обстоятельств, и после того, как такие данные, возможно, были масштабированы и/или скорректированы с учетом накладных расходов, как на этапах 401 и 403, вновь в зависимости от обстоятельств. Вычисление такого выраженного в процентах потребления, выполняемое блоком 18 оценки, может быть выполнено любым соответствующим образом без отступления от сущности и объема настоящего изобретения. Обычно выраженное в процентах потребление, вычисленное для любого конкретного ресурса потенциального хоста 14, представляет, какое количество ресурса в процентах используется потенциальным хостом 14, когда на нем развертывается потенциальная виртуальная машина (VM) 12 и когда потенциальный хост 14 выполняет все другие функции, которые выполнялись до развертывания потенциальной виртуальной машины (VM) 12. Таким образом и в качестве примера, если потенциальный хост 14 до развертывания потенциальной виртуальной машины (VM) 12 использовал 20% доступной пропускной способности сети и если предполагается, что потенциальный хост 14 после развертывания потенциальной виртуальной машины (VM) 12 будет использовать 45% этой доступной пропускной способности сети (то есть дополнительные 25%, свойственные для потенциальной виртуальной машины (VM) 12), то выраженное в процентах потребление сетевых ресурсов для потенциального хоста 14 равно 45%.
Графически выраженное в процентах потребление представлено на фиг.5. В частности, как показано, для некоторого конкретного ресурса потенциальный хост до развертывания на нем потенциальной виртуальной машины (VM) 12 имел ранее существующее потребление хоста, равное 25%, которое представляет другие виртуальные машины (VM) 12, уже развернутые на таком потенциальном хосте 14, а также все другие операции хоста. После развертывания потенциальной виртуальной машины (VM) 12, как показано, дополнительное потребление потенциальной виртуальной машиной (VM) 12 было определено равным 40%, что дает в результате полное потребление, равное 65%. Как показано, для такого ресурса был установлен резерв, равный 20%, что дает в результате порог, составляющий 80% (100-20), и что после развертывания потенциальной виртуальной машины (VM) 12 15% ресурса останутся свободными (80-65). Таким образом, промежуточная оценка для такого ресурса составит 80-процентный порог минус 65% для полного потребления, что составляет 15% оставшегося свободным ресурса, умноженные на любой весовой коэффициент, установленный для этого ресурса. Тогда в итоге выраженное в процентах потребление любого ресурса наиболее близко соответствует проценту ресурса, остающегося свободным после того, как потенциальная виртуальная машина (VM) 12 развернута на потенциальном хосте 14, имеющем такой ресурс.
Во всяком случае, как только промежуточная оценка вычислена для каждого рассматриваемого ресурса потенциального хоста 14, такие промежуточные оценки объединяются, чтобы получить в результате оценку для потенциального хоста 14 (этап 413), следующим образом:
Оценка = Сумма промежуточных оценок/ Сумма весовых коэффициентов промежуточных оценок/ Нормировочное значение.
Следует отметить, что дополнительное значение, например 0,5, может быть добавлено к вычислению оценки, с тем чтобы оценка никогда не была меньше такого дополнительного значения. Такая оценка также может быть округлена до ближайшего значения 0,5, что в результате дает число между 0 и максимальным значением, например 5. Следует понимать, что нормировочное значение выбирается для того, чтобы сжать диапазон оценки между 0 и максимальными значениями. Например, если Сумма промежуточных оценок/ Сумма весовых коэффициентов промежуточных оценок имеет максимальное значение и максимальная оценка должна быть равна 5, нормировочное значение будет составлять 20, что равно 100/5.
Безусловно, оценка для каждого потенциального хоста 14 и его промежуточные оценки также могут быть вычислены любым другим соответствующим образом без отступления от сущности и объема настоящего изобретения, безусловно предполагая, что оценка дает разумное представление того, насколько хорошо потенциальный хост 14 может разместить потенциальную виртуальную машину (VM) 12, развернутую на нем, учитывая все другие виртуальные машины (VM) 12, уже развернутые на потенциальном хосте 14, и другие операции, уже выполняемые потенциальным хостом 14. Например, хотя показанная здесь оценка фактически придает значение тому, сколько свободных ресурсов будет иметь потенциальный хост 14 после развертывания на нем потенциальной виртуальной машины (VM) 12, такая оценка может вместо этого придавать значение тому, сколько таких ресурсов используется на потенциальном хосте 14.
После того как блок 18 оценки вычислил оценку для каждого потенциального хоста 14 для потенциальной виртуальной машины (VM) 12, блок оценки может предоставить оценки администратору и т.п. (этап 415), после чего администратор может делать выбор среди оцененных потенциальных хостов 14 (этап 417). Следует отметить, что администратор вероятно сделает выбор среди потенциальных хостов 14 на основе одной из двух стратегий развертывания - выравнивание нагрузки и максимизация потребления ресурсов. При выравнивании нагрузки администратор пытается развернуть потенциальную виртуальную машину (VM) 12 на потенциальном хосте 14 с наибольшими ресурсами после такого развертывания (то есть свободными), с тем чтобы в конечном счете развертывание виртуальных машин (VM) 12 на всех хостах 14 происходило приблизительно с одинаковой нагрузкой сбалансированным образом. Напротив, при максимизации потребления ресурсов администратор пытается максимизировать использование каждого хоста 14 и, таким образом, пожелает развернуть потенциальную виртуальную машину (VM) 12 на потенциальном хосте 14 с наименьшим количеством ресурсов (то есть свободных ресурсов) после такого развертывания.
Таким образом, выравнивание нагрузки пытается оставить все хосты 14 одинаково используемыми после развертывания, в то время как максимизация потребления ресурсов пытается использовать все доступные ресурсы на одном хосте 14 перед тем, как начать использовать следующий хост 14. Следует понимать, что поскольку вычисленная выше оценка придает значение свободным ресурсам потенциального хоста 14, администратор, выполняющий выравнивание нагрузки, вероятно выберет для развертывания потенциальной виртуальной машины (VM) 12 потенциальный хост 14 с наиболее высокой оценкой, который по определению, собственно говоря, будет иметь наибольшие свободные ресурсы после такого развертывания. Напротив, администратор, выполняющий максимизацию потребления ресурсов, вероятно выберет для развертывания потенциальной виртуальной машины (VM) 12 потенциальный хост 14 с наименьшей ненулевой оценкой, который по определению, собственно говоря, будет иметь наименьшие свободные ресурсы после такого развертывания.
Как только потенциальный хост 14 был выбран, на выбранном хосте 14 может быть выполнено резервирование ресурсов, возможно посредством виртуальной машины (VM) 12 резервирования, которая создается и развертывается на выбранном хосте 14 (этап 419). Следует понимать, что виртуальная машина (VM) 12 резервирования является "пустой" виртуальной машиной (VM) 12 без какой-либо самостоятельной функциональности или информационного содержания. Такая виртуальная машина (VM) 12 резервирования описывает аппаратную конфигурацию и требования к ресурсам потенциальной виртуальной машины (VM) 12, но исключает из рассмотрения память, данные и запоминающее устройство потенциальной виртуальной машины (VM) 12. Следует понимать, что виртуальная машина (VM) 12 резервирования обеспечивает важную проверку, что развертывание потенциальной виртуальной машины (VM) 12 фактически возможно, поскольку в особенности некоторые требования развертывания могут быть известны только базовому программному обеспечению виртуализации, а не блоку 18 оценки, и требования развертывания могут отличаться между разными версиями, выпусками или поставщиками систем виртуализации. Кроме того, типичная виртуальная машина (VM) 12 может являться относительно большой, возможно порядка нескольких гигабайтов или больше, и копирование такой виртуальной машины (VM) 12 на хост 14, особенно по медленной сети 16, могло бы занять несколько часов, если не больше. Таким образом, виртуальная машина (VM) 12 резервирования развертывается гораздо быстрее, а также резервирует ресурсы хоста для потенциальной виртуальной машины (VM) 12 в течение времени, когда потенциальная виртуальная машина (VM) 12 фактически развертывается на выбранном хосте 14 (этап 421). Следует отметить, что резервирование ресурсов на этапе 419 также может быть достигнуто посредством дебетования использования ресурсов от выбранного хоста 14, с тем чтобы последующие дополнительные развертывания приняли во внимание, что развертывание потенциальной виртуальной машины (VM) 12 будет использовать ресурсы.
Хотя настоящее изобретение до сих пор излагалось в терминах отдельных потенциальных хостов 14, такое изобретение также может быть осуществлено относительно групп хостов и т.п. аналогичным образом. Следует понимать, что группа хостов представляет собой коллекцию хостов 14, каждый из которых может разместить конкретную потенциальную виртуальную машину (VM) 12, если она будет фактически развернута на такой группе хостов. Следует отметить, тем не менее, что ресурсы для группы хостов могут быть описаны немного иным образом, например, на основе среднего представителя группы хостов, или на основе коллективного представления группы хостов, или на основе наименее оборудованного хоста 14 из группы и т.п.
Кроме того, хотя настоящее изобретение до сих пор описывалось в терминах потенциальной виртуальной машины (VM) 12, которая может быть развернута на хосте 14, такое изобретение также может быть осуществлено относительно потенциальной виртуальной машины (VM) 12, уже развернутой на одном хосте 14, но переносимой на потенциальный хост 14. Следует понимать, что в таком случае происходит та же самая процедура оценки, хотя некоторые данные относительно потенциальной виртуальной машины (VM) 12 могут быть получены из несколько иных источников, и развертывание потенциальной виртуальной машины (VM) 12 достигается посредством переноса потенциальной виртуальной машины (VM) 12 с одного хоста 14 на выбранный хост 14.
Аналогично, хотя настоящее изобретение до сих пор излагалось в терминах отдельных потенциальных виртуальных машин (VM) 12, такое изобретение также может быть осуществлено относительно потенциального множества виртуальных машин (VM) 12, которые могут быть развернуты на потенциальном хосте 14, а также на группе потенциальных хостов. Развертывание "много машин на один хост" включает в себя оценку гипотетического использования потенциального хоста 14 на основе добавления многих виртуальных машин (VM) 12 вместо только одной. Как следует понимать, ресурсы для потенциального множества виртуальных машин (VM) 12 представляются коллективно.
Особенно следует отметить, что развертывание "много машин на много хостов" является более сложным. Требующий меньшего объема вычислений способ выполнения развертывания "много машин на много хостов" состоит в том, чтобы просто выбрать произвольное упорядочение виртуальных машин (VM) 12 и выполнять развертывание на основе такого упорядочения. Однако глобально оптимальное развертывание не достигается, поскольку другое упорядочение виртуальных машин (VM) 12 могло бы дать в результате более хорошее полное развертывание. Для улучшения упорядочения может быть применена эвристика, например упорядочение может быть выполнено на основе от самой большой виртуальной машины (VM) 12 к самой маленькой виртуальной машине (VM) 12, выбираемых на основе взвешенного объединения потребления различных ресурсов. Безусловно, полностью оптимальное решение состояло бы в том, чтобы испробовать все возможные упорядочения виртуальных машин (VM) 12, хотя такое решение могло бы являться чрезвычайно дорогостоящим в вычислительном отношении, а также в значительной степени ненужным, поскольку упомянутая выше эвристика вероятно приводит к приемлемым результатам.
Как было изложено выше, процесс определения оценки для описания развертывания потенциальной виртуальной машины (VM) 12 на потенциальном хосте 14 может использоваться не только относительно уже виртуализированной виртуальной машины (VM) 12, но также и относительно физической машины 10, которая является кандидатом на виртуализацию. Таким образом, одна потенциальная виртуальная машина (VM) 12 была оценена блоком 18 оценки относительно одного или более потенциальных хостов 14. Следует отметить, тем не менее, что блок 18 оценки также может оценить множество потенциальных виртуальных машин (VM) 12 относительно конкретного потенциального хоста 14, относительно представителя доступных потенциальных хостов 14, относительно множества потенциальных хостов 14 и т.п. В первых двух случаях блок 18 оценки фактически использовался бы для определения того, какая из множества потенциальных виртуальных машин (VM) 12 лучше всего подходит для развертывания на потенциальном хосте 14, в то время как в третьем случае блок 18 оценки фактически использовался бы для определения того, какая из множества потенциальных виртуальных машин (VM) 12 и на каком из потенциальных хостов 14 лучше всего подходит для развертывания. В частности, относительно первых двух случаев блок 18 оценки, таким образом, может использоваться для выбора среди множества потенциальных физических машин 10, представленных соответствующими виртуальными машинами (VM) 12, которые могут быть виртуализированы и развернуты на потенциальном хосте 14.
Данные потенциальной виртуальной машины (VM) 12,
потенциального хоста 14 для блока 18 оценки
Как упоминалось выше, в зависимости от того, виртуализирована ли уже потенциальная виртуальная машина (VM) 12 из физической машины 10 или пока еще не виртуализирована, данные для потенциальной виртуальной машины (VM) 12, которые предоставляются блоку 18 оценки и используются им, могут быть получены из разных источников. Следует отметить, что потенциальная виртуальная машина (VM) 12 может являться совершенно новой и не основываться на какой-либо физической машине 10, и в этом случае администратор или т.п. может определить данные для такой потенциальной виртуальной машины (VM) 12 на основе ожидаемых требуемых ресурсов, в том числе ресурсов процессора, памяти, сети и хранения и т.п. При этом данные для потенциальной виртуальной машины (VM) 12, полученные от физической машины 10, и данные для потенциального хоста 14 могут быть получены из информации о конфигурации и данных о производительности, собранных от физической машины 10 и потенциального хоста 14 соответственно, чтобы более точно представить такую потенциальную виртуальную машину (VM) 12 и потенциальный хост 14 для блока 18 оценки.
Относительно доступных данных о производительности, в частности, либо для виртуальной машины (VM) 12, либо для хоста 14, такие данные могут быть собраны как выборки или т.п. и объединены любым подходящим образом посредством блока 20 сбора данных и интерфейса 22 данных или т.п. без отступления от сущности и объема, предполагая, что такое объединение, в частности, создает разумное представление о потреблении ресурсов. В частности, с учетом того что потребление ресурсов обычно является относительно низким, но в пиковое время является относительно высоким, среднее потребление не является особенно хорошим представлением о таком потреблении. Вместо этого в одном варианте воплощения настоящего изобретения потребление представляется как среднее значение от относительно более интенсивного потребления. В соответствии с этим объединение выборок данных для получения такого среднего более интенсивного потребления может быть выполнено для нескольких уровней времени. В частности, на каждом уровне усредняются несколько наибольших значений выборок данных.
Например, как показано на фиг.6, может иметь место, что конкретные данные использования организованы в три уровня, первый, второй и третий, которые соответственно представляют почасовые, ежедневные и еженедельные данные, где:
- почасовые данные на первом уровне выбираются как почасовые выборки данных использования (этап 601),
- ежедневные данные на втором уровне представляют собой объединение почасовых данных на первом уровне, а именно среднее значение трех наибольших выборок таких почасовых данных (этап 603),
- еженедельные данные на третьем уровне представляют собой объединение ежедневных данных на втором уровне, а именно среднее значение трех наибольших выборок таких ежедневных данных (этап 605),
- окончательное значение данных, которое будет использоваться блоком 18 оценки, представляет собой объединение еженедельных данных на третьем уровне, а именно среднее значение трех наибольших выборок таких еженедельных данных (этап 607).
Безусловно, для получения окончательного значения также могут использоваться любое количество уровней и любой другой способ объединения от уровня к уровню без отступления от сущности и объема настоящего изобретения.
Заключение
Программирование, необходимое для реализации процессов, выполняемых в связи с настоящим изобретением, является относительно прямолинейным и должно быть понятно для специалистов в области программирования. В соответствии с этим такое программирование не прилагается к настоящему документу. Любое конкретное программирование может быть использовано для реализации настоящего изобретения без отступления от его сущности и объема.
В предшествующем описании можно заметить, что настоящее изобретение содержит новую и полезную систему и способ, которые позволяют администратору и т.п. развертывать физические машины 10 и т.п. как виртуальные машины (VM) 12 на хостах 14. Такая система и способ эффективным образом находят соответствие между определенной рабочей нагрузкой и набором совместимых физических ресурсов для обслуживания рабочей нагрузки, таким образом, облегчая совместимое, эффективное развертывание, принимающее во внимание требования к ресурсам, в том числе к работе с сетями, хранению данных, мощности процессора, памяти и т.п. Однако следует понимать, что это изобретение не ограничено конкретными раскрытыми вариантами воплощения, но предусматривает охват модификаций в пределах сущности и объема настоящего изобретения, которые определены приложенной формулой изобретения.

Claims (18)

1. Компьютерно-реализуемый способ определения того, следует ли развертывать потенциальную виртуальную машину (VM) на потенциальном хосте, содержащий этапы, на которых:
принимают почасовые выборки данных о потреблении для каждого из нескольких ресурсов, доступных с потенциального хоста;
усредняют три наибольшие почасовые выборки за день, тем самым получая выборки ежедневных данных о потреблении;
усредняют три наибольших выборки ежедневных данных о потреблении за неделю, тем самым получая выборки еженедельных данных о потреблении;
усредняют три наибольших выборки еженедельных данных о потреблении за множество недель, тем самым получая окончательные данные о потреблении для каждого из этих нескольких ресурсов, доступных с потенциального хоста;
вычисляют промежуточную оценку для каждого из упомянутых нескольких ресурсов, доступных с потенциального хоста, на основе окончательных данных о потреблении, причем эта промежуточная оценка для ресурса соответствует количеству ресурса, которое осталось бы свободным после того, как потенциальная VM будет развернута на потенциальном хосте;
вычисляют оценку из вычисленных промежуточных оценок, чтобы охарактеризовать, насколько хорошо потенциальный хост может разместить потенциальную VM; и
развертывают потенциальную VM на потенциальном хосте на основе вычисленной оценки.
2. Способ по п.1, в котором при вычислении промежуточной оценки для каждого из нескольких ресурсов вычисляют промежуточные оценки для потребления процессора, потребления памяти, потребления хранения данных и потребления сети.
3. Способ по п.1, в котором при вычислении промежуточной оценки для каждого из нескольких ресурсов вычисляют промежуточные оценки для каждого из нескольких ресурсов так, что при вычислении учитываются накладные расходы виртуализации, при этом накладные расходы виртуализации представляют дополнительное потребление в отношении потенциального хоста, связанное с виртуализацией потенциальной VM на потенциальном хосте.
4. Способ по п.1, в котором при развертывании потенциальной VM на потенциальном хосте потенциальную VM развертывают на потенциальном хосте в ответ на определение того, что вычисленная оценка показывает, что потенциальный хост является наименее используемым потенциальным хостом из группы потенциальных хостов.
5. Способ по п.1, в котором при развертывании потенциальной VM на потенциальном хосте потенциальную VM развертывают на потенциальном хосте в ответ на определение того, что вычисленная оценка показывает, что потенциальный хост является наиболее загруженным потенциальным хостом, на котором может быть размещена потенциальная VM, из группы потенциальных хостов.
6. Компьютерная система, сконфигурированная выбирать сервер из группы серверов для размещения виртуальной машины и содержащая процессор и подключенную к процессору память, содержащую команды, которые при их исполнении процессором предписывают компьютерной системе:
вычислять первое значение, причем первое значение основывается, по меньшей мере, частично на процентной доле первого ресурса, которая осталась бы незадействованной на сервере в случае развертывания виртуальной машины на сервере;
вычислять второе значение, причем второе значение основывается, по меньшей мере, частично на процентной доле второго ресурса, которая осталась бы незадействованной на сервере в случае развертывания виртуальной машины на сервере;
вычислять оценку для сервера, причем оценка вычисляется, по меньшей мере, путем деления суммы первого значения и второго значения на нормировочное значение; и
развертывать виртуальную машину на сервере на основе вычисленной оценки для сервера и оценок для остальных серверов в группе серверов.
7. Компьютерная система по п.6, в которой память дополнительно содержит команды, которые при их исполнении процессором предписывают компьютерной системе устанавливать оценку для сервера так, чтобы она указывала, что у сервера нет запаса возможностей для размещения виртуальной машины, в ответ на определение того, что процентная доля первого ресурса, на текущий момент доступная на сервере, меньше величины, требуемой виртуальной машиной.
8. Компьютерная система по п.6, в которой память дополнительно содержит команды, которые при их исполнении процессором предписывают компьютерной системе устанавливать оценку для сервера так, чтобы она указывала, что у сервера нет запаса возможностей для размещения виртуальной машины, в ответ на определение того, что процентная доля первого ресурса, которая осталась бы незадействованной на сервере в случае развертывания виртуальной машины, меньше порога резерва.
9. Компьютерная система по п.6, в которой команды, которые предписывают компьютерной системе вычислять первое значение, дополнительно содержат команды, которые при их исполнении процессором предписывают компьютерной системе вычислять первое значение, причем первое значении основывается, по меньшей мере, частично на процентной доле первого ресурса, которая осталась бы незадействованной на сервере в случае развертывания виртуальной машины на сервере, и пороге резерва для первого ресурса.
10. Компьютерная система по п.6, в которой команды, которые предписывают компьютерной системе вычислять первое значение, дополнительно содержат команды, которые при их исполнении процессором предписывают компьютерной системе вычислять первое значение, причем первое значении основывается, по меньшей мере, частично на процентной доле первого ресурса, которая осталась бы незадействованной на сервере в случае развертывания виртуальной машины на сервере, и накладных расходах виртуализации, обусловленных виртуализацией первого ресурса для виртуальной машины.
11. Компьютерная система по п.6, в которой первый ресурс представляет собой пропускную способность запоминающего устройства.
12. Компьютерная система по п.6, в которой первый ресурс представляет собой пропускную способность сети.
13. Компьютерная система по п.5, в которой команды, которые при их исполнении процессором предписывают компьютерной системе развертывать виртуальную машину на сервере на основе вычисленной оценки, дополнительно содержат команды, которые при их исполнении процессором предписывают компьютерной системе развертывать виртуальную машину на сервере в ответ на определение того, что оценка показывает, что сервер является наименее используемым сервером из группы серверов.
14. Компьютерная система по п.6, в которой команды, которые при их исполнении процессором предписывают компьютерной системе развертывать виртуальную машину на сервере на основе вычисленной оценки, дополнительно содержат команды, которые при их исполнении процессором предписывают компьютерной системе развертывать виртуальную машину на сервере в ответ на определение того, что оценка показывает, что сервер является наиболее используемым сервером, на котором может быть размещена виртуальная машина, из группы серверов.
15. Машиночитаемый носитель, содержащий команды, которые при их исполнении процессором компьютерной системы предписывают компьютерной системе:
вычислять оценку процессора для каждого сервера во множестве серверов, причем оценка процессора для сервера основывается, по меньшей мере, частично на разности между процентной долей циклов процессора, не задействованной на текущий момент на сервере, и процентной долей циклов процессора, требуемой виртуальной машиной;
вычислять оценку памяти для каждого сервера в упомянутом множестве серверов, причем оценка памяти для сервера основывается, по меньшей мере, частично на разности между процентной долей оперативной памяти, не задействованной на текущий момент на сервере, и процентной долей оперативной памяти, требуемой виртуальной машиной;
вычислять оценку для каждого сервера в упомянутом множестве серверов, причем оценка вычисляется, по меньшей мере, путем деления суммы оценки процессора для сервера и оценки памяти для сервера на нормировочное значение; и
развертывать виртуальную машину на сервере, выбранном из упомянутого множества серверов на основе вычисленных оценок для всех серверов в данном множестве серверов.
16. Машиночитаемый носитель по п.15, дополнительно содержащий команды, которые при их исполнении процессором компьютерной системы предписывают компьютерной системе:
определять ежедневную процентную долю незадействованных циклов процессора для каждого сервера, причем ежедневная процентная доля незадействованных циклов процессора для сервера основывается на среднем от трех наибольших процентных долей незадействованных циклов процессора на сервере, собранных за день;
определять еженедельную процентную долю незадействованных циклов процессора для каждого сервера, причем еженедельная процентная доля незадействованных циклов процессора для сервера основывается на среднем от трех наибольших ежедневных процентных долей незадействованных циклов процессора для сервера за неделю; и
определять процентную долю незадействованных циклов процессора для каждого сервера, причем процентная доля незадействованных циклов процессора для сервера основывается на среднем от ряда наибольших еженедельных процентных долей незадействованных циклов процессора для сервера.
17. Машиночитаемый носитель по п.15, в котором команды, которые при их исполнении процессором предписывают компьютерной системе развертывать виртуальную машину на сервере на основе вычисленных оценок, дополнительно содержат команды, которые при их исполнении процессором предписывают компьютерной системе развертывать виртуальную машину на сервере в ответ на определение того, что оценки показывают, что сервер является наименее используемым сервером из упомянутого множества серверов.
18. Машиночитаемый носитель по п.15, в котором команды, которые при их исполнении процессором предписывают компьютерной системе развертывать виртуальную машину на сервере на основе вычисленных оценок, дополнительно содержат команды, которые при их исполнении процессором предписывают компьютерной системе развертывать виртуальную машину на сервере в ответ на определение того, что оценки показывают, что сервер является наиболее используемым сервером, на котором может быть размещена виртуальная машина, из упомянутого множества серверов.
RU2008145502/08A 2006-05-18 2007-02-15 Развертывание виртуальной машины на хосте на основе описания характеристик рабочей нагрузки RU2433459C2 (ru)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
RU2008145502A RU2008145502A (ru) 2010-05-27
RU2433459C2 true RU2433459C2 (ru) 2011-11-10

Family

ID=38713348

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2008145502/08A RU2433459C2 (ru) 2006-05-18 2007-02-15 Развертывание виртуальной машины на хосте на основе описания характеристик рабочей нагрузки

Country Status (13)

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

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2573219C2 (ru) * 2011-12-31 2016-01-20 Хуавэй Текнолоджиз Ко., Лтд. Способ и устройства обработки виртуализации и компьютерная система
RU2605473C2 (ru) * 2012-09-20 2016-12-20 Амазон Текнолоджис, Инк. Автоматизированное профилирование использования ресурса
RU2616167C2 (ru) * 2012-08-23 2017-04-12 Амазон Текнолоджис, Инк. Масштабирование экземпляра виртуальной машины
RU2639693C1 (ru) * 2013-12-17 2017-12-21 Хуавэй Текнолоджиз Ко., Лтд. Способ обработки ресурса, операционная система и устройство
RU2645595C2 (ru) * 2012-06-21 2018-02-21 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Выгрузка потоков виртуальных машин в физические очереди
RU2693313C2 (ru) * 2014-05-05 2019-07-02 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Безопасный транспорт зашифрованных виртуальных машин с непрерывным доступом владельца

Families Citing this family (262)

* 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
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
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
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
US9043391B2 (en) 2007-02-15 2015-05-26 Citrix Systems, Inc. Capturing and restoring session state of a machine without using memory images
US8176486B2 (en) * 2007-02-15 2012-05-08 Clearcube Technology, Inc. Maintaining a pool of free virtual machines on a server computer
US20100030877A1 (en) * 2007-02-23 2010-02-04 Mitsuru Yanagisawa Virtual server system and physical server selecting method
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
US8046694B1 (en) 2007-08-06 2011-10-25 Gogrid, LLC Multi-server control panel
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 日本電気株式会社 管理マシン、管理システム、管理プログラム、および、管理方法
US9363143B2 (en) 2008-03-27 2016-06-07 International Business Machines Corporation Selective computation using analytic functions
US7882219B2 (en) * 2008-03-27 2011-02-01 International Business Machines Corporation Deploying analytic functions
US20090248722A1 (en) * 2008-03-27 2009-10-01 International Business Machines Corporation Clustering analytic functions
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US8156243B2 (en) 2008-03-31 2012-04-10 Amazon Technologies, Inc. Request routing
US8533293B1 (en) 2008-03-31 2013-09-10 Amazon Technologies, Inc. Client side cache management
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
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
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
US7925782B2 (en) 2008-06-30 2011-04-12 Amazon Technologies, Inc. Request routing using network computing components
US9842004B2 (en) * 2008-08-22 2017-12-12 Red Hat, Inc. Adjusting resource usage for cloud-based networks
WO2010024027A1 (ja) * 2008-08-28 2010-03-04 日本電気株式会社 仮想サーバシステム及び物理サーバ選択方法
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 株式会社日立製作所 仮想マシン移動管理サーバおよび仮想マシン移動方法
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
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
US8732309B1 (en) 2008-11-17 2014-05-20 Amazon Technologies, Inc. Request routing utilizing cost information
US8521880B1 (en) 2008-11-17 2013-08-27 Amazon Technologies, Inc. Managing content delivery network service providers
US8073940B1 (en) 2008-11-17 2011-12-06 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
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
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
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
WO2011002946A1 (en) * 2009-06-30 2011-01-06 Citrix Systems, Inc. Methods and systems for selecting a desktop execution location
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
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
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
US8327060B2 (en) * 2009-11-30 2012-12-04 Red Hat Israel, Ltd. Mechanism for live migration of virtual machines with memory optimizations
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
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
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
US9027017B2 (en) 2010-02-22 2015-05-05 Virtustream, Inc. Methods and apparatus for movement of 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
JP5352890B2 (ja) * 2010-09-24 2013-11-27 株式会社日立製作所 計算機システムの運用管理方法、計算機システム及びプログラムを記憶する計算機読み取り可能な媒体
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
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
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
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
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
US8799453B2 (en) 2010-10-20 2014-08-05 Microsoft Corporation Managing networks and machines for an online service
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 富士通株式会社 仮想マシンの配置変更方法、仮想マシンの配置変更装置、及び、仮想マシンの配置変更プログラム
WO2012117453A1 (ja) * 2011-03-03 2012-09-07 株式会社日立製作所 計算機システム、および、計算機システムにおける仮想計算機の最適配置方法
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
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
JP5729466B2 (ja) 2011-04-20 2015-06-03 日本電気株式会社 仮想マシン管理装置、仮想マシン管理方法、及び、プログラム
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 株式会社エヌ・ティ・ティ・データ コンピュータシステム、仮想マシンデータ配置方法およびプログラム
WO2013019185A1 (en) 2011-07-29 2013-02-07 Hewlett-Packard Development Company, L.P. Migrating virtual machines
US8909785B2 (en) 2011-08-08 2014-12-09 International Business Machines Corporation Smart cloud workload balancer
EP2745248A4 (en) 2011-08-16 2015-06-17 Cirba Inc SYSTEM AND METHOD FOR DETERMINING AND VISUALIZING EFFECTS AND RISKS IN COMPUTER ENVIRONMENTS
WO2013029051A2 (en) 2011-08-25 2013-02-28 to fuVIRTUSTREAM, INC. Systems and methods of host-aware resource management involving 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 英业达集团(天津)电子技术有限公司 虚拟机的分配方法
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
TWI459296B (zh) * 2012-02-21 2014-11-01 Hon Hai Prec Ind Co Ltd 增加伺服器的虛擬機配置數量的方法
US10021179B1 (en) 2012-02-21 2018-07-10 Amazon Technologies, Inc. Local resource delivery network
WO2013128836A1 (ja) * 2012-03-02 2013-09-06 日本電気株式会社 仮想サーバ管理装置及び仮想サーバの移動先決定方法
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
US9043787B2 (en) * 2012-07-13 2015-05-26 Ca, Inc. System and method for automated assignment of virtual machines and physical machines to hosts
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
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 (주)엔텍 제로 클라이언트를 지원하는 가상화 서버의 가상 머신 설정을 위한 시스템 및 방법
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
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 中国电信股份有限公司 虚拟机宿主机的选择方法与装置
CN104981782B (zh) * 2013-02-01 2019-03-26 日本电气株式会社 用于控制资源的系统、控制模式生成装置
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
CA2915181A1 (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云计算管理平台建立虚拟机实例的方法和系统
WO2015087449A1 (ja) * 2013-12-13 2015-06-18 株式会社日立製作所 計算機システムおよび計算機システムの制御方法
US9641385B1 (en) * 2013-12-16 2017-05-02 Amazon Technologies, Inc. Dynamic system configuration in a virtual environment
CN103902384B (zh) * 2014-03-28 2017-08-11 华为技术有限公司 为虚拟机分配物理机的方法及装置
WO2015163877A1 (en) * 2014-04-24 2015-10-29 Hewlett-Packard Development Company, L.P. Placing virtual machines on physical hardware to guarantee bandwidth
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
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
US10033627B1 (en) 2014-12-18 2018-07-24 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
US9887931B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887932B1 (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
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10049051B1 (en) 2015-12-11 2018-08-14 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
US10303488B2 (en) 2016-03-30 2019-05-28 Sony Interactive Entertainment Inc. Real-time adjustment of application-specific operating parameters for backwards compatibility
US10275239B2 (en) 2016-03-30 2019-04-30 Sony Interactive Entertainment Inc. Deriving application-specific operating parameters for backwards compatiblity
US10915333B2 (en) 2016-03-30 2021-02-09 Sony Interactive Entertainment Inc. Deriving application-specific operating parameters for backwards compatiblity
US10372205B2 (en) 2016-03-31 2019-08-06 Sony Interactive Entertainment Inc. Reducing rendering computation and power consumption by detecting saccades and blinks
US10401952B2 (en) 2016-03-31 2019-09-03 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
US10192528B2 (en) 2016-03-31 2019-01-29 Sony Interactive Entertainment Inc. Real-time user adaptive foveated rendering
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
US10469513B2 (en) 2016-10-05 2019-11-05 Amazon Technologies, Inc. Encrypted network addresses
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 阿里巴巴集团控股有限公司 一种在集群中为虚拟机分配资源的方法和装置
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
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
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
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
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
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

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
US7051098B2 (en) * 2000-05-25 2006-05-23 United States Of America As Represented By The Secretary Of The Navy System for monitoring and reporting performance of hosts and applications and selectively configuring applications in a resource managed system
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

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2573219C2 (ru) * 2011-12-31 2016-01-20 Хуавэй Текнолоджиз Ко., Лтд. Способ и устройства обработки виртуализации и компьютерная система
US9244715B2 (en) 2011-12-31 2016-01-26 Huawei Technologies Co., Ltd. Virtualization processing method and apparatuses, and computer system
RU2645595C2 (ru) * 2012-06-21 2018-02-21 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Выгрузка потоков виртуальных машин в физические очереди
RU2616167C2 (ru) * 2012-08-23 2017-04-12 Амазон Текнолоджис, Инк. Масштабирование экземпляра виртуальной машины
RU2605473C2 (ru) * 2012-09-20 2016-12-20 Амазон Текнолоджис, Инк. Автоматизированное профилирование использования ресурса
RU2639693C1 (ru) * 2013-12-17 2017-12-21 Хуавэй Текнолоджиз Ко., Лтд. Способ обработки ресурса, операционная система и устройство
US10180843B2 (en) 2013-12-17 2019-01-15 Huawei Technologies Co., Ltd. Resource processing method and device for a multi-core operating system
RU2693313C2 (ru) * 2014-05-05 2019-07-02 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Безопасный транспорт зашифрованных виртуальных машин с непрерывным доступом владельца
US10956321B2 (en) 2014-05-05 2021-03-23 Microsoft Technology Licensing, Llc Secure management of operations on protected virtual machines

Also Published As

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

Similar Documents

Publication Publication Date Title
RU2433459C2 (ru) Развертывание виртуальной машины на хосте на основе описания характеристик рабочей нагрузки
Chung et al. Stratus: Cost-aware container scheduling in the public cloud
US10587682B2 (en) Resource allocation diagnosis on distributed computer systems
US11032359B2 (en) Multi-priority service instance allocation within cloud computing platforms
US20190050046A1 (en) Reducing Power Consumption in a Server Cluster
US9396026B2 (en) Allocating a task to a computer based on determined resources
US8078824B2 (en) Method for dynamic load balancing on partitioned systems
US8645592B2 (en) Balancing usage of hardware devices among clients
US20120278800A1 (en) Virtual Processor Allocation Techniques
US20080222637A1 (en) Self-Optimizable Code
CN110543355A (zh) 一种自动均衡云平台资源的方法
Sampaio et al. Dynamic power-and failure-aware cloud resources allocation for sets of independent tasks
Dyachuk et al. On allocation policies for power and performance
Zheng et al. Dynamic virtual machine placement for cloud computing environments
KR101608859B1 (ko) 클라우드 기반의 지능형 전력제어 시스템
Kurowski et al. Dynamic grid scheduling with job migration and rescheduling in the GridLab resource management system
JP2022034455A (ja) 計算機システムおよび管理方法
CN117032953A (zh) 一种提升vdi远程桌面性能的方法
Hedwig Adaptive Resource Allocation in Large Computing Environments based on Workload, SLA, and Performance Characteristics
KR20140077787A (ko) 사용자 작업 이력 기반 클라우드 시스템 자원 관리 장치 및 방법

Legal Events

Date Code Title Description
PC41 Official registration of the transfer of exclusive right

Effective date: 20150526

MM4A The patent is invalid due to non-payment of fees

Effective date: 20180216