The present invention relates to a method and apparatus for assigning a channel in an ad-hoc network, and more particularly, to a method and apparatus for assigning a channel to a node based on a current level of the node, a channel value of a parent node, information on the order in which the node has been joined to the parent node, and the maximum number of usable channels, and preventing overlapping of channels. This work was supported by the IT R&D program of MIC/IITA.[2005-S038-02, Development of UHF RF-ID and Ubiquitous Networking Technology]
According to Zigbee network topology, each node in a network system is classified into a Zigbee coordinator (ZC), a Zigbee router (ZR), and a Zigbee end device (ZE).
Here, the ZC is located on the top of a tree structure and manages the entire tree, the ZR is a lower node of the ZC and communicates with the ZC by using a beacon that is transmitted from the ZC, wherein the communication with the bottom nodes is possible by generating a beacon of the ZR at a time when the beacon of the ZR does not collide with the beacon of the ZC.
The ZE is located in the bottom of the Zigbee network topology and performs required data communication by using the beacon transmitted from the ZC or the ZR.
In order to form such a tree structure, the ZC or the ZR transmits the beacon so as to communicate with other lower nodes. Here, if time of transmitting a beacon by each ZR is randomly selected, ZRs' beacons may collide in the lower nodes. When the beacons collide, communication between nodes is impossible.
Also, a sensor network forms a self-organizing network, and nodes of the sensor network become movable. Accordingly, when the sensor network is managed, a geographical distribution of the nodes cannot be pre-known, and a link or a channel cannot be pre-established. Since a method of suitably assigning a channel in such an ad-hoc network does not exist, such a method is required.
The present invention provides a method and apparatus for assigning a channel in an ad-hoc network, which can minimize beacon collision in the ad-hoc network and prevent channel overlapping or collision, and thus a channel can be efficiently assigned.
According to an aspect of the present invention, there is provided a method of assigning a channel, the method including: obtaining join order information which is information on the order in which a first node has been joined to a second node, which is a parent node, and level information of the second node in an ad-hoc network; determining a reference value for setting a channel that is to be assigned to the first node based on an address value of the first node, which is determined based on the join order information and the level information, a level value of the first node, a channel value of the second node, which is determined based on the level information, and the join order information; and determining a channel value of the first node by dividing the reference value by the maximum number of usable channels in the ad-hoc network.
According to another aspect of the present invention, there is provided an apparatus for assigning a channel, the apparatus including: a parent node information unit, which obtains join order information which is information on the order in which a first node has been joined to a second node, which is a parent node, and level information of the second node in an ad-hoc network; a reference value determiner, which determines a reference value for setting a channel that is to be assigned to the first node based on an address value of the first node, which is determined based on the join order information and the level information, a level value of the first node, a channel value of the second node, which is determined based on the level information, and the join order information: and a channel value determiner, which determines a channel value of the first node by dividing the reference value by the maximum number of usable channels in the ad-hoc network.
According to the method and apparatus for assigning a channel in an ad-hoc network of the present invention, whenever a new node is joined in the ad-hoc network, assigning a channel, which can minimize channel collision, is performed. Also, even if the same channel is assigned to different nodes, this can be detected and a new channel can be assigned. Accordingly, beacon collision in the ad-hoc network can be effectively prevented.
The above and other features and advantages of the present invention will become more apparent by describing in detail exemplary embodiments thereof with reference to the attached drawings in which:
The method of
First, a child node searches for a parent node, and then before transmitting a join request message to the parent node, the child node stands by for a random time in order to differentiate a join order value which shows the order in which the child node has been joined to the parent node from join order values of other child nodes.
Second, after determining a channel of a node by the method of assigning a channel, it is checked whether another node is using the same channel during a predetermined beacon period before using the determined channel. If another node is using the same channel, the node is again joined to a parent node, and receives a different join order value from those of other child nodes, and thus the node can use a new channel.
Referring to
Then, after joining the parent node in operation 405, a channel of the child node is assigned based not only on a current level of the child node, but also on the maximum number of usable channels, the maximum permissible level in the ad-hoc network, the maximum number of child nodes that the parent node can have, the maximum router number, and join order in which the child node has been joined to the parent node. Here, it is checked whether a channel assigned to the child node is used by another node during a suitable beacon period in operation 406.
When it is checked that the assigned channel is not used by another node in operation 407, the child node generates a beacon in the assigned channel in operation 408. However, when it is checked that the assigned channel is used by another node in operation 407, operation 403 is performed so that the child node again joins a parent node. In this case, even if the same parent node is selected, another channel is selected based on the method of assigning a channel since the parent node continuously increases the join order value. In other words, the parent node internally increases the join order value and since the parent node transmits the changed join order value to the child node, a channel value calculated according to the join order value also changes.
Referring to
Hereinafter, the present invention will be described more fully with reference to the accompanying drawings, in which exemplary embodiments of the invention are shown.
Here, when a lower node requests for join, the parent node assigns an address value (Addr) of the lower node by using a Cskip value of the parent node. The Cskip value can be obtained by using Equation 1 below.
Here, d denotes a level value of each node.
The address value of the lower node is calculated using the Cskip value, and when the lower node is a router, the address value of the lower node is calculated using Equation 2 below.
[Math.2]
An=1+Cskip×(k−1) Equation 2
Here, k denotes a join order and Cskip denotes a value of the parent node.
When the lower node is an end node, the address value of the lower node is calculated using Equation 3 below.
[Math.3]
An=A
parent
+Cskip(d)×Rm+n Equation 3
Here, 1<=n<=(Cm−Rm) and Aparents denotes an address value of the parent node.
As a result, when the ad-hoc network having a tree structure as illustrated in
In
The level value (d), which shows a distance from each node to the root node, is assigned to each node in a communication system and the join order value (k), which shows the order in which each node has been joined to a parent node, is assigned to each node in a certain level value. As a result, each node includes an address value, a level value, and a join order value.
Communication channels need to be evenly assigned to all nodes in a communication system so that cu-channel interference is reduced. However, when the number of nodes increases, the communication channels for the nodes may overlap while the communication channels are assigned because of a limited number of the communication channels. Accordingly, the overlapping should be minimized by evenly generating the communication channels. Consequently in the present invention, communication channels are assigned to certain nodes based on current level values (d) of the certain nodes, join order values (k) of the certain nodes to a parent node, a channel value (Pslot) of the parent node, and the maximum value of usable channels (Smax).
For example, the channel values of nodes in the communication system can be calculated by using Equation 4 below.
[Math.4]
Channel=(Address×d+Pslot+k)%SMAX Equation 4
In
However, even if Equation 4 is used, there may be nodes using the same channel slot when a lot of nodes operate in a limited space. In this case, a method of preventing or avoiding collision of channel slots is required.
The method of
Referring to
In operation S502, the reference value may be determined to a value, which is obtained by multiplying the address value of the first node and the level value of the first node and adding the channel value of the second node and the join order information to the result of the multiplying.
The join order information may be determined based on a time when the first node is joined to the second node according to transmission of a join request message of the first node and the join request message may be transmitted when a predetermined time is passed after the first node discovers the second node.
The join order information may be changed to new join order information by the second node when the determined channel value of the first node is used by another node, and the channel value of the first node may be used when the first node transmits a beacon.
Number | Date | Country | Kind |
---|---|---|---|
10-2007-0042077 | Apr 2007 | KR | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/KR2007/005266 | 10/24/2007 | WO | 00 | 10/20/2009 |