US 9,811,480 B2
Universal serial bus emulation of peripheral devices
Daniel A. Christian, Longmont, CO (US); and Baird Jonathan Ramsey, Westminster, CO (US)
Assigned to Google Inc., Mountain View, CA (US)
Filed by GOOGLE INC., Mountain View, CA (US)
Filed on Mar. 14, 2014, as Appl. No. 14/213,472.
Prior Publication US 2015/0261696 A1, Sep. 17, 2015
Int. Cl. G06F 11/36 (2006.01); G06F 13/10 (2006.01)
CPC G06F 13/105 (2013.01) [G06F 11/3664 (2013.01); G06F 2213/0042 (2013.01); G06F 2221/034 (2013.01)] 10 Claims
OG exemplary drawing
 
1. A computing system for testing peripheral device interaction, the computing system comprising:
a test executor computing device configured to run a testing framework, device emulation, and emulating USB hardware device communication drivers;
a computing device under test; and
a plurality of emulating universal serial bus (USB) hardware devices that are programmable with software to emulate a plurality of physical USB peripheral devices by supporting multiple USB profiles and simulates the USB interactions of a first physical USB peripheral device with the computing device under test,
wherein each of the plurality of emulating universal serial bus hardware devices is configured to:
emulate a particular physical USB peripheral device by receiving specific descriptors including device identifiers related to the particular physical USB peripheral device being emulated;
respond by USB protocol to a computing device under test; and
communicate, using a second protocol, with a test executor computing device that simulates the USB interactions of the physical USB peripheral device; and
wherein data from one of the at least two emulating USB hardware devices is used to time or select a response from another of the plurality of emulating USB hardware devices.