RU2432605C1 - Способ расширения, основанный на сервере архитектуры десктопной виртуальной машины на клиентские машины, и машиночитаемая среда - Google Patents

Способ расширения, основанный на сервере архитектуры десктопной виртуальной машины на клиентские машины, и машиночитаемая среда Download PDF

Info

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
Application number
RU2010131030/08A
Other languages
English (en)
Inventor
Ярон ХЭЛПЕРИН (US)
Ярон ХЭЛПЕРИН
Джад ЧЭМЧЭМ (US)
Джад ЧЭМЧЭМ
Кристиан М. ЛЕРОЙ (US)
Кристиан М. ЛЕРОЙ
Джералд И. Л. ЧЕОНГ (US)
Джералд И. Л. ЧЕОНГ
Мэтью ЭККЛЕСТОН (US)
Мэтью ЭККЛЕСТОН
Джи ФЕНГ (US)
Джи ФЕНГ
Original Assignee
ВиЭмвеэ, Инк.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ВиЭмвеэ, Инк. filed Critical ВиЭмвеэ, Инк.
Application granted granted Critical
Publication of RU2432605C1 publication Critical patent/RU2432605C1/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45537Provision of facilities of other operating environments, e.g. WINE
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network 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. Машиночитаемая среда для расширения, основанная на серверной системе архитектуры десктопных виртуальных машин на клиентскую машину, при этом физическая машиночитаемая среда включает команды компьютерной программы, осуществляющие способ в серверной системе, указанный способ, содержащий:
выполнение серверной версии виртуальной машины, которая обеспечивает десктоп пользователя, при этом серверная версия виртуальной машины выполняется с помощью программы виртуализации на физическом компьютере серверной системы, при этом физический компьютер, соединен с системой хранения данных; программа виртуализации направляет запросы на чтение диска от серверной версии виртуальной машины на виртуальный диск, содержащий образ виртуального диска, размещенный в одном или нескольких файлах в системе хранения данных, программа виртуализации направляет запросы на запись диска от серверной версии виртуальной машины к дельта-диску, при этом дельта-диск имеет файл, содержащий модификации к виртуальному диску, клиентскую систему, имеющую удаленного десктопного пользователя для получения ввода-вывода пользователя и передачи ввода-вывода пользователя в интерфейс пользователя в клиентской системе;
передачу и прием пользовательского ввода-вывода между клиентской системой и серверная системой;
посылку копии виртуального диска клиентской системе;
получение запроса на извлечение из клиентской системы;
отклик на запрос на извлечение, завершение серверной версии виртуальной машины, если серверная версия виртуальной машины выполняется в данный момент, посылку копии дельта-диска клиентской системе с тем, чтобы пользователь мог получить доступ к десктопу, используя клиентскую версию виртуальной машины, выполняемой в клиентской системе; и
ведение журнала о статусе десктопа пользователя как загруженного или извлеченного, в котором состояние десктопа загружается, когда десктоп пользователя был последним дистанционно доступным десктопом, используя серверную версию виртуальной машины, и статус десктопа извлекается, когда десктоп пользователя был последним доступным десктопом в локальным режиме, используя клиентскую версию виртуальной машины; серверная система предполагает, что статус десктопа извлекается после посылки копии дельта-диска клиентской системе.
RU2010131030/08A 2008-02-26 2009-02-20 Способ расширения, основанный на сервере архитектуры десктопной виртуальной машины на клиентские машины, и машиночитаемая среда RU2432605C1 (ru)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
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) コンピュータとコンピュータシステム