Patent ID: 7805763

Claim:
A method of operating processors in a network in order to distribute processors values of each processor to other processors, by a set of n processors, in the network, the method comprising: establishing a mesh network including the set of n processors, wherein each P th processor of the set of n processors is within communication range of at least a subset of the set of n processors; in each P th processor: obtaining a set of interval lengths comprising one interval length for each of a sequence of rounds; initializing a first round counter at a first round; initializing a first list of processor values; creating a message M p that includes a P th value of the P th processor; sending the message M p to the subset of n processors; starting a timer for the first round; operating a receiver to receive messages from other processors in the network; receiving one or more messages; for each m th message that was sent by a P o th processor of the set of n processors and received by the P th processor from a Q th processor of the set of n processors and includes a P o th processor value for the P o th processor: if the m th message has come to the P th processor through a routing path in which each processor that handled the m th message was static when the m th message was handled, then: checking if the first list of processor values includes the P o th processor value; and if the first list of processor values does not include the P o th processor value: checking the first round counter; and: if the first round counter is below a first upper limit: adding the P o th processor value to the first list of processor values; creating a new message that includes the P o th processor value; checking a timer for a current round of the first round counter; and if the timer for the current round has expired, then: sending the new message that includes P o th processor value to at least a subset of the subset of processors within communication range of the P th processor; if the m th message has come to the P th processor through a routing path that includes at least one processor that moved prior to sending the m th message, then: checking if the m th message is redundant due to reception of a previously received message; if the m th message is not redundant: checking if a P th termination counter for the P th processor is active; and if the P th termination counter is not active: initializing a second round counter that is associated with the m th message; initializing a timer for a first round of the second round counter; storing the P o th processor value in the P th processor; when the timer for the first round of the second round counter expires, sending the P o th processor value to at least a subset of the subset of processors within communication range of the P th processor.