A USB hub is responsible for:
Monitoring the insertion or removal of a device on its ports
Power-managing individual devices on its ports
Controlling power to its ports
The USB host controller has an embedded hub called the root hub. The ports that are visible at the back panel are the ports of the root hub. The USB host controller is responsible for:
Directing the USB bus. Individual devices cannot arbitrate for the bus.
Polling the devices by using a polling interval determined by the device. The device is assumed to have sufficient buffering to account for the time between the polls.
Sending data between the USB host controller and its attached devices. Peer-to-peer communication is not supported.