Запуск приложений со съемного носителя

Иллюстрации

Показать все

Изобретение относится к области запуска приложений. Техническим результатом является упрощение запуска приложений со съемного носителя. Готовое к использованию программное обеспечение может быть запущено со съемного носителя без установки программного обеспечения на машину и без модификации готового к использованию программного обеспечения. Файлы и ассоциативно связанное состояние, созданные при выполнении приложения, которое не было установлено на компьютер, могут быть сохранены на съемный носитель или в определенную область системной файловой системы и системного реестра (если присутствует). 3 н. и 17 з.п. ф-лы, 5 ил.

Реферат

Уровень техники

Одним способом, которым пользователь получает новое программное обеспечение для своего компьютера, является приобретение этого программного обеспечения на CD ROM или некотором другом виде съемного носителя. CD ROM (или другой съемный носитель) в типичном варианте содержит приложение, например, программу расчета налогов, игру или одну из бессчетного множества других возможных программ. CD ROM в типичном варианте также включает в себя программное обеспечение, с помощью которого приложение устанавливается на пользовательский компьютер. Пользователю предлагается инициировать устанавливающее программное обеспечение или иногда программа установки запускает себя автоматически. Инсталлятор затем копирует программные файлы и файлы данных на пользовательский компьютер. Инсталлятор в типичном варианте также создает или модифицирует программные файлы, папки и каталоги, записи реестра (для тех операционных систем, которые используют реестры), записи конфигурационных файлов, переменные окружения и ссылки или экранные ярлыки так, чтобы приложение могло быть запущено. Таким образом, в типичном варианте до того как пользователь сможет запустить приложение, по меньшей мере, некоторые файлы программного обеспечения и файлы данных должны быть скопированы на пользовательский компьютер. Когда пользователь хочет удалить программное обеспечение и любые файлы и т.п. созданного или используемого программного обеспечения, приложение зачастую может быть удалено либо с помощью программных инструментов, предоставляемых посредством операционной системы, либо с помощью программного обеспечения, которое идет с приложением. Проблемы зачастую возникают при удалении. Иногда все файлы, папки, каталоги, записи реестра, ссылки, записи конфигурационного файла и т.п., которые должны быть удалены, не удаляются и иногда файлы и т.п., которые не должны быть удалены, удаляются. Иногда файлы и т.п., остающиеся на пользовательском компьютере, остаются в состоянии, которое служит причиной проблем при выполнении других программ.

Кроме того, зачастую пользователи владеют более чем одним компьютером и желают запускать программное обеспечение на более чем одном компьютере. Предположим, например, что пользователь владеет тремя компьютерами. Даже несмотря на то, что программное обеспечение само по себе переносимо (например, расположено на CD ROM), для того, чтобы запустить приложение на любом из трех компьютеров, пользователю необходимо будет установить программное обеспечение отдельно на каждой из его трех машин, установка приложения будет использовать дополнительное пространство на каждом из компьютеров, на котором оно установлено, а также оставлять данные на машине, даже если программное обеспечение было впоследствии удалено. Проблемы могут также возникнуть, когда пользователь желает запустить программное обеспечение на чьем-либо еще компьютере, но не хочет оставлять персональные данные на чьем-либо еще компьютере. Проблемы размещения программного обеспечения на съемном носителе, где программное обеспечение должно быть установлено и удалено, это проблема сложности О(n). Следовательно, эта модель, несмотря на широкое использование в настоящее время, имеет некоторое число неудобств.

Сущность изобретения

Пользователи могут купить или приобрести программное обеспечение на съемном носителе или могут загрузить программное обеспечение из Интернета или другой сети на съемный носитель и могут использовать программное обеспечение посредством вставки съемного носителя в компьютер и запуска программного обеспечения со съемного носителя. Может потребоваться установить программное обеспечение на компьютер только один раз, независимо от того, на скольких компьютерах будет запускаться программное обеспечение, или, если программное обеспечение запаковано так, чтобы иметь возможность запускаться без установки, совсем без установки программного обеспечения перед использованием, таким образом, устраняя необходимость удалять его впоследствии, что может быть желательно.

