Patent ID: 8358652

Claim:
A method for nodes in a network, comprising a plurality of computer nodes connected through a plurality of network devices, to create a logical network overlay of said network comprising the steps of: each of said nodes creating an overlay section by the steps of: selecting a first set of nodes as nearby neighbor nodes; selecting a second set of nodes at random as random neighbors; sending a first plurality of messages, one message to each node of said first and said second set of nodes requesting establishment of a link to each of said nodes; receiving a second plurality of messages from each of said nodes comprising link acceptances or link rejections; establishing links with nodes sending link acceptance messages; wherein, each node has a predetermined threshold number for nearby neighbors and a predetermined threshold number for random neighbors and whereby link acceptance is based on at least one of said threshold numbers and performance metrics; and constructing a multicast tree for multicasting message in said overlay, wherein one node of said overlay periodically sends at least one root message along said tree, thereby notifying nodes of said network of a tree structure; and further comprising, upon detection of a message at each node, said each node multicasting each said message to the at least one tree neighbor in said tree structure and saving a message ID for each said multicast message; and said each node periodically sending a gossip comprising the message ID for each said multicast message to each overlay neighbor that is not a tree neighbor in said overlay.