Ask HN: Why wasn't USB designed to handle peer-to-peer data transfer?
A friend and I were wondering why USB wasn't designed to accommodate the peer-to-peer (computer-to-computer) data transfer use case? In the DOS and Win 3.1 days we used to transfer files across computers via either serial or parallel port connections. It seems that USB "crossover cables" do exist but they either have some kind of active electronics in the middle, or expressly say "do not use this to connect two computers together".
7 comments
[ 5.7 ms ] story [ 25.8 ms ] thread> USB was designed to standardize the connection of peripherals to personal computers, both to communicate with and to supply electric power.
> USB has a strict tree network topology and master/slave protocol for addressing peripheral devices; those devices cannot interact with one another except via the host, and two hosts cannot communicate over their USB ports directly
As to why it wasn't there initially ... why should it have been? How many people were going to put their desktops close enough together that a 1m USB cable could reach between them?
Peak speed on USB1 (1996) was 12Mbps - home and corporate networks were already operating at at least 10Mbps, and handle data transfer quite nicely (and over far longer distances)
If you wanted to go host-to-host with ethernet, you only needed a crossover cable to do it
USB access for external devices like Zip drives was available - and, if you used Zip disks, the media'd interoperate between internal and external variants
One of the first computers to exclusively rely on USB for peripherals was the first-generation iMac back in 199
USB thumb/external drives appeared about the same time (a couple "history of thumb drive" sites list it as 1999, others as 1998 ... I suspect is the difference is between "design/prototype" and "on sale")
In short, there was no reason to enable host-to-host transfers with USB
All to say, the reason was there indeed. It just wasn't part of the initial USB host vs peripheral design.