Съемный носитель может быть только для чтения или читаемым с возможностью записи. Если съемный носитель является записываемым, первый компьютер, на котором программное обеспечение запущено, может выполнять этап установки и делать любые требуемые конфигурационные изменения на съемном носителе. Последующие запуски программного обеспечения на этом или другом компьютере могут не требовать установки. Если съемный носитель является записываемым, приложение и любые файлы и состояния, созданные или ассоциативно связанные с ним, могут дополнительно быть записаны обратно на съемный носитель. Программное обеспечение, которое не должно быть установлено, для того, чтобы запускаться со съемного носителя, не должно быть модифицировано из своего готового к использованию состояния, что в отсутствие изобретения потребовало бы установки для запуска.

Если съемный носитель является носителем только для чтения, программное обеспечение может быть запаковано (необязательно, после приобретения) таким образом, что этап установки не потребуется. Альтернативно, этап установки может быть сокращен до выполнения только необходимых конфигурационных изменений, таким образом, что конфигурационные изменения видны только программному обеспечению на съемном носителе. Т.е. установка не затрагивает компьютер, на котором оно установлено (т.е. настройки конфигурации на компьютере не изменяются как результат установки программного обеспечения). Пользователь имеет возможность оставить состояние компьютера, в который вставлен или к которому подключен съемный носитель, в состоянии, в котором находится компьютер, когда съемный носитель не вставлен и программное обеспечение не запущено. Программное обеспечение запускается со съемного носителя посредством создания "песочницы", такой как изолированное пространство (silo - бункер), которая предоставляет окружение, из которого приложение может быть запущено без установки программного обеспечения на компьютер. При удалении съемного носителя, песочница удаляется и любые остаточные данные приложения и его состояния могут быть удалены с компьютера.

Изолированное пространство объединяет представление только для чтения системной файловой системы и системного реестра с доступом "чтение-запись" к файлам и реестру на съемном носителе. Результатом является изолированное окружение или изолированное пространство, которое функционирует как полная операционная система. Изолированное пространство не имеет отдельного экземпляра образа операционной системы.

Чертежи

На чертежах:

Фиг. 1 - это блок-схема, иллюстрирующая примерное вычислительное окружение, в котором могут быть реализованы аспекты изобретения.

Фиг. 2а-с - это блок-схемы системы для запуска приложения со съемного носителя согласно некоторым вариантам осуществления изобретения.

Фиг. 3 - это схема последовательности операций способа для запуска приложения со съемного носителя согласно некоторым вариантам осуществления изобретения.

Подробное описание

Обзор

Готовое к использованию программное обеспечение в типичном варианте сопровождается программным обеспечением установки, которое должно выполняться до того, как приложение может быть запущено. В типичном варианте программное обеспечение установки копирует файлы и данные на компьютер, на котором будет работать программное обеспечение. Программное обеспечение может также добавлять или изменять конфигурационные настройки или значения реестра так, чтобы программное обеспечение могло запускаться. В соответствии с вариантами осуществления изобретения, готовое к использованию программное обеспечение может быть запущено со съемного носителя без установки программного обеспечения на машину, без модификации готового к использованию программного обеспечения. В некоторых вариантах осуществления изобретения, состояние компьютера, после запуска приложения, не изменяется посредством запуска приложения. Т.е. любое изменение в состоянии, которое происходит в процессе выполнения, является кратковременным и не приводит в результате к изменениям любых сохраненных (постоянных или записанных) файлов на компьютере. В некоторых вариантах осуществления изобретения, файлы, создаваемые или модифицируемые в процессе выполнения приложения, которое не устанавливается на компьютере, но запускается со съемного носителя, сохраняются на съемном носителе. В некоторых вариантах осуществления изобретения, файлы, создаваемые или модифицируемые в процессе выполнения неустанавливаемого приложения, сохраняются в определенную область файловой системы компьютера.

