I would like to create a USB matrix that I can control through a web server.

basically I would like to have about 3-5 USB ports (will likely be USB Flash drives or External Disk drives) and as many USB host connections as I can. (I am running about 12 machines, and growing)

I would like to be able to from a web browser, "connect" any device port to any host port.

Example situation: I can load a Boot disk onto a USB Flash drive from a working computer, and switch it to the computer I'm working on to be able to boot from the drive.

My current thought process is to either use Transistors (not sure if I can for USB data signals) or relays, or if I can, simply put the data pins onto an Arduino, and let the Arduino control the switching, but I'm guessing it would take way too many pins to do this. Another possibility is to use Multiplexers.

I am open to suggestions as to the best way to implement this.

Also would I need to reset the power signal to the affected USB drive every time a switch occurs?