摘要 |
A system and method of establishing and simplifying peer-to-peer networking connections among a plurality of computers and devices, whereby network connections may be established whether firewalls, network address translators, or any combination thereof, are present or not. The method includes: each peer dynamically generating globally unique identifiers and sending, receiving and adding to lists of known mesh configurations sent to and received from other peers or loaded from a storage device; and asynchronously attempting a specified sequence of methods to establish connectivity to the closest peer, including a sequence of methods of traversing any network address translators or firewalls that may be present. |
主权项 |
1. A method of enabling communication among a plurality of computers and devices the hardware of which is configured in such a way that they are able to communicate to other computers and devices through a network connection, comprising:
dynamically generating identifiers; and performing routing and traversal methods,whereby a network connection may be established whether network address translators, firewalls, or any combination thereof, are present or not, using the following steps:
(a) creating an xstream object containing routing information and identifiers, by passing serializable data containing a unique protocol identifier specifying the protocol that will be used for establishing a connection into the constructor of said xstream, wherein said xstream is constructed in such a way that an attempt will be made to establish an indirect connection to the peer corresponding to a vsocket if the device or driver corresponding to the protocol identified by said protocol identifier is not present on the computer or device, said vsocket comprising a serializable class or language construct containing information regarding a protocol-specific connection, methods for sending and receiving data over a network, and a protocol identifier; (b) generating a globally unique identifier; (c) broadcasting said globally unique identifier; (d) initiating routing processes; (e) performing network address translator traversal, firewall traversal and other processes on an as-needed basis if an inbound connection cannot be established; (f) asynchronously searching for peers using the xstream and said globally unique identifiers; and (g) establishing a connection to a peer when either a peer with a matching mesh identifier connects, or a discovery request or packet is sent and a peer transmits a response containing a matching mesh identifier. |