Съемные носители включают в себя съемные диски, CD ROM, DVD, USB-ключи, устройства флэш-памяти, флэш-приводы, флэшки, карты с интегральными схемами, удаленные хранилища файлов, сетевые хранилища и любые подобные устройства, пока еще неизвестные и не разработанные. Для того чтобы предоставить возможность готовому к использованию программному обеспечению запускаться без установки и без оставления ассоциативно связанного с приложением состояния на компьютере, для целей инициализации запускается один раз программное обеспечение установки, и значения, заданные посредством программного обеспечения установки, сохраняются на съемном носителе. Этот процесс упоминается как подготовка к работе съемного носителя. Подготовка к работе съемного носителя может происходить один раз при создании мастера или может происходить, когда съемный носитель первый раз вставляется в или подключается к компьютеру. Альтернативно, подготовка к работе может происходить, когда съемный носитель первый раз вставляется в конкретный компьютер. Когда съемный носитель вставляется в компьютер, на котором должно быть запущено приложение, создается изолированное пространство приложения. Файловая система, доступная для изолированного пространства приложения, является представлением, которое включает в себя как записи файловой системы компьютера или ее поднабор, так и файлы на съемном носителе. Реестр, доступный для изолированного пространства приложения, является представлением, которое включает в себя как записи в реестре компьютера или его поднабор, так и значения реестра на съемном носителе. Т.е. изолированное пространство приложения действует как изолированное окружение выполнения, которое функционирует подобно обычной системе для приложения. (Например, если приложение является приложением, которое может запускаться на машине, имеющей установленную на ней операционную систему WINDOWS, изолированное пространство приложения функционирует, как если бы это была обычная система WINDOWS для приложения). Изолированное пространство ограничивает записи в файловую систему и реестр компьютера так, что процессы, запущенные в изолированном пространстве, могут только модифицировать выбранные части файловой системы и реестра, но операционная система предоставляет конкретное для изолированного пространства представление файловой системы и реестра процессам, запущенным в изолированном пространстве, так, что процессы, запущенные в изолированном пространстве, "думают", что они имеют полный доступ на запись к системным файловой системе и реестру. Изолированное пространство не имеет своего собственного экземпляра операционной системы.

Изолированное пространство является механизмом ограничения/изоляции внутри операционной системы, который обеспечивает изоляцию процессов, запущенных на компьютере. Изолированное пространство допускает управляемое совместное использование некоторых файлов и ограничивает доступ к другим файлам посредством создания представления файловой системы для процессов, запущенных в изолированном пространстве. Представление выглядит для процесса, запущенного в изолированном пространстве, как единый каталог, который является объединением каталогов двух физических файловых систем: системной файловой системы и файлов файловой системы на съемном носителе. Т.е. файлы, доступные приложению, зависят от файлов, которые приложение "видит", а файловая система, которую приложение, запущенное в изолированном пространстве, "видит", является представлением, которое объединяет системную файловую систему и файловую систему на съемном носителе.

Аналогично изолированное пространство управляет совместным использованием и ограниченным доступом к записям в реестре посредством создания представления реестра для процесса, запущенного в изолированном пространстве. Представление реестра выглядит для процесса, запущенного в изолированном пространстве, как единый реестр, который является объединением двух или более физических реестров: системного реестра и реестра на съемном носителе.

Когда приложение запускается в изолированном пространстве приложения, любые изменения в системной конфигурации и/или системных настройках записываются в приватную копию этих файлов, которые присутствуют на съемном носителе и которые в типичном варианте ассоциативно связаны и принадлежат приложению на съемном носителе. Выборочный доступ к областям системной файловой системы (например, к каталогу My Documents) может быть выборочно предоставлен приложению. Когда приложение завершает работу и съемный носитель вынимается из компьютера, изолированное пространство удаляется. Любые изменения в системной конфигурации и/или системных настройках могут быть записаны обратно в приватное хранилище приложения на съемном носителе или могут быть отброшены.

