Отзывы

Мы, Pentasoft Corp, начали сотрудничество с СимбирСофт с 2004 года и очень довольны их работой. Специалисты СимбирСофт глубоко разбираются в системах электронной коммерции и качественно разработали много компонентов для нашего флагманского продукта Avactis Shopping Cart. Мы выражаем свою благодарность всем сотрудникам компании и настроены на долгосрочное сотрудничество с данной профессиональной компанией.

Steve Irwin
Avactis Shopping Cart
www.avactis.com

USB over IP (USBIP)

USB over IP предоставляет пользователям локальной сети доступ к USB устройствам на удаленных компьютерах. При помощи установки специальных драйверов, разработанных сотрудником нашей компании, пользователь может использовать любые USB устройства, подключенные к некоторому компьютеру в сети, как будто они подключены к его личному компьютеру.

Заказчик:
Большая IT компания.

Отрасль:
Микроэлектроника, IT.

ПРОБЛЕМА:

Разрешить пользователям локальной сети доступ к любым USB устройствам на удаленных компьютерах. Необходимо найти решение проблемы для клиентов Windows Terminal Server, позволяющее клиентам использовать USB устройства как локальные устройства сервера.. Существующие аналогичные проекты не включают взаимодействие с Terminal Server либо обладают существенными ограничениями.

РЕШЕНИЕ:

Существует opensource проект USBIP (http://usbip.sourceforge.net/), решающий эту проблему в ОС Linux. Разработка проекта USBIP была основана на сходной архитектуре ПО - пакеты данных USB инкапсулируются в пакеты TCP/IP и передаются между сервером и клиентом.

Общее описание:
Программное решение для ОС Windows состоит из следующих компонентов:

  • USB filter driver. Располагается в стеке драйверов клиентской ОС до драйвера устройства. Посредством запросов от пользовательского приложения позволяет перенаправить все запросы устройства внешнему приложению.
  • USB Virtual Host (Bus) Driver. Реализует шину, к которой подключаются виртуальные USB устройства. Управляется внешним пользовательским приложением.
  • Пользовательское приложение, реализующее управление USB filter driver и осуществляющее взаимодействие по сетевому протоколу. Таким образом пользовательское приложение реализует функции клиента и сервера (предоставляет доступ к устройствам на своем компьютере и запрашивает доступ к удаленным устройствам).
  • Внешняя динамическая библиотека, использующая технологию Virtual Channel для реализации проекта в Windows Terminal Server.

Платформа:
Windows 2000, Windows XP, Windows Vista

Основные используемые технологии и библиотеки:
С++, WinApi, Windows DDK