СИНХРОНИЗАЦИЯ ЖИЗНЕННЫХ ЦИКЛОВ ВИРТУАЛЬНОЙ МАШИНЫ И ПРИЛОЖЕНИЯ

1. На уровне (103) приложений автоматизированной системы (100), которая дополнительно содержит уровень (107) виртуальных машин и одну или более прикладных программ (135), которые должны исполняться на одной или более виртуальных машинах (150), способ инициирования и управления уровнем приложений созданием и работой одной или более виртуальных машин для одной или более виртуальных программ посредством уровня виртуальных машин, содержащий этапы:
приема (200) одного или более запросов (113) на уровне (103) приложений для инициирования прикладной программы (135);
определения (210) из одного или более свойств (137) запрошенной прикладной программы, какие из одной или более виртуальных машин (150) должны быть развернуты для исполнения запрошенной прикладной программы;
отправки (220) одной или более команд (147) виртуальных машин от уровня приложений к уровню (107) виртуальных машин для развертывания определенных одной или более виртуальных машин (150) для запрошенной прикладной программы; и установки (230) запрошенной прикладной программы на развернутой одной или более виртуальных машинах.
2. Способ по п.1, в котором:
уровень (103) приложений содержит управляющее приложение (105), которое принимает запрос (113) для инициирования прикладной программы; и
управляющее приложение (105) преобразует полученные свойства (137) в одну или более команд (147) виртуальных машин.
3. Способ по п.2, в котором уровень (107) виртуальных машин содержит один или более менеджеров (120) виртуальных машин, которые получают одну или более команд (147) виртуальных машин от управляющего приложения (105).
4. Способ по п.2, в котором:
свойства (137), соответствующие запрошенному приложению (135), содержат одну или более описательных моделей (115), ассоциативно связанных с запрошенной прикладной программой (135); и
одна или более описательные модели содержат одну или более конфигураций для определенных виртуальных машин.
5. Способ по п.4, в котором свойства (137), соответствующие запрошенному приложению (135), указывают один или более хост-узлов (130), на которых запрошенное приложение (135) должно быть развернуто.
6. Способ по п.4, в котором свойства (137), соответствующие запрошенному приложению (135), указывают количество и тип виртуальных машин (150), которые должны быть развернуты для запрошенной прикладной программы (135).
7. Способ по п.6, в котором любые или все из числа и типа виртуальных машин (150) зависят от версии запрошенного приложения (135).
8. Способ по п.1, в котором этап установки (330) запрошенной прикладной программы дополнительно содержит уровень (103) приложений, посылающий одну или более инструкций (160) к драйверу каждой из одной или более развернутых виртуальных машин (150).
9. Способ по п.1, дополнительно содержащий этап обновления структуры (123) данных для указания взаимосвязи между запрошенным приложением и развернутой одной или более виртуальных машин (150).
10. Способ по п.8, дополнительно содержащий этап обновления структуры (123) данных для указания, что запрошенное приложение (135) было установлено на развернутую одну или более виртуальных машин (150) и на один или более физические хост-узлы (130).
11. Способ по п.9, дополнительно содержащий этап идентификации того, что запрошенное приложение (135) было деинсталлировано.
12. Способ по п.11, дополнительно содержащий этапы, перед определением того, что запрошенное приложение (135) было деинсталлировано:
идентификации того, что запрошенное приложение (135) должно быть деинсталлировано с одной или более развернутых виртуальных машин; и
отправки одной или более инструкций от уровня (103) приложений к уровню (107) виртуальных машин о деинсталлировании запрошенного приложения (135).
13. Способ по п.12, в котором этап идентификации того, что запрошенное приложение (135) должно быть деинсталлировано, содержит идентификацию из одного или более свойств (137) в структуре (123) данных, которые соответствуют запрошенному приложению (135) того, что приложение (135) готово к тому, чтобы быть деинсталлированным или выведенным из эксплуатации.
14. Способ по п.11, дополнительно содержащий этап отправки одной или более инструкций от уровня (103) приложений к уровню (107) виртуальных машин для удаления развернутой одной или более виртуальных машин (150) с соответствующего физического хост-узла.
15. Способ по п.14, дополнительно содержащий этап обновления структуры (123) данных для указания, что прежде развернутая одна или более виртуальных машин (150) были удалены с соответствующего физического хост-узла.
16. В автоматизированной системе (100) автоматизированной среды, которая включает в себя уровень (103) приложений, содержащий управляющее приложение (105), уровень (107) виртуальных машин, содержащий менеджер (120) виртуальных машин, и одну или более прикладных программ (135), которые должны быть исполняемыми на одной или более виртуальных машинах (150), способ управления созданием, работой и выведением из эксплуатации одной или более виртуальных машин вместе с одной или более прикладными программами посредством уровня (103) приложений и уровня (107) виртуальных машин, содержащий этапы:
получения (300) одного или более запросов на уровне (103) приложений для инициирования прикладной программы (135), в котором запрошенная прикладная программа содержит одно или более свойств (137), которые указывают тип и количество виртуальных машин (150a-b), которые должны быть использованы;
просмотра (310) одной или более структур (123) данных на уровне (103) приложений для идентификации одной или более виртуальных машин (150a-d), которые являются доступными в автоматизированной среде;
инструктирования (320) уровня (107) виртуальных машин об установке запрошенной прикладной программы на одну или более доступные виртуальные машины (150a-b), которые установлены на один или более физические хост-узлы (130); и при идентификации через структуру (123) данных, что запрошенная прикладная программа (135) была деинсталлирована с виртуальной машины, автоматического руководства (330) уровнем (103) приложений удалением виртуальной машины (150) с соответствующего физического хост-узла (130).
17. Способ по п.16, в котором:
идентифицированная одна или более виртуальные машины (150) содержат один или более наборов шаблонов виртуальных машин для контрольной точки операционной системы; и
этап (330) удаления виртуальной машины (150) с соответствующего физического узла (130) содержит восстановление виртуальной машины (150) к предшествующей контрольной точке, так что обновленная версия виртуальной машины устраняется с физического хост-узла (130), и более ранняя версия виртуальной машины, соответствующая предшествующей контрольной точке, остается на физическом хост-узле (130).
18. Способ по п.16, в котором уровень (103) приложений дополнительно содержит одну или более структур (123) данных, которые могут быть обновлены одним или более компонентами уровня (103) приложений или уровня (107) виртуальных машин.
19. Способ по п.16, в котором структура данных указывает все виртуальные машины (150), которые развернуты в системе (100), все прикладные программы (135), которые установлены на виртуальных машинах, и одно или более свойств (137), которые указывают предназначенный жизненный цикл для каждых из установленных приложений и развернутых виртуальных машин.
20. В уровне (103) приложений в автоматизированной среде (100), содержащей управляющее приложение (105), уровень (107) виртуальных машин, содержащий менеджер (120) виртуальных машин, и одну или более прикладных программ (135), которые должны быть исполняемыми на одной или более виртуальных машинах (150), компьютерный программный запоминающий продукт, имеющий исполняемые компьютером инструкции, хранимые на нем, которые при исполнении предписывают одному или более процессорам компьютерной системы осуществлять способ, содержащий:
прием (300) одного или более запросов (113) на уровне (103) приложений для инициирования прикладной программы (135);
определение (310) из одного или более свойств (137) запрошенной прикладной программы, какая из одной или более виртуальных машин (150) должна быть развернута для исполнения запрошенной прикладной программы;
отправку (320) одной или более команд (147) виртуальных машин от уровня приложений к уровню (107) виртуальных машин для развертывания определенных одной или более виртуальных машин (150) для запрошенной прикладной программы; и установку (330) запрошенной прикладной программы на развернутой одной или более виртуальных машинах.