В некоторых вариантах осуществления изобретения, когда съемный носитель вставляется в компьютер, приложение запускается в изолированном пространстве, которое является отделенным или изолированным от других приложений, выполняющихся на машине. Песочница создается посредством создания изолированного пространства, объединения элементов реестра на съемном носителе с представлением только для чтения машинного реестра, и создания представления файловой системы посредством объединения файлов на съемном носителе с поднабором только для чтения файлов машинной файловой системы. Записи в реестр или файловую систему компьютера могут быть запрещены. Вместо этого, когда должна быть произведена запись в один из файлов или элементов реестра, представленных в представлении, запись выполняется в файлы или в значения реестра на съемном носителе. Альтернативно, изменения могут быть записаны во временную область на компьютере. Временная область может существовать и в типичном варианте отбрасываться при извлечении съемного носителя.

Взаимодействие между приложением на съемном носителе и системой может быть ограничено считыванием из представлений файловой системы и реестра, представленных приложению, и записью в выбранные области файловой системы (например, в My Documents). Поскольку приложение не способно записывать в действующий системный реестр, поведение приложения ограничено. Например, предположим, что предоставленное приложение ACROBAT reader и что оно должно быть запущено со съемного носителя. ACROBAT reader в типичном варианте предоставляет расширение Интернет-браузеру, например, INTERNET EXPLORER или NETSCAPE. Поскольку ACROBAT будет запущен в своем собственном изолированном пространстве, оно не будет вызвано как расширение из Интернет-браузера, который уже установлен на компьютере, поскольку представление реестра на стороне машины, видимое посредством Интернет-браузера, отличается от того, которое предоставляется приложению ACROBAT.

Вышеописанное поведение делает варианты осуществления изобретения идеальными для использования в окружениях, например, представленных сегодня в общественном терминале, отсюда, одно рассматриваемое применение вышеописанного варианта осуществления - это использование окружения типа общественного терминала. Общественные терминалы широко представлены в публичных местах и предоставляют связанные с компьютером и Интернетом услуги посредством предоставления компьютера и монитора для публичного использования. Когда съемный носитель включает в себя программное обеспечение согласно вариантам осуществления изобретения, пользователь имеет возможность запустить программное обеспечение на компьютере общественного терминала, не оставляя при этом персональной информации или данных в компьютере общественного терминала или не модифицируя операционную систему общественного терминала.

Общественные терминалы в настоящее время широко используются в аэропортах, в туристических местах (для того чтобы предоставлять информацию по отелям, ресторанам или общественному транспорту и т.п.), в торговых павильонах и в магазинах. Например, некоторые магазинные общественные терминалы предоставляют возможность покупателям связаться с веб-сайтом, где потребитель может найти предметы, которые физически не расположены в магазине, и предоставляют возможность продавцам осуществлять доступ к информации о продажах, например, спецификации товаров, информации о гарантии и сравнение цен. В другом рассматриваемом использовании, когда съемный носитель вставляется в компьютер, опыт, похожий на новую регистрацию в общественном терминале, может быть представлен пользователю. Результаты могут быть записаны обратно на съемный носитель. Необязательно, больше данных из пользовательского окружения (например, документы и настройки) могут быть записаны на съемный носитель.

В другом варианте осуществления изобретения, приложение выглядит как часть пользовательского окружения и предоставляет возможность расширить систему. Например, ACROBAT reader на съемном носителе становится вызываемым из Интернет-браузера. В этих вариантах осуществления после того, как изолированное пространство создано и предоставлены объединенные представления, определенные для приложения действия выполняются так, чтобы ввести необходимую связность в машине. Связность может быть набором пар ключ-значение, который вводится в реестр машины. После удаления съемного носителя, связности удаляются. Код, который поддерживает связность, может быть описан в декларативном манифесте или специальном коде, который запускается при вставке/удалении носителя.

