Patent ID: 7529255

Claim:
A method for communicating among a plurality of participants, comprising: providing a peer-to-peer overlay functionality for establishing a peer-to-peer overlay network that includes a plurality of participants, the peer-to-peer overlay network including a native transport protocol and a graph that logically couples the plurality of participants together; providing an endpoint provider functionality for establishing a transport strategy used to exchange information among the plurality of participants in the peer-to-peer overlay network, the transport strategy selecting at least one replacement transport protocol to replace the native transport protocol; and conducting a communication session among the plurality of participants using the graph of the peer-to-peer overlay functionality and the at least one replacement transport protocol selected by the transport strategy, wherein the transport strategy accommodates multiple different transport protocols for exchanging information among the plurality of participants, and wherein the establishing a transport strategy includes: determining a plurality of transport protocols that are usable to each pair-wise combination of participants; computing, for each pair-wise combination of participants, a score for each of the plurality of transport protocols based on one or more criterions; and selecting, for each pair-wise combination of participants, a replacement transport protocol from the plurality of transports protocols based on the scores, wherein the one or more criterions includes at least one of bandwidth associated with different transport protocols, size of the information to be sent over the link, one or more costs associated with the transport protocols, one or more privacy consequences of using different transport protocols, presence of one or more intermediary devices between the each pair-wise combination of participants, and one or more prior failures of the plurality of transport protocols.