Patent ID: 7307978

Claim:
A method for routing messages in an ad hoc network having a plurality of nodes, where each node has a location, where at least one node can change its location, the method comprising: a) receiving a message; b) determining whether the received message has been encountered recently; c) when the received message has been encountered recently, discarding the message; d) when the received message has not been encountered recently, determining whether the current node is the destination of the message; e) when the current node is the destination of the message, processing the message; and f) when the current node is not the destination of the message, selectively forwarding the message to another node in an intelligent manner that employs a geographic position data of the current node; wherein the step of when the current node is not the destination of the message, selectively forwarding the message to another node in an intelligent manner that employs the geographic position data of the current node includes: f — 1) determining whether the current node is closer in proximity to the destination node than the last node is from the destination node; f — 2) when the current node is closer in proximity to the destination node than the last node is close to the destination node, then updating the message with the location of the current node; writing the location of the current node in a last position field in the message; and f — 3) forwarding the updated message to a next node in the network including transmitting the updated message in a broadcast fashion to nodes that are in communication range of the current node.