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.

/images/eng_pic.gif)

/images/rus_pic.gif)
