Patent ID: 8060626

Claim:
In a peer, a method for determining which of two or more peers behind NATs to designate as a host for a service within a peer to peer grid, the method comprising: a) collecting NAT profile information for the peer; b) sharing the NAT profile information for the peer with one or more other peers of the two or more peers; c) receiving NAT profile information for the one or more other peers; and d) determining from the NAT profile information for the peer and the NAT profile information for the one or more other peers which of the two or more peers to designate as the host, wherein d) includes assigning priority values to each of the two or more peers based on the NAT profile information for the peer and the NAT profile information for the one or more other peers and selecting the host based on the priority values, wherein the NAT profile information for the seer or the one or more other peers that is used to assign the priority values includes a NAT type, information regarding support of universal plug and play (UPnP), port predictability information, or port preservation information.