USB Physical Device: A piece of hardware on the end of a USB cable that performs some useful end
user function.
• Client Software: Software that executes on the host, corresponding to a USB device. This client
software is typically supplied with the operating system or provided along with the USB device.
• USB System Software: Software that supports the USB in a particular operating system. The USB
System Software is typically supplied with the operating system, independently of particular USB
devices or client software.
• USB Host Controller (Host Side Bus Interface): The hardware and software that allows USB devices
to be attached to a host.
There are shared rights and responsibilities between the four USB system components. The remainder of
this specification describes the details required to support robust, reliable communication flows between a
function and its client.