Patent ID: 8402515

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