Patent ID: 6950870

Claim:
A method of loop detection and dissolution in a communication network including a plurality of nodes, each of the plurality of nodes being directly linked through ports to at least one neighbor node and indirectly linked through a neighbor node to at least one remote node, the method comprising: (a) detecting a change in topology of the network by at least one of the plurality of nodes; (b) sending a vote token from the detecting node to each neighbor node, said vote token including an address of the detecting node and number of neighbor nodes of the detecting node; (c) receiving the vote token from the sending node at each of the neighbor nodes from the sending node and: (1) forwarding the received vote token to all neighbor nodes with exception of the sending node, if the receiving node has the same or less neighbor nodes then the sending node, and (2) sending a new vote token to all neighbor nodes with the exception of the sending node if the receiving node has more neighbor nodes then the sending node, the new vote token including the address of the receiving node and number of neighbor nodes of the receiving node; (d) repeating step (c1) and (c2) by each node to which a vote token is either sent or forwarded until one of the nodes receives a token which that node sent and thereby becomes the elected loop-checker node; (e) sending a loop-check token from the elected loop-checker node to each of the neighbor nodes, said loop check token including an address of the loop-checker node and identification of the port from which the loop-check token was sent; (f) receiving the loop-check token at each of the neighbor nodes and forwarding the loop-check token to each neighbor node through a port that is different than the port identified in the loop-check token; and (g) muting any port of the loop-checker node on which the loop-check token is received.