В других вариантах осуществления изобретения, приложение выглядит как часть пользовательского окружения и предоставляет возможность расширить систему, но вместо вышеописанного набора действий, часть пользовательского интерфейса (или оболочка) Интернет-браузера повторно запускается в изолированном пространстве. Когда съемный носитель вставляется, новая программа появляется в списке программ. Новая программа действует как расширение к существующим программам и может изменять настройки оболочки и т.п., но когда съемный носитель удаляется, эти настройки отменяются.

Примерное вычислительное окружение

Фиг. 1 и последующее обсуждение предназначены, чтобы предоставить краткое общее описание подходящего вычислительного окружения, в котором может быть реализовано изобретение. Тем не менее, следует понимать, что карманные, портативные и другие вычислительные устройства всех типов рассматриваются для использования с настоящим изобретением. Несмотря на то, что ниже описана вычислительная машина общего назначения, это только один пример, и настоящее изобретение требует только "тонкого" клиента, имеющего возможность взаимодействия и обмена данными с сетевым сервером. Таким образом, настоящее изобретение может быть реализовано в окружении сетевых размещаемых служб, в которых привлекается немного или минимум клиентских ресурсов, к примеру, в сетевом окружении, в котором клиентское устройство выступает просто как обозреватель или интерфейс к всемирной сети.

Хотя и не обязательно, изобретение может быть реализовано посредством интерфейса прикладного программирования (API) для использования разработчиком и/или включено в сетевое программное обеспечение просмотра, которое будет описано в общем контексте машиноисполняемых инструкций, таких как программные модули, приводимые в исполнение одним или более компьютерами, например, клиентскими рабочими станциями, серверами и другими устройствами. Как правило, программные модули включают в себя подпрограммы, программы, объекты, компоненты, структуры данных и т.п., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. В типичном варианте функциональность программных модулей может быть сочетаема или распространена, как требуется в различных вариантах осуществления. Более того, специалисты в данной области техники примут во внимание, что изобретение может быть использовано на практике с другими конфигурациями вычислительных систем. Другие широко распространенные вычислительные системы, окружения и/или конфигурации, которые могут быть подходящими для использования с изобретением, включают в себя (но не только) персональные компьютеры, "карманные" компьютеры или дорожные компьютеры, многопроцессорные системы, системы на базе микропроцессоров, программируемую бытовую электронную аппаратуру, сетевые ПК, миниЭВМ, мейнфреймы, распределенные вычислительные окружения, которые содержат вышеуказанные системы и устройства, и т.п. Изобретение также может быть осуществлено на практике в распределенных вычислительных средах, где задачи выполняются удаленными устройствами обработки данных, которые связаны через сеть связи или другую среду передачи данных. В распределенном вычислительном окружении программные модули могут быть расположены в носителях хранения и локального, и удаленного компьютера, включающих в себя запоминающие устройства.

Фиг. 1, таким образом, иллюстрирует примерное подходящее окружение 100 вычислительной системы, в котором может быть реализовано изобретение, хотя, как было прояснено выше, окружение 100 вычислительной системы является только примером подходящего вычислительного окружения и не предназначено, чтобы означать какое-либо ограничение на область использования или функциональность изобретения. Также вычислительное окружение 100 не должно быть интерпретировано в качестве имеющего какую бы то ни было зависимость или требование, относящееся к любому одному или сочетанию из компонентов, проиллюстрированных в примерном операционном окружении 100.

Относительно фиг. 1, примерная система для реализации изобретения включает в себя вычислительное устройство общего назначения в виде компьютера 110. Компоненты компьютера 110 могут включать в себя, но не только, блок 120 обработки, системную память 130 и системную шину 121, которая соединяет различные компоненты системы, включая системную память, с блоком 120 обработки. Системная шина 121 может быть любой из некоторых типов шинных структур, включающих в себя шину памяти или контроллер памяти, периферийную шину и локальную шину, использующую любую из многообразия шинных архитектур. В качестве примера, но не ограничения, такие архитектуры включают в себя шину промышленного стандарта (ISA), шину микроканальной архитектуры (MCA), расширенную шину ISA (EISA), локальную шину Ассоциации по стандартам в области видеоэлектроники (VESA) и шину взаимосвязи периферийных компонентов (PCI), также известную как "мезонинная шина".

