Patent ID: 7936703

Claim:
A method comprising: assigning a first spanning tree to a first node of a plurality of processing nodes that form a point-to-point network, the first node being a root of the first spanning tree, wherein the first spanning tree defines routes for the first node to send snoop messages to all of the other processing nodes in the network; assigning a subsequent spanning tree to a subsequent node of the processing nodes, the subsequent node being a root of the subsequent spanning tree, wherein the subsequent spanning tree defines routes for the subsequent node to send the snoop messages to all of the other processing nodes in the network, each of the first spanning tree and the subsequent spanning tree using direct links of the network as paths and all of the processing nodes as vertices; determining, a path in the subsequent spanning tree at a time, whether the path in the subsequent spanning tree can be replaced by a different path that exists in the first spanning tree, wherein the path in the subsequent spanning tree and the different path in the first spanning tree are on two different routes that connect the subsequent node to the same processing node in the network; for each particular processing node of the plurality of processing nodes, generating a spanning tree that uses the particular processing node as a root of the spanning tree and provides a shortest path between the root of the spanning tree and each of the vertices; wherein assigning the subsequent spanning tree, if a previously-generated spanning tree produces the shortest path between the subsequent node and each of the other processing nodes, assigning the previously-generated spanning tree to the subsequent node; configuring an input snoop port of each of the processing nodes as either terminating or forwarding; and routing the snoop messages in the first spanning tree and the subsequent spanning tree consistent with configuration of the input snoop port.