The embodiment discussed herein is directed to an ad hoc network system and a route selection method.
There have been ad hoc network systems that include a plurality of nodes communicating with gateways (GWs) that are specific nodes serving as windows for external servers. In the ad hoc network system, the respective nodes form communication routes by relaying packets received from the adjacent nodes to other nodes.
A conventional technique is described that forms the communication routes of the packets. In the conventional technique, respective nodes calculate evaluation values of the multiple communication routes to a specific node such as a GW using evaluation parameters such as the number of hops of the packets and reception levels. The respective nodes then select the communication routes to the specific node on the basis of the respective calculated evaluation values. A conventional technology is described in Japanese Laid-open Patent Publication No. 2011-223394, for example.
The conventional technique, however, has a problem in that when the ad hoc network system is applied to a tree structure with a GW as the root, a traffic load may be concentrated on an aggregate section located on an upstream side in the tree structure.
According to an aspect of an embodiment, an ad hoc network system includes a plurality of nodes that communicate with a specific node. Each of the nodes includes a calculator that calculates a cumulative value of number of communication nodes connected through the node by adding numbers of communication nodes from an upstream side to the node, the upstream side being a side closer to the specific node than the node, and a selector that selects a node serving as a connection destination out of the nodes located on the upstream side on the basis of the cumulative value of the number of communication nodes calculated by the calculator.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.
Preferred embodiment of the present invention will be explained with reference to accompanying drawings. The embodiment does not limit the disclosed technique.
The following describes a structure of the ad hoc network system according to the embodiment.
The node 100 establishes a communication route by transmitting and receiving a hello packet. The node 100 calculates an accumulated value of the number of nodes connected through the node 100 by adding the numbers of nodes from the upstream side of the node 100 when establishing the communication route. The nodes connected through the node 100, in other words, mean the nodes located on the downstream side of the node 100. Hereinafter, the number of nodes located on the downstream side of the node 100 is described as the number of communication nodes, while a value obtained by accumulating the numbers of communication nodes of the node 100 is described as a cumulative value of the number of communication nodes.
The node 100 selects a node serving as a connection destination out of the nodes located on the upstream side of the node 100 on the basis of the calculated cumulative value of the number of communication nodes, and transfers data.
The following describes an example of processing in which the node 100 illustrated in
The node 100 calculates the cumulative value of the number of communication nodes from the upstream side to the node 100 on the basis of information included in the hello packet when transmitting the hello packet to and receiving the hello packet from the adjacent node. In the example illustrated in
The node 100, then, selects the node serving as the connection destination out of the nodes located on the upstream side of the node 100 on the basis of the calculated cumulative value of the number of communication nodes. For example, in the example illustrated in
A conventional technique that selects a communication route on the basis of the number of hops performs the following processing. The number of hops on the route from the node 100h to the GW1 through the node 100g is “3” while the number of hops on the route from the node 100h to the GW1 through the node 100f is “4”. The node 100h, thus, selects the node 100g on the basis of the smaller number of hops. A traffic load, however, is concentrated on the aggregate section located on the upstream side of the node 100g (e.g., the node 100b). As a result, the selection of the node 100g, which is made by the conventional technique, may cause an increase in traffic load on the upstream side of the tree structure with the GW1 as the root and the occurrence of a communication failure, for example.
In the embodiment, however, the node 100h selects the node serving as the connection destination on the basis of the cumulative value of the number of communication nodes instead of the number of hops. The node 100h selects the node 100f, which has a lower traffic load on the upstream side, as the connection destination and transfers the data to the node 100f.
In the ad hoc network system in the embodiment, as described above, each node calculates the cumulative value of the number of communication nodes from the upstream side to the node and selects a connection destination out of the nodes on the upstream side on the basis of the cumulative value of the number of communication nodes. As a result, the ad hoc network system in the embodiment can distribute the traffic load on the aggregate section located on the upstream side of the tree structure with the GW as the root.
The following describes a data structure of the hello packet transmitted and received by the node 100.
The following describes a structure of the node 100 illustrated in
The wireless communication unit 110 is a device that performs wireless data communication with the adjacent node. For example, the wireless communication unit 110 is a wireless link module. The controller 150 transmits and receives the hello packet between itself and the adjacent node through the wireless communication unit 110, for example.
The input unit 120 is an input device that is used for inputting various types of information to the node 100. For example, the input unit 120 is a keyboard, a mouse, or a touch panel. The display unit 130 is a display device that displays various types of information. For example, the display unit 130 is a display or a touch panel.
The storage unit 140 stores therein a routing table 141, for example. The storage unit 140 is a semiconductor memory element such as a random access memory (RAM), a read only memory (ROM), or a flash memory, or a storage device such as a hard disk drive or an optical disc drive.
The routing table 141 is a table that stores therein information about the communication routes.
In
The ΣB is an evaluation value that represents a level of the traffic load concentrated on another node in the aggregate section located on the upstream side of the node on the communication route and used when a plurality of communication routes are available to the same destination. For example, in
The priority order represents the order in priority of the communication routes when the multiple communication routes to the same destination are available. For example, in
The controller 150 includes a calculator 151 and a selector 152. For example, the controller 150 is an integrated device such as an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA). The controller 150 is an electronic circuit such as a central processing unit (CPU) or a micro processing unit (MPU), for another example.
The calculator 151 calculates the cumulative value of the number of communication nodes from the node serving as the destination to the node 100 through the adjacent node when transmitting and receiving the hello packet between itself and the adjacent node, and updates the routing table 141.
The following describes an example of the processing in which the calculator 151 calculates the cumulative value of the number of communication nodes.
When receiving the hello packet, the calculator 151 updates the routing table 141 on the basis of the information included in the hello packet and the calculated cumulative value of the number of communication nodes.
The following describes an example of processing in which the calculator 151 updates the routing table 141. The calculator 151 receives the hello packet and sets the destination included in the hello packet to the destination in the routing table 141. The calculator 151 sets the node serving as the transmission origin of the hello packet to the transfer destination in the routing table 141. The calculator 151 sets the value obtained by adding one to the value of the number of hops of the hello packet to the number of hops in the routing table 141. The calculator 151 sets the cumulative value of the number of communication nodes, which is calculated by the processing described above, to the ΣB in the routing table 141.
The selector 152 is a processor that sets the priority order for each destination on the basis of the routing table 141 and selects the route to which the packet is transferred.
The following describes the processing in which the selector 152 sets the priority order. The selector 152 refers to the routing table 141 and compares the values of the ΣB with one another for each same destination. The selector 152 allocates values in ascending order from the record having the smallest value of the ΣB as the priority orders. In the example illustrated in
When receiving the packet to be transferred, the selector 152 selects the transfer destination on the basis of the priority orders in the routing table 141, and transfers the packet to the node serving as the transfer destination. For example, in the example illustrated in
The selector 152 may select the transfer destination in the manner described above when the number of hops specified by the GW1 is equal to the number of hops from the GW1 to the node 100 and the node 100 belongs to a specific group specified by the GW1. This can avoid an excessive increase in traffic load on a node in the aggregate section located on the upstream side of the node serving as the transfer destination in the tree structure with the GW1 as the root because of the respective nodes 100 selecting the transfer destinations simultaneously.
When specifying the number of hops and the group, the GW1 notifies the respective nodes 100 of GW advertisement frames that each include information about the number of hops and the group to be specified. The selector 152 of each node 100 checks the information about the number of hops and the group that are specified by the GW1 on the basis of the GW advertisement frame.
The following describes the processing in which the GW1 notifies the respective nodes 100 of the GW advertisement frames.
The following describes an example of series processing in which the ad hoc network system including the nodes 100 according to the embodiment transmits and receives the hello packet, updates the routing table, and selects the transfer destination of the route.
As illustrated in
Likewise, the node N4 receives the hello packet from the node N3, calculates the cumulative value “60” of the number of communication nodes B from the node GW serving as the destination to the node N4 through the adjacent node N3, and sets the cumulative value to the ΣB in the routing table 141. Likewise, the node N4 receives the hello packet from the node N1, calculates the cumulative value “70” of the number of communication nodes B from the node GW serving as the destination to the node N4 through the adjacent node N1, and sets the cumulative value to the ΣB in the routing table 141.
The node N4 receives the GW advertisement frame notified by the node GW using the round robin method. The GW advertisement frame is one that is illustrated in
The node N4 transmits the hello packet. The node N5 receives the hello packet from the node N4, calculates the cumulative value “60” of the number of communication nodes B from the node GW serving as the destination to the node N5 through the adjacent node N4, and sets the cumulative value to the ΣB in the routing table 141.
Likewise, the node N5 receives the hello packet from the node N6, calculates the cumulative value “75” of the number of communication nodes B from the node GW serving as the destination to the node N5 through the adjacent node N6, and sets the cumulative value to the ΣB in the routing table 141.
The node N5 receives the GW advertisement frame notified by the node GW using the round robin method. The node N5 checks the information about the number of hops and the group that are specified by the node GW on the basis of the GW advertisement frame received from the node GW. When the number of hops specified by the node GW is equal to the number of hops from the node GW to the node N5 and the group number specified by the GW1 is equal to the group number preliminarily set to the N5, the node N5 selects the transfer destination. Specifically, the node N5 refers to the routing table 141 and compares the values of the ΣB associated with the node GW, which is the same destination, with one another. The node N5 allocates values in ascending order from the record having the smallest value of the ΣB as the priority orders, and selects the transfer destination on the basis of the allocated priority orders. In the example illustrated in
Then, time reaches the meter-reading time, and the upstream data transmission is executed. Once the upstream data transmission is completed, the respective nodes N1 to N6 count the number of entries in the corresponding downstream routing tables to newly detect the respective own numbers of communication nodes B. As a result, the node N2 newly detects the number of communication nodes B as “40”, as illustrated in
The node N2 transmits the hello packet. The node N4 receives the hello packet from the node N2, calculates the cumulative value “80” of the number of communication nodes B from the node GW serving as the destination to the node N4 through the adjacent node N2, and sets the cumulative value to the ΣB in the routing table 141.
The node N4 transmits the hello packet. The node N5 receives the hello packet from the node N4, calculates the cumulative value “90” of the number of communication nodes B from the node GW serving as the destination to the node N5 through the adjacent node N4, and sets the cumulative value to the ΣB in the routing table 141.
The node N4 receives the GW advertisement frame notified by the node GW using the round robin method. The node N4 checks the information about the number of hops and the group that are specified by the node GW on the basis of the GW advertisement frame received from the node GW. When the number of hops specified by the node GW is equal to the number of hops from the node GW to the node N4 and the group number specified by the GW1 is equal to the group number preliminarily set to the N4, the node N4 selects the transfer destination. Specifically, the node N4 refers to the routing table 141 and compares the values of the ΣB associated with the node GW, which is the same destination, with one another. As illustrated in
The node N4 transmits the hello packet. The node N5 receives the hello packet from the node N4, calculates the cumulative value “70” of the number of communication nodes B from the node GW serving as the destination to the node N5 through the adjacent node N4, and sets the cumulative value to the ΣB in the routing table 141.
The node N5 receives the GW advertisement frame notified by the node GW using the round robin method. The node N5 checks the information about the number of hops and the group that are specified by the node GW on the basis of the GW advertisement frame received from the node GW. When the number of hops specified by the node GW is equal to the number of hops from the node GW to the node N5 and the group number specified by the GW1 is equal to the group number preliminarily set to the N5, the node N5 selects the transfer destination. Specifically, the node N5 refers to the routing table 141 and compares the values of the ΣB associated with the node GW, which is the same destination, with one another. As a result of the comparison, there is no change in order of values of the ΣB. The node N5, thus, maintains the current priority orders and selects the transfer destination on the basis of the current priority orders. In the example illustrated in
The following describes advantageous effects of the ad hoc network system according to the embodiment. The node 100 included in the ad hoc network calculates a cumulative value of the number of communication nodes from the upstream side of the node 100 to the node 100, sets the priority orders of the communication routes, and selects the node serving as the connection destination from the nodes on the upstream side when transferring a packet. As a result, the node 100 can distribute the traffic load on the aggregate section located on the upstream side of the tree structure with the GW1 as the root. For example, it is assumed that the number of communication nodes of the node 100b located on the upstream side on the communication route having the node 100g serving as the transfer destination is larger than the number of communication nodes of the node 100a located on the upstream side on the communication route having the node 100f serving as the transfer destination. In this case, the node 100 selects the node 100f as the transfer destination and can transmit the packet to the node 100f, thereby making it possible to distribute the traffic load on the node 100b to the node 100a.
The node 100 selects the transfer destination when the number of hops specified by the GW1 is equal to the number of hops from the GW1 to the node 100 and the node 100 belongs to a specific group specified by the GW1. This can avoid an excessive increase in traffic load on the node in the aggregate section located on the upstream side of the node serving as the transfer destination in the tree structure with the GW1 as the root because of the respective nodes 100 selecting the transfer destinations simultaneously.
The ad hoc network system according to an aspect of the invention has an advantage of being capable of distributing a traffic load on the aggregate section located on the upstream side in the tree structure with the GW as the root.
All examples and conditional language recited herein are intended for pedagogical purposes of aiding the reader in understanding the invention and the concepts contributed by the inventor to further the art, and are not to be construed as limitations to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiment of the present invention has been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2012-047359 | Mar 2012 | JP | national |
This application is a continuation of International Application No. PCT/JP2013/055748, filed on Mar. 1, 2013 which claims the benefit of priority of the prior Japanese Patent Application No. 2012-047359, filed on Mar. 2, 2012, the entire contents of which are incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
7177295 | Sholander | Feb 2007 | B1 |
8699377 | Veillette | Apr 2014 | B2 |
20040090943 | da Costa | May 2004 | A1 |
20090135824 | Liu | May 2009 | A1 |
20100195560 | Nozaki et al. | Aug 2010 | A1 |
20100246473 | Brand | Sep 2010 | A1 |
20110063999 | Erdmann | Mar 2011 | A1 |
20110231573 | Vasseur | Sep 2011 | A1 |
20110249612 | Kubo et al. | Oct 2011 | A1 |
20120230222 | Shaffer | Sep 2012 | A1 |
20120320781 | Furukawa et al. | Dec 2012 | A1 |
20130227055 | Vasseur | Aug 2013 | A1 |
Number | Date | Country |
---|---|---|
2009-515473 | Apr 2009 | JP |
2010-178145 | Aug 2010 | JP |
2010-233209 | Oct 2010 | JP |
2011-223394 | Nov 2011 | JP |
WO 2011105371 | Sep 2011 | WO |
Entry |
---|
International Search Report mailed Apr. 16, 2013 in corresponding application PCT/JP2013/055748. |
Number | Date | Country | |
---|---|---|---|
20140369235 A1 | Dec 2014 | US |
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2013/055748 | Mar 2013 | US |
Child | 14474661 | US |