I prefer to take the first one, but as you say, there might be very little scope for modification, i would like to see your opinion about my project, I've build my block diagram, but i think there should be little modification before i proceed to my project. can you give me your opinion?There are two ways to approach this, the first is to use USB hub ICs, which would greatly simplify the project. However, there might be very little scope for modifications, such as your requirements for switching or two upstreams.
The second approach is to build this using building blocks. You need to source USB line drivers, then a central controller to pass and switch the streams. An FPGA or a fast processor (depending on your required data rate) might be suitable. You'd also need to implement all the hub processing inside the controller.
thanks nomurphy, i've viewed that page, its usefull for me and i'll study it, thank you so much...