RU2432605C1 - Способ расширения, основанный на сервере архитектуры десктопной виртуальной машины на клиентские машины, и машиночитаемая среда - Google Patents
Способ расширения, основанный на сервере архитектуры десктопной виртуальной машины на клиентские машины, и машиночитаемая среда Download PDFInfo
- Publication number
- RU2432605C1 RU2432605C1 RU2010131030/08A RU2010131030A RU2432605C1 RU 2432605 C1 RU2432605 C1 RU 2432605C1 RU 2010131030/08 A RU2010131030/08 A RU 2010131030/08A RU 2010131030 A RU2010131030 A RU 2010131030A RU 2432605 C1 RU2432605 C1 RU 2432605C1
- Authority
- RU
- Russia
- Prior art keywords
- disk
- user
- virtual machine
- virtual
- server
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45537—Provision of facilities of other operating environments, e.g. WINE
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/468—Specific access rights for resources, e.g. using capability register
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Изобретение относится к системам доступа к вычислительным ресурсам сервера. Технический результат заключается в обеспечении доступа к ресурсам сервера. Десктоп пользователя имеет дистанционный доступ от клиентской системы. Удаленный десктоп формируется первой виртуальной машиной работающей серверной системы, которая может включать один или несколько компьютеров. Во время выполнения первой виртуальной машины записи на соответствующий виртуальный диск направляются в файл дельта-диска или в редо лог. В клиентской системе создается копия виртуального диска. Когда пользователь решает "извлечь" его или ее десктоп, работа с первой виртуальной машиной завершается, и в клиентской системе создается копия дельта-диска. После создания дельта-диска в клиентской системе вторая виртуальная машина может быть запущена в клиентской системе, используя виртуальный диск и дельта-диск, чтобы обеспечить локальный доступ к десктопу пользователя в клиентской системе. Это обеспечивает пользователю доступ к его или ее десктопу без соединения с сетью. 3 н. и 23 з.п. ф-лы, 8 ил.
Description
ПЕРЕКРЕСТНАЯ ССЫЛКА К РОДСТВЕННОЙ ЗАЯВКЕ
Эта заявка подана на основании предварительной патентной заявки США 61/031,613, которая была подана 26 февраля 2008 года и которая полностью включена здесь в качестве ссылки.
ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ
Компьютерная виртуализация была признана как средство увеличения вычислительной мощности и гибкости вычислительной аппаратной платформы. Например, компьютерная виртуализация позволяет многочисленным виртуальным вычислительным машинам работать на общей вычислительной аппаратной платформе. Подобно физической вычислительной аппаратной платформе, виртуальные вычислительные машины включают носители данных, такие как виртуальные жесткие диски, виртуальные процессоры и другие системные компоненты, связанные с вычислительной средой. Например, виртуальный жесткий диск может хранить операционную систему, данные и файлы приложения для виртуальной машины.
Основанное на сервере вычисление позволяет сетевой клиентской системе, удаленной от сервера, получить доступ к вычислительным ресурсам сервера. Например, пользователь может использовать удаленный протокол настольного компьютера, такой как RDP или VNC, чтобы дистанционно получить доступ к рабочему столу и передать пользовательский ввод с клавиатуры или мыши на удаленную систему. Основанное на сервере вычисление облегчает централизованное управление вычислительными ресурсами. Однако общим недостатком является менее чем оптимальный опыт вычислений. Например, большие графические приложения и периферийные устройства, такие как шина USB, принтеры и т.д., возможно, не будут работать как желательно. Дополнительно, пользователь должен оставаться связанным с сетью, чтобы получить доступ к рабочему столу, сохраненному на сервере.
Как альтернатива предлагается основанное на сервере вычисление, причем вычисление со стороны клиента позволяет пользователю находиться вдали от сети предприятия и работать в офлайновом режиме, т.е. не быть подключенным к сети или Интернету. Однако с точки зрения управления предприятием, вычисление со стороны клиента приводит к невысокой эффективности, когда дело доходит до таких задач, как обновление операционных систем и приложений, угрожая безопасности, лицензионным соглашениям, блокируя информацию, вызывая приверженность к различной политике и копирование данных.
КРАТКОЕ ОПИСАНИЕ
Описанные выше проблемы могут быть решены, расширяя основанную на сервере архитектуру десктопной виртуальной машины до машины пользователя. В одном примере воплощения изобретения десктоп пользователя может быть дистанционно доступен клиентской системе. Удаленный десктоп генерируется первой виртуальной машиной, работающей в серверной системе, которая может включать один или несколько серверных компьютеров. Во время выполнения первой виртуальной машины, записи на соответствующий виртуальный диск направляются в файл дельта-диска или в редо лог. В клиентской системе создается копия виртуального диска. Когда пользователь решает "проверить" его или ее десктоп, первая виртуальная машина останавливается (если она работает), и в клиентской системе создается копия дельта-диска. Если дельта-диск присутствует в клиентской системе, в этой системе может быть запущена вторая виртуальная машина, используя виртуальный диск и дельта-диск, чтобы обеспечить локальный доступ к рабочему столу пользователя в клиентской системе. Это позволяет пользователю иметь доступ к его или ее десктопу без связи с сетью.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
На фигуре 1 показана простая примерная система виртуальной десктопной инфраструктуры (VDI), обеспечивающая доступ к центрально управляемым десктопам пользователя.
На фигуре 2 показано логическое представление примерной виртуализированной компьютерной системы.
На Фигурах 3А, 3В, 3С и 3D представлены блок-схемы, иллюстрирующие на примере работу виртуальной виртуальной десктопной инфраструктуры фигуры 1.
На фигуре 4 представлена блок-схема, показывающей примерную процедуру подключения пользователя к удаленному десктопу с автоматической синхронизацией в фоновом режиме.
На фигуре 5 представлена блок-схема, показывающая примерный способ для осуществления процедуры извлечения десктопа.
ПОДРОБНОЕ ОПИСАНИЕ
На фигуре 1 показана простая примерная система виртуальной десктопной инфраструктуры (VDI), обеспечивающая доступ к центрально управляемым десктопам пользователей. Термин "десктоп" относится к среде интерфейса пользователя, через которую пользователи могут запускать, взаимодействовать и управлять приложениями пользователя, параметрами настройки и данными. Традиционно десктоп отображается операционной системой на видеодисплее, и пользователь взаимодействует с десктопом, используя мышь и клавиатуру. Все приложения, документы и т.д. могут быть отображены на десктопе, и ввод пользователя, как правило, получается приложениями, видимыми пользователю на дисплее.
Термин "десктоп", как известно, также относится к физической компьютерной системе или к "физическому десктопу", который может находиться на столе или под столом пользователя и который отличается от "ноутбука" или "карманного компьютера", но как он используется здесь, термин "десктоп" сам по себе относится исключительно к среде интерфейса пользователя, описанной выше, а не к физической компьютерной системе. Используя компьютерную виртуализацию, компьютерная система пользователя, включая параметры настройки операционной системы, приложения и параметры настройки приложения, а также данные может быть скопирована или передана как виртуальная машина от одного физического компьютера к другому. Когда виртуальная машина копируется таким образом, пользователь может обратиться к его или ее "десктопу" из физической компьютерной системы, содержащей оригинальную виртуальную машину или физическую компьютерную систему, содержащую копию. Следовательно, "десктоп" больше не связан с конкретной физической компьютерной системой. Система виртуальной десктопной инфраструктуры (VDI) 10 включает серверную систему VDI 11 для передачи данных по сети 13 с несколькими клиентскими системами VDI 12, 14 и 16. Сеть 13 может иметь любую конфигурацию, такую как локальная сеть (LAN) или частная или общественно доступная глобальная сеть, такая как Интернет. Следует отметить, что на фигуре 1 приведено упрощенное представление сетевой серверной системы VDI 11, которая, как правило, может включать другие компоненты, такие как сетевое устройство защиты, брокеры подключения и стабилизаторы нагрузки, также как сети с обслуживающим устройством, серверы базы данных и т.д. Каждая клиентская система 12, 14, 16 может включать интерфейс пользователя 40 (показан только один), через который пользователь может взаимодействовать с его или ее десктопом.
На фигуре 2 показано логическое представление примерной виртуализированной компьютерной системы 20. Как будет объяснено ниже более подробно, серверная система VDI 11 и клиентские системы VDI 12, 14 и 16 могут включать программу виртуализации, описанную здесь со ссылкой на фигуру 2. Виртуализированная компьютерная система 20 включает физическую аппаратную платформу 22, программу виртуализации 80, исполняемую на аппаратной платформе 22, и одну или несколько виртуальных машин 70, выполненных на аппаратной платформе 22 с помощью программы виртуализации 80. Следовательно, программа виртуализации 80 логически вставлена между физическими аппаратными средствами аппаратной платформы 22 и гостевой системной программой 72, выполняемой "в" виртуальной машине 70.
Аппаратная платформа 22 может быть универсальной вычислительной системой, имеющей одну или несколько системных шин 28, связанных с различными компонентами аппаратной платформы, соединенных друг с другом по передаче данных. Например, один или несколько процессоров 24 соединены по передаче данных с памятью 26, используя системные шины 28. Память 26 может состоять из системы памяти, включающей постоянное запоминающее устройство (ROM), оперативную память (RAM), кэш-память и различные устройства памяти регистра. Энергонезависимое хранилище данных 30 может включать один или несколько дисководов или другую машиночитаемую среду или массовое запоминающее устройство для хранения программного обеспечения или данных. Память 26 и/или энергонезависимое хранилище данных 30 может хранить программу виртуализации 80 и гостевую системную программу 72, выполняемую в виртуальной машине 70.
Интерфейс пользователя 40 может быть снабжен клавиатурой (не показана), мышью (не показана), видеоконтроллером (не показан) и звуковым контроллером (не показан), каждый из которых может быть связан с соответствующими пользовательскими устройствами (не показаны). Как правило, для серверных компьютерных систем, для серверной системы VDI 11 (фигура 1) пользовательские интерфейсы и устройства могут или не могут быть включены или связаны с аппаратной платформой 22. Вместо этого взаимодействие пользователей может осуществляться дистанционно, как это известно, в области управления центром обработки данных. Сетевой интерфейс 50 обеспечивает передачу данных по сети, например, по сети 13 (фигура 1). Сетевой интерфейс 50 может облегчить установление связи, используя сетевой протокол, такой как TCP/IP.
Программа виртуализации 80 хорошо известна в области компьютерной виртуализации. Программа виртуализации 80 выполняет управление системными ресурсами и осуществляет эмуляцию виртуальной машины. Эмуляция виртуальной машины может быть выполнена монитором виртуальной машины (VMM). В обычном исполнении каждая виртуальная машина 70 (показана только одна) имеет соответствующее устройство VMM. В зависимости от области применения программа виртуализации 80 может быть автономной программой или программой, выполняемой главным компьютером. Автономная программа виртуализации в целом основана на специализированном ядре виртуализации для управления системными ресурсами, тогда как зависимая программа виртуализации основана на операционной системе или "главной операционной системе", такой как Windows или Linux, которая управляет системными ресурсами. В зависимой системе виртуализации главную операционную систему можно рассматривать как часть программы виртуализации 80.
Виртуальная машина 70 концептуально включает состояние виртуальных аппаратных устройств (как эмулировано программой виртуализации 80) и гостевую системную программу 72. Как показано на фигуре 2, гостевая системная программа 72 включает гостевую операционную систему 74 и гостевые приложения 78. Гостевая операционная система 74 может быть товарной операционной системой, такой как Windows или GNU/Linux. Программа виртуализации 80 отвечает за управление вводами и выводами в и из виртуальной машины 70, включая направление выводов пользовательского интерфейса на локальный интерфейс пользователя 40 или удаленному десктопному клиенту.
На фигурах 3А и 3В показана упрощенная блок-схема, изображающая расширяемую систему VDI 100, имеющую дистанционный (или централизованный) доступ к десктопам пользователей, также как и локальный доступ, позволяющий единственному пользователю обратиться к его или ее десктопу либо дистанционно, либо по локальной сети. Расширяемая система VDI 100 включает серверную систему 110 и клиентскую систему 120. VM 118 входит в серверную систему 110 и может быть доступна пользователю через клиентскую систему 120. VM 118 содержит все приложения и данные пользователя, как описано выше со ссылкой на фигуру 2, и выполняется, используя программу виртуализации 117. В одном примере воплощения изобретения программа виртуализации 117 включает автономную программу виртуализации. Кроме того, хотя показана только одна виртуальная машина, VM 118, выполняемая в серверной системе 110, может выполнять любое число VM, каждая из которых связана с одним или несколькими соответствующими пользователями.
Программа виртуализации 117 направляет пользовательские вводы-выводы на удаленный главный компьютер 115. Удаленный главный компьютер 115 передает графические символы пользователя и звуковые сигналы удаленному десктопному клиенту 125. Аналогичным образом, удаленный десктопный клиент 125 посылает свой ввод, например, с помощью клавиатуры и мыши удаленному главному компьютеру 115. Удаленный десктопный клиент 125 представляет пользовательский десктоп пользователю через интерфейс пользователя 124, который может включать различные пользовательские устройства ввода-вывода.
В дополнение к удаленному десктопному клиенту 125 клиентская система 120 включает виртуальную машину 128 вместе с программой виртуализации 127. Виртуальная машина 128 может обратиться к виртуальному диску 132, который является образом диска, постоянно находящегося как один или несколько файлов на физическом диске 130, связанном с клиентской системой 120. Виртуальный диск 132 поддерживается программой виртуализации 127. В одном примере воплощения изобретения программа виртуализации 127 включает программу виртуализации, которая выполняется вместе с клиентской операционной системой, как описано выше. Виртуальный диск 132 может быть первоначально скопирован с виртуального диска 142 (или наоборот) так, чтобы в одном конкретном состоянии виртуальные диски 132 и 142 были бы идентичны или логически эквивалентны, но не идентичны. Под логически эквивалентным диском подразумевается, что каждый виртуальный диск содержит ту же самую файловую систему и файлы с данными, которые логически связаны в идентичных структурах файловой системы, хотя секторы фактического диска нельзя упорядочить таким же образом. Два идентичных диска также логически эквивалентны.
Серверная система 110 включает или соединена с физическим диском 140, доступным для сервера 110. Физический диск 40, который используется программой виртуализации 117 для хранения пользовательских виртуальных дисков, является файлами образа диска для соответствующих виртуальных машин. Когда пользователь работает с VM 118, он может записывать данные на виртуальный диск 142, который постоянно присутствует как один или несколько файлов на физическом диске 140. Однако, вместо того, чтобы записывать изменения непосредственно на виртуальном диске 142, программа виртуализации 117 может быть конфигурирована так, что она перенаправляет записи к дельта-диску 144. Дельта-диск 144 может содержать редо лог файл или другой файл "различий". Фактически, дельта-диск 144 поддерживает список модификаций в виртуальном диске 142 без значительных изменений в виртуальном диске 142. Дельта-диски известны в области виртуализации и описаны более подробно, например, в патенте США 7 356 679. Когда виртуальная машина 118 выдает сигнал чтения, программа виртуализации 117 получает доступ к дельта-диску 144, чтобы определить, имеются ли там данные, и в противном она получает доступ к виртуальному диску 142, родительскому образу диска для дельта-диска 144. Программа виртуализации 117 затем передает данные виртуальной машине 118, как если бы имело место простое чтение с физического диска.
Когда пользователь решает "извлечь" свою виртуальную машину с тем, чтобы к ней можно было иметь доступ в режиме офлайн, т.е. не обращаясь к серверной системе 110, он или она может обозначить свое желание в управляющей программе (не показана и описана более подробно ниже). В это время виртуальная машина 118 "выключена", и дельта-диск 144 скопирован на физический диск 130 пользователя, чтобы создать дельта-диск 134 на физическом диске 130 пользователя. Как только извлечение завершено и проверено, записи, формирующие дельта-диск 144, переносятся в виртуальный диск 142, и дельта-диск 134, и в виртуальный диск 132 с тем, чтобы виртуальный диск 132 и виртуальный диск 142 поддерживались в логически эквивалентном состоянии, но теперь были бы обновлены, чтобы отразить последнее состояние, оставленное пользователем.
В одном примере воплощения изобретения, вместо выключения виртуальной машины 118, пользователь может просто сделать остановку, и в этом случае VM 136 также загружается от программы виртуализации 117, которая поддерживает состояние виртуальной машины 118.
На фигуре 3В показана расширенная система VDI 100, в которой пользователь обращается к его или ее десктопу в режиме офлайн, выполняя виртуальную машину 128 в местном масштабе. В этом случае программа виртуализации 127 запускает виртуальную машину 128 в клиентской системе 120, в то время как удаленный десктопный клиент 125 не используется. Следовательно, пользователь может быть отключен от любой сети и будет работать в режиме офлайн. Программа виртуализации 127 непосредственно не модифицирует виртуальный диск 132. Скорее она создает дельта-диск 134, который содержит все изменения, сделанные пользователем в виртуальном диске 132, как описано выше относительно дельта-диска 144 на фигуре 3А.
В некоторый момент времени пользователь может пожелать или будет обязан "загрузить" его или ее десктоп в серверной системе 110. В это время виртуальная машина 128 "выключена", и программа виртуализации 127 загружается в серверную систему 110 и копирует дельта-диск 134 в хранилище данных сервера 140, чтобы создать дельта-диск 144. В одном примере воплощения изобретения виртуальная машина может быть остановлена, а не выключена, и VM 146 загружается в серверную систему 10. После копирования дельта-диска 134 или дельта-диска 134 плюс состояние 146, дельта-диски 134, 144 объединяются в виртуальные диски 132, 142 соответственно. "Объединение" означает, что записи диска, содержащиеся в каждом из дельта-дисков, записаны в файлы виртуального диска 132, 142 соответственно. После этой процедуры загрузки каждый из виртуальных дисков 132, 142 идентичен или, по крайней мере, логически эквивалентен с тем, чтобы пользователь мог начать вычисление, используя виртуальную машину 118, где он или она остановили работу с виртуальной машиной 128.
Как будет теперь подробно описано ниже, могут быть сделаны различные усовершенствования и оптимизация в основной операции загрузки и извлечения, функционально описанные выше.
На фигуре 3С приведено более подробное представление расширенной системы VDI 100. Пользовательский десктоп определяется одним или несколькими файлами 141, постоянно находящимися на физическом диске 140, соединенном с серверной системой 110. Файлы 141 включают файлы 149, определяющие политику, виртуальный диск 142, дельта-диск 144 и состояние VM 146. Политика может быть сохранена в базе данных и/или в файле конфигурации, связанным или внедренным как метаданные в виртуальном диске 142. Могут быть предусмотрены дополнительные десктопные файлы 148, чтобы определить дополнительные десктопы, доступные соответствующему пользователю или группам пользователей.
Как показано на фигуре 3С, клиентская система 120 включает клиента VDI 122, который общается с управляющим сервером 112 сервера 110. Управляющий сервер 112 подтверждает подлинность пользователя клиента 120, обрабатывает запросы на доступ к десктопам пользователя и проводит в жизнь политику 149. Политика 149 может определять, кому и при каких обстоятельствах может быть обеспечен доступ к конкретному десктопу. Например, политика 149 может быть отнесена к пользователю, обратившемуся с запросом, хотя глобальная политика, политика, основанная на расположении пользователя или группы, или на запрошенных услугах, также может иметь место.
В одном примере воплощения изобретения управляющий сервер 112 является сервером-приложением, установленным на отдельной физической компьютерной системе, которая общается по сети 13 с клиентской системой 120 и другими компонентами сервера 110, которые, как объяснено выше, могут включить множество серверных машин. В настоящем примере, где пользователь взаимодействует с клиентом VDI 125 в клиентской системе 120, запрос передается через сеть 13 на серверную систему 110 для десктопа, связанного с пользователем. Как описано выше, серверная система 110 может включать множество виртуальных машин (показана только одна), каждая из которых соответствие одному или нескольким пользователям. Управляющий сервер 112 получает запрос пользователя, подтверждает подлинность пользователя и/или запроса, начинает или возобновляет VM 118 по мере необходимости и подключает клиента VDI 125 к удаленному настольному серверу 115.
Клиент VDI 122 включает уровень представления 124, который обеспечивает графический интерфейс пользователя, позволяющий пользователю взаимодействовать с клиентом VDI 122 и, следовательно, с серверной системой 110. В одном примере воплощения изобретения клиент VDI 122 выполняется в интернет-браузере или вместе с ним.
В определенный момент пользователь может пожелать "загрузить" или "извлечь" его или ее десктоп, как описано выше со ссылкой на фигуры 3А и 3В. В этом случае, виртуальный диск или дельта-диск копируется либо с клиентской системы 120 на серверную систему 110 или наоборот (в зависимости от того, осуществляется ли пользователем «загрузка» или "извлечение" десктопа). Если пользователь извлекает десктоп на компьютере, у которого нет локальной копии виртуального диска, то дельта-диск 144 может быть объединен с виртуальным диском 142 в серверной системе 110, и весь виртуальный диск копируется в локальной клиентской системе 120 пользователя. Поскольку виртуальный диск может быть весьма большим, это начальное извлечение может быть весьма трудоемким из-за большого количества данных и потенциально ограниченной пропускной способности. Даже дельта-диски, переданные во время последующей процедуры загрузки и извлечения, могут стать весьма большими по объему, например, в зависимости от действий пользователя, т.е. может быть установлено новое приложение или существующее приложение или компонент операционной системы может быть экстенсивно обновлен или исправлен.
В одном примере воплощения изобретения время, необходимое для загрузки и извлечения десктопов пользователя, может быть уменьшено, передавая данные между клиентской системой 120 и серверной системой 110 в фоновом режиме, т.е., когда пользователь взаимодействует с виртуальной машиной, не вмешиваясь в действие пользователя или в работу виртуальной машины. Это может далее упоминаться как фоновая синхронизация или фоновая передача данных. Фоновая передача данных может произойти автоматически в ответ на простое предоставление доступа пользователю клиентской системы 120 к VM 118. Таким образом, точное и обновленное представление виртуального диска 142 может быть передано в клиентскую систему 120 и из нее, заметно не умаляя вычислительный опыт пользователя. Когда пользователь начинает работать дистанционно от новой клиентской системы 110, виртуальный диск 142 может передаваться в фоновом режиме до тех пор, пока полная копия не станет доступной как виртуальный диск 132 в клиентской системе 120. После этого, изменения в виртуальном диске 142 передаются в фоновом режиме клиентской системе 120, чтобы создать дельта-диск 132. Когда пользователь решает извлечь его или ее десктоп, большинство изменений в виртуальном диске 142 уже будет передано клиентской системе 120. Аналогичным образом, когда пользователь решает загрузить его или ее десктоп, большинство изменений на виртуальном диске 132 уже будет передано серверной системе 110.
Когда пользователь решает выйти из сеанса связи со своим десктопом, любые остающиеся различия между дельта-диском 144 и дельта-диском 134 устраняются, передавая конечные изменения. После завершения связи между клиентской системой 120 и серверной системой 110 изменения, представленные на дельта-диске 144, могут быть записаны в виртуальный диск 142. В одном примере воплощения изобретения это произошло бы после окончания операции VM 118, чтобы гарантировать установившийся режим VM 118 в процессе обновления виртуального диска 142. Завершение операции VM 118 может включать выключение VM 118 или приостановку работы VM 118. Выключение VM, как правило, связано с выполнением процедуры выключения гостевой операционной системы, выполнявшейся в VM.
На этой стадии заканчиваются все процессы и любые переходные или кэшируемые данные, постоянно находящиеся в памяти, записываются на диск. Остается совсем немного информации о состоянии, когда VM отключается, тогда как временная остановка операции включает остановку выполнения и сохранение состояния виртуальной машины при записи 146 файла состояния VM.
Когда дельта-диск 144 объединен с виртуальным диском 142, дельта-диск 144 может быть стерт с отметкой о его удалении или иным образом, идентифицируя его как больше не существующий. Создание виртуального диска 132 совместимого с виртуальным диском 142 и любые изменения, произведенные в любом виртуальном диске, упоминаются здесь как синхронизация. Виртуальные машины пользователя, таким образом, могут быть синхронизированы после того, как локальное выполнение VM 128 закончилось тем же способом, который описан выше в отношении завершения операции описанной выше виртуальной машины 118.
Управляющий сервер 112 может установить или провести в жизнь политику, которая препятствует работе виртуальной машины 118 до тех пор, пока не будет установлено, что нет никаких виртуальных машин 128, соответствующих виртуальной машине 118, которые не синхронизированы с виртуальной машиной 118. Таким образом, если пользователь работал в режиме офлайн с его или ее десктопом, создавая дельта-диск 134, то управляющий сервер 112 может предотвратить использование VM 118 до тех пор, пока изменения, представленные дельта-диском 134, не будут переданы на серверную систему 110 и объединены с виртуальным диском 142.
Поддержание синхронизации информации, соответствующей десктопу пользователя, может включать осуществление политики управления десктопом пользователя. Примеры политики 149 включают информацию о том, может ли или при каких условиях копия десктопа пользователя может быть передана клиентской системе 120, как долго десктоп может быть выгружен перед обратной загрузкой в серверную систему 110, ограничения на использование виртуальной машины 128/118 и т.д. Программа виртуализации 127 и/или клиент VDI 122 может быть конфигурирована, чтобы осуществить установленную политику, например, используя кодирование, чтобы предотвратить несанкционированный доступ к данным, хранящимся на виртуальном диске 132 и на ассоциированных дельта-дисках.
В одном примере воплощения изобретения, когда пользователь запускает клиента VDI 122, он или она может получить экран входа в систему с запросом информации аутентификации. Затем клиент VDI передает информацию аутентификации на серверную систему 110, например, на удаленный десктопный сервер 112. Удаленный десктопный сервер 115 подтверждает аутентификацию пользователя и посылает запрос на управляющий сервер 112 на существующий десктоп, соответствующий информации аутентификации пользователя. Управляющий сервер 112 получает запрос от удаленного десктопного сервера 115 и сравнивает полученный идентификатор пользователя с данными таблицы 114, по которой идентификатор пользователя сравнивается с одной или несколькими виртуальными машинами в серверной системе 110. После идентификации виртуальной машины (машин), связанной с идентификатором пользователя, управляющий сервер 112 предоставляет информацию подключения или иным образом облегчает соединение между клиентом VDI 110 и удаленным десктопным сервером 115 для обеспечения доступа удаленного пользователя к соответствующему десктопу.
В другом примере воплощения изобретения запрос пользователя, переданный на серверную систему 110, может включать локальную информацию о состоянии десктопа. Локальная информация о статусе десктопа также может быть предоставлена отдельно от запроса в ответ на запрос от удаленного десктопного сервера 115. Локальная информация о статусе может включать информацию, которая идентифицирует разницу между состоянием локальной клиентской системы 120 пользователя и состоянием серверной системой 110. Например, локальная информация состояния о статусе может включать сведения о том, обратился ли пользователь к его или ее десктопу в режиме офлайн, вызывая создание дельта-диска 134. Если дельта-диск 134 присутствует, управляющий сервер 112 начинает передачу разницы в фоновом режиме до разрешения доступа к виртуальной машине 118. Если время передачи рассчитано на длительный период, то пользователь может быть немедленно соединен с локальной VM 128 во время фоновой синхронизации. Если нет никакого дельта-диска 134, но присутствует дельта-диск 144, то подключение к VM 118 может быть разрешено с сопутствующей автоматической фоновой синхронизацией.
В одном примере воплощения изобретения фоновая передача данных может иметь место в ответ на периодический запрос, который выдается автоматически, когда клиентская система 120 обращается к серверной системе 110. В другом примере воплощения изобретения фоновая передача данных может иметь место только после запроса на вход пользователя клиентской системы 120. Например, пользователь может запросить, чтобы локальная клиентская система 110 была бы синхронизирована с серверной системой 110 при решении войти в режим офлайн. Для пользователей, которые редко работают в режиме офлайн, использование этого признака может значительно уменьшить нагрузку на сетевые ресурсы. Политика 149 может потребовать позволить пользователю разрешить или предотвратить непрерывную, периодическую или инициализированную пользователем синхронизацию.
В одном примере воплощения изобретения, представленном на фигуре 3D, данные пользователя и данные системы хранятся в отдельных виртуальных дисках. В этом примере воплощения изобретения, количество передаваемых данных может быть дополнительно уменьшено путем записи только пользовательских данных на дельта-диск 135 или 145 с данными пользователя (в зависимости от того, обращается ли пользователь к его или ее десктопу локально или дистанционно). Например, информация для десктопа пользователя в серверной системе 110 может быть классифицирована как системная информация, хранящаяся на системном диске 152, который может существовать как файл образа диска на физическом диске 150, и пользовательские данные могут храниться в виртуальном пользовательском диске данных (UDD) 143. Аналогичным образом изменения на этих двух дисках могут быть сохранены в двух отдельных дельтах-дисках: системном дельта-диске 144 и дельта-диске UDD 145.
В одном примере воплощения изобретения системная информация включает прикладную информацию 78 и гостевую системную программу 72 (фигура 2), тогда как пользовательские данные включают документы, параметры настройки, определенные для пользователя, и т.д. Большинство операционных систем, таких как Windows, OSX® и Gnu-Linux, включают средство для поддержки системы и пользовательские данные по отдельным дискам. Используя виртуализацию для создания отдельных образов дельта-дисков для системных данных и для пользовательских данных, управляющий сервер 112 может быть сконфигурирован так, что он ограничивает передачу только пользовательской информации, хранящейся на виртуальном диске UDD 143. В этом случае любые изменения, сделанные в системе (и, следовательно, записанные на дельта-диске 144 системы), не будут приняты во внимание и, следовательно, системный диск 152 вернется назад к известному хорошему состоянию с каждой загрузкой или извлечением десктопа пользователя, так как эта информация не передана. Кроме того, количество информации, которая передается между клиентской системой 112 и серверной системой 110, может быть уменьшено до объема только пользовательских данных.
В одном примере воплощения изобретения изменения в системном диске 152, поддерживаемые на отдельном системном дельта-диске 144 во время работы виртуальной машины, могут быть предметом политики, применимой для этого пользователя. Иными словами, они могут быть отвергнуты или объединены в виртуальный диск, содержащий системные данные, операционную систему и приложения. Если системный дельта-диск 144 не используется, системный диск 152 можно рассматривать как "постоянный системный диск", на котором эта информация сохраняется в известном хорошем состоянии, несмотря на любые изменения, которые пользователь осуществляет в системе во время любого конкретного пользовательского сеанса связи.
Модификации в системном диске могут быть упакованы во временный файл 154, например, когда обновляется операционная система или приложения или когда изготовителем выпущена новая программа. Эти изменения могут быть применены к системному диску 152, создавая временный файл 154, который определяет разницу между текущим системным диском и обновленным системным диском. Временный файл может быть применен к системному диску 152, к созданному исправленному системному диску и также передан клиентской системе 120 для эффективного внесения исправлений в системный диск 132 в клиентской системе.
В другом примере воплощения изобретения, который может сосуществовать с другими описанными здесь примерами воплощения, информация файловой системы анализируется, чтобы идентифицировать секторы, которые ассоциированы с удаленными файлами. Эти секторы затем удаляются при передаче образа дельта-диска, чтобы дополнительно уменьшить количество передаваемых данных. Анализ и удаление могут иметь место во время передачи дельта-диска или могут быть выполнены как отдельная стадия, на которой дельта-диск предварительно обрабатывается до передачи. В этом случае, копии виртуального диска, возможно, не идентичны, но логически эквивалентны.
На фигуре 4 представлена блок-схеме 200 примерной процедуры соединения пользователя с удаленным десктопом с автоматической синхронизацией в фоновом режиме. Процедура начинается на стадии, обозначенной блоком 202, с переходом в рабочий режим на стадии 204, на которой сервер 120 получает запрос (фигуры 3А-3D) на доступ к десктопу, соответствующему информации аутентификации пользователя клиентской системы 120. В ответ на получение этого запроса, процесс переходит на стадию 206, на которой серверная система 110 утверждает аутентификацию пользователя. Если аутентификация невозможна, процесс переходит на стадию 208, на которой в доступе отказано, и процедура заканчивается. Если аутентификация подтверждена, процесс переходит на стадию 210, на которой пользователь соединяется с десктопом, соответствующим идентификатору пользователя. После соединения его или ее десктопа с виртуальной машиной, выполняемой задачу серверной системе, процесс переходит на стадию 212, на которой серверная система 110 определяет, имеет ли клиентская система 120 правильную копию виртуального диска, соответствующего десктопу пользователя.
Если нет, процесс переходит на стадию 214, на которой виртуальный диск 142 передается клиентской системе 120 в фоновом режиме, т.е. одновременно с обращением и взаимодействием пользователя с виртуальной машиной 118 серверной системе. Эта операция продолжается до тех пор, пока клиентская система 120 не получит полную правильную копию виртуального диска для соответствующего десктопа.
Если на стадии 212 обнаружено, что клиентская система имеет нужную копию виртуального диска, то процесс переходит на стадию 216. Как упомянуто выше, во время взаимодействия пользователя с виртуальной машиной серверной системе изменения в виртуальном диске записываются на дельта-диск. На стадии 216 серверная система 110 определяет, имеет ли клиентская система обновленную копию образа дельта-диска. В противном случае процесс переходит на стадию 218, на которой дельта-диск сервера переносится в клиентскую систему пользователя. Эта процедура происходит в процессе взаимодействия пользователя с виртуальной машиной и, следовательно, генерирует изменения на виртуальном диске. В некоторый момент, пользователь может выйти из процесса вниз или остановить виртуальную машину, выполняемую серверной системой, при этом любые остающиеся изменения копируются в клиентской системе. Затем процедура заканчивается на стадии, обозначенной блоком 220.
В одном примере воплощения изобретения фоновая синхронизация может быть инициирована в любой момент во время сеанса связи между клиентской системой 120 и серверной системой 110. Фоновая синхронизация может быть выполнена автоматически (например, согласно политике, установленной администратором) или по запросу пользователя.
Например, запрос или политика могут установить, что клиентская система пользователя обновляется периодически. В этом случае серверная система 110 определяет, прошло ли указанное количество времени, начиная с нового обновления. Вместо строгого измерения времени, конечно, могут быть использованы другие средства идентификации времени обновления, например часы, измеряющие количество прошедшего времени, или система может ждать момент, когда пользователь не активен, т.е. не взаимодействует с системой в течение некоторого времени. Если клиентская система не обновлена, и в зависимости от текущего состояния виртуальных дисков в серверной системе 110, т.е. наличия дельта-диска 144 (фигуры 3A-3D), система 110 в координации с клиентской системой 120 начинает передавать виртуальный диск 142 и/или дельта-диск 144, содержащий модификации, на виртуальный диск 142.
В одном примере воплощения изобретения новые изменения в дельта-диске 144 передаются дельта-диску 144 в процессе выполнения VM 118 и периодически передаются на пользовательскую систему 120. Серверная система 110 следит, какой объем информации был передан клиентской системе 120 из дельта-диска с тем, чтобы в каждом интервале обновления была бы передана только приложенная часть.
В другом примере воплощения изобретения текущий дельта-диск закрыт, и в каждом интервале обновления создается новый дельта-диск. Текущий дельта-диск, который содержит обновления к информации, содержавшейся в предыдущих дельтах-дисках, передается тогда, когда новые изменения записываются на новой дельта-диск. Таким образом, ряд моментальных снимков может быть создан и передан клиентской системе 120, которая может затем повторно собрать или объединить их в один дельта-диск или непосредственно в виртуальный диск. В одном примере воплощения изобретения каждый дельта-диск сканируется и/или освобождается от ненужной информации, такой как вирусы, до передачи в клиентскую систему 110. Сканирование может быть выполнено в фоновом режиме без вмешательства в выполняемые действия.
На фигуре 5 показана блок-схеме 250, представляющая примерный способ для осуществления процедуры извлечения десктопа. Процедура начинается в блоке 252 и переходит к операции 254, в которой сервер подтверждает аутентификацию пользователя, который запрашивает доступ. В зависимости от исполнения пользователь может или не может быть немедленно связан с его или ее удаленным десктопом в данное время. Затем выполняется операция 256, при которой сервер получает запрос пользователя на извлечение десктопа. Затем процесс переходит на стадию 258, на которой сервер определяет, позволяют ли политика и права пользователя извлечь пользовательский десктоп. В противном случае процесс переходит на стадию 260, на которой клиентской системе передается сообщение, указывающее на то, что в настоящее время пользователь не имеет права на извлечение десктопа. Процедура заканчивается в позиции, обозначенной блоком 274.
Если на стадии 258 решено, что пользователь действительно имеет право на извлечение десктопа, процесс переходит на стадию 262, чтобы определить, не выгружен ли уже десктоп пользователя, например, в другой клиентской системе, и когда. Состояние десктопа пользователя может быть поддержано, например, пользовательской базой данных или в области состояния, мета-поля данных или подраздела, или в файле, содержащем образ виртуального диска. Если десктоп пользователя в настоящее время загружается, то процесс переходит на стадию 260 и серверная система 120 передает сообщение о запрете доступа на извлечение клиентской системы 12. Это гарантирует то, что только одна копия десктопа пользователя может быть выгружена за один раз. В одном примере воплощения изобретения пользователь не может дистанционно получить доступ к его или ее десктопу, когда десктоп находится в состоянии "извлечения", которое привело бы к "ветвлению" виртуальных машин и потере синхронизации. Если на стадии 262 найдено, что десктоп в настоящее время уже не загружается, то процесс переходит на стадию 264, на которой работа виртуальной машины пользователя заканчивается. Завершение виртуальной машины может сопровождаться ее отключением от сети питания или временной остановкой виртуальной машины и сохранением состояния диска.
Процесс затем переходит на стадию 266, на которой клиентская система запрашивается на предмет наличия текущей копии системного диска и каких-либо дельта-дисков в серверной системе. В случае их отсутствия процесс переходит на стадию 268, на которой виртуальный диск и образы дельта-дисков копируются или обновляются, если это необходимо, и затем процесс переходит на стадию 270. Если на стадии 266 найдено, что клиентская система уже имеет текущие копии виртуального диска и каких-либо дельта-дисков, то процесс переходит непосредственно к операции 270.
В процессе выполнения операции 270, пользовательские или мета-данные обновляются, чтобы отобразить состояние "извлечения" десктопа пользователя. Процесс переходит на стадию 272, на которой пользователю разрешается доступ к его или ее десктопу, запуская локальную виртуальную машину в локальной клиентской системе. Затем процесс завершается, как обозначено блоком 274.
В одном примере воплощения изобретения пользователю разрешается доступ к его или ее десктопу дистанционно, даже если он выгружен в клиентскую систему. Хотя десктоп может находиться в состоянии извлечения, это не мешает пользователю клиентской системы 120 использовать ресурсы серверной системы 110, чтобы дистанционно обратиться к его или ее десктопу. Например, клиентская система 120 может обнаружить сбой в работе системы, например отказ жесткого диска или заражение вирусами. В этом случае, пользователь может пожелать отказаться от локального доступа к соответствующей виртуальной машине в серверной системе 110, несмотря на тот факт, что пользователь не успел извлечь десктоп из серверной системы. Альтернативно, пользователю может быть разрешен доступ к десктопу серверной системе с условием, что любые изменения, выполненные в серверной системе, будут потеряны. Например, если пользователь не может связаться с клиентской системой, т.е. за пределами своего компьютера, но нуждается в доступе к своему десктопу, например, чтобы прочитать файл или электронную почту на корпоративном сайте интранета, они все еще могут обратиться к своему десктопу дистанционно по старой версии и без какой-либо гарантии сохранения последних данных.
В другом варианте система может автоматически или после запроса пользователя выполнять сканирование вирусов/вредоносных программ в информации, содержащейся в хранилище данных 140, т.е. на дельта-дисках 144 или 145 (фигуры 3A-3D). Результаты сканирования вирусов/вредоносных программ могут быть загружены в систему и/или переданы клиентской системе 120 или сохранены в файле результатов (не показаны). Точно так же, пользователь клиентской системы 120 может использовать серверную систему 110 для сканирования вирусов/вредоносных программ в локальном дельта-диске 134, скопировав локальный дельта-диск из хранилища данных 140. После завершения сканирования на вирусы/вредоносные программы копия локального дельта-диска может быть удалена или объединена с виртуальным диском 142.
В различных описанных здесь примерах воплощения изобретения могут быть использованы различные осуществляемые компьютером операции с данными, хранящимися в компьютерных системах. Например, эти операции могут потребовать физической манипуляции с физическими величинами - обычно, хотя и не обязательно, эти величины могут иметь вид электрических или магнитных сигналов, которые могут быть сохранены, переданы, объединены, сравнены или обработаны иным образом. Дополнительно, такие манипуляции часто упоминаются в терминах, таких как выполнение аутентификация, определение или сравнение. Любые описанные здесь операции, которые являются частью одного или несколько примеров воплощения изобретения, могут быть полезными машинными операциями. Кроме того, один или несколько примеров воплощения изобретения также относятся к устройствам или аппаратам для выполнения этих операций.
Устройство может быть специально создано для определенных целей или это может быть универсальный компьютер, выборочно активизированный или сконфигурированный компьютерной программой, сохраненной в компьютере. В частности, различные универсальные машины могут использовать программы, написанные в соответствии с изложенными здесь принципами, или может быть более удобно создать более специализированное устройство, чтобы выполнить необходимые операции.
Различные описанные здесь примеры воплощения изобретения могут быть осуществлены с другими конфигурациями компьютерной системы, включая карманные устройства, системы, основанные на микропроцессоре, или используя программируемую бытовую электронику, мини-компьютеры, универсальные ЭВМ и т.д.
Один или несколько примеров воплощения настоящего изобретения могут быть осуществлены как одна или несколько компьютерных программ или как один или несколько модулей компьютерной программы, воплощенных в одной или нескольких машиночитаемых средах. Термин машиночитаемая среда относится к хранилищу данных, которая хранит данные, которые затем могут быть введены к компьютерную систему. Машиночитаемая среда может быть основана на любой существующей или ныне разрабатываемой технологии для того, чтобы воплотить компьютерные программы в способе, который считывать их компьютером. Примеры машиночитаемой среды включают жесткий диск, сеть, присоединенную память (NAS), память только для чтения, память с произвольным доступом (например, флеш-память), компакт-диски CD-ROM, CD-R или компакт-диск RW, DVD, магнитную ленту и другие оптические и неоптические системы хранения данных. Машиночитаемая среда может также быть распределена в сети, соединенной с компьютерной системой с тем, чтобы считываемый компьютером код был бы сохранен и выполнен распределенным образом.
Хотя один или несколько примеров воплощения настоящего изобретения были описаны подробно для ясности понимания, очевидно, что в объеме формулы изобретения могут быть сделаны определенные изменения и модификации. Соответственно, описанные примеры воплощения изобретения следует считать иллюстративными и не ограничительными, и объем пунктов формулы не должен быть ограничен приведенными деталями, но может быть изменен в пределах приложенной формулы изобретения. В пунктах формулы изобретения элементы и/или стадии не подразумевают конкретного порядка операций, если явно не оговорено особо.
Кроме того, хотя описанные способы виртуализации, в основном, предполагают, что виртуальные машины имеют интерфейсы, совместимые с конкретной аппаратной системой, специалисты в данной области понимают, что описанные способы могут использоваться вместе с виртуализациями, которые непосредственно не соответствуют какой-либо конкретной аппаратной системе. Системы виртуализации в соответствии с различными примерами воплощения изобретения, осуществленными как хостовые примеры воплощения изобретения, предполагают использование не хостовых примеров воплощения изобретения или как примеры воплощения изобретения, которые имеют тенденцию размывать различия между этими двумя системами. Кроме того, различные операции виртуализации могут быть полностью или частично осуществлены в аппаратных средствах. Например, в аппаратных средствах может быть использована таблица соответствия для изменения запросов на доступ, чтобы обеспечить данные, не хранящиеся на дисках.
Возможны многие изменения, модификации, дополнения и усовершенствования независимо от степени виртуализации. Следовательно, виртуализация может включать компоненты главной, операторской или гостевой операционной систем, которые выполняют функции виртуализации.
Многочисленные примеры могут быть приведены для компонентов, операций или структур, описанных здесь в виде единственного примера. Наконец, границы между различными компонентами, операциями и хранилищами данных довольно произвольны, и конкретные операции иллюстрированы в контексте определенных иллюстративных конфигураций. Предполагаются и другие функциональные возможности, которые входят в объем изобретения. В целом, структуры и функциональные возможности, представленные как отдельные компоненты в примерных конфигурациях, могут быть осуществлены в виде объединенной структуры или узла. Точно так же, структуры и функциональные возможности, представленные как единственный компонент, могут быть осуществлены как отдельные компоненты. Эти и другие изменения, модификации, дополнения и усовершенствования могут находиться в пределах приложенной формулы изобретения.
Claims (26)
1. Способ расширения, основанный на сервере архитектуры десктопных виртуальных машин на клиентскую машину, содержащий:
дистанционный доступ к десктопу пользователя через сеть связи, причем дистанционный доступ включает передачу и прием ввода-вывода пользователя между клиентской системой и серверной системой, при этом серверная система выполняет серверную версию виртуальной машины, которая обеспечивает десктоп пользователя, при этом серверная версия виртуальной машины выполняется с помощью программы виртуализации на физической компьютерной системе, которая соединена с системой хранения данных; программа виртуализации направляет запросы на чтение диска от серверной версии виртуальной машины на виртуальный диск, содержащий образ виртуального диска, находящийся в одном или нескольких файлах, в систему хранения данных, при этом программа виртуализации направляет запросы на запись диска от серверной версии виртуальной машины на дельта-диск, содержащий модификации к виртуальному диску, клиентскую систему, имеющую удаленного десктопного клиента для получения ввода-вывода пользователя и передачи ввода-вывода пользователя на интерфейс пользователя в клиентской системе;
создание локальной копии виртуального диска в клиентской системе;
посылку запроса на извлечение из клиентской системы в серверную систему для локального доступа к десктопу пользователя;
завершение серверной версии виртуальной машины, если серверная версия виртуальной машины в настоящее время выполняется;
создание копии дельта-диска в клиентской системе; и выполнение клиентской версии виртуальной машины в клиентской системе, используя программу виртуализации в клиентской системе для направления запросов на чтение диска клиентской версии виртуальной машины, по меньшей мере, на локальную копию виртуального диска и направление ввода-вывода от клиентской версии виртуальной машины на интерфейс пользователя в клиентской системе.
дистанционный доступ к десктопу пользователя через сеть связи, причем дистанционный доступ включает передачу и прием ввода-вывода пользователя между клиентской системой и серверной системой, при этом серверная система выполняет серверную версию виртуальной машины, которая обеспечивает десктоп пользователя, при этом серверная версия виртуальной машины выполняется с помощью программы виртуализации на физической компьютерной системе, которая соединена с системой хранения данных; программа виртуализации направляет запросы на чтение диска от серверной версии виртуальной машины на виртуальный диск, содержащий образ виртуального диска, находящийся в одном или нескольких файлах, в систему хранения данных, при этом программа виртуализации направляет запросы на запись диска от серверной версии виртуальной машины на дельта-диск, содержащий модификации к виртуальному диску, клиентскую систему, имеющую удаленного десктопного клиента для получения ввода-вывода пользователя и передачи ввода-вывода пользователя на интерфейс пользователя в клиентской системе;
создание локальной копии виртуального диска в клиентской системе;
посылку запроса на извлечение из клиентской системы в серверную систему для локального доступа к десктопу пользователя;
завершение серверной версии виртуальной машины, если серверная версия виртуальной машины в настоящее время выполняется;
создание копии дельта-диска в клиентской системе; и выполнение клиентской версии виртуальной машины в клиентской системе, используя программу виртуализации в клиентской системе для направления запросов на чтение диска клиентской версии виртуальной машины, по меньшей мере, на локальную копию виртуального диска и направление ввода-вывода от клиентской версии виртуальной машины на интерфейс пользователя в клиентской системе.
2. Способ по п.1, в котором создание локальной копии виртуального диска выполняется во время выполнения серверной версии виртуальной машины.
3. Способ по п.1, дополнительно содержащий получение модификаций клиентской системы к виртуальному диску, хранящемуся в дельте-диске серверной системы во время выполнения серверной версии виртуальной машины.
4. Способ по п.1, дополнительно содержащий объединение копии дельта-диска с локальной копией виртуального диска до выполнения клиентской версии виртуальной машины.
5. Способ по п.1, дополнительно содержащий:
направление дисковых записей от клиентской версии виртуальной машины к локальному дельта-диску;
посылку запроса на загрузку из клиентской системы в серверную систему для дистанционного доступа к десктопу пользователя;
завершение клиентской версии виртуальной машины, если клиентская версия виртуальной машины выполняется;
передачу копии локального дельта-диска серверной системе; и
дистанционный доступ к серверной версии виртуальной машины.
направление дисковых записей от клиентской версии виртуальной машины к локальному дельта-диску;
посылку запроса на загрузку из клиентской системы в серверную систему для дистанционного доступа к десктопу пользователя;
завершение клиентской версии виртуальной машины, если клиентская версия виртуальной машины выполняется;
передачу копии локального дельта-диска серверной системе; и
дистанционный доступ к серверной версии виртуальной машины.
6. Способ по п.5, дополнительно содержащий объединение дельта-диска и локального дельта-диска с виртуальной машиной в серверной системе до включения серверной версии виртуальной машины после передачи копии локального дельта-диска на серверную систему.
7. Способ по п.5, дополнительно содержащий запрещение доступа к серверной версии виртуальной машины после начала выполнения клиентской версии виртуальной машины и перед передачей копии локального дельта-диска серверной системе.
8. Способ по п.1, дополнительно содержащий периодическое создание дополнительного дельта-диска и передачу дополнительного дельта-диска клиентской системе во время выполнения серверной версии виртуальной машины, причем каждый из дополнительных дельта-дисков является частью цепи дельта-дисков.
9. Способ по п.1, дополнительно содержащий поддержку на серверной системе десктопного статуса десктопа пользователя как загруженного или извлеченного, в котором в десктопный статус загружается, когда десктоп пользователя был последним дистанционно доступным, используя серверную версию виртуальной машины; и десктопный статус извлекается, когда десктоп пользователя был последним локально доступным, используя клиентскую версию виртуальной машины; при этом серверная система предполагает, что десктопный статус извлекается после создания копии дельта-диска в клиентской системе.
10. Способ по п.1, в котором:
программа виртуализации эмулирует пользовательский диск данных и системный диск, причем пользовательский диск данных и системный диск доступны для гостевой системной программы, выполняемой в виртуальной машине, при этом гостевая системная программа сохраняет пользовательские данные на пользовательском диске данных и сохраняет операционную систему и файлы приложений на системном диске, при этом пользовательские данные включают документы и параметры настройки;
виртуальный диск в системе хранения данных представляет собой виртуальный пользовательский диск данных, а дельта-диск - пользовательский диск данных; и
дистанционный доступ к десктопу пользователя дополнительно содержит:
направление запроса на чтение пользовательского диска данных на виртуальный пользовательский диск данных и запроса на чтение системного диска на виртуальный системный диск, при этом виртуальный системный диск является образом диска, сохраненного в одном или нескольких файлах в системе хранения данных или другой системе хранения данных; и
направление запроса на запись системного диска системному дельта-диску и направление запроса на запись пользовательского диска данных пользовательскому дельта-диску данных, при этом системный дельта-диск содержит модификации к виртуальному системному диску, а пользовательский дельта-диск данных содержит модификации к виртуальному пользовательскому дельта-диску данных.
программа виртуализации эмулирует пользовательский диск данных и системный диск, причем пользовательский диск данных и системный диск доступны для гостевой системной программы, выполняемой в виртуальной машине, при этом гостевая системная программа сохраняет пользовательские данные на пользовательском диске данных и сохраняет операционную систему и файлы приложений на системном диске, при этом пользовательские данные включают документы и параметры настройки;
виртуальный диск в системе хранения данных представляет собой виртуальный пользовательский диск данных, а дельта-диск - пользовательский диск данных; и
дистанционный доступ к десктопу пользователя дополнительно содержит:
направление запроса на чтение пользовательского диска данных на виртуальный пользовательский диск данных и запроса на чтение системного диска на виртуальный системный диск, при этом виртуальный системный диск является образом диска, сохраненного в одном или нескольких файлах в системе хранения данных или другой системе хранения данных; и
направление запроса на запись системного диска системному дельта-диску и направление запроса на запись пользовательского диска данных пользовательскому дельта-диску данных, при этом системный дельта-диск содержит модификации к виртуальному системному диску, а пользовательский дельта-диск данных содержит модификации к виртуальному пользовательскому дельта-диску данных.
11. Способ по п.10, дополнительно содержащий отказ от системного дельта-диска, когда уже создается копия дельта-диска.
12. Способ по п.10, дополнительно содержащий создание копии системного дельта-диска в клиентской системе в процессе операции создания копии дельта-диска.
13. Способ по п.1, дополнительно содержащий сканирование дельта-диска для обнаружения вредоносных программ серверной системы до выполнения клиентской версии виртуальной машины.
14. Машиночитаемая среда для расширения, основанная на серверной системе архитектуры десктопных виртуальных машин на клиентскую машину, причем материальная машиночитаемая среда включает команды компьютерной программы, осуществляющие следующий способ в клиентской системе, содержащий:
дистанционный доступ к десктопу пользователя через сеть связи, при этом дистанционный доступ включает передачу и прием ввода-вывода пользователя между клиентской системой и серверной системой, причем серверная система выполняет серверную версию виртуальной машины, которая обеспечивает десктоп пользователя; серверная версия виртуальной машины выполняется с помощью программы виртуализации на физической компьютерной системе, которая соединена с системой хранения данных; программа виртуализации направляет запросы на чтение диска от серверной версии виртуальной машины к виртуальному диску, содержащему образ виртуального диска, размещенного в одном или несколько файлах в системе хранения данных; диск программы виртуализации направляет запросы на запись от серверной версии виртуальной машины к дельта-диску, при этом дельта-диск включает модификации к виртуальному диску, клиентская система имеет удаленного десктопного клиента для получения ввода-вывода пользователя и передачи ввода-вывода пользователя в интерфейс пользователя в клиентской системе;
создание локальной копии виртуального диска в клиентской системе;
посылку запроса на извлечение из клиентской системы на серверную систему для локального доступа к десктопу пользователя, запрос на извлечение вызывает завершение серверной версии виртуальной машины, если серверная версия виртуальной машины в данный момент выполняется;
создание копии дельта-диска в клиентской системе; и
выполнение клиентской версии виртуальной машины в клиентской системе, используя программу виртуализации в клиентской системе при запросе чтения диска от клиентской версии виртуальной машины, по меньшей мере, к локальной копии виртуального диска и направление пользовательского ввода-вывода от клиентской версии виртуальной машины к пользовательскому интерфейсу в клиентской системе.
дистанционный доступ к десктопу пользователя через сеть связи, при этом дистанционный доступ включает передачу и прием ввода-вывода пользователя между клиентской системой и серверной системой, причем серверная система выполняет серверную версию виртуальной машины, которая обеспечивает десктоп пользователя; серверная версия виртуальной машины выполняется с помощью программы виртуализации на физической компьютерной системе, которая соединена с системой хранения данных; программа виртуализации направляет запросы на чтение диска от серверной версии виртуальной машины к виртуальному диску, содержащему образ виртуального диска, размещенного в одном или несколько файлах в системе хранения данных; диск программы виртуализации направляет запросы на запись от серверной версии виртуальной машины к дельта-диску, при этом дельта-диск включает модификации к виртуальному диску, клиентская система имеет удаленного десктопного клиента для получения ввода-вывода пользователя и передачи ввода-вывода пользователя в интерфейс пользователя в клиентской системе;
создание локальной копии виртуального диска в клиентской системе;
посылку запроса на извлечение из клиентской системы на серверную систему для локального доступа к десктопу пользователя, запрос на извлечение вызывает завершение серверной версии виртуальной машины, если серверная версия виртуальной машины в данный момент выполняется;
создание копии дельта-диска в клиентской системе; и
выполнение клиентской версии виртуальной машины в клиентской системе, используя программу виртуализации в клиентской системе при запросе чтения диска от клиентской версии виртуальной машины, по меньшей мере, к локальной копии виртуального диска и направление пользовательского ввода-вывода от клиентской версии виртуальной машины к пользовательскому интерфейсу в клиентской системе.
15. Среда по п.14, в которой создание локальной копии виртуального диска выполняется во время работы серверной версии виртуальной машины.
16. Среда по п.14, в которой способ дополнительно включает получение клиентской системой модификаций к виртуальному диску, сохраненному в дельте-диске серверной системы, во время работы серверной версии виртуальной машины.
17. Среда по п.14, в которой способ дополнительно содержит объединение копии дельта-диска с локальной копией виртуального диска до выполнения клиентской версии виртуальной машины.
18. Среда по п.14, в которой способ дополнительно содержит:
направление диска записи от клиентской версии виртуальной машины к локальному дельта-диску;
передачу запроса на загрузку из клиентской системы в серверную систему для дистанционного доступа к десктопу пользователя;
завершение клиентской версии виртуальной машины, если клиентская версия виртуальной машины в данный момент выполняется;
передачу копии локального дельта-диска серверной системе; и
дистанционный доступ к серверной версии виртуальной машины после передачи копии локального дельта-диска серверной системе.
направление диска записи от клиентской версии виртуальной машины к локальному дельта-диску;
передачу запроса на загрузку из клиентской системы в серверную систему для дистанционного доступа к десктопу пользователя;
завершение клиентской версии виртуальной машины, если клиентская версия виртуальной машины в данный момент выполняется;
передачу копии локального дельта-диска серверной системе; и
дистанционный доступ к серверной версии виртуальной машины после передачи копии локального дельта-диска серверной системе.
19. Среда по п.18, в которой дельта-диск и локальный дельта-диск объединены с виртуальным диском серверной системы до включения питания серверной версии виртуальной машины после передачи копии локального дельта-диска серверной системе.
20. Среда по п.18, в которой способ дополнительно содержит запрещение доступа к серверной версии виртуальной машины после начала выполнения клиентской версии виртуальной машины и перед передачей копии локального дельта-диска серверной системе.
21. Среда по п.14, в которой способ дополнительно содержит:
во время выполнения серверной версии виртуальной машины периодически создается дополнительный дельта-диск, который передается в клиентскую систему, при этом каждый из дополнительных дельта-дисков является частью цепи дельта-дисков.
во время выполнения серверной версии виртуальной машины периодически создается дополнительный дельта-диск, который передается в клиентскую систему, при этом каждый из дополнительных дельта-дисков является частью цепи дельта-дисков.
22. Среда по п.14, в которой:
программа виртуализации эмулирует дисковод диска данных пользователя и системный дисковод, при этом дисковод диска данных пользователя и системный дисковод доступны для гостевой системной программы, выполняющейся в виртуальной машине, гостевая системная программа хранит данные пользователя на диске данных и файлы операционной системы и приложений в системном дисководе, при этом данные пользователя включают конкретные документы пользователя и параметры настройки;
виртуальный диск в системе хранения данных представляет собой виртуальный диск данных пользователя, а дельта-диск - дельта-диск данных пользователя;
дистанционный доступ к десктопу пользователя дополнительно содержит:
направление запроса пользователя на чтение диска данных на виртуальный диск данных пользователя и запроса на чтение системного диска на виртуальный системный диск, при этом виртуальный системный диск является образом диска, сохраненным в одном или нескольких файлах в системе хранения данных или другой системе хранения данных; и
направление запроса на запись системного диска системному дельта-диску и направление запроса на запись диска данных пользователя дельта-диску данных пользователя, при этом системный дельта-диск содержит модификации, относящиеся к виртуальному системному диску, а дельта-диск данных пользователя содержит модификации, относящиеся к виртуальному диску данных пользователя; и в которой создание копии дельта-диска в клиентской системе включает загрузку из серверной системы изменений для дисковода данных пользователя без изменений в системном дисководе.
программа виртуализации эмулирует дисковод диска данных пользователя и системный дисковод, при этом дисковод диска данных пользователя и системный дисковод доступны для гостевой системной программы, выполняющейся в виртуальной машине, гостевая системная программа хранит данные пользователя на диске данных и файлы операционной системы и приложений в системном дисководе, при этом данные пользователя включают конкретные документы пользователя и параметры настройки;
виртуальный диск в системе хранения данных представляет собой виртуальный диск данных пользователя, а дельта-диск - дельта-диск данных пользователя;
дистанционный доступ к десктопу пользователя дополнительно содержит:
направление запроса пользователя на чтение диска данных на виртуальный диск данных пользователя и запроса на чтение системного диска на виртуальный системный диск, при этом виртуальный системный диск является образом диска, сохраненным в одном или нескольких файлах в системе хранения данных или другой системе хранения данных; и
направление запроса на запись системного диска системному дельта-диску и направление запроса на запись диска данных пользователя дельта-диску данных пользователя, при этом системный дельта-диск содержит модификации, относящиеся к виртуальному системному диску, а дельта-диск данных пользователя содержит модификации, относящиеся к виртуальному диску данных пользователя; и в которой создание копии дельта-диска в клиентской системе включает загрузку из серверной системы изменений для дисковода данных пользователя без изменений в системном дисководе.
23. Среда по п.22, в которой серверная система не использует системный дельта-диск при создании копии дельта-диска.
24. Среда по п.22, в которой способ дополнительно содержит создание копии системного дельта-диска в клиентской системе при создании копии дельта-диска.
25. Среда по п.14, в которой серверная система сканирует дельта-диск на предмет обнаружения вредоносных программ в серверной системе до выполнения клиентской версии виртуальной машины.
26. Машиночитаемая среда для расширения, основанная на серверной системе архитектуры десктопных виртуальных машин на клиентскую машину, при этом физическая машиночитаемая среда включает команды компьютерной программы, осуществляющие способ в серверной системе, указанный способ, содержащий:
выполнение серверной версии виртуальной машины, которая обеспечивает десктоп пользователя, при этом серверная версия виртуальной машины выполняется с помощью программы виртуализации на физическом компьютере серверной системы, при этом физический компьютер, соединен с системой хранения данных; программа виртуализации направляет запросы на чтение диска от серверной версии виртуальной машины на виртуальный диск, содержащий образ виртуального диска, размещенный в одном или нескольких файлах в системе хранения данных, программа виртуализации направляет запросы на запись диска от серверной версии виртуальной машины к дельта-диску, при этом дельта-диск имеет файл, содержащий модификации к виртуальному диску, клиентскую систему, имеющую удаленного десктопного пользователя для получения ввода-вывода пользователя и передачи ввода-вывода пользователя в интерфейс пользователя в клиентской системе;
передачу и прием пользовательского ввода-вывода между клиентской системой и серверная системой;
посылку копии виртуального диска клиентской системе;
получение запроса на извлечение из клиентской системы;
отклик на запрос на извлечение, завершение серверной версии виртуальной машины, если серверная версия виртуальной машины выполняется в данный момент, посылку копии дельта-диска клиентской системе с тем, чтобы пользователь мог получить доступ к десктопу, используя клиентскую версию виртуальной машины, выполняемой в клиентской системе; и
ведение журнала о статусе десктопа пользователя как загруженного или извлеченного, в котором состояние десктопа загружается, когда десктоп пользователя был последним дистанционно доступным десктопом, используя серверную версию виртуальной машины, и статус десктопа извлекается, когда десктоп пользователя был последним доступным десктопом в локальным режиме, используя клиентскую версию виртуальной машины; серверная система предполагает, что статус десктопа извлекается после посылки копии дельта-диска клиентской системе.
выполнение серверной версии виртуальной машины, которая обеспечивает десктоп пользователя, при этом серверная версия виртуальной машины выполняется с помощью программы виртуализации на физическом компьютере серверной системы, при этом физический компьютер, соединен с системой хранения данных; программа виртуализации направляет запросы на чтение диска от серверной версии виртуальной машины на виртуальный диск, содержащий образ виртуального диска, размещенный в одном или нескольких файлах в системе хранения данных, программа виртуализации направляет запросы на запись диска от серверной версии виртуальной машины к дельта-диску, при этом дельта-диск имеет файл, содержащий модификации к виртуальному диску, клиентскую систему, имеющую удаленного десктопного пользователя для получения ввода-вывода пользователя и передачи ввода-вывода пользователя в интерфейс пользователя в клиентской системе;
передачу и прием пользовательского ввода-вывода между клиентской системой и серверная системой;
посылку копии виртуального диска клиентской системе;
получение запроса на извлечение из клиентской системы;
отклик на запрос на извлечение, завершение серверной версии виртуальной машины, если серверная версия виртуальной машины выполняется в данный момент, посылку копии дельта-диска клиентской системе с тем, чтобы пользователь мог получить доступ к десктопу, используя клиентскую версию виртуальной машины, выполняемой в клиентской системе; и
ведение журнала о статусе десктопа пользователя как загруженного или извлеченного, в котором состояние десктопа загружается, когда десктоп пользователя был последним дистанционно доступным десктопом, используя серверную версию виртуальной машины, и статус десктопа извлекается, когда десктоп пользователя был последним доступным десктопом в локальным режиме, используя клиентскую версию виртуальной машины; серверная система предполагает, что статус десктопа извлекается после посылки копии дельта-диска клиентской системе.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US3161308P | 2008-02-26 | 2008-02-26 | |
US61/031,613 | 2008-02-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2432605C1 true RU2432605C1 (ru) | 2011-10-27 |
Family
ID=40999459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2010131030/08A RU2432605C1 (ru) | 2008-02-26 | 2009-02-20 | Способ расширения, основанный на сервере архитектуры десктопной виртуальной машины на клиентские машины, и машиночитаемая среда |
Country Status (10)
Country | Link |
---|---|
US (6) | US8640126B2 (ru) |
EP (1) | EP2248041B1 (ru) |
JP (1) | JP5198584B2 (ru) |
KR (1) | KR101178752B1 (ru) |
CN (1) | CN101971162B (ru) |
AU (1) | AU2009219470B2 (ru) |
CA (1) | CA2713876C (ru) |
MX (1) | MX2010009362A (ru) |
RU (1) | RU2432605C1 (ru) |
WO (1) | WO2009108579A2 (ru) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2649771C2 (ru) * | 2013-12-19 | 2018-04-04 | Сони Компьютер Энтертейнмент Эмерике Ллк | Виртуализация массового запоминающего устройства для облачных вычислений |
RU2671046C2 (ru) * | 2013-06-27 | 2018-10-29 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Центры обработки данных конечных точек с разными наборами арендаторов |
Families Citing this family (197)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7617501B2 (en) | 2004-07-09 | 2009-11-10 | Quest Software, Inc. | Apparatus, system, and method for managing policies on a computer having a foreign operating system |
US7904949B2 (en) | 2005-12-19 | 2011-03-08 | Quest Software, Inc. | Apparatus, systems and methods to provide authentication services to a legacy application |
US8087075B2 (en) | 2006-02-13 | 2011-12-27 | Quest Software, Inc. | Disconnected credential validation using pre-fetched service tickets |
US8429712B2 (en) | 2006-06-08 | 2013-04-23 | Quest Software, Inc. | Centralized user authentication system apparatus and method |
US8086710B2 (en) | 2006-10-30 | 2011-12-27 | Quest Software, Inc. | Identity migration apparatus and method |
EP2238535A4 (en) * | 2007-12-20 | 2011-03-09 | Virtual Computer Inc | SYSTEMS AND METHODS FOR VIRTUAL COMPUTER MANAGEMENT |
KR101178752B1 (ko) | 2008-02-26 | 2012-09-10 | 브이엠웨어, 인코포레이티드 | 서버-기반 데스크탑 가상 머신 아키텍처의 클라이언트 머신들로의 확장 |
US8560593B2 (en) | 2008-03-27 | 2013-10-15 | Dell Software Inc. | System for provisioning, allocating, and managing virtual and physical desktop computers in a network computing environment |
US8572607B2 (en) * | 2008-05-19 | 2013-10-29 | Novell, Inc. | System and method for performing designated service image processing functions in a service image warehouse |
WO2009143124A1 (en) * | 2008-05-20 | 2009-11-26 | Citrix Systems, Inc. | Methods and systems for patching multiple disk images derived from a common base disk image |
US8255806B2 (en) | 2008-09-15 | 2012-08-28 | Vmware, Inc. | Unified secure virtual machine player and remote desktop client |
CN101727331B (zh) * | 2008-10-24 | 2013-03-20 | 国际商业机器公司 | 升级活动虚拟机的客户操作***的方法和设备 |
EP2356563B1 (en) * | 2008-10-24 | 2018-06-27 | Citrix Systems, Inc. | Methods and systems for providing a modifiable machine base image with a personalized desktop environment in a combined computing environment |
US8707299B1 (en) * | 2008-11-14 | 2014-04-22 | Symantec Corporation | Method and apparatus for preserving virtual desktops for e-discovery through an agent-less solution |
US9214004B2 (en) | 2008-12-18 | 2015-12-15 | Vmware, Inc. | Watermarking and scalability techniques for a virtual desktop planning tool |
US8788079B2 (en) | 2010-11-09 | 2014-07-22 | Vmware, Inc. | Monitoring audio fidelity and audio-video synchronization |
US9674562B1 (en) | 2008-12-18 | 2017-06-06 | Vmware, Inc. | Quality evaluation of multimedia delivery in cloud environments |
US9286088B2 (en) * | 2009-03-09 | 2016-03-15 | Microsoft Technology Licensing, Llc | User interface for interaction with virtual machine |
US9177145B2 (en) * | 2009-03-24 | 2015-11-03 | Sophos Limited | Modified file tracking on virtual machines |
WO2010113248A1 (ja) * | 2009-03-31 | 2010-10-07 | 富士通株式会社 | 仮想計算機システム、情報処理装置、コンピュータプログラム及び接続制御方法 |
US8725791B2 (en) * | 2009-05-02 | 2014-05-13 | Citrix Systems, Inc. | Methods and systems for providing a consistent profile to overlapping user sessions |
US8281018B2 (en) * | 2009-06-22 | 2012-10-02 | Red Hat Israel, Ltd. | Method for automatically providing a client with access to an associated virtual machine |
US8341213B2 (en) * | 2009-06-22 | 2012-12-25 | Red Hat Israel, Ltd. | Method for improving boot time of a client having a virtualized operating environment |
US8738781B2 (en) * | 2009-06-22 | 2014-05-27 | Red Hat Israel, Ltd. | Launching a virtual machine associated with a client during startup |
US8135818B2 (en) * | 2009-06-22 | 2012-03-13 | Red Hat Israel, Ltd. | Automatic virtual machine migration in mixed SBC/CBC environment |
US8255984B1 (en) | 2009-07-01 | 2012-08-28 | Quest Software, Inc. | Single sign-on system for shared resource environments |
US20120131323A1 (en) * | 2009-09-21 | 2012-05-24 | Yves Gattegno | System including a virtual disk |
US9529689B2 (en) * | 2009-11-30 | 2016-12-27 | Red Hat, Inc. | Monitoring cloud computing environments |
US20110131330A1 (en) * | 2009-12-02 | 2011-06-02 | International Business Machines Corporation | Collocating desktop virtual machines to proximity of the user |
CN102656578B (zh) * | 2009-12-09 | 2013-11-20 | 思杰***有限公司 | 用于在第一机器上显示与第二机器的驱动器关联的数据而不必映射该驱动器的方法和*** |
US10146566B2 (en) * | 2009-12-21 | 2018-12-04 | Microsoft Technology Licensing, Llc | Enabling virtual desktop connections to remote clients |
JP5499688B2 (ja) * | 2009-12-23 | 2014-05-21 | 富士通株式会社 | 計算機システム、情報処理装置、仮想計算機運用方法及びプログラム |
US8887172B2 (en) * | 2009-12-31 | 2014-11-11 | Microsoft Corporation | Virtualized management of remote presentation sessions using virtual machines having load above or below thresholds |
US9274821B2 (en) | 2010-01-27 | 2016-03-01 | Vmware, Inc. | Independent access to virtual machine desktop content |
US9009219B2 (en) | 2010-01-27 | 2015-04-14 | Vmware, Inc. | Native viewer use for service results from a remote desktop |
US9477531B2 (en) * | 2010-01-27 | 2016-10-25 | Vmware, Inc. | Accessing virtual disk content of a virtual machine without running a virtual desktop |
US8392838B2 (en) * | 2010-01-27 | 2013-03-05 | Vmware, Inc. | Accessing virtual disk content of a virtual machine using a control virtual machine |
CN101741866B (zh) * | 2010-02-01 | 2012-12-12 | 浪潮(北京)电子信息产业有限公司 | 一种在线存储***及方法 |
US8316120B2 (en) * | 2010-02-02 | 2012-11-20 | Microsoft Corporation | Applicability detection using third party target state |
US8549272B2 (en) * | 2010-02-10 | 2013-10-01 | Dell Products L.P. | Information handling system image management deployment of virtual machine images to physical information handling systems |
US9703586B2 (en) | 2010-02-17 | 2017-07-11 | Microsoft Technology Licensing, Llc | Distribution control and tracking mechanism of virtual machine appliances |
JP5533005B2 (ja) * | 2010-02-17 | 2014-06-25 | 富士通株式会社 | 情報処理装置、計算機システム及びプログラム |
JP5493976B2 (ja) * | 2010-02-18 | 2014-05-14 | 富士通株式会社 | 情報処理装置、計算機システム及びプログラム |
US8869141B2 (en) * | 2010-03-09 | 2014-10-21 | Avistar Communications Corp. | Scalable high-performance interactive real-time media architectures for virtual desktop environments |
CN102196003B (zh) * | 2010-03-12 | 2015-09-23 | 新奥特(北京)视频技术有限公司 | 一种监控***的远程控制方法及装置 |
US8898668B1 (en) | 2010-03-31 | 2014-11-25 | Netapp, Inc. | Redeploying baseline virtual machine to update a child virtual machine by creating and swapping a virtual disk comprising a clone of the baseline virtual machine |
US8453145B1 (en) * | 2010-05-06 | 2013-05-28 | Quest Software, Inc. | Systems and methods for instant provisioning of virtual machine files |
WO2011143068A2 (en) | 2010-05-09 | 2011-11-17 | Citrix Systems, Inc. | Systems and methods for creation and delivery of encrypted virtual disks |
US8893004B2 (en) | 2010-05-12 | 2014-11-18 | International Business Machines Corporation | User interface proxy method and system |
US9547562B1 (en) | 2010-08-11 | 2017-01-17 | Dell Software Inc. | Boot restore system for rapidly restoring virtual machine backups |
JP4922443B2 (ja) * | 2010-08-26 | 2012-04-25 | 株式会社東芝 | コンピュータシステム、情報処理装置およびセキュリティ保護方法 |
TWI505189B (zh) * | 2010-08-27 | 2015-10-21 | Ibm | 用於虛擬裝置之自動升級之方法、電腦程式及系統 |
CN102419753B (zh) * | 2010-09-28 | 2014-02-12 | 联想(北京)有限公司 | 信息处理设备、信息处理方法和信息处理*** |
CN102447723B (zh) * | 2010-10-12 | 2015-09-09 | 运软网络科技(上海)有限公司 | 客户端虚拟化架构 |
US8751656B2 (en) * | 2010-10-20 | 2014-06-10 | Microsoft Corporation | Machine manager for deploying and managing machines |
US8386501B2 (en) | 2010-10-20 | 2013-02-26 | Microsoft Corporation | Dynamically splitting multi-tenant databases |
US8417737B2 (en) | 2010-10-20 | 2013-04-09 | Microsoft Corporation | Online database availability during upgrade |
US8799453B2 (en) | 2010-10-20 | 2014-08-05 | Microsoft Corporation | Managing networks and machines for an online service |
US9075661B2 (en) | 2010-10-20 | 2015-07-07 | Microsoft Technology Licensing, Llc | Placing objects on hosts using hard and soft constraints |
US8756696B1 (en) | 2010-10-30 | 2014-06-17 | Sra International, Inc. | System and method for providing a virtualized secure data containment service with a networked environment |
US9336117B2 (en) | 2010-11-09 | 2016-05-10 | Vmware, Inc. | Remote display performance measurement triggered by application display upgrade |
US8850550B2 (en) | 2010-11-23 | 2014-09-30 | Microsoft Corporation | Using cached security tokens in an online service |
CN102487380B (zh) * | 2010-12-01 | 2016-09-07 | 中兴通讯股份有限公司 | 桌面虚拟化终端托管方法及*** |
US9721030B2 (en) | 2010-12-09 | 2017-08-01 | Microsoft Technology Licensing, Llc | Codeless sharing of spreadsheet objects |
KR20120072241A (ko) * | 2010-12-23 | 2012-07-03 | 한국전자통신연구원 | 클라우드 컴퓨팅 환경에서의 클라우드 간 개인 가상 머신 이동 시스템 및 그 방법 |
US20120216052A1 (en) * | 2011-01-11 | 2012-08-23 | Safenet, Inc. | Efficient volume encryption |
US9967318B2 (en) | 2011-02-09 | 2018-05-08 | Cisco Technology, Inc. | Apparatus, systems, and methods for cloud agnostic multi-tier application modeling and deployment |
US8862933B2 (en) | 2011-02-09 | 2014-10-14 | Cliqr Technologies, Inc. | Apparatus, systems and methods for deployment and management of distributed computing systems and applications |
US10225335B2 (en) | 2011-02-09 | 2019-03-05 | Cisco Technology, Inc. | Apparatus, systems and methods for container based service deployment |
US10678602B2 (en) | 2011-02-09 | 2020-06-09 | Cisco Technology, Inc. | Apparatus, systems and methods for dynamic adaptive metrics based application deployment on distributed infrastructures |
US10003672B2 (en) * | 2011-02-09 | 2018-06-19 | Cisco Technology, Inc. | Apparatus, systems and methods for deployment of interactive desktop applications on distributed infrastructures |
US8856486B2 (en) * | 2011-02-23 | 2014-10-07 | Citrix Systems, Inc. | Deploying a copy of a disk image from source storage to target storage |
US9542215B2 (en) * | 2011-09-30 | 2017-01-10 | V3 Systems, Inc. | Migrating virtual machines from a source physical support environment to a target physical support environment using master image and user delta collections |
US8566899B2 (en) * | 2011-03-16 | 2013-10-22 | Symantec Corporation | Techniques for securing a checked-out virtual machine in a virtual desktop infrastructure |
US8959569B2 (en) * | 2011-03-18 | 2015-02-17 | Juniper Networks, Inc. | Security enforcement in virtualized systems |
FR2973185B1 (fr) * | 2011-03-22 | 2013-03-29 | Sagem Defense Securite | Procede et dispositif de connexion a un reseau de haute securite |
JP5772127B2 (ja) * | 2011-03-25 | 2015-09-02 | 富士通株式会社 | 仮想マシン管理方法、情報処理装置および仮想マシン管理プログラム |
US8990405B2 (en) | 2011-04-01 | 2015-03-24 | Hewlett-Packard Development Company, L.P. | Methods, systems and articles of manufacture to resume a remote desktop session |
US8966581B1 (en) | 2011-04-07 | 2015-02-24 | Vmware, Inc. | Decrypting an encrypted virtual machine using asymmetric key encryption |
CN102760081B (zh) * | 2011-04-29 | 2016-01-27 | 国际商业机器公司 | 虚拟机资源分配的方法和装置 |
US9176744B2 (en) * | 2011-05-20 | 2015-11-03 | Citrix Systems, Inc. | Quickly provisioning a virtual machine by identifying a path to a differential file during pre-boot |
US8719522B1 (en) * | 2011-06-27 | 2014-05-06 | Emc Corporation | Virtual desktop backup and restore |
KR101507919B1 (ko) | 2011-07-01 | 2015-04-07 | 한국전자통신연구원 | 가상 데스크탑 서비스를 위한 방법 및 장치 |
US10983747B2 (en) | 2011-07-15 | 2021-04-20 | Vmware, Inc. | Remote desktop mirroring |
US10976981B2 (en) | 2011-07-15 | 2021-04-13 | Vmware, Inc. | Remote desktop exporting |
RU2486562C2 (ru) * | 2011-08-26 | 2013-06-27 | Российская Федерация, от имени которой выступает Министерство промышленности и торговли Российской Федерации (Минпромторг РФ) | Способ построения автоматизированной системы, реализующей принципы виртуализации рабочих мест и изоморфного масштабирования |
WO2013039481A1 (en) * | 2011-09-13 | 2013-03-21 | Empire Technology Development Llc | Operation transfer from an origin virtual machine to a destination virtual machine |
CN102355501B (zh) * | 2011-09-28 | 2017-06-13 | 华为技术有限公司 | 一种数据处理方法、接入审核设备及*** |
US20130093776A1 (en) * | 2011-10-14 | 2013-04-18 | Microsoft Corporation | Delivering a Single End User Experience to a Client from Multiple Servers |
CN102427448B (zh) * | 2011-11-03 | 2017-07-14 | 南京中兴软件有限责任公司 | 在虚拟桌面中使用客户端输入法的方法、终端及服务端 |
US8769519B2 (en) | 2011-12-08 | 2014-07-01 | Microsoft Corporation | Personal and pooled virtual machine update |
CN103150204B (zh) * | 2011-12-23 | 2016-06-29 | 腾讯科技(深圳)有限公司 | 操作***桌面管理方法和装置 |
CN103188307A (zh) * | 2011-12-30 | 2013-07-03 | 旭智科技(深圳)有限公司 | 新型云应用方法及*** |
CN103200215A (zh) * | 2012-01-08 | 2013-07-10 | 佳都新太科技股份有限公司 | 一种在https上实现XenServer虚拟机远程控制的方法 |
US8839447B2 (en) * | 2012-02-27 | 2014-09-16 | Ca, Inc. | System and method for virtual image security in a cloud environment |
JP5670369B2 (ja) * | 2012-03-08 | 2015-02-18 | 株式会社東芝 | 情報処理装置、イメージファイル管理方法およびプログラム |
CN102662741B (zh) | 2012-04-05 | 2014-04-02 | 华为技术有限公司 | 虚拟桌面的实现方法、装置和*** |
US9237195B2 (en) * | 2012-04-27 | 2016-01-12 | Netapp, Inc. | Virtual storage appliance gateway |
KR101239290B1 (ko) * | 2012-07-23 | 2013-03-06 | (주)엔텍 | 제로 클라이언트를 지원하는 가상화 서버의 가상 머신 설정을 위한 시스템 및 방법 |
US9977698B2 (en) * | 2012-07-31 | 2018-05-22 | V3 Systems Holdings, Inc. | Virtual machine migration into the cloud |
US9117093B2 (en) * | 2012-09-26 | 2015-08-25 | Ca, Inc. | Centralized, policy-driven maintenance of storage for virtual machine disks (VMDKS) and/or physical disks |
US10198285B2 (en) | 2012-10-04 | 2019-02-05 | Vertiv It Systems, Inc. | System and method for creating virtual disk images for use with remote computer |
US9841984B2 (en) | 2012-10-04 | 2017-12-12 | Avocent Huntsville, Llc | System and method for creating virtual disk images for use with remote computer |
US9372760B1 (en) * | 2012-10-19 | 2016-06-21 | Veritas Technologies Llc | Systems and methods for securely storing backup data while facilitating fast failovers |
US9921884B1 (en) * | 2012-11-01 | 2018-03-20 | Amazon Technologies, Inc. | Local and remote access to virtual machine image filesystems |
US9992185B1 (en) | 2012-11-02 | 2018-06-05 | Wyse Technology L.L.C. | Virtual desktop accelerator support for network gateway |
US9374351B1 (en) | 2012-11-02 | 2016-06-21 | Wyse Technology L.L.C. | Virtual desktop accelerator support for network gateway |
US9262212B2 (en) * | 2012-11-02 | 2016-02-16 | The Boeing Company | Systems and methods for migrating virtual machines |
US9485233B1 (en) * | 2012-11-02 | 2016-11-01 | Wyse Technology L.L.C. | Virtual desktop accelerator support for network gateway |
KR101379835B1 (ko) * | 2012-11-28 | 2014-04-02 | 성균관대학교산학협력단 | 가상 머신에 가상 배터리를 제공하는 가상 머신 모니터, 가상 머신 호스트 시스템 및 가상 배터리 관리 방법 |
US9092161B2 (en) * | 2012-12-05 | 2015-07-28 | Red Hat Israel, Ltd. | Selection of allocation policy and format for virtual machine disk images |
US10162873B2 (en) * | 2012-12-21 | 2018-12-25 | Red Hat, Inc. | Synchronization of physical disks |
US20140188977A1 (en) * | 2012-12-28 | 2014-07-03 | Futurewei Technologies, Inc. | Appratus, method for deploying applications in a virtual desktop interface system |
US10284668B2 (en) | 2013-01-09 | 2019-05-07 | Red Hat Israel, Ltd. | Managing a logical client for an application |
US9549019B2 (en) * | 2013-01-09 | 2017-01-17 | Red Hat Israel, Ltd. | Managing a logical client for a virtual machine |
US8997080B2 (en) * | 2013-02-11 | 2015-03-31 | Citrix Systems, Inc. | System updates with personal virtual disks |
US9201755B2 (en) * | 2013-02-14 | 2015-12-01 | Vmware, Inc. | Real-time, interactive measurement techniques for desktop virtualization |
US10142406B2 (en) | 2013-03-11 | 2018-11-27 | Amazon Technologies, Inc. | Automated data center selection |
US10313345B2 (en) | 2013-03-11 | 2019-06-04 | Amazon Technologies, Inc. | Application marketplace for virtual desktops |
US9002982B2 (en) | 2013-03-11 | 2015-04-07 | Amazon Technologies, Inc. | Automated desktop placement |
US9148350B1 (en) | 2013-03-11 | 2015-09-29 | Amazon Technologies, Inc. | Automated data synchronization |
EP2984559B1 (en) | 2013-04-09 | 2019-06-12 | Citrix Systems Inc. | Providing a native desktop using cloud-synchronized data |
CA2852597C (en) * | 2013-05-23 | 2020-02-04 | Ellison Information Manufacturing Inc. | Method and system for input driven process flow management |
US20140359213A1 (en) * | 2013-05-31 | 2014-12-04 | Microsoft Corporation | Differencing disk improved deployment of virtual machines |
EP2813945A1 (en) * | 2013-06-14 | 2014-12-17 | Tocario GmbH | Method and system for enabling access of a client device to a remote desktop |
US10686646B1 (en) * | 2013-06-26 | 2020-06-16 | Amazon Technologies, Inc. | Management of computing sessions |
US10623243B2 (en) | 2013-06-26 | 2020-04-14 | Amazon Technologies, Inc. | Management of computing sessions |
US9639384B2 (en) * | 2013-08-20 | 2017-05-02 | Vmware, Inc. | Method and system for fast provisioning of virtual desktop |
JP6382819B2 (ja) * | 2013-08-21 | 2018-08-29 | 株式会社東芝 | データベースシステム、ノード、管理装置、プログラムおよびデータ処理方法 |
JP6122126B2 (ja) | 2013-08-27 | 2017-04-26 | 株式会社東芝 | データベースシステム、プログラムおよびデータ処理方法 |
US9851993B2 (en) * | 2013-09-24 | 2017-12-26 | International Business Machines Corporation | Virtual machine template optimization |
US9537932B2 (en) * | 2013-10-23 | 2017-01-03 | Microsoft Technology Licensing, Llc | Emulating test distributed application on server |
US9485099B2 (en) | 2013-10-25 | 2016-11-01 | Cliqr Technologies, Inc. | Apparatus, systems and methods for agile enablement of secure communications for cloud based applications |
CN103593227B (zh) * | 2013-11-08 | 2017-02-22 | 何钦淋 | 在客户端运行桌面虚拟***的方法及客户端 |
CN103677840A (zh) * | 2013-12-18 | 2014-03-26 | 浪潮电子信息产业股份有限公司 | 一种在作业调度软件中查看及操作应用图形界面的方法 |
US9720719B2 (en) | 2013-12-23 | 2017-08-01 | Citrix Systems, Inc. | Method and system for optimizing virtual disk provisioning |
WO2015099690A1 (en) * | 2013-12-23 | 2015-07-02 | Citrix Systems, Inc. | Method and system for optimizing virtual disk provisioning |
US9264517B2 (en) | 2014-02-19 | 2016-02-16 | Vmware, Inc. | Wide area aggregated communications |
CN104901923B (zh) * | 2014-03-04 | 2018-12-25 | 新华三技术有限公司 | 一种虚拟机访问装置和方法 |
US9430213B2 (en) | 2014-03-11 | 2016-08-30 | Cliqr Technologies, Inc. | Apparatus, systems and methods for cross-cloud software migration and deployment |
US9734191B2 (en) * | 2014-03-31 | 2017-08-15 | Dell Products, L.P. | Asynchronous image repository functionality |
US10542049B2 (en) | 2014-05-09 | 2020-01-21 | Nutanix, Inc. | Mechanism for providing external access to a secured networked virtualization environment |
US9280376B2 (en) * | 2014-05-13 | 2016-03-08 | Dell Products, Lp | System and method for resizing a virtual desktop infrastructure using virtual desktop infrastructure monitoring tools |
US10318489B2 (en) * | 2014-05-21 | 2019-06-11 | Vmware, Inc. | Avoiding full file replication using sparse files |
JP2015225632A (ja) * | 2014-05-30 | 2015-12-14 | 日本電気株式会社 | シンクライアント端末装置、サーバ装置、方法、およびプログラム |
WO2015192881A1 (en) * | 2014-06-17 | 2015-12-23 | Nokia Solutions And Networks Oy | Methods and apparatus to control a virtual machine |
US10956041B2 (en) | 2014-06-26 | 2021-03-23 | Vmware, Inc. | Online snapshot consolidation using I/O mirroring |
US20160026492A1 (en) * | 2014-07-24 | 2016-01-28 | Samsung Electronics Co., Ltd. | Electronic apparatus for executing virtual machine and method for executing virtual machine |
US20160044139A1 (en) * | 2014-08-07 | 2016-02-11 | Hsiu-Ping Lin | Methods and systems for communications between apps and virtual machines |
US10073902B2 (en) * | 2014-09-24 | 2018-09-11 | Microsoft Technology Licensing, Llc | Snapshot and replication of a multi-stream application on multiple hosts at near-sync frequency |
TWI608420B (zh) * | 2014-10-20 | 2017-12-11 | 緯創資通股份有限公司 | 虛擬機器監控方法及其系統 |
US20170054792A1 (en) * | 2014-11-20 | 2017-02-23 | Otoy, Inc. | Systems and methods for deploying applications |
KR102328193B1 (ko) | 2015-06-24 | 2021-11-18 | 한국전자통신연구원 | 가상 데스크탑 서비스를 위한 장치 및 방법 |
KR101929048B1 (ko) | 2015-06-24 | 2018-12-13 | 한국전자통신연구원 | 인메모리 기반 가상 데스크탑 서비스를 위한 장치 및 방법 |
CN107810475B (zh) * | 2015-06-30 | 2021-09-10 | 威睿公司 | 用于虚拟计算环境的软件生命周期管理的方法和装置 |
KR101977726B1 (ko) | 2015-11-17 | 2019-05-14 | 한국전자통신연구원 | 가상 데스크탑 서비스 방법 및 장치 |
US10133868B2 (en) * | 2016-01-10 | 2018-11-20 | Apple Inc. | Switching users and sync bubble for EDU mode |
US10192055B2 (en) * | 2016-01-10 | 2019-01-29 | Apple Inc. | Log in/log out process for EDU mode |
WO2017129657A1 (en) * | 2016-01-29 | 2017-08-03 | British Telecommunications Public Limited Company | Disk encryption |
CN105653342B (zh) * | 2016-02-01 | 2018-09-28 | 福建升腾资讯有限公司 | 一种Windows池桌面自动入域的方法及*** |
US10719305B2 (en) | 2016-02-12 | 2020-07-21 | Nutanix, Inc. | Virtualized file server tiers |
US11218418B2 (en) | 2016-05-20 | 2022-01-04 | Nutanix, Inc. | Scalable leadership election in a multi-processing computing environment |
KR102568985B1 (ko) * | 2016-06-22 | 2023-08-23 | 한국전자통신연구원 | 오프라인 가상 데스크탑 제공 장치, 오프라인 가상 데스크탑 단말 및 오프라인 가상 데스크탑 제공 방법 |
US10318330B2 (en) * | 2016-11-30 | 2019-06-11 | Salesforce.Com, Inc. | Data-persisting temporary virtual machine environments |
US11562034B2 (en) | 2016-12-02 | 2023-01-24 | Nutanix, Inc. | Transparent referrals for distributed file servers |
US11568073B2 (en) | 2016-12-02 | 2023-01-31 | Nutanix, Inc. | Handling permissions for virtualized file servers |
US10728090B2 (en) | 2016-12-02 | 2020-07-28 | Nutanix, Inc. | Configuring network segmentation for a virtualization environment |
US10824455B2 (en) | 2016-12-02 | 2020-11-03 | Nutanix, Inc. | Virtualized server systems and methods including load balancing for virtualized file servers |
US11294777B2 (en) | 2016-12-05 | 2022-04-05 | Nutanix, Inc. | Disaster recovery for distributed file servers, including metadata fixers |
US11288239B2 (en) | 2016-12-06 | 2022-03-29 | Nutanix, Inc. | Cloning virtualized file servers |
US11281484B2 (en) | 2016-12-06 | 2022-03-22 | Nutanix, Inc. | Virtualized server systems and methods including scaling of file system virtual machines |
US11587196B2 (en) * | 2017-04-10 | 2023-02-21 | Dell Products L.P. | Information handling system remote desktop protocol selection |
US11144412B2 (en) | 2017-06-05 | 2021-10-12 | Vmware, Inc. | Virtual machine image file synchronization using delta bitmaps and delta files |
KR101946862B1 (ko) | 2017-06-08 | 2019-04-29 | (주)필라웨어 | 사용자 인사 정보에 기반한 가상 데스크탑/가상 어플리케이션 환경 관리 시스템 |
CN108667887B (zh) * | 2017-07-03 | 2021-07-23 | 无锡辰云科技股份有限公司 | 基于融合计算的桌面虚拟方法、装置和*** |
WO2019074556A1 (en) * | 2017-10-11 | 2019-04-18 | Avocent Huntsville, Llc | SYSTEM AND METHOD FOR CREATING VIRTUAL DISK IMAGES FOR USE WITH A REMOTE COMPUTER |
KR102492793B1 (ko) * | 2018-01-03 | 2023-01-30 | 주식회사 케이티 | 가상 데스크탑 서비스 제공 시스템 및 가상 데스크탑 서비스 제공 방법 |
US10430227B2 (en) | 2018-01-09 | 2019-10-01 | Microsoft Technology Licensing, Llc | Fast instantiation of virtual machines in distributed computing systems |
US10693945B2 (en) * | 2018-01-24 | 2020-06-23 | Vmware, Inc. | File and folder redirection for virtual desktops via image scanning |
CN108306969B (zh) * | 2018-02-02 | 2021-05-25 | 西安雷风电子科技有限公司 | 一种idv云桌面的智能接入***及智能接入方法 |
CN108536515B (zh) * | 2018-03-02 | 2021-10-01 | 武汉噢易云计算股份有限公司 | Vdi的虚拟机播放客户机的音乐cd的方法及*** |
US10664323B2 (en) * | 2018-03-07 | 2020-05-26 | Microsoft Technology Licensing, Llc | Live migration of virtual machines in distributed computing systems |
US11086826B2 (en) | 2018-04-30 | 2021-08-10 | Nutanix, Inc. | Virtualized server systems and methods including domain joining techniques |
US11194680B2 (en) | 2018-07-20 | 2021-12-07 | Nutanix, Inc. | Two node clusters recovery on a failure |
PT115089A (pt) * | 2018-10-19 | 2020-04-20 | Eurotux Informatica S A | Sistema e método para comutação gradual de ambiente de computação entre computador local e computador remoto. |
US11770447B2 (en) | 2018-10-31 | 2023-09-26 | Nutanix, Inc. | Managing high-availability file servers |
US10809935B2 (en) * | 2018-12-17 | 2020-10-20 | Vmware, Inc. | System and method for migrating tree structures with virtual disks between computing environments |
US20210117208A1 (en) * | 2019-10-18 | 2021-04-22 | Vmware, Inc. | User profile migration to virtual desktop infrastructure |
US11221784B2 (en) * | 2019-11-01 | 2022-01-11 | Hiveio Inc. | Method and system for user data backup within a virtual desktop environment |
US11263039B2 (en) * | 2019-11-15 | 2022-03-01 | Vmware, Inc. | High performance attachable writeable volumes in VDI desktops |
CN110928624A (zh) * | 2019-11-15 | 2020-03-27 | 联思智云(北京)科技有限公司 | 用于用户终端的云桌面调用方法、装置及终端 |
CN110908756B (zh) * | 2019-11-18 | 2024-02-02 | 西安雷风电子科技有限公司 | 一种云端桌面实时融合切换方法及*** |
US11768809B2 (en) | 2020-05-08 | 2023-09-26 | Nutanix, Inc. | Managing incremental snapshots for fast leader node bring-up |
US11368726B1 (en) * | 2020-06-11 | 2022-06-21 | Francisco Matías Saez Cerda | Parsing and processing reconstruction of multi-angle videos |
EP3929740A1 (de) * | 2020-06-26 | 2021-12-29 | Siemens Aktiengesellschaft | Verfahren zur orchestrierung einer container-basierten anwendung auf einem endgerät |
US11979454B2 (en) | 2022-08-29 | 2024-05-07 | Vertiv It Systems, Inc. | Writeback to a virtual media mapped image in HTML5 |
CN116775223B (zh) * | 2023-08-18 | 2023-11-10 | 西安雷风电子科技有限公司 | 一种idv和vdi虚拟桌面融合使用的方法 |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4025475B2 (ja) * | 1999-11-10 | 2007-12-19 | 日本電気株式会社 | データベース交換システム |
US7313614B2 (en) * | 2000-11-02 | 2007-12-25 | Sun Microsystems, Inc. | Switching system |
US20020156971A1 (en) * | 2001-04-19 | 2002-10-24 | International Business Machines Corporation | Method, apparatus, and program for providing hybrid disk mirroring and striping |
US7275105B2 (en) * | 2002-01-16 | 2007-09-25 | Laszlo Systems, Inc. | Enabling online and offline operation |
US7032131B2 (en) * | 2002-03-26 | 2006-04-18 | Hewlett-Packard Development Company, L.P. | System and method for ensuring merge completion in a storage area network |
US9171049B2 (en) * | 2002-06-13 | 2015-10-27 | Salesforce.Com, Inc. | Offline simulation of online session between client and server |
US7793060B2 (en) * | 2003-07-15 | 2010-09-07 | International Business Machines Corporation | System method and circuit for differential mirroring of data |
US7555531B2 (en) * | 2004-04-15 | 2009-06-30 | Microsoft Corporation | Efficient algorithm and protocol for remote differential compression |
JP4242819B2 (ja) * | 2004-10-06 | 2009-03-25 | 株式会社日立製作所 | オフライン作業可能な端末を有する計算機システム |
US7536525B2 (en) * | 2004-11-09 | 2009-05-19 | Dell Products L.P. | Virtual machine hot cloning including freezing and unfreezing memory in a distributed network |
US20060122955A1 (en) * | 2004-12-02 | 2006-06-08 | Alex Bethlehem | System and method for launching a resource in a network |
US8274518B2 (en) * | 2004-12-30 | 2012-09-25 | Microsoft Corporation | Systems and methods for virtualizing graphics subsystems |
US20060184937A1 (en) * | 2005-02-11 | 2006-08-17 | Timothy Abels | System and method for centralized software management in virtual machines |
US20070094659A1 (en) * | 2005-07-18 | 2007-04-26 | Dell Products L.P. | System and method for recovering from a failure of a virtual machine |
US7447854B1 (en) * | 2005-12-30 | 2008-11-04 | Vmware, Inc. | Tracking and replicating changes to a virtual disk |
US20070174429A1 (en) * | 2006-01-24 | 2007-07-26 | Citrix Systems, Inc. | Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment |
US7739738B1 (en) * | 2006-03-15 | 2010-06-15 | Symantec Corporation | Enabling clean file cache persistence using dual-boot detection |
US20070260702A1 (en) * | 2006-05-03 | 2007-11-08 | University Of Washington | Web browser architecture for virtual machine access |
US9392078B2 (en) | 2006-06-23 | 2016-07-12 | Microsoft Technology Licensing, Llc | Remote network access via virtual machine |
US20080086540A1 (en) * | 2006-10-06 | 2008-04-10 | James Scott | Method and system for executing a normally online application in an offline mode |
AU2007309183A1 (en) * | 2006-10-20 | 2008-05-02 | Citrix Systems,Inc. | Methods and systems for accessing remote user files associated with local resources |
WO2008073618A2 (en) * | 2006-11-06 | 2008-06-19 | Devicevm, Inc. | Instant on platform |
US20080201455A1 (en) * | 2007-02-15 | 2008-08-21 | Husain Syed M Amir | Moving Execution of a Virtual Machine Across Different Virtualization Platforms |
US20080235361A1 (en) * | 2007-03-21 | 2008-09-25 | David Crosbie | Management layer method and apparatus for dynamic assignment of users to computer resources |
US20080301770A1 (en) * | 2007-05-31 | 2008-12-04 | Kinder Nathan G | Identity based virtual machine selector |
US9069638B2 (en) * | 2007-06-11 | 2015-06-30 | Red Hat, Inc. | Update system to synchronize changes from external sources for a java virtual machine |
US7970903B2 (en) * | 2007-08-20 | 2011-06-28 | Hitachi, Ltd. | Storage and server provisioning for virtualized and geographically dispersed data centers |
KR101178752B1 (ko) | 2008-02-26 | 2012-09-10 | 브이엠웨어, 인코포레이티드 | 서버-기반 데스크탑 가상 머신 아키텍처의 클라이언트 머신들로의 확장 |
US8255806B2 (en) * | 2008-09-15 | 2012-08-28 | Vmware, Inc. | Unified secure virtual machine player and remote desktop client |
-
2009
- 2009-02-20 KR KR1020107018920A patent/KR101178752B1/ko active IP Right Grant
- 2009-02-20 CN CN200980105185XA patent/CN101971162B/zh active Active
- 2009-02-20 WO PCT/US2009/034731 patent/WO2009108579A2/en active Application Filing
- 2009-02-20 CA CA2713876A patent/CA2713876C/en active Active
- 2009-02-20 JP JP2010547806A patent/JP5198584B2/ja active Active
- 2009-02-20 AU AU2009219470A patent/AU2009219470B2/en active Active
- 2009-02-20 EP EP09714665.8A patent/EP2248041B1/en active Active
- 2009-02-20 RU RU2010131030/08A patent/RU2432605C1/ru active
- 2009-02-20 MX MX2010009362A patent/MX2010009362A/es not_active Application Discontinuation
- 2009-02-23 US US12/390,819 patent/US8640126B2/en active Active
-
2014
- 2014-01-27 US US14/165,380 patent/US9444883B2/en active Active
-
2016
- 2016-09-01 US US15/254,860 patent/US10061605B2/en active Active
-
2018
- 2018-08-03 US US16/053,851 patent/US10896054B2/en active Active
-
2020
- 2020-12-09 US US17/117,011 patent/US11669359B2/en active Active
-
2023
- 2023-04-26 US US18/139,892 patent/US20240078126A1/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2671046C2 (ru) * | 2013-06-27 | 2018-10-29 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Центры обработки данных конечных точек с разными наборами арендаторов |
US10243777B2 (en) | 2013-06-27 | 2019-03-26 | Microsoft Technology Licensing, Llc | Endpoint data centers of different tenancy sets |
RU2649771C2 (ru) * | 2013-12-19 | 2018-04-04 | Сони Компьютер Энтертейнмент Эмерике Ллк | Виртуализация массового запоминающего устройства для облачных вычислений |
Also Published As
Publication number | Publication date |
---|---|
US10061605B2 (en) | 2018-08-28 |
US20160371111A1 (en) | 2016-12-22 |
US20210117223A1 (en) | 2021-04-22 |
WO2009108579A2 (en) | 2009-09-03 |
US9444883B2 (en) | 2016-09-13 |
JP2011513816A (ja) | 2011-04-28 |
CN101971162A (zh) | 2011-02-09 |
MX2010009362A (es) | 2010-12-06 |
CA2713876C (en) | 2014-11-04 |
CA2713876A1 (en) | 2009-09-03 |
AU2009219470B2 (en) | 2012-06-21 |
EP2248041A4 (en) | 2013-01-23 |
US20180341511A1 (en) | 2018-11-29 |
EP2248041A2 (en) | 2010-11-10 |
KR20100123847A (ko) | 2010-11-25 |
US20140189816A1 (en) | 2014-07-03 |
US20090216975A1 (en) | 2009-08-27 |
CN101971162B (zh) | 2012-11-21 |
WO2009108579A3 (en) | 2009-11-26 |
EP2248041B1 (en) | 2015-04-29 |
US8640126B2 (en) | 2014-01-28 |
AU2009219470A1 (en) | 2009-09-03 |
US20240078126A1 (en) | 2024-03-07 |
KR101178752B1 (ko) | 2012-09-10 |
US11669359B2 (en) | 2023-06-06 |
US10896054B2 (en) | 2021-01-19 |
JP5198584B2 (ja) | 2013-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2432605C1 (ru) | Способ расширения, основанный на сервере архитектуры десктопной виртуальной машины на клиентские машины, и машиночитаемая среда | |
US10296423B2 (en) | System and method for live virtual incremental restoring of data from cloud storage | |
US8826269B2 (en) | Annotating virtual application processes | |
US10248398B2 (en) | Method for virtualizing software applications | |
US20070106993A1 (en) | Computer security method having operating system virtualization allowing multiple operating system instances to securely share single machine resources | |
CN101650660B (zh) | 从中央存储装置引导计算机*** | |
US20110138383A1 (en) | Space Efficient Virtual Machines | |
US20090300599A1 (en) | Systems and methods of utilizing virtual machines to protect computer systems | |
US20100042992A1 (en) | Remote Access to Workspaces in a Virtual Computing Environment with Multiple Virtualization Dimensions | |
US20060047927A1 (en) | Incremental provisioning of software | |
US7506115B2 (en) | Incremental provisioning of software | |
US11822938B2 (en) | User profile migration to virtual desktop infrastructure | |
KR101434794B1 (ko) | 프로그램 해킹 방어 방법 및 시스템 | |
US20220413888A1 (en) | Virtualization engine for virtualization operations in a virtualization system | |
JP2006259874A (ja) | コンピュータとコンピュータシステム |