Testimonials

«We have been working with the key members of Simbirsoft for nearly ten years, and have successfully completed dozens of projects together. Many of their engineers have worked with our engineers from several other countries, both remotely, and on site in Japan. Simbirsoft has always provided the highest level of engineering, and has been one of our most trusted partners.

Victor F. Cozzetto
President & CEO
3NF Corporation, Japan
www.3nf.com

USB over IP (USBIP)

USB over IP provides users with local access to USB devices connected to remote computers. With the special derives developed by our specialists the user can work with any USB devices connected to any network computer as if it’s connected to his PC.

Customers:
A leading enterprise systems management vendor.

Industry sector:
Microelectronics, IT

PROBLEM:

The task was to enable local network users to access any USB devices connected to remote computers. It was necessary to work out a solution for Windows Terminal Server clients which would allow the clients to use the USB devices as network server device. The existing similar projects do not comprise their interaction with Terminal Server or have significant restrictions.

SOLUTION:

There is an open source project USBIP (http://usbip.sourceforge.net/) solving the problem for Linux OS. The project USBIP was based on the similar software architecture: USB data packets are encapsulate into TCP/IP packets and then transmitted between the server and the client.

General description:

The software solution for Windows OS consists of the following components:

  • USB filter driver. It is located in the driver stack of the client’s OS above the device driver. With the help of client application requests it allows redirecting all the device requests to the external application.
  • USB virtual Host (Bus) Driver is a bus-line. The virtual USB devices are connected to it. It is managed with an external user application.
  • The user application which manages the USB filter driver and enables the interaction via network protocol. Thus, the user application performs functions of a client and ones of a server (provides the access to the devices connected to its computer and seeks the access to the remote devices).
  • External dynamic library with Virtual Channel technology to realize it in Windows Terminal Server.

Platform:
Windows 2000, Windows XP, Windows Vista

Main technologies and libraries used:
Ñ++, WinApi, Windows DDK