9 сент. 2010 г.

Виртуализация приложений. Обзор технологии. Часть 1. SeamlessRDP

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

Основные продукты на рынке, которые это умеют:
* Citrix XenApp (об нем в следующих выпусках; дистрибутив занимает 4,5 гига).
* Ericom PowerTerm WebConnect (об нем читайте в этом посте, он тоже платный)
* SeamlessRDP (опенсорс!). Об нем настоящая статья.

Что потребуется для работы:
1) Windows-Сервер в интернете (или в локальной сети). На него устанавливаем игры, приложения для использования пользователями. Для целей этой заметки используем локальный сервер 192.168.5.43.
2) Также на сервер ставим надстройку над RDP - SeamlessRDP. Распаковать архив на сервере в папку C:\SRDP.
3) rdesktop - нужно скачать и скомпилять под CygWin-ом. Эта утилита будет использоваться на компах пользователей.
4) X-сервер, любой, например Xming. Он тоже ставится на компах юзеров.

Условия:
- на сервере не должно быть залогиненного пользователя! Если там кто-то залогинен, то работать Application Streaming не будет.

Что делаем:
1) Запускаем X-сервер
2) Запускаем
rdesktop.exe -u Administrator -p пароль -a 16 -A -s "C:\SRDP\seamlessrdpshell.exe C:\Portables\Farm\fantastic farm.exe" 192.168.5.43
3) Играем через Application Streaming - это картинка с удаленного сервера, выглядит, как будто я запустил игру со своего компьютера.



Игра немножко тормозит, что естественно при передаче большого количества видеоданных по сети. Поток данных с этой игры я намерял в размере 2,7 мегабит в сек.
Если запустить офисные приложения, то тормозов не заметно.

При закрытии игры/приложения автоматически происходит разлогинивание пользователя с сервера, и сервер становится готов принимать новые соединения по SeamlessRDP.

Преимущества такого подхода: можно запускать Windows-приложения из-под Linux, поскольку команда rdesktop - родная для Linux, она есть в стандартном наборе утилит.

4 комментария:

  1. Поздравляю, Вы изобрели Remote Desktop Services.

    ОтветитьУдалить
  2. Суть в том, что с удаленного компьютера гонится не целый десктоп, а только одно выбранное приложение. Стандартный RDP так не умеет.

    ОтветитьУдалить
  3. Вообще-то умеет, и уже давно.

    ОтветитьУдалить
  4. Вообще-то это называется виртуализация представлений (presentation virtualization), а не виртуализация приложений )Application virtualization).

    В случае виртуализации приложений они выполняются локально, на клиентской машине.

    ОтветитьУдалить