Компьютер 110 в типичном варианте включает в себя многообразие машиночитаемых носителей. Машиночитаемыми носителями могут быть любые имеющиеся в распоряжении носители, доступ к которым может быть осуществлен компьютером 110 и которые могут быть как энергозависимыми или энергонезависимыми, так и съемными или несъемными. В качестве примера, но не ограничения, машиночитаемые носители могут содержать компьютерные носители хранения и среду связи. Компьютерные носители хранения включают в себя энергозависимые и энергонезависимые, съемные и стационарные носители, реализованные любым способом или технологией хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Компьютерный носитель хранения включает в себя, но не в качестве ограничения, ОЗУ (оперативное запоминающее устройство, RAM), ПЗУ (постоянное запоминающее устройство, ROM), ЭСППЗУ (электрически стираемое и программируемое ПЗУ, EEPROM), флэш-память, или другую технологию памяти, CD-ROM, цифровой универсальный диск (DVD) или другое оптическое дисковое хранилище, магнитные кассеты, магнитную ленту, магнитное дисковое хранилище или другие магнитные устройства хранения, или любой другой носитель, который может быть использован, чтобы хранить желаемую информацию и к которому может быть осуществлен доступ компьютером 110. Среда связи обычно воплощает машиночитаемые инструкции, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как несущая, или другом транспортном механизме, и включает в себя любую среду доставки информации. Термин "модулированный сигнал данных" означает сигнал, который имеет одну или более из его характеристик, установленных или изменяемых таким образом, чтобы кодировать информацию в сигнале. В качестве примера, а не ограничения, среда связи включает в себя проводную среду, такую как проводная сеть или прямое проводное соединение, и беспроводную среду, такую как акустическая, РЧ (радиочастотная, RF), инфракрасная и другая беспроводная среда. Комбинации любых из вышеприведенных также должны быть включены в объем машиночитаемых носителей.

Системная память 130 включает в себя компьютерные носители хранения в виде энергозависимой или энергонезависимой памяти, такой как постоянное запоминающее устройство (ROM) 131 или оперативное запоминающее устройство (RAM) 132. Базовая система 133 ввода-вывода (BIOS), содержащая базовые подпрограммы, которые помогают передавать информацию между элементами в пределах компьютера 110, к примеру, во время запуска, обычно хранится в ROM 131. RAM 132 обычно содержит данные и/или программные модули, которые являются непосредственно доступными и/или являются в текущий момент обрабатываемыми блоком 120 обработки. В качестве примера, но не ограничения, фиг. 1 иллюстрирует операционную систему 134, прикладные программы 135, другие программные модули 136 и программные данные 137.

Компьютер 110 также может включать в себя другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители хранения. Только в качестве примера, фиг. 1 иллюстрирует накопитель 141 на жестких дисках, который считывает с или записывает на несъемный энергонезависимый магнитный носитель, накопитель 151 на магнитных дисках, который считывает с или записывает на съемный энергонезависимый магнитный диск 152, и накопитель 155 на оптических дисках, который считывает с или записывает на съемный энергонезависимый оптический диск 156, такой как CD-ROM, или другой оптический носитель. Другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители хранения, которые могут быть использованы в примерном операционном окружении, включают в себя, но не в качестве ограничения, кассеты магнитной ленты, карты флэш-памяти, цифровые универсальные диски, цифровую видеоленту, твердотельное ОЗУ, твердотельное ПЗУ и тому подобное. Накопитель 141 на жестких дисках в типичном варианте подключен к системной шине 121 через интерфейс несъемной памяти, такой как интерфейс 140, а накопитель 151 на магнитных дисках и накопитель 155 на оптических дисках в типичном варианте подключены к системной шине 121 посредством интерфейса съемной памяти, такого как интерфейс 150.

