Patent ID: 8402516

Claim:
A method of establishing a peer-to-peer communication session with a host device by a client device, comprising: detecting an attached USB compatible device; receiving a first authentication information from the attached USB compatible device; receiving routing information of the host device from a server coupled to a wide area network; wherein the host device is located behind a Network Address Translator (“NAT”) device; sending routing information of the client device to the server; providing a second authentication information to the host device via the wide area network; comparing the first authentication information with the second authentication information to authenticate the client device; establishing a peer-to-peer communication session with the host device via the wide area network if authenticated to communicate with the host device; and transmitting data to the host device via the peer-to-peer communication session; wherein routing information of the client device comprises any one or more of a TCP public IP address and port number, a UDP public IP address and port number, and a private IP address and port number of the client device; and a MAC address of the host device.