This was a project that I did in 2009 during my Bachelors as part of a remote internship with MindTree. Below is the abstract of the work taken from the project report.
USB as a technology can be used as an alternative to PCI to connect peripheral components to a computer. Plug-and-Play installation and easy user diagnostics make USB connectivity a viable source of I/O expansion in both end user and business applications.
The project aims at opening up USB mass storage devices to network/LAN and mould the network as I/O channel. This is to enable sharing of USB mass storage devices over the network in such a way that each computer in the network can access the devices as if they are connected directly to them.
The whole concept is to develop the server which shall make the USB mass storage devices public and which can perform operations on USB mass storage device. A client needs to be generated to allow the read/write operation on the USB storage device. Instead of placing multiple PCs throughout a location each with additional hardware for connecting peripheral devices, one PC can serve as the host for multiple USB mass storage devices. Multiple client PCs can access the USB mass storage devices from the server host PC through the network.