Накопители и ассоциативно связанные с ними компьютерные носители хранения, обсужденные выше и проиллюстрированные на фиг. 1, предоставляют хранение машиночитаемых инструкций, структур данных, программных модулей и других данных для компьютера 110. На фиг. 1, например, накопитель 141 на жестких дисках проиллюстрирован в качестве хранящего операционную систему 144, прикладные программы 145, другие программные модули 146 и программные данные 147. Заметим, что эти компоненты могут или быть такими же как, или отличными от операционной системы 134, прикладных программ 135, других программных модулей 136 и программных данных 137. Операционная система 144, прикладные программы 145, другие программные модули 146 и программные данные 147 даны в настоящем документе с разными номерами, чтобы проиллюстрировать, что, как минимум, они являются различными другими копиями. Пользователь может вводить команды и информацию в компьютер 110 через устройства ввода, например, клавиатуру 162 и указательное устройство 161, обычно упоминаемое как мышь, шаровой манипулятор (трекбол) или сенсорную панель. Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, игровую панель, спутниковую антенну, сканер и т.п. Эти и другие устройства ввода часто подключены к блоку 120 обработки по пользовательскому интерфейсу 160 ввода, который соединен с системной шиной 121, однако могут подключаться по другим интерфейсам и структурам шин, таким как параллельный порт, игровой порт или универсальная последовательная шина (USB).

Монитор 191 или другой тип устройства отображения также соединен с системной шиной 121 через интерфейс, например, видеоинтерфейс 190. Графический интерфейс 182, такой как Северный мост, может быть также соединен с системной шиной 121. Северный мост представляет собой набор микросхем, который осуществляет связь с CPU или ведущим блоком 120 обработки, и несет ответственность за передачу данных через ускоренный графический порт (AGP). Один или более графических процессоров (GPU) 184 могут присоединяться к графическому интерфейсу 182. В этой связи, процессоры GPU 184 в общем включают в себя размещенное на микросхеме запоминающее устройство, такое как регистровое хранилище, и процессоры GPU 184 присоединяются к видеопамяти 186. Процессоры GPU 184, тем не менее, являются одним из примеров сопроцессоров, и такое разнообразие сопроцессорных устройств может быть включено в компьютер 110. Монитор 191 или другой тип устройства отображения также соединен с системной шиной 121 через интерфейс, например, видеоинтерфейс 190, который может в свою очередь подсоединяться к видеопамяти 186. В дополнение к монитору 191 компьютер может также включать в себя другие периферийные устройства вывода, такие как громкоговорители 197 и принтер 196, которые могут быть присоединены через интерфейс 195 вывода для периферийных устройств.

Вычислительная система 110 может работать в сетевом окружении, использующем логические соединения с одним или более удаленными компьютерами, такими как удаленный компьютер 180. Удаленным компьютером 180 может быть персональный компьютер, сервер, маршрутизатор, сетевая персональная ЭВМ, одноранговое устройство или другой общий узел сети, и он в типичном варианте включает в себя многие или все элементы, описанные выше относительно компьютера 110, хотя на фиг. 1 проиллюстрировано только запоминающее устройство 181. Логические соединения, показанные на фиг. 1, включают в себя локальную вычислительную сеть (LAN) 171 и глобальную сеть (WAN) 173, но могут также включать в себя другие сети. Такие сетевые среды являются обычными в офисах, корпоративных компьютерных сетях, сетях интранет и Интернете.

При использовании в сетевом LAN-окружении, компьютер 110 соединен с LAN 171 через сетевой интерфейс или адаптер 170. При использовании в сетевом WAN-окружении, компьютер 110 в типичном варианте включает в себя модем 172 или другое средство для установления связи по WAN 173, такой как Интернет. Модем 172, который может быть внутренним или внешним, может быть соединен с системной шиной 121 через интерфейс 160 пользовательского ввода или с использованием другого подходящего устройства. В объединенном в сеть окружении, программные модули, изображенные относительно компьютера 110, или их части, могут быть сохранены в удаленном запоминающем устройстве. В качестве примера, а не ограничения, фиг. 1 иллюстрирует удаленные прикладные программы 185 как находящиеся на запоминающем устройстве 181. Должно быть очевидно, что показанные сетевые соединения являются примерными, и может быть использовано другое средство установления линии связи между компьютерами.

