сетевое имя группы для виртуальных машин
Классы МПК: | G06F9/46 устройства для мультипрограммирования |
Автор(ы): | ДАДХИЯ Раджеш К. (US), БАХЛЬ Прадип (US) |
Патентообладатель(и): | МАЙКРОСОФТ КОРПОРЕЙШН (US) |
Приоритеты: |
подача заявки:
2008-03-12 публикация патента:
10.09.2012 |
Изобретение относится к средствам управления виртуальными машинами. Технический результат заключается в увеличение эффективности управления виртуальными машинами. Перехватывают информацию имени-адреса виртуальных машин хост-машины и формируют имя группы сетевого уровня для хост-машины. Сохраняют имя группы в службе имен. Связывают хост-машину и виртуальные машины с именем группы и обеспечивают по меньшей мере одно из блокирования и разблокирования виртуальных машин на основе имени группы без отдельной обработки каждой из виртуальных машин. Используют процессор для исполнения хранящихся в памяти инструкций для выполнения по меньшей мере одного из упомянутых этапов перехвата, формирования, сохранения, связывания и обеспечения. 3 н. и 17 з.п. ф-лы, 11 ил.
Формула изобретения
1. Компьютерно-реализованная система для управления виртуальными машинами, содержащая:
компонент службы для сбора регистрационной информации для по меньшей мере первой виртуальной машины и второй виртуальной машины с использованием сервера имен, причем первая и вторая виртуальные машины размещены на физической машине;
компонент записи для формирования имени группы и сохранения регистрационной информации для первой и второй виртуальных машин в связи с именем группы, чтобы обеспечить управление первой и второй виртуальными машинами как группой, на основе имени группы; и
процессор, который исполняет машиноисполняемые команды, относящиеся к по меньшей мере одному из компонента службы и компонента регистрации.
2. Система по п.1, в которой компонент службы выполняется на сервере имен или физической машине.
3. Система по п.2, в которой сервер имен является сервером протокола динамической конфигурации хостов (DHCP).
4. Система по п.1, в которой регистрационная информация, собранная компонентом службы, является информацией для регистрации по меньшей мере одной из первой и второй виртуальных машин на сервере имен.
5. Система по п.1, в которой регистрационная информация, собранная компонентом службы, является информацией для отмены регистрации по меньшей мере одной из первой и второй виртуальных машин на сервере имен.
6. Система по п.1, в которой первая виртуальная машина выполняется согласно первой операционной системе, а вторая виртуальная машина выполняется согласно той же или другой операционной системе, при этом компонент записи формирует имя группы в связи с первой виртуальной машиной и со второй виртуальной машиной.
7. Система по п.1, в которой первая виртуальная машина выполняется согласно первой операционной системе, а вторая виртуальная машина выполняется согласно второй операционной системе, при этом компонент записи формирует имя группы в связи с первой виртуальной машиной и имя второй группы в связи со второй виртуальной машиной.
8. Система по п.1, в которой сервер адресов является DHCP-сервером, который регистрирует имя группы с помощью сервера доменных имен (DNS).
9. Система по п.1, в которой регистрационная информация включает в себя имя виртуальной машины, соответствующее IP-адресу, и имя хост-машины, соответствующее имени группы в DNS.
10. Компьютерно-реализуемый способ управления виртуальными машинами, содержащий этапы, на которых:
перехватывают информацию имени-адреса виртуальных машин хост-машины;
формируют имя группы сетевого уровня для хост-машины;
сохраняют имя группы в службе имен;
связывают хост-машину и виртуальные машины с именем группы; и
обеспечивают по меньшей мере одно из блокирования и разблокирования виртуальных машин на основе имени группы, без отдельной обработки каждой из виртуальных машин; и
используют процессор для исполнения хранящихся в памяти инструкций для выполнения по меньшей мере одного из упомянутых этапов перехвата, формирования, сохранения, связывания и обеспечения.
11. Способ по п.10, дополнительно содержащий этап, на котором сохраняют идентификатор хост-машины и соответствующие идентификаторы для виртуальных машин в связи с именем группы.
12. Способ по п.11, дополнительно содержащий этап, на котором автоматически обновляют идентификаторы виртуальных машин, связанных с сохраненным именем группы, на основе изменения в состоянии одной из виртуальных машин.
13. Способ по п.10, дополнительно содержащий этап, на котором запрашивают имя группы на основе соответствия имя группы/IP-адрес.
14. Способ по п.10, дополнительно содержащий этап, на котором блокируют одну или более виртуальных машин, имеющих одну и ту же операционную систему, на основе имени группы.
15. Способ по п.10, дополнительно содержащий этап, на котором формируют запись указателя ресурса службы на сервере имен, которая включает в себя имена групп VM для имени хоста и необязательно имена VM для имени группы VM.
16. Способ по п.15, дополнительно содержащий этап, на котором запрашивают запись указателя ресурса службы, чтобы узнать о зарегистрированных именах групп VM и именах VM.
17. Способ по п.10, дополнительно содержащий этап, на котором формируют адресную запись на сервере имен, которая устанавливает соответствие имени группы с одним или более IPv4- или IPv6-адресами.
18. Способ по п.17, дополнительно содержащий этап, на котором отыскивают адресную запись, чтобы определять виртуальные машины, связанные с хост-машиной.
19. Способ по п.10, дополнительно содержащий этап, на котором блокируют одну или более виртуальных машин на основе общего образа операционной системы.
20. Компьютерно-реализованная система, содержащая:
компьютерно-реализованное средство перехвата информации об имени-адресе виртуальных машин на хост-машине;
компьютерно-реализованное средство формирования имени группы сетевого уровня для хост-машины;
компьютерно-реализованное средство регистрации имени группы в службе имен;
компьютерно-реализованное средство для связывания хост-машины и виртуальных машин с именем группы;
компьютерно-реализованное средство для обеспечения по меньшей мере одного из блокирования и разблокирования виртуальных машин на основе имени группы, без отдельной обработки каждой из виртуальных машин; и процессорное средство, которое исполняет машиноисполняемые инструкции, ассоциированные с по меньшей мере одним из упомянутых компьютерно-реализованных средств для перехвата, формирования, регистрации, связывания и обеспечения.
Описание изобретения к патенту
Предшествующий уровень техники
Технология виртуальной машины (VM) широко распространена и имеет очевидные преимущества над традиционными способами, где множество операционных систем (OS) размещается на отдельных физических машинах. Преимущества технологии виртуальной машины могут уменьшить накладные расходы на поддержку отдельных аппаратных средств для каждого экземпляра OS в таких сценариях, как тестирование перед развертыванием, изоляция приложения и совместимость приложения, например. Преимущества VM-технологии включают в себя безопасность за счет изоляции между множеством экземпляров OS, размещающих отдельные приложения, и сниженные накладные расходы по техническому обслуживанию для поддержки аппаратных средств для множества экземпляров OS.
На сетевом уровне VM спроектированы так, чтобы идентифицироваться как отдельные сетевые машины посредством уникальных идентификационных данных машин (например, в сети, а также в домене), возможно уникального IP-адреса и уникальных идентификаторов ресурсов (например, имен служб для служб, работающих на таких VM). Зачастую, все VM, работающие на хост-машине, загружаются с одного и того же образа OS; таким образом, если существует уязвимость (например, связанная с конфигурацией или связанная с исправлением) в образе, уязвимость проявляет себя во многих экземплярах этого образа, работающего в качестве VM. Так как каждая VM должна поддерживаться как отдельная машина на системном уровне, VM должна быть просканирована на предмет уязвимостей отдельно и обновляться отдельно.
В настоящее время не существует решений, доступных для идентификации VM, которые принадлежат одной и той же хост-машине, на сетевом уровне. Например, система предотвращения вторжения на сетевом уровне, брандмауэр сетевого уровня и система защиты доступа к сети (NAP) могут не идентифицировать или не отслеживать множество VM на одной и той же хост-машине, которые запускают похожее программное обеспечение, так как нет легкого механизма, посредством которого физическая машина может отличаться от виртуальной машины. В ситуации, где вредоносные программные средства, такие как червь, быстро распространяются, традиционно, каждая VM должна быть просканирована (например, через NAP-инфраструктуру или с помощью сканера сетевого уровня), и доступ VM к сети блокируется. В этой ситуации, где задержки нежелательны, администратору предприятия необходимо выполнить обращение к каждой VM, что, таким образом, уменьшает продуктивность и приводит к потенциальной потере важных данных.
Сущность изобретения
Последующий текст представляет упрощенное изложение сущности изобретения, чтобы предоставить основное понимание некоторых аспектов изобретения, описанных в данном документе. Это изложение сущности изобретения не является всесторонним обзором, и оно не предназначено для того, чтобы определять его ключевые/важнейшие элементы или разграничивать объем. Его единственная цель - представить некоторые понятия в упрощенной форме в качестве вступления в более подробное описание, которое представлено далее.
Раскрытая архитектура вводит регистрацию имени группы для физической (или хост-) машины, на которой работает одна или более виртуальных машин (VM). Соответственно, VM, принадлежащие одной хост-машине, могут управляться (например, блокироваться или разблокироваться) одновременно в одной операции без необходимости обрабатывать (например, сканировать) каждую VM отдельно. Имя группы регистрируется на сервере имен (например, DNS-сервере доменных имен, WINS - службе Интернет-имен Windows , Active Directory ) в базе данных регистрации имен.
При работе, компонент службы (например, как часть хост-машины или DHCP-сервера) собирает регистрационную информацию (например, пару IP-адрес - имя VM) между виртуальной машиной и сервером имен. Эта VM-пара записывается (или сохраняется) в базе данных сервера имен. Компонент записи формирует имя группы и сохраняет VM-пару в связи с именем группы в базе данных сервера имен. VM-пары для множества VM одной и той же хост-машины затем связываются с именем группы. Запросы по имени группы тогда будут раскрывать все работающие VM для этого хоста. Обновления в записи имени группы могут быть выполнены на основе регистрации и отмены регистрации множества VM для данной хост-машины. Имя группы является уникальным на сетевом уровне и может быть запрошено объектом в сети на предмет соответствий имя группы/IP-адрес, таким образом поддерживая одновременную блокировку или разблокировку множества VM хост-машины.
Для осуществления вышеупомянутых и связанных целей определенные иллюстративные аспекты описаны в данном документе в связи с последующим описанием и прилагаемыми чертежами. Эти аспекты, тем не менее, указывают только на некоторые из множества способов, которыми могут быть использованы принципы, раскрытые в данном документе, и имеют намерение включать в себя все такие аспекты и их эквиваленты. Другие преимущества и новые признаки должны стать очевидными из следующего подробного описания, если рассматривать их вместе с чертежами.
Перечень фигур чертежей
Фиг.1 иллюстрирует машинореализованную систему для управления виртуальными машинами.
Фиг.2 иллюстрирует альтернативную систему для управления виртуальными машинами.
Фиг.3 иллюстрирует альтернативную систему, которая применяет компонент службы, компонент записи и DHCP-сервер хоста в физической машине.
Фиг.4 иллюстрирует еще одну альтернативную реализацию, где управление VM использует внешний DHCP-сервер и DNS-сервер.
Фиг.5 иллюстрирует систему, где физическая машина применяет множество разных образов OS с соответствующими VM.
Фиг.6 иллюстрирует способ управления виртуальными машинами.
Фиг.7 иллюстрирует способ управления множеством VM, когда обнаружен отказ на VM.
Фиг.8 иллюстрирует способ нахождения имен групп.
Фиг.9 иллюстрирует способ регистрации имени группы с помощью DHCP-сервера.
Фиг.10 иллюстрирует блок-схему вычислительной системы, выполненной с возможностью поддерживать управление VM в соответствии с раскрытой архитектурой.
Фиг.11 иллюстрирует схематическую блок-схему примерного вычислительного окружения для управления VM с помощью имен групп.
Подробное описание
Раскрытая архитектура предоставляет новый способ управления виртуальными машинами (VM) посредством связывания множества VM с именем группы в базе данных сервера имен. Это обеспечивает более действенное и эффективное администрирование сетей предприятий, например, облегчая блокировку или разблокировку групп VM, в отличие от индивидуального администрирования, требуемого в традиционных архитектурах. Архитектура находит отдельное применение для систем защиты от вторжений (IPS), например, где одна VM физической машины может стать зараженной вредоносными программными средствами (например, вирусом). Там, где существует множество VM, работающих на одном образе операционной системы (OS), что является обычным сценарием для VM, все VM физической машины могут быть заблокированы одновременно на одном этапе до тех пор, пока заражение не будет вылечено. Подобным образом, в контексте обновлений программного обеспечения, физическая машина, так же как и размещенные на ней VM, может быть заблокирована от сетевого доступа до тех пор, пока размещенные на ней образы OS, например, обновляются до требуемой версии программного обеспечения и/или политик.
Теперь будет сделана ссылка на чертежи, на которых похожие номера ссылок используются для того, чтобы ссылаться на похожие элементы по всему описанию. В следующем описании, в целях пояснения, многие конкретные детали объяснены, чтобы обеспечить полное понимание изобретения. Однако может быть очевидно, что новые варианты осуществления могут быть применены на практике без этих конкретных деталей. В других случаях, распространенные структуры и устройства показаны в форме блок-схемы, чтобы упростить его описание.
Обращаясь первоначально к чертежам, фиг.1 иллюстрирует компьютерно-реализованную систему 100 для управления виртуальной машиной. Система 100 содержит компонент 102 службы для сбора регистрационной информации 104 (например, пары VM-имя и IP-адрес) между виртуальной машиной 106 и сервером 108 имен во время процесса регистрации. Виртуальная машина 106 может быть одной из многих VM, размещенных на физической (или хост-) машине 110. Система 100 также включает в себя компонент 112 записи для формирования имени группы и сохранения (или записывания) регистрационной информации в связи с именем группы в базе 114 данных сервера имен (NS) (например, базе данных DNS (сервера доменных имен)).
В типичном варианте осуществления сервер 108 имен включает в себя базу 114 данных NS, которая сопоставляет имя группы с парой имя VM/IP-адрес. Более конкретно, база 114 данных может включать в себя записи, которые ассоциируют имя физической машины, все VM, работающие на физической машине, имена групп на машине и все VM в каждой группе. Соответственно, администратор предприятия, например, может развернуть инфраструктуру на основе NAP (защита сетевого доступа)/NAC (контроль допуска в сеть) (или на основе сканера уязвимости сети), где множество VM, работающих на одной и той же хост-машине, может быть блокировано/активировано (или разблокировано) одновременно без необходимости сканировать каждую VM отдельно и последовательно. Расширения на DNS и WINS (служба Интернет-имен Windows ), например, могут сделать соответствия имя группы/IP-адрес доступными другим объектам в сети.
Фиг.2 иллюстрирует альтернативную систему 200 для управления виртуальными машинами. Система 200 включает в себя физическую машину 202, которая содержит компонент 102 службы для сбора регистрационной информации 104 посредством наблюдения взаимодействия между одной или более VM 204 (обозначенных VM1,..., VMN, где N является положительным целым числом) и DHCP-сервером 206. Когда VM 106 из множества VM 204 загружается, VM 106 получает IP-адрес от DHCP-сервера 206, где DHCP-сервер 206 расположен в сети 208. При использовании, DHCP-сервер 206 выбирает IP-адрес из пула доступных IP-адресов из ассоциированного хранилища 210 DHCP-данных и назначает выбранный IP-адрес VM 106. VM 106 затем устанавливает соответствие IP-адреса имени VM (VM 106) как регистрационную информацию 104, которая включает в себя пару имя VM - IP-адрес. После получения IP-адреса VM 106 регистрирует соответствие имя VM - IP (в качестве регистрационной информации 104) с помощью сервера 108 имен (например, DNS или WINS-сервера) и ассоциированной базы 114 данных NS.
Отметим, что другие объекты в сети 208 (например, NAP-инфраструктура, IPS-инфраструктура, сетевой сканер, другие хосты, множество VM другой хост-машины) воспринимают каждую VM из множества 204 VM как отдельную физическую машину, имеющую свой собственный IP-адрес. Следует понимать, что DHCP может использоваться не всегда. В некоторых случаях, все или некоторые VM могут иметь назначенные статические IP-адреса. В таком случае, компонент 102 службы может считывать статический IP-адрес с локальной машины и регистрировать пару имя-IP с помощью базы данных сервера имен. Подобным образом, иногда, сама VM может иметь множество IP-адресов, все статические, все назначенные DHCP-сервером, или смесь из обоих типов адресов, все из которых могут быть зарегистрированы в базе 114 данных сервера имен.
Процесс регистрации продолжается с каждой из VM 204 при загрузке в сеть 208, назначении другой пары IP-адреса и имени VM для записи в сервере 108 имен и ассоциированной базе 114 данных в связи с именем группы. Таким образом, физическая машина 202 будет ассоциирована с парами VM - IP-адрес для каждой из работающих VM 204 в базе 114 данных NS. Когда отдельная VM из множества 204 VM регистрируется или отменяет регистрацию, соответствующая запись о группе в базе 114 данных NS будет автоматически соответствующим образом обновлена. Таким образом, запрос имени группы для физической машины 202 раскроет все работающие VM 204, таким образом позволяя одновременную блокировку/разблокировку всех работающих VM 204.
Фиг.3 иллюстрирует альтернативную систему 300, которая применяет компонент 102 службы, компонент 112 записи и DHCP-сервер 302 хоста, внутри физической машины 304. Как иллюстрировано, каждая из множества 204 VM может получать IP-адрес от DHCP-сервера 302 хоста, работающего в хост-машине 304, где хост-машина 304 получает IP-адрес хост-машины от DHCP-сервера 206 (и базы 210 данных) по сети 208. В этом варианте осуществления IP-адреса множества 204 VM не видны объектам сети 208. По существу, множество 204 VM совместно использует сетевой интерфейс 306 хост-машины 304 (например, в NAT-(трансляция сетевых адресов) конфигурации).
Фиг.4 иллюстрирует еще одну альтернативную реализацию 400, где управление VM использует внешний DHCP-сервер 206 и DNS-сервер 402. Здесь физическая машина 404 включает в себя компонент 102 службы и компонент 112 записи для сбора и записи регистрационной информации 104 в форме пар имя VM - IP-адрес (обозначенных VM 1 NAME-IP ADRESS1, VM2 NAME-IP ADRESS 2,..., VMN NAME-IP ADRESSN).
С точки зрения VM, процесс получения IP-адреса и регистрации соответствия имя VM - IP-адрес с помощью DNS (или WINS) 402 (и ассоциированной базы 406 данных DNS) или любого другого сервера имен остается таким же. Пара имя VM/IP-адрес записывается в DNS 402 как часть взаимодействия с DHCP либо посредством DHCP-сервера 206, либо VM. Перехваченное взаимодействие с DHCP между множеством 204 VM и DHCP-сервером 206 собирается компонентом 102 службы, и IP-адрес соответствующего имени VM записывается под именем группы компонентом 112 записи, работающим на хост-машине 404.
Более конкретно, хост-машина 404 создает другую A-запись (DNS-запись) на DNS-сервере 402 с виртуальным именем хоста "HostName-GroupName-VM", где HostName - это имя хост-машины 404, а "-GroupName-VM" - это строка, идентифицирующая группу VM на хосте. IP-адрес VM добавляется в эту запись, когда DHCP/DNS-регистрационная информация для других VM 204 изучается компонентом 102 службы. Релевантные A-записи для других групп VM, все VM, типично запускающие одинаковый образ OS, обновляются соответствующим образом. A-запись (или адресная запись) устанавливает соответствие имени одному или более 32-битным IPv4-адресам. Альтернативно, может применяться AAAA-запись (или запись IPv6-адреса), которая устанавливает соответствие имени одному или более 128-битным IPv6-адресам.
Когда IP-адреса освобождаются (для отмены регистрации) множеством 204 VM в момент выключения или других событий, компонент 102 службы перехватывает эти взаимодействия, а компонент 112 записи, работающий на хост-машине 404, обновляет A-записи (или AAAA-записи) имен групп, к которым принадлежат VM, соответственно.
С целью обнаружения, хост-машина 404 может также создавать запись о ресурсе DNS SRV (указатель местонахождения службы) для имени группы так, что объект в сети 208 может узнавать обо всех зарегистрированных именах групп, соответствующих имени хоста. SRV-запись является категорией данных в DNS-системе, которая определяет информацию о доступных службах на хост-машине. В дополнение к вышеуказанной SRV-записи, сопоставляющей имя хоста с различными группами VM, работающих на нем, хост-машина 404 может также создать DNS SRV-запись, сопоставляющую имя группы со всеми именами ее VM. Это позволяет легко определять имена всех VM, принадлежащих группе на физической машине.
Другие объекты в сети 208 могут запрашивать A-запись (или AAAA-запись), узнавать обо всех VM 204, работающих на одной хост-машине 404, и принимать коллективные решения для множества 204 VM на одном этапе. Таким образом, когда множество 204 VM загружается с одинакового образа OS, VM, принадлежащие одной и той же группе, могут быть коллективно заблокированы, как только обнаружен один уязвимый или инфицированный IP-адрес.
Фиг.5 иллюстрирует систему 500, где физическая машина 502 применяет множество разных образов OS с соответствующими VM. Физическая машина 502 включает в себя первый образ 504 OS, с которого запускаются первая VM 506 и вторая VM 508, и второй и отличающийся образ 510 OS, с которого запускаются третья VM 512 и четвертая VM 514. Физическая машина 502 также включает в себя подсистему 516 управления VM, которая включает в себя компонент 102 службы и компонент 112 записи для сбора регистрационной информации для каждой из VM (506, 508, 512 и 514) при переходе в онлайн-режим. Когда регистрация выполняется физической машиной 502, база 406 данных DNS включает в себя одну или более связанных записей для управления некоторыми или всеми VM (506, 508, 512 и 514) одновременно.
В большинстве ситуаций соответствие группа-имя будет выполняться на базе каждого образа, таким образом позволяя выборочную блокировку VM согласно образу OS. В этом варианте осуществления записи в базе 406 данных DNS могут включать в себя соответствия физической машины (PM) одному или более IP-адресам (PM-NAME/PM-IP) физической машины, размещающей множество VM, и объекты для каждого из соответствий VM/IP-адрес (VM1-NAME/VM1-IP, VM2-NAME/VM2-IP, VM3-NAME/VM3-IP и VM4-NAME/VM4-IP). Эти записи могут затем быть связаны с PM через SRV-запись, которая сопоставляет PM-NAME с PM-VMGROUP1 и PM-VMGROUP2, и другие SRV-записи, которые сопоставляют PM-VMGROUP1 с VM1-NAME и VM2-NAME, и PM-VMGROUP2 с VM3-NAME и VM4-NAME. Дополнительно, A- или AAAA-записи могут сопоставлять PM-VMGROUP1 с VM1-IP и VM2-IP, а PM-VMGROUP2 с VM3-IP и VM4-IP.
В альтернативном варианте осуществления, VM, запускающие различные образы OS, могут быть частью одной и той же группы. В этом сценарии, записи в базе 406 данных DNS включают в себя сопоставление PM с IP-адресом (PM-NAME/PM-IP) и объекты для каждого из соответствий VM/IP-адрес (VM1-NAME/VM1-IP, VM2-NAME/VM2-IP, VM3-NAME/VM3-IP и VM4-NAME/VM4-IP). Эти записи затем связываются с PM через SRV-объект, который устанавливает соответствие PM-NAME с PM-VMGROUP, и другую SRV-запись, которая устанавливает соответствие PM-VMGROUP с V1-NAME, V2-NAME, V3-NAME и V4-NAME, или альтернативно/дополнительно A- или AAAA-запись, которая устанавливает соответствие PM-VMGROUP с VM1-IP, VM2-IP, VM3-IP и VM4-IP. Этот тип установления соответствия может происходить там, где лежащие в основе образы OS (504 и 510) имеют некоторую степень схожести, такую, что, например, вредоносные программные средства могут испортить обе OS (OS1 и OS2). Здесь, все VM (506, 508, 512 и 514) могут быть блокированы одновременно.
Фиг.6 иллюстрирует способ управления виртуальными машинами. Хотя в целях упрощения пояснения технологии одна или более технологий, показанных в данном документе, например, в форме блок-схемы алгоритма или блок-схемы последовательности операций, показаны и описаны как последовательность действий, необходимо понимать и принимать во внимание, что технологии не ограничены порядком действий, поскольку некоторые действия могут, в соответствии с ним, выполняться в другом порядке и/или параллельно с действиями, отличными от действий, показанных и описанных в данном документе. Например, специалисты в данной области техники должны понимать и принимать во внимание, что технология может быть альтернативно представлена как последовательность взаимосвязанных состояний или событий, к примеру, на диаграмме состояний. Кроме того, не все действия, проиллюстрированные в технологии, могут потребоваться для реализации изобретения.
На этапе 600, во время операции загрузки на хост-машине, VM получает IP-адрес от службы назначения IP (например, DHCP-сервера) или она имеет один или более статических IP-адресов или смесь из назначенного DHCP и статического IP-адресов. На этапе 602, VM устанавливает соответствие имени VM с IP-адресом. На этапе 604, VM регистрирует пару имя VM/IP-адрес с помощью сервера имен (например, DNS). На этапе 606, пары имя VM/IP-адрес собираются и записываются. На этапе 608, хост-машина создает записи об имени групп (например, SRV) на сервере имен (в базе данных), которые устанавливают соответствие хоста с именами групп VM и множеством VM. На этапе 610, множество VM управляется на основе членства в группе. A- или AAAA-записи создаются для каждой группы, чтобы устанавливать соответствие группы VM с IP-адресами VM. Альтернативно или дополнительно, SRV-запись может быть создана, чтобы устанавливать соответствие имени группы VM с именами VM. A- или AAAA-записи, сопоставляющие IP-адрес(а) с именами VM, создаются как часть обычной регистрации имени машиной и/или DHCP-сервером. Это включает в себя поиск имени группы, чтобы получать все VM, связанные с ней, на назначенной хост-машине.
Фиг.7 иллюстрирует способ управления множеством VM, когда обнаружен отказ в VM. На этапе 700, хост-машина собирает информацию о регистрации VM на основе взаимодействия VM с DHCP-сервером. На этапе 702, хост-машина добавляет данные пары имя VM/IP-адрес в DNS-запись на основе операции загрузки VM. На этапе 704, сеть (или сетевой объект) обнаруживает отказ в VM хост-машины. На этапе 706, сеть блокирует все VM на хосте от сети на основе имени группы в DNS, имени группы, ассоциированной с множеством VM хост-машины.
Фиг.8 иллюстрирует способ нахождения имен групп. На этапе 800, хост-машина собирает информацию о регистрации VM (например, пару имя VM и IP-адрес) на основе взаимодействия VM с DHCP-сервером. На этапе 802, хост-машина создает имя группы и сохраняет регистрационную информацию с именем группы на сервере имен. На этапе 804, хост-машина создает SRV-записи в DNS в связи с именами групп. На этапе 806, сеть (или сетевой объект) отыскивает SRV-записи сервера имен, чтобы получать зарегистрированные имена групп.
Фиг.9 иллюстрирует способ регистрации имени группы с помощью DHCP-сервера. Следует понимать, что этот способ может также применяться к WINS-серверу, например, или другим типам серверов назначения IP-адреса. На этапе 900, новая VM инициирует процесс загрузки в хост-машине. На этапе 902, новая VM получает IP-адрес от DHCP-сервера. На этапе 904, DHCP-сервер регистрирует имя группы хост-машины и ассоциированные VM на DNS-сервере. На этапе 906, DHCP также создает SRV-записи в DNS для имени группы хост-машины. После этого SRV-записи могут быть найдены для всех имен групп.
Может быть использована DHCP-трансляция, чтобы получать IP-адрес. Имя VM отправляется в широковещательном запросе DHCP-серверу. DHCP-сервер назначает адрес, и после того как адрес был введен в действие для машины (например, после пары или более круговых обходов между машиной и DHCP-сервером), DHCP-сервер регистрирует соответствующие записи в DNS. Альтернативно, записи могут быть зарегистрированы машиной, как описано ранее, или некоторые из записей могут быть зарегистрированы машиной (например, запись указателя (PTR), устанавливающая соответствие IP-адреса (IPv4 или IPv6) с именем), а A-запись (так же, как и SRV-записи) - DHCP-сервером. PTR-запись дает обратное соответствие в DNS, устанавливая соответствие IP-адреса к имени.
При использовании в данной заявке термины "компонент" и "система" предназначены, чтобы ссылаться на связанную с компьютером объектную сущность - либо аппаратные средства, либо сочетание аппаратных средств и программного обеспечения, либо программное обеспечение, либо программное обеспечение в ходе исполнения. Например, компонент может быть, но не только, процессом, запущенным на процессоре, процессором, жестким диском, несколькими накопителями хранения (оптического и/или магнитного носителя хранения), объектом, исполняемым файлом, потоком исполнения, программой и/или компьютером. В качестве иллюстрации, и приложение, запущенное на сервере, и сервер может быть компонентом. Один или более компонентов могут храниться внутри процесса и/или потока исполнения, и компонент может быть локализован на компьютере и/или распределен между двумя и более компьютерами.
Обращаясь теперь к фиг.10, иллюстрируется блок-схема вычислительной системы 1000, функционирующей так, чтобы поддерживать управление VM в соответствии с раскрытой архитектурой. Для того, чтобы предусмотреть дополнительный контекст для его различных аспектов, фиг.10 и последующее обсуждение имеют намерение предоставлять краткое общее описание подходящей вычислительной системы 1000, в которой различные аспекты могут быть реализованы. Хотя вышеприведенное описание дано в общем контексте машиноисполняемых инструкций, которые могут выполняться на одном или более компьютерах, специалисты в данной области техники должны признавать, что вариант осуществления изобретения также может быть реализован в комбинации с другими программными модулями и/или как комбинация аппаратных средств и программного обеспечения.
В общем, программные модули включают в себя процедуры, программы, компоненты, структуры данных и т.п., которые выполняют конкретные задачи и/или реализуют конкретные абстрактные типы данных. Более этого, специалисты в данной области техники должны принимать во внимание, что изобретенные способы могут быть осуществлены на практике с другими конфигурациями вычислительных систем, в том числе с однопроцессорными или многопроцессорными вычислительными системами, миникомпьютерами, универсальными компьютерами, а также персональными компьютерами, карманными вычислительными устройствами, основанной на микропроцессорах или программируемой бытовой электронной аппаратурой и т.п., каждая из которых может быть функционально соединена с одним или более ассоциированными устройствами.
Проиллюстрированные аспекты также могут быть осуществлены на практике в распределенных вычислительных средах, где конкретные задачи выполняются удаленными обрабатывающими устройствами, которые связаны через сеть передачи данных. В распределенном вычислительном окружении программные модули могут быть размещены как в локальных, так и в удаленных запоминающих устройствах.
Компьютер типично включает в себя многообразие машиночитаемых носителей. Машиночитаемые носители могут быть любыми доступными носителями, к которым может быть осуществлен доступ компьютером, и включают в себя энергозависимые и энергонезависимые носители, съемные и несъемные носители. В качестве примера, но не ограничения, машиночитаемые носители могут содержать компьютерные носители данных и среды передачи данных. Компьютерные носители данных включают в себя энергозависимые и энергонезависимые, съемные и несъемные носители, реализованные любым способом или технологией для хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Компьютерные носители данных включают в себя, но не в качестве ограничения, RAM, ROM, EEPROM, флэш-память или другую технологию памяти, CD-ROM, цифровой видеодиск (DVD) или другое оптическое дисковое запоминающее устройство, магнитные кассеты, магнитную ленту, накопитель на магнитных дисках или другие магнитные запоминающие устройства, или любой другой носитель, который может быть использован для хранения желаемой информации и к которому может быть осуществлен доступ компьютером.
Со ссылкой снова на фиг.10, примерная вычислительная система 1000 для реализации различных аспектов включает в себя компьютер 1002, причем компьютер 1002 включает в себя процессор 1004, системное запоминающее устройство 1006 и системную шину 1008. Системная шина 1008 предоставляет интерфейс для системных компонентов, в том числе, но не только, системного запоминающего устройства 1006 с процессором 1004. Процессор 1004 может быть любым из различных предлагаемых на рынке процессоров. Архитектуры с двумя микропроцессорами и другие многопроцессорные архитектуры также могут быть использованы в качестве процессора 1004.
Системная шина 1008 может быть любой из нескольких типов шинных структур, которые могут дополнительно соединять с шиной памяти (с или без контроллера памяти), периферийной шиной и локальной шиной с помощью любой из множества предлагаемых на рынке шинных архитектур. Системное запоминающее устройство 1006 включает в себя постоянное запоминающее устройство (ROM) 1010 и оперативное запоминающее устройство (RAM) 1012. Базовая система ввода/вывода (BIOS) сохраняется в энергонезависимой памяти 1010, такой как ROM, EPROM, EEPROM, причем BIOS содержит в себе базовые процедуры, которые помогают передавать информацию между элементами в компьютере 1002, к примеру, во время запуска. RAM 1012 также может включать в себя высокоскоростное RAM, такое как статическое RAM для кэширования данных.
Компьютер 1002 дополнительно включает в себя внутренний жесткий диск (HDD) 1014 (например, EIDE, SATA), причем этот внутренний жесткий диск 1014 также может быть выполнен с возможностью внешнего использования в подходящем шасси (не показано), магнитный дисковод 1016 (FDD) (например, чтобы считывать или записывать на сменную дискету 1018) и отпический дисковод 1020 (например, осуществляющий считывание диска 1022 CD-ROM, или чтобы считывать или записывать на другие оптические носители большой емкости, такие как DVD). Жесткий диск 1014, магнитный дисковод 1016 и оптический дисковод 1020 могут быть подключены к системной шине 1008 посредством, соответственно, интерфейса 1024 жесткого диска, интерфейса 1026 магнитного дисковода и интерфейса 1028 оптического дисковода. Интерфейс 1024 для реализаций с внешним накопителем включает в себя, по меньшей мере, одну или обе из интерфейсных технологий универсальной последовательной шины (USB) или IEEE 1394 (FireWire).
Накопители и их ассоциированные машиночитаемые носители предусматривают энергонезависимое хранение данных, структур данных, машиноисполняемых инструкций и так далее. Для компьютера 1002, накопители и носители обеспечивают хранение любых данных в надлежащем цифровом формате. Несмотря на то, что описание машиночитаемых носителей, приведенное выше, ссылается на HDD, сменную магнитную дискету и съемные оптические носители, такие как CD или DVD, специалисты в данной области техники должны принимать во внимание, что другие типы носителей, которые являются пригодными для считывания компьютером, такие как ZIP-накопители, магнитные кассеты, карты флэш-памяти, картриджи и т.п., также могут быть использованы в примерном операционном окружении, и, дополнительно, любые такие носители могут содержать машиноисполняемые инструкции для выполнения новых способов раскрытой архитектуры.
Ряд программных модулей может быть сохранен в накопителях и RAM 1012, включая операционную систему 1030, одну или более прикладных программ 1032, другие программные модули 1034 и программные данные 1036. Все или части операционной системы, приложений, модулей, и/или данных могут также кэшироваться в RAM 1012. Следует принимать во внимание, что раскрытая архитектура может быть реализована с различными предлагаемыми на рынке операционными системами или комбинациями операционных систем.
Приложения 1032 и/или модули 1034 могут включать в себя компонент 102 службы и компонент 112 записи и реализованный внутренним образом DHCP-сервер 302, например. Дополнительно, множество OS VM могут запускать отдельные экземпляры операционной системы 1030. Внутренний HDD 1014 может служить в качестве запоминающего устройства для VM-образов, как может служить и внешний HDD 1014.
Пользователь может вводить команды и информацию в компьютер 1002 через одно или более проводных/беспроводных устройств ввода данных, например клавиатуру 1038 и указательное устройство, такое как мышь 1040. Другие устройства ввода данных (не показан) могут включать в себя микрофон, ИК-пульт дистанционного управления, джойстик, игровую панель, перо, сенсорный экран и т.п. Эти и другие устройства ввода данных часто подключены к процессору 1004 через интерфейс 1042 устройств ввода, который соединяется с системной шиной 1008, но могут быть подключены посредством других интерфейсов, таких как параллельный порт, последовательный порт стандарта IEEE 1394, игровой порт, USB-порт, ИК-интерфейс и т.п.
Монитор 1044 или другой тип устройства отображения также подключен к системной шине 1008 через такой интерфейс, как видеоадаптер 1046. Помимо монитора 1044, компьютер в типичном варианте включает в себя другие периферийные устройства вывода данных (не показаны), такие как динамики, принтеры и т.п.
Компьютер 1002 может работать в сетевом окружении, используя логические соединения через проводную и/или беспроводную связь к одним или более удаленным компьютерам, таким как удаленный компьютер(ы) 1048. Удаленный компьютер(ы) 1048 может быть рабочей станцией, сервером, маршрутизатором, персональным компьютером, портативным компьютером, основанным на микропроцессоре развлекательным устройством, равноправным устройством или другим общим сетевым узлом, и типично включает в себя многие или все элементы, описанные относительно компьютера 1002, хотя в целях краткости только запоминающее устройство/устройство 1050 хранения проиллюстрировано. Проиллюстрированные логические подключения включают в себя проводные/беспроводные возможности подключения к локальной вычислительной сети (LAN) 1052 и/или боле крупным сетям, например глобальной вычислительной сети (WAN) 1054. Такие сетевые окружения LAN и WAN являются общепринятыми в офисах и компаниях и способствуют корпоративным вычислительным сетям, таким как сети intranet, все из которых могут подключиться к сети глобальной связи, например Интернету.
Когда используется в сетевом окружении LAN, компьютер 1002 подключается к локальной сети 1052 через сетевой интерфейс проводной и/или беспроводной связи или адаптер 1056. Адаптер 1056 позволяет упрощать проводную или беспроводную связь с LAN 1052, которая может также включать в себя беспроводную точку доступа, расположенную в ней для того, чтобы обмениваться данными с беспроводным адаптером 1056.
Когда используется в сетевом окружении WAN, компьютер 1002 может включать в себя модем 1058 или подключаться к серверу связи в WAN 1054, или имеет другое средство для установления связи по WAN 1054, к примеру, посредством Интернета. Модем 1058, который может быть внутренним или внешним и проводным или беспроводным устройством, подключается к системной шине 1008 через интерфейс 1042 последовательного порта. В сетевом окружении программные модули, показанные относительно компьютера 1002, или их части могут быть сохранены в удаленном запоминающем устройстве/устройстве 1050 хранения. Следует принимать во внимание, что показанные сетевые соединения являются примерными, и другие средства установления линии связи между компьютерами могут быть использованы.
Компьютер 1002 выполнен с возможностью обмениваться данными с любыми беспроводными устройствами или объектами, функционально находящимися в беспроводной связи, например принтером, сканером, настольным и/или портативным компьютером, портативным цифровым помощником, спутником связи, любой единицей оборудования или местоположением, ассоциированным с обнаруживаемым беспроводными средствами тегом (например, киоском, новостным стендом, помещением для отдыха) и телефоном. Это включает в себя, по меньшей мере, беспроводные технологии Wi-Fi и Bluetooth . Таким образом, связь может быть заранее заданной структурой, как в случае традиционной сети, или просто специальной связью, по меньшей мере, между двумя устройствами.
Wi-Fi, или Wireless Fidelity («беспроводная точность»), предоставляет возможность подключения к сети Интернет с дивана дома, кровати в комнате отеля или конференц-зала на работе при отсутствии проводов. Wi-Fi - беспроводная технология, подобная используемой в сотовом телефоне, которая дает возможность таким устройствам, как, например, компьютеры, отправлять и принимать данные внутри или вне помещения; где угодно в пределах зоны покрытия базовой станции. Сети Wi-Fi используют радио-технологии, названные IEEE 802.11x (a, b, g и т.д.), чтобы предоставлять возможность защищенного, надежного высокоскоростного беспроводного соединения. Сеть Wi-Fi может быть использована, чтобы связывать компьютеры друг с другом, с сетью Интернет и с проводными сетями (которые используют стандарт IEEE 802.3 или Ethernet).
Обращаясь теперь к фиг.11, иллюстрируется схематическая блок-схема примерного вычислительного окружения 1100 для управления VM с помощью имен групп. Система 1100 включает в себя один или более клиентов 1102. Клиентом(ами) 1102 могут быть аппаратные средства и/или программное обеспечение (к примеру, потоки, процессы, вычислительные устройства). Клиент(ы) 1102 может, например, содержать cookie-файл(ы) и/или ассоциированную контекстную информацию.
Система 1100 также включает в себя один или более серверов 1104. Сервером(ами) 1104 также могут быть аппаратные средства и/или программное обеспечение (к примеру, потоки, процессы, вычислительные устройства). Серверы 1104, например, могут содержать потоки, чтобы выполнять преобразования, например, посредством применения архитектуры. Один из возможных обменов данными между клиентом 1102 и сервером 1104 может выполняться в форме пакета данных, выполненного с возможностью передачи между двумя или более вычислительными процессами. Пакет данных, например, может включать в себя cookie-файл и/или ассоциированную контекстную информацию. Система 1100 включает в себя инфраструктуру 1106 связи (например, глобальную сеть передачи данных, такую как сеть Интернет), которая может быть использована, чтобы содействовать связи между клиентом(ами) 1102 и сервером(ами) 1104.
Связь может быть обеспечена посредством проводной (в том числе оптоволоконной) и/или беспроводной технологии. Клиент(ы) 1102 функционально подключены к одному или более клиентским хранилищам 1108 данных, которые могут быть использованы, чтобы хранить информацию, локальную по отношению к клиенту(ам) 1102 (например, cookie-файл(ы) и/или ассоциированную контекстную информацию). Аналогично, серверы 1104 функционально подключены к одному или более серверным хранилищам 1110 данных, которые могут быть использованы для того, чтобы сохранять информацию локально по отношению к серверам 1104. Серверы 1104 могут включать в себя сервер 108 имен, DHCP-сервер 206, DHCP-сервер 302 и/или DNS- (или WINS-)сервер 402, например.
То, что описано выше, включает в себя примеры раскрытой архитектуры. Конечно, невозможно описать каждую вероятную комбинацию компонентов и/или методологий, но специалисты в данной области техники могут признавать, что многие дополнительные комбинации и перестановки допустимы. Следовательно, изобретенная архитектура не имеет намерения охватить все подобные изменения, модификации и варианты, которые попадают в пределы сущности и объема прилагаемой формулы изобретения. Более того, в пределах того, как термин "включает в себя" используется либо в подробном описании, либо в формуле изобретения, этот термин должен быть включающим способом, аналогичным термину "содержит", как "содержит" интерпретируется, когда используется в качестве переходного слова в формуле изобретения.
Класс G06F9/46 устройства для мультипрограммирования