The present invention relates generally to ad-hoc communication systems and in particular, to a method and apparatus for removing phantom children within an ad-hoc communication system.
Many ad-hoc communication systems are based on a cluster tree protocol, with routing being address-based. The foundation for the cluster tree topology is based on the spanning tree network design. Within an ad-hoc network based on the IEEE 802.15.4 protocol, parent nodes periodically broadcast beacons to their children nodes. The children nodes always track the parent's beacon. If the parent's beacon cannot be tracked for several consecutive frames, the child node is assumed orphaned and disconnects itself from the network. The orphaned node may then try to reconnect. A problem exists when a parent node is reset, and returns to the network under the same address or some other node takes its place with the same address without the former children being aware of the change. If the reset (e.g., power off/on) happens quickly so that its children do not notice the temporary disappearance of the parent's beacon (i.e. children do not become orphaned), the children assume they are the legitimate children of this parent and that they are part of the network, while the parent thinks it does not have any children. The parent then could accept new children assigning them the same logical addresses already given to the prior children. The prior children are then referred to as phantom children in that they believe they are still associated with the parent node, but the parent node is unaware of the assumed association. A need exists for a method and apparatus for removing phantom children in an ad-hoc network.
To address the above-mentioned need, a method and apparatus for removing phantom children in an ad-hoc network is described herein. During operation messaging between the parent and child nodes allows the parent node to detect when a node has become a phantom node, and take action to correct it. In particular a maintenance message is periodically transmitted by every node in the network to its parent. The maintenance message is designed to inform the parent of at least a unique identifier of the child. The parent can then compare this unique identifier of the child to others associated with the parent to determine if the child is the real child or a phantom child. Corrective action is taken when a phantom node is detected.
Expanding on the above paragraph, when a child node associates with a parent they do so with its unique identifier (e.g. physical or IEEE address, Media Access (MAC) Address, . . . , etc.) since that is the only address it has at the time. The physical address is always an identifier that uniquely identifies the node. The physical address is stored at the parent node. The parent assigns them a logical address (e.g., an Internet Protocol (IP) address). Therefore, the parent is aware of both the logical and physical addresses of its children. If the parent receives a maintenance message from a child node, it will obtain the physical address of the child node from the message and determine whether or not the parent node has the physical address stored in memory. If so, the parent node perceives itself as the parent of the child node and may send an acknowledgment back to the child. If, however, the parent node does not find the physical address in memory, the child is assumed to be a phantom and the parent sends the child a disassociate message. The disassociate message is sent to the child's physical (e.g., IEEE) address in order to distinguish the child node from other nodes having the same logical address.
The present invention encompasses a method for removing a phantom node in a communication system. The method comprises the steps of receiving a maintenance message from a node, the maintenance message containing the node's physical address, accessing a database to determine if the node's physical address corresponds to a physical address of a child node, and if the node's physical address does not correspond to the physical address of the child node, then sending a disassociate message to the node otherwise sending an acknowledgment message.
The present invention additionally encompasses a method for removing a phantom node in a communication system. The method comprises the steps of receiving a maintenance message from a node and accessing a neighbor list to determine if the node's address corresponds to a address of a child node. The maintenance message contains a hardware address that uniquely identifies each node of a network and is unchanging. If the node's address does not correspond to the physical address of a perceived child node, then a disassociate message is sent to the node otherwise an acknowledgment message is sent.
The present invention additionally encompasses an apparatus comprising a receiver receiving a maintenance message from a node, the maintenance message containing the node's physical address. The apparatus additionally comprises logic circuitry accessing a database to determine if the node's physical address corresponds to a physical address of a child node, and a transmitter sending a disassociate message to the node if the node's physical address does not correspond to the physical address of the child node, otherwise sending an acknowledgment message.
Turning now to the drawings, wherein like numerals designate like components,
Prior to describing techniques for mitigating the phantom-node problem, the following definitions provide the necessary background for utilizing the techniques described below.
As discussed above, a problem exists when a parent node is reset, and returns to the network under the same address or some other node takes its place with the same address without the former children being aware of the change. If the reset (power off/on) happens quickly so that its children do not notice the temporary disappearance of the parent's beacon (i.e. children do not become orphaned nodes), the children assume they are the legitimate children of this parent and that they are part of the network, while the parent thinks it does not have any children.
In order to address this issue, all nodes will periodically transmit a maintenance message to their parent node during its guaranteed time slot. The maintenance message is designed to inform the parent of at least the unique identifier of the child (e.g., a physical address). The parent then compares the unique identifier received to the unique identifiers stored in its neighbor list to determine if the child is a real child or a phantom child. Corrective action is taken when a phantom child is detected. Particularly, if the child node is perceived as a phantom, a disassociate message is sent to the phantom node causing it to disassociate with the parent node. Additionally, if the node is perceived as a legitimate child node, an acknowledgment may optionally be transmitted to the node, acknowledging receipt of the maintenance message.
When acting as a parent node, transceiver 505 receives the maintenance message and passes this to logic circuitry 501. Logic circuitry 501 determines the physical address for the sender of the maintenance message and compares it with those stored as part of its neighbor list in database 507. More particularly, whenever a child node associates with a parent node, the parent node will create a neighbor list comprising the physical address of those nodes associated with the parent node. Thus, all child nodes in communication with a parent node will have their physical addresses located on the neighbor list. If a parent node receives a maintenance message from a child node whose physical address is not on its neighbor list, then the assumption can be that the child node is a phantom node. A disassociation message will be sent to the child node instructing them to disassociate from the parent node.
While the invention has been particularly shown and described with reference to a particular embodiment, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention. It is intended that such changes come within the scope of the following claims.