Patent ID: 9083718
Filing Date: 2015-07-14
Classification: H04L

Abstract:
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.