Patent ID: 7813326

Claim:
A method for providing geographic node location information to nodes among a plurality of communication nodes in a mobile ad hoc network (MANET); wherein each node is a device that has computing and communication broadcasting and receiving capabilities plus a broadcastable identifier, a broadcast can be “sent to” a particular node by including a designated receiver node's identifier in a broadcast packet, and many of the nodes are able to determine a node's geographic location; the method being implemented in each node, if able, each node being a “current node” in the context of the method steps it carries out; the method in the current node comprising the method steps of: maintaining a first table being a node location table wherein each line in the node location table corresponds to a node known to the current node, and the line contains the node's identifier and geographic location information; maintaining a second table being a “scorecard” of potential location server nodes for the current node, wherein each line of the scorecard corresponds to a particular node that has disclosed node location information to the current node, and the line contains the particular node's identifier and a dynamically changing score that is determined for the particular node by the current node, such that the score's value is a pheromone strength that indicates how relatively good the particular node is as a location server node that provides node location information to the current node; upon receiving any broadcast packet containing node location information, updating the node location table with node identifier and corresponding node location information that is new or changed according to the received packet, and also updating the scorecard by increasing the score of the node that provided the node location information; whenever a predetermined amount of time elapses from the most recent value modification of the score for a node in the scorecard, implementing time based decay of pheromone strength by decreasing the score of the node in the scorecard, thereby independently determining the current node's best location server node based on recent experience as indicated by the highest valued pheromone strength; when location information is desired for a node with a known identifier, broadcasting a location request (LREQ) packet that a includes the identifier of a “requested node”; and upon receiving any LREQ packet, if location information for the requested node is in the node location table, broadcasting a location reply (LRPL) packet that includes: the requested node's identifier and location information, and the current node's identifier and location information; thereby increasing the current node's score (pheromone strength) in all nodes that receive the LRPL broadcast packet.