архивирование данных в виртуальном прикладном окружении
Классы МПК: | G06F9/455 эмуляция; моделирование программного обеспечения |
Автор(ы): | ФРИС Роберт М. (US) |
Патентообладатель(и): | МАЙКРОСОФТ КОРПОРЕЙШН (US) |
Приоритеты: |
подача заявки:
2006-07-19 публикация патента:
20.01.2011 |
Изобретение относится к области обработки цифровых данных. Технический результат заключается в создании компьютерной системы, подходящей для архивирования данных с помощью соответствующей прикладной программы в виртуальном прикладном окружении. Такой результат достигается благодаря тому, что компьютерная система включает в себя процессор, память и накопитель информации, операционную систему, данные для архивирования и прикладную программу, соответствующую этим данным, так что прикладная программа может работать с этими данными. Компьютерная система также включает в себя средство формирования виртуального прикладного окружения. В ответ на команду архивировать данные средство формирования виртуального прикладного окружения формирует виртуальное прикладное окружение. Виртуальное прикладное окружение содержит данные, соответствующую прикладную программу и операционную систему. 3 н. и 13 з.п. ф-лы, 4 ил.
Формула изобретения
1. Компьютерная система для архивирования созданных пользователем данных в виртуальном прикладном окружении, причем данная компьютерная система содержит процессор, память, накопитель информации, операционную систему, созданные пользователем данные, подлежащие архивированию, и множество прикладных программ, включающее в себя, по меньшей мере, одну прикладную программу, подходящую для работы с этими созданными пользователем данными, причем компьютерная система дополнительно содержит
средство формирования виртуального прикладного окружения, реагирующее на команду архивировать созданные пользователем данные, причем данное средство формирования виртуального прикладного окружения сконфигурировано:
идентифицировать, какая из упомянутого множества прикладных программ подходит для работы с упомянутыми созданными пользователем данными, согласно инсталляционному объявлению приложения, соответствующему идентифицируемой прикладной программе, формировать виртуальное прикладное окружение, включающее в себя упомянутые созданные пользователем данные, идентифицированную прикладную программу и операционную систему,
проверять, является ли виртуальное прикладное окружение подходящим для исполнения в соответствующей компьютерной системе виртуальной машине, в которой операционная система и идентифицированная прикладная программа могут функционировать, и
сохранять виртуальное прикладное окружение в накопителе информации, если виртуальное прикладное окружение подходит для исполнения в упомянутой виртуальной машине.
2. Компьютерная система по п.1, в которой виртуальное прикладное окружение формируется для работы в виртуальной машине, соответствующей компьютерной системе.
3. Компьютерная система по п.2, в которой виртуальное прикладное окружение формируется дополнительно для работы в качестве самозагружающегося устройства в виртуальной машине, соответствующей компьютерной системе.
4. Компьютерная система по п.2, в которой виртуальное прикладное окружение включает в себя информацию, которая идентифицирует виртуальную машину, в которой виртуальное прикладное окружение может работать.
5. Компьютерная система по п.1, в которой виртуальное прикладное окружение формируется так, чтобы оно включало в себя все из прикладных программ компьютерной системы, включая упомянутую идентифицированную прикладную программу, подходящую для работы с упомянутыми созданными пользователем данными.
6. Компьютерная система по п.1, в которой средство формирования виртуального прикладного окружения формирует виртуальное прикладное окружение таким образом, чтобы только соответствующая прикладная программа из упомянутого множества прикладных программ была включена с операционной системой и созданными пользователем данными.
7. Компьютерная система по п.6, в которой упомянутая идентифицированная прикладная программа, подходящая для работы с упомянутыми созданными пользователем данными, включает в себя множество компонентов, распределенных в компьютерной системе, при этом средство формирования виртуального прикладного окружения идентифицирует эти компоненты данной идентифицированной прикладной программы и включает их в качестве упомянутой идентифицированной прикладной программы в виртуальное прикладное окружение.
8. Машиночитаемый носитель, несущий машиноисполняемые команды, которыми при их исполнении в компьютерной системе реализуется способ архивирования данных в виртуальном прикладном окружении, содержащий:
прием запроса на архивирование созданных пользователем данных;
определение того, какая из множества прикладных программ подходит для работы с упомянутыми созданными пользователем данными, согласно инсталляционному объявлению приложения, соответствующему определяемой прикладной программе,
формирование виртуального прикладного окружения, содержащего созданные пользователем данные, упомянутую определенную прикладную программу, подходящую для работы с этими созданными пользователем данными, и операционную систему, подходящую для поддержки исполнения этой определенной прикладной программы;
проверку того, является ли виртуальное прикладное окружение подходящим для исполнения в соответствующей компьютерной системе виртуальной машине, в которой операционная система и упомянутая определенная прикладная программа могут функционировать; и сохранение виртуального прикладного окружения в накопителе информации.
9. Машиночитаемый носитель по п.8, в котором виртуальное прикладное окружение формируется для исполнения в виртуальной машине, соответствующей компьютерной системе.
10. Машиночитаемый носитель по п.9, в котором виртуальное прикладное окружение формируется дополнительно для работы в качестве самозагружающегося устройства при исполнении в виртуальной машине, соответствующей компьютерной системе.
11. Машиночитаемый носитель по п.10, в котором виртуальное прикладное окружение формируется дополнительно так, чтобы оно включало в себя информацию для идентификации виртуальной машины, в которой может исполняться виртуальное прикладное окружение.
12. Машиночитаемый носитель по п.8, в котором виртуальное прикладное окружение формируется так, чтобы оно включало в себя множество прикладных программ, инсталлированных в компьютерной системе, включая упомянутую определенную программу, подходящую для работы с упомянутыми созданными пользователем данными.
13. Способ архивирования созданных пользователем данных в виртуальном прикладном окружении, включающий в себя этапы, на которых:
принимают запрос на архивирование созданных пользователем данных;
идентифицируют прикладную программу из множества прикладных программ, подходящую для работы с упомянутыми созданными пользователем данными, согласно инсталляционному объявлению приложения, соответствующему идентифицируемой прикладной программе из упомянутого множества прикладных программ,
формируют виртуальное прикладное окружение, включающее в себя упомянутые созданные пользователем данные, идентифицированную прикладную программу, подходящую для работы с этими созданными пользователем данными, и операционную систему, подходящую для поддержки исполнения этой идентифицированной прикладной программы; проверяют, является ли виртуальное прикладное окружение подходящим для исполнения в соответствующей компьютерной системе виртуальной машине, в которой операционная система и идентифицированная прикладная программа могут функционировать; и
сохраняют виртуальное прикладное окружение на накопителе информации, если виртуальное прикладное окружение является подходящим для исполнения в упомянутой виртуальной машине.
14. Способ по п.13, в котором виртуальное прикладное окружение формируют дополнительно для работы в качестве самозагружающегося устройства при исполнении в виртуальной машине, соответствующей компьютерной системе.
15. Способ по п.14, в котором при идентификации прикладной программы из множества прикладных программ, подходящей для работы с упомянутыми созданными пользователем данными, идентифицируют, что прикладная программа из множества прикладных программ является подходящей для работы с упомянутыми созданными пользователем данными, согласно информации системного реестра операционной системы.
16. Способ по п.13, в котором созданные пользователем данные, подлежащие архивированию, включают в себя множество созданных пользователем файлов данных, соответствующих, по меньшей мере, двум различным прикладным программам, при этом способ дополнительно включает в себя для каждого созданного пользователем файла данных в упомянутых созданных пользователем данных, подлежащих архивированию, этап, на котором идентифицируют прикладную программу, подходящую для работы с этим созданным пользователем файлом данных, при этом при формировании виртуального прикладного окружения виртуальное прикладное окружение дополнительно формируют так, чтобы оно включало в себя идентифицированные прикладные программы, подходящие для работы с каждым созданным пользователем файлом данных в упомянутых созданным пользователем данных, подлежащих архивированию.
Описание изобретения к патенту
Предшествующий уровень техники
Потеря данных является печальной действительностью для многих пользователей компьютеров. Данные могут быть потеряны при различных обстоятельствах и случаях. Аппаратный отказ, злоумышленное или случайное удаление - распространенные случаи потери данных. Чтобы компенсировать или защитить себя против потери при таких обстоятельствах, множество пользователей компьютеров, разумно поступая, создает дубликат, резервную копию важных данных и/или программ.
К сожалению, также существует множество случаев, при которых данные могут быть потеряны независимо от того, была ли сделана и доступна ли действительная резервная копия. В частности, со временем программы, операционные системы и/или аппаратное обеспечение становятся недоступными/устаревшими. Когда это происходит, пользователь компьютера не может осуществить доступ к важным данным, даже когда существует в остальном рабочая резервная копия.
Например, данные могут быть сохранены посредством частной программы базы данных и затем заархивированы. Спустя некоторое время, когда эти данные станут необходимы, программа базы данных (или операционная система, которая поддерживает эту программу базы данных, или аппаратное обеспечение, на котором эта операционная система исполняется) больше не доступна или не используется. Таким образом, даже притом, что база данных поддерживается в качестве действительного архива, содержимое этой базы данных недоступно.
Есть, конечно, сегменты рынка, которые специализируются в извлечении данных, созданных посредством и/или сохраненных на архаичных компьютерных системах или программном обеспечении. Соответствующие им методики в значительной степени отличаются. Одна методика заключается в поддержке устаревшего компьютерного аппаратного обеспечения, операционных систем и программного обеспечения. Другая, сильно отличающаяся методика задействует "взлом" данных, сохраненных частными системами, извлекая их с использованием сложных программных методик и экспертизы. В любом случае, восстановление данных, которые были заархивированы, но соответствующие которым программы, операционная система или аппаратное обеспечение более не являются легко доступными, приводит к существенным затратам.
Сущность изобретения
Согласно аспектам данного изобретения представлена компьютерная система, подходящая для архивирования данных с помощью соответствующей программы в виртуальном прикладном окружении. Компьютерная система включает в себя процессор, память и накопитель информации. Компьютерная система также включает в себя операционную систему, данные, подлежащие архивированию, и прикладную программу, которая соответствует этим данным, так что прикладная программа может работать с этими данными. Компьютерная система также включает в себя средство формирования виртуального прикладного окружения. Пример средства формирования виртуального прикладного окружения - Виртуальный Инструмент Миграции Серверов (Virtual Server Migration Tool) корпорации Microsoft. В ответ на команду архивировать данные, средство формирования виртуального прикладного окружения формирует виртуальное прикладное окружение. Виртуальное прикладное окружение включает в себя данные, соответствующую прикладную программу и операционную систему.
Согласно дополнительному аспекту данного изобретения представлен машиночитаемый носитель, несущий машиноисполняемые команды. При исполнении в компьютерной системе, машиноисполняемые команды осуществляют способ архивирования данных в виртуальном прикладном окружении. Способ включает в себя прием запроса на архивирование данных. Затем формируется виртуальное прикладное окружение. Это виртуальное прикладное окружение включает в себя данные, прикладную программу, подходящую для работы с этими данными, и операционную систему, подходящую для поддержки исполнения этой прикладной программы. Виртуальное прикладное окружение сохраняется в накопителе информации.
Согласно дальнейшим аспектам данного изобретения представлен способ архивирования данных в виртуальном прикладном окружении. Способ включает в себя прием запроса на архивирование данных. Затем формируется виртуальное прикладное окружение. Это виртуальное прикладное окружение включает в себя данные, прикладную программу, подходящую для работы с этими данными, и операционную систему, подходящую для поддержки исполнения этой прикладной программы. Затем в отношении виртуального прикладного окружения выполняется проверка с целью определения того, является ли оно подходящим для исполнения в виртуальной машине, соответствующей компьютерной системе, в которой могут функционировать упомянутые операционная система и прикладная программа. Если виртуальное прикладное окружение является подходящим для исполнения в виртуальной машине, тогда оно сохраняется в накопителе информации.
Перечень фигур чертежей
Предшествующие аспекты и множество сопутствующих преимуществ этого изобретения будут без труда осознаны и станут более понятны со ссылкой на нижеследующее детальное описание, вместе с сопроводительными чертежами, в которых:
Фиг.1 - блок-схема, иллюстрирующая примерную рабочую среду, подходящую для реализации аспектов данного изобретения;
Фиг.2 - блок-схема, иллюстрирующая пример компьютерной системы, подходящей для архивирования данных в виртуальном прикладном окружении;
Фиг.3 - блок-схема последовательности операций, иллюстрирующая пример процедуры для архивирования данных согласно аспектам данного изобретения; и
Фиг.4 - блок-схема последовательности операций, иллюстрирующая пример процедуры для извлечения заархивированных данных из виртуального прикладного окружения.
Подробное описание изобретения
Фиг.1 - блок-схема, иллюстрирующая пример рабочей среды 100, подходящей для реализации аспектов данного изобретения. Иллюстративная рабочая среда 100 включает в себя компьютерную систему 102, показанную на фиг.1 в виде логических уровней в целях иллюстрации. В частности, иллюстративная компьютерная система 102 включает в себя уровень 104 аппаратного обеспечения, уровень 106 операционной системы и уровень 108 прикладных программ.
Уровень 104 аппаратного обеспечения включает в себя компоненты, такие как процессор, память, накопители большой емкости (накопители на жестких дисках, оптические диски и т.п.), подсистемы графического отображения. Уровень 106 операционной системы, как подразумевает само его название, включает в себя операционную систему, которая поддерживает уровень 108 прикладных программ. Этот уровень также в типичном случае включает в себя конфигурационные параметры, включая пользовательские предпочтения и программные настройки для прикладных программ на уровне прикладных программ. Уровень 108 прикладных программ включает в себя программы и/или службы, такие как прикладные программы 110 и 112, а также сопутствующие файлы, созданные пользователем данные (114 и 116) и т.п.
Хотя фиг.1 иллюстрирует приложения 110 и 112 как отдельные модули, специалисты отметят, что почти все прикладные программы - в типичном случае не монолитные блоки кода. Напротив, прикладные программы в типичном случае состоят из различных компонентов, включая модули кода, текстовые модули, файлы данных, ресурсы, файлы конфигурации и т.п. Таким образом, иллюстрация прикладных программ 110 и 112 (и других в течение последующего обсуждения) в виде отдельных составляющих объектов должна рассматриваться как логическая конструкция в целях иллюстрации, а не как ограничение данного изобретения.
В дополнение к компонентам прикладной программы, в результате использования большинства прикладных программ пользователи обычно создают файлы 114 и 116 данных. Фактически, такие файлы обычно являются тем, что является самым важным для пользователя. Более подробно, прикладная программа, если она повреждена или удалена из компьютерной системы, может быть восстановлена с носителей, которые были предоставлены пользователю при приобретении прикладной программы. Однако файлы данных, созданные прикладными программами, такие как файлы 114 и 116 данных, являются результатом взаимодействий и созданий, выполняемых пользователями, и, как таковые, являются уникальными и должны быть сбережены от случайной, злонамеренной или небрежной потери.
Согласно аспектам данного изобретения, чтобы сберечь файлы данных так, чтобы их можно было использовать в будущем, когда прикладная программа, операционная система и/или аппаратные средства станут более не доступными или не используемыми, файлы данных архивируются в виртуальном рабочем окружении 122, которое может храниться на носителях, таких как оптические диски, накопители на жестких дисках или другие службы резервного копирования, например, онлайновые хранилища. Виртуальное рабочее окружение 122 включает в себя операционную систему и прикладные программы, необходимые для работы с совместно заархивированными файлами данных.
Согласно аспектам данного изобретения виртуальное рабочее окружение 122 формируется так, чтобы оно могло исполняться в виртуальной машине. Как отметят специалисты, виртуальная машина - это абстракция компьютерного аппаратного обеспечения, реализованная в программном обеспечении, которая может исполняться на другом компьютерном аппаратном обеспечении. Технология создания и использования виртуальных машин известна в данной области техники. Например, Виртуальный Инструмент Миграции Серверов корпорации Microsoft представляет собой один пример продукта, который формирует виртуальную машину. Как показано на фиг.1, виртуальная машина 124 формируется средством 126 формирования виртуальной машины. Хотя на фиг.1 не показано, виртуальная машина 124 может быть сохранена на любом количестве целевых объектов резервного копирования или хранения, включая, но не в ограничительном смысле, магнитную ленту, хранилище на жестких дисках, оптические носители и т.п.
Формирование виртуального рабочего окружения для исполнения в виртуальной машине, например, виртуальной машине 124, устраняет необходимость поддерживать компьютерные аппаратные средства 104 для доступа к данным, созданным устаревшими прикладными программами. Таким образом, после того, как годы прошли и аппаратные средства, операционная система и прикладные программы коммерчески больше не доступны, заархивированные данные, такие как файл 114 или 116 данных, по-прежнему доступны. Пользуясь технологией виртуальных машин для реализации виртуальной машины 124, соответствующей аппаратным средствам, на которых виртуальное рабочее окружение 122 было сформировано, данные становятся доступны на фактически любых компьютерных аппаратных средствах, на которых исполняется любая операционная система.
Чтобы гарантировать, что виртуальное рабочее окружение 122 может быть исполнено впоследствии, в одном варианте осуществления виртуальное рабочее окружение включает в себя информацию, идентифицирующую платформу виртуальной машины, то есть соответствующие компьютерные аппаратные средства, на которых было сформировано виртуальное рабочее окружение.
Виртуальное рабочее окружение 122 создается, используя средство 118 формирования виртуального рабочего окружения, которое преобразовывает файлы данных, прикладную программу или программы и операционную систему в виртуальное рабочее окружение 122. В частности, средство 118 формирования виртуального рабочего окружения определяет, какие компоненты (особенно относительно конкретной прикладной программы) должны быть включены в виртуальное рабочее окружение 122, так чтобы прикладная программа, соответствующая значимому файлу данных, смогла работать.
Согласно одному варианту осуществления средство 118 формирования виртуального рабочего окружения включает в виртуальное прикладное окружение 122 все прикладные программы и операционную систему компьютерной системы 102, тем самым гарантируя, что все компоненты прикладной программы, соответствующие значимому файлу данных, включены. Альтернативно, средство 118 формирования виртуального рабочего окружения использует объявление 120 приложения, которое идентифицирует компоненты прикладной программы, которые должны быть включены в виртуальное прикладное окружение 122. Конечно, другая информация также может использоваться для определения компонентов прикладной программы, таких как инсталляционные объявления, информация системного реестра операционной системы и т.п.
По меньшей мере, в одном варианте осуществления данного изобретения виртуальное прикладное окружение 122 формируется таким образом, чтобы оно работало как самозагружающееся устройство. Другими словами, виртуальное прикладное окружение 122 может функционировать как загрузочное устройство фактического компьютерного аппаратного обеспечения или виртуальной машины.
Фиг.2 - схема, иллюстрирующая пример компьютерной системы 200, подходящей для того, чтобы архивировать данные в виртуальном рабочем окружении 122. В частности, компьютерная система 200 включает в себя компьютерное аппаратное обеспечение 104, операционную систему 106, одну или более прикладных программ 110 и 112, а также соответствующие файлы 114 и 116 данных. Как показано на фиг.2, компьютерное аппаратное обеспечение включает в себя процессор 202, память 204 и накопитель 206 информации. Конечно, специалисты отметят, что эти компоненты аппаратного обеспечения являются иллюстрацией многих комплектующих, которые составляют компьютерное аппаратное обеспечение, и не должны быть рассмотрены как ограничение данного изобретения.
Иллюстративная компьютерная система 200 также включает в себя средство 118 формирования виртуального прикладного окружения. Как обозначено выше, средство 118 формирования виртуального прикладного окружения объединяет файл данных, такой как файл 114 данных, с соответствующей ему прикладной программой и операционной системой, работающей на компьютерном аппаратном обеспечении 104, в виртуальное прикладное окружение 122 (фиг.1). Однако нужно отметить, что хотя, средство 118 формирования виртуального прикладного окружения проиллюстрировано как находящееся в иллюстративной компьютерной системе 200, в альтернативном варианте осуществления средство 118 формирования виртуального рабочего окружения находится во внешней компьютерной системе 202 и сконфигурировано для удаленной эксплуатации на иллюстративной компьютерной системе 202.
Фиг.3 - блок-схема последовательности операций, иллюстрирующая пример процедуры 300 для архивирования данных в виртуальном прикладном окружении 122, согласно аспектам данного изобретения. Начиная на этапе 302, принимается запрос на архивирование файла данных. На этапе 304 прикладная программа (или программы), ассоциированная с файлом данных, ее компоненты и ассоциированные файлы идентифицируются. Как обсуждается выше, компоненты прикладной программы могут быть идентифицированы, используя объявление 120 приложения, параметры настроек компьютерной системы, такие как записи системного реестра, инсталляционные объявления и т.п.
В альтернативном варианте осуществления может быть получен запрос на архивирование тома. Как отметят специалисты, том может включать в себя любое число файлов данных, некоторые из которых созданы несопоставимыми прикладными программами. Таким образом, подобно логике, описанной выше, иллюстративная процедура будет идентифицировать, для каждого файла данных в томе, который должен быть заархивирован, соответствующую прикладную программу (или программы) для включения в виртуальное прикладное окружение 122.
На этапе 306 формируется виртуальное прикладное окружение 122, включающее в себя идентифицированные компоненты прикладной программы, файл данных и операционную систему, способную исполнять прикладную программу. Виртуальное прикладное окружение 122 может также включать в себя информацию, идентифицирующую аппаратное обеспечение виртуальной машины или фактическое компьютерное аппаратное обеспечение, на которых может исполняться виртуальное прикладное окружение.
На этапе принятия решения 308 в отношении виртуального прикладного окружения 122, в необязательном порядке, выполняется проверка действительности, чтобы определить, может ли оно исполняться в виртуальной машине, соответствующей компьютерному аппаратному обеспечению, на котором были сформированы компоненты виртуального прикладного окружения. Если виртуальное прикладное окружение 122 оказывается не действительным, на этапе 310 сообщается об ошибке, и впоследствии процедура 300 заканчивается.
Если действительность виртуального прикладного окружения 122 подтверждена надлежащим образом, на этапе 312 виртуальное прикладное окружение сохраняется. Впоследствии процедура заканчивается.
Нужно отметить, что, хотя в вышеприведенном описании процедуры 300 файл данных рассматривается как одиночный объект, на самом деле данные для архивирования могут включать в себя множество файлов и компонентов, и нельзя делать вывод, что данное изобретение ограничено архивированием одиночного файла данных в виртуальном прикладном окружении 122.
Фиг.4 - блок-схема последовательности операций, иллюстрирующая пример процедуры 400 для извлечения заархивированных данных из виртуального прикладного окружения 122. Начиная на этапе 402, принимается запрос на восстановление данных из виртуального прикладного окружения 122. На этапе 404 происходит получение виртуального прикладного окружения 122.
На этапе 406 происходит получение информации относительно виртуальной машины 124, соответствующей и необходимой для поддержки виртуального прикладного окружения 122. На этапе 408 осуществляется исполнение виртуальной машины 124, соответствующей виртуальному прикладному окружению 122 (если она еще не исполняется). Естественно, как обсуждалось ранее, виртуальное прикладное окружение 122 может исполняться в виртуальной машине 124 или, альтернативно, на компьютерном аппаратном обеспечении (не показано), соответствующих первоначальному компьютерному аппаратному обеспечению, на котором виртуальное прикладное окружение 122 было сформировано.
Исполнение виртуального прикладного окружения 122 может задействовать загрузку виртуального прикладного окружения в виртуальной машине. В таком случае, виртуальное прикладное окружение 122 должно быть сконфигурировано как самозагружающееся устройство.
Как только виртуальная среда прикладной программы 122 исполняется, на этапе 410 исполняется прикладная программа, соответствующая файлу данных, который должен быть извлечен. На этапе 412 осуществляется извлечение данных, используя соответствующую прикладную программу, либо автоматизированным образом, либо под руководством пользователя компьютера. Впоследствии процедура 400 заканчивается.
Хотя был проиллюстрирован и описан предпочтительный вариант осуществления изобретения, нужно отметить, что различные изменения могут быть сделаны, не отступая от сущности и объема изобретения.
Класс G06F9/455 эмуляция; моделирование программного обеспечения