Patent ID: 7069361

Claim:
A method of maintaining order of transactions in a distributed communication system, the distributed communication system comprising a plurality of nodes interconnected by a plurality of communication links, the plurality of nodes having access to a plurality of addressable memory locations, the plurality of nodes comprising a source node and a target node, the method comprising the acts of: dispatching, by the source node, a first request directed to a first memory address accessible by the target node; transmitting, from the target node, a first response directed to the source node in response to the first request; transmitting, from the source node, a second response directed to the target node after receipt of the first response; stalling service, by the target node, of a second request directed to the first memory address pending receipt of the second response; and issuing, by the target node, a probe in response to the first request, the probe being directed to each of the plurality of nodes to determine whether any of the plurality of nodes is caching data corresponding with the first memory address; and issuing, by each of the plurality of nodes, a third response in response to the probe, wherein act of transmitting the second response, from the source node, is performed after receipt of all of the third responses; and wherein each of the third responses is directed to the target node, and wherein the act of transmitting the first response directed to the source node is performed after receipt of all of the third responses by the target node.