Patent ID: 8625575

Claim:
A device comprising: at least one processor; and a storage device, the storage device storing instructions for causing the at least one processing device to: track numbers of packets forwarded from a sensing device to a plurality of neighbor sensors in a network of the sensing device; select two or more sensors from the plurality of neighbor sensors in the network to which to potentially route a packet, the two or more sensing devices being randomly selected and being intermediate sensing devices in the network between the sensing device and a destination sensor in the network; determine, based on the tracked numbers of packets forwarded to the plurality of neighbor sensors, whether a number of packets routed in a direction toward one of the two or more selected sensors does not exceed a number of packets routed in a direction of another one of the two or more selected sensors; and route the packet from the sensing device toward one of the two or more selected sensors while not routing the packet from the sensing device toward another one of the two or more selected sensors, the routing being conditioned upon a determination that the number of packets routed in the direction toward the one of the two or more selected sensors does not exceed the number of packets routed in the direction of the another one of the two or more selected sensors such that two packets that arrive in sequence at the sensing device are not both routed on a shortest path to the destination sensor.