Обычный специалист в данной области техники может принять во внимание, что компьютер 110 или другие клиентские устройства могут быть развернуты в качестве части вычислительной сети. В этом отношении настоящее изобретение относится к любой вычислительной системе, имеющей любое число запоминающих устройств или устройств хранения и любое число приложений и процессов, происходящих в любом числе устройств и томов хранения. Настоящее изобретение может применяться к окружению с серверными компьютерами и клиентскими компьютерами, развернутыми в сетевом окружении, имеющем удаленное или локальное хранилище. Настоящее изобретение также может применяться к автономному вычислительному устройству, имеющему функциональность языка программирования, возможности интерпретации и исполнения.

Запуск приложений со съемного носителя

Характерное для приложения представление каталога файловой системы создается изолированным пространством посредством объединения каталога файлов системы и каталога файлов на съемном носителе в единый характерный для приложения каталог, который доступен для приложения, выполняющегося в изолированном пространстве. Вся (или вся, кроме определенной части) часть каталога файлов системы характерного для приложения каталога может быть только для чтения (для приложения). Часть характерного для приложения каталога файлов, идущего из каталога файлов съемного носителя, может быть задана как только для чтения или с возможностью записи для приложения, выполняющегося в изолированном пространстве. Характерное для приложения представление реестра создается изолированным пространством посредством объединения системного реестра и реестра съемного носителя в характерный для приложения реестр, который доступен для приложения, выполняющегося в изолированном пространстве. Вся (или вся, кроме определенной части) часть системного реестра характерного для приложения реестра может быть только для чтения (для приложения). Часть конкретного для приложения файлового реестра, идущего из файлового реестра съемного носителя, может быть задана только для чтения или с возможностью записи для приложения, выполняющегося в изолированном пространстве.

Фиг. 2a-c иллюстрирует варианты осуществления системы 200 для выполнения приложений, которые не установлены на компьютере, со съемного носителя, вставленного в или другим образом соединенного с компьютером. Система 200 может размещаться на одном или нескольких компьютерах, таких как компьютер 110, описанный со ссылкой на фиг. 1. Фиг. 2 представляет систему до того, как вставлен (или другим образом присоединен) съемный носитель. Фиг. 2b представляет систему, когда съемный носитель вставлен в машину, а фиг. 2с представляет систему после того, как съемный носитель был удален. На фиг. 2а, операционная система, например, WINDOWS, Linux или другая операционная система, представлена операционной системой (OS) 214. Системная файловая система представлена файловой системой 202, которая может включать в себя файлы данных или состояние приложения (представленные посредством каталога 204 My Documents, в котором некоторое число файлов представлены как Документ 1 204a и Документ 2 204b, и т.п.). Файловая система 202 также может включать в себя некоторое количество программных файлов, например Программа 1 206а и Программа 2 206b и т.п. в каталоге 206 Program Files. Реестр (для операционных систем, которые хранят программные настройки в специальной структуре) представлен посредством Реестра 208. Фиг. 2а, программные настройки для Программы 1 206а представлены посредством записей 208а реестра, а программные настройки для Программы 2 206b представлены посредством записей 208b реестра, и т.д.

Съемный носитель представлен на фиг. 2а посредством USB-ключа 212. USB-ключ 212 в некоторых вариантах осуществления изобретения включает в себя одно из следующего: манифест, как описано выше, представленный посредством манифеста 212а (в типичном варианте небольшой, но необязательный) каталог программных файлов, который включает в себя программные файлы (например, Программа 3 212с), требуемые приложением, которое до