The embodiment discussed herein is related to a communication device searching method and other related aspects.
In recent years, ad hoc networks have been used in which one or more radio communication devices are relayed from a radio communication device being a transmission source to a radio communication device being a destination and multi-hop communication is used to transmit information. In such an ad hoc network, communication can be performed using a plurality of logical communication channels with the frequencies changed. However, only one channel can be used for communication at one time. More specifically, each of the radio communication devices performs communication using one channel among a plurality of channels.
When a radio communication device as described above performs communication with a partner device by which the channel used for communication is unknown among a plurality of channels, the channel used by the partner device needs to be identified.
In a proactive scheme, which is one of the routing protocols, the routes of all devices in a network are established in advance in each radio communication device. With this scheme, a radio communication device being a transmission source transmits an inquiry to an adjacent device using each channel about whether the partner device uses the channel, whereby the time taken to search the channel used by the partner device is shortened.
In contrast, in a reactive scheme, which is one of the routing protocols, the routes of devices in a network are not established in advance in each radio communication device. With this scheme, a radio communication device being a transmission source attempts to transmit a route request (RREQ) to a communicating partner device using each channel when performing communication. The radio communication device being a transmission source thus determines presence or absence of a reply to identify a channel used by the partner device.
Related-art examples are described in Japanese Laid-open Patent Publication No. 2008-66861.
However, an ad hoc network with a conventional reactive scheme, in which communication can be performed using a plurality of channels, has a problem in that the process of searching related to a partner device takes a long time.
A conventional reactive scheme will now be described with reference to
Described further with reference to
Furthermore, as illustrated in
According to an aspect of an embodiment, a communication device searching method searches for a communication device constituting an ad hoc network communicable using a plurality of channels. The method includes, by a first communication device corresponding to a searching source that searches for a communication device, transmitting a searching request addressed to a third communication device corresponding to a searching destination using a plurality of channels without waiting for a reply to the searching request. The method includes, by a second communication device corresponding to a communication device adjacent to the first communication device, upon receiving a reply to the searching request transmitted at the transmitting the searching request from the third communication device, holding the received reply. The method includes, by the first communication device, transmitting an inquiry to the second communication device using a plurality of channels about whether a reply to the searching request transmitted at the transmitting the searching request has been received from the third communication device.
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 embodiments of the present invention will be explained with reference to accompanying drawings. It is noted that the embodiment describes a case where a portable mobile terminal searches for a communication device in an ad hoc network with a reactive scheme, in which communication can be performed using a plurality of channels, but the embodiment is not intended to limit the present invention.
Configuration of an Ad Hoc Network System According to an Embodiment
Described will be an example of a configuration of an ad hoc network system 9 according to an embodiment.
When the ad hoc network system 9 transmits data from the mobile terminal 1 (transmission source node) to the communication device 2N (destination node), the ad hoc network system 9 transmits the data from the mobile terminal 1 to the destination communication device 2N by multi-hop communication. More specifically, the mobile terminal 1 transmits the data to the destination communication device 2N via the communication device 21 adjacent thereto.
Configuration of Mobile Terminal 1
The mobile terminal 1 transmits a searching request addressed to a destination communication device using a plurality of channels without waiting a reply to the searching request. Furthermore, after transmitting the searching request, the mobile terminal 1 transmits an inquiry to an adjacent device using a plurality of channels about whether a reply has been received from the destination communication device. It is noted that the mobile terminal 1 corresponds to a handy terminal, for example. However the mobile terminal 1 is not limited thereto, but may be a mobile phone, a personal digital assistant (PDA), or a portable personal computer.
The mobile terminal 1 includes a controller 10 and a storage 30. The controller 10 is an integrated circuit such as an application specific integrated circuit (ASIC) and a field programmable gate array (FPGA) or an electronic circuit such as a central processing unit (CPU) and a micro processing unit (MPU). The controller 10 further includes a packet receiving unit 11, a packet transmitting unit 12, a route request unit 13, and a reply inquiry unit 14.
The storage 30 is a semiconductor memory element such as a random access memory (RAM) and a flash memory or a storing device such as a hard disc and an optical disc.
The route request unit 13 changes channels and controls the packet transmitting unit 12 to transmit a route request addressed to the communication device 2N being the searching destination using each of the changed channels. The route request is transmitted using a route request packet described later. It is noted that the route request unit 13 only performs transmission using each channel and does not wait for a reply to the transmission.
The reply inquiry unit 14 changes channels and controls the packet transmitting unit 12 to transmit an inquiry request about whether a reply has been received from the searching destination to an adjacent communication device 21 using each of the changed channels. For example, after the route request unit 13 transmits a route request using each channel, the reply inquiry unit 14 performs polling to inquire about a reply using each channel.
The packet receiving unit 11 receives a reply to the inquiry request from the adjacent communication device 21. The response is received using a reply packet, which will be described later. The packet transmitting unit 12 transmits various packets to the channels.
Configuration of Communication Device 2
The communication device 2 corresponds to an information processing device such as a personal computer and a workstation, for example, but may be any device that can communicate with the mobile terminal 1.
The communication device 21 as a relay node includes a controller 20 and a storage 40. The controller 20 is an integrated circuit such as an ASIC and an FPGA or an electronic circuit such as a CPU and an MPU. The controller 20 further includes a packet receiving unit 21, a packet transmitting unit 22, a request determining unit 23A, a reply holding unit 24, and a reply presence determining unit 25.
The storage 40 is a semiconductor memory element such as a random access memory (RAM) and a flash memory or a storing device such as a hard disc and an optical disc. The storage 40 includes a reply storing unit 41. The reply storing unit 41 stores therein the reply packet.
The packet receiving unit 21 receives various packets using a channel used by the host communication device. The packet transmitting unit 22 transmits various packets using a channel used by the host communication device.
The request determining unit 23A makes a determination on various requests and allocates the processing. For example, in the case of a searching request from the mobile terminal 1, the request determining unit 23A determines whether the host communication device is a destination included in the searching request. If the request determining unit 23A determines that the host communication device is not a destination included in the searching request, the request determining unit 23A relays the searching request using a channel used by the host communication device. In this case, the request determining unit 23A relays the searching request because the host communication device is a relay node, not a destination node. Furthermore, in the case of a reply to a searching request, the request determining unit 23A allocates the processing to the reply holding unit 24. In the case of an inquiry request from the mobile terminal 1, the request determining unit 23A allocates the processing to the reply presence determining unit 25.
When the reply includes an instruction that the reply is held one hop before the transmission source and the host communication device is one hop before the transmission source, the reply holding unit 24 controls the reply storing unit 41 to store therein the reply so that the reply is held. It is noted that the determination of being one hop before is made in a manner that when an RREQ is received, it is recorded whether the RREQ is received directly from the node being the transmission source without using a relay node, for example.
The reply presence determining unit 25 determines whether the reply is held based on the reply storing unit 41. If the reply presence determining unit 25 determines that the reply is held in the reply storing unit 41, the reply presence determining unit 25 controls the packet transmitting unit 22 to transmit the held reply to the mobile terminal 1 being the transmission source. With this configuration, the mobile terminal 1 being the transmission source receives the reply from the communication device in which the reply was held, and thus identifies the channel used for the receiving as the channel of the communication device 2N being the searching destination.
In the communication device 2N as the destination node, the same units as those in the communication device 21 are denoted by the same reference signs and the descriptions thereof are omitted. The differences between the communication device 2N and the communication device 21 is that a request determining unit 23B is provided instead of the request determining unit 23A and a packet editing unit 26 is added in the communication device 2N. It is noted that the communication device 2N and the communication device 21 actually are communication devices including the same configuration, in which the configurations of the devices are merged.
The request determining unit 23B makes a determination on various requests and allocates the processing. For example, in the case of a searching request from the mobile terminal 1, the request determining unit 23B determines whether the host communication device is a destination included in the searching request. If the request determining unit 23B determines that the host communication device is the destination included in the searching request, the request determining unit 23B allocates the processing to the packet editing unit 26.
The packet editing unit 26 creates a reply packet including an instruction that the reply is held one hop before the transmission source, as the reply to the searching request. The packet editing unit 26 then controls to transmit the created reply packet, addressed to the mobile terminal 1 being the transmission source. With this configuration, the communication device 21, which is one hop before the mobile terminal 1, being the transmission source can receive the reply packet and hold the received reply packet if the communication device 21 uses the same channel as that used by the communication device 2N being the destination.
Example of Packet Format
Next, described with reference to
As illustrated in
To the transmission source address a2, the address of the transmission source node is set. More specifically, to the transmission source address a2, the address of the mobile terminal 1 is set.
To the route request destination address a3, the address of the destination node is set. More specifically, to the route request destination address a3, the address of the communication device 2N is set.
As illustrated in
To the transmission source address b2, the address of the destination node being the transmission source of the reply is set. More specifically, to the transmission source address b2, the address of the communication device 2N is set.
The polling flag b3 is a flag indicating whether the transmission source node acquires the reply by polling. More specifically, the polling flag b3 is a flag indicating an instruction that the reply is held by a node one hop before the transmission source node. In the case of the instruction that the reply is held by a node one hop before the transmission source node, ON is set, for example. If not the case of the instruction that the reply is held by a node one hop before the transmission source node, OFF is set, for example. More specifically, the packet editing unit 26 sets the address of the mobile terminal 1 to the destination address b1, sets the address of the host communication device to the transmission source address b2, and creates a reply packet so as to set ON to the polling flag b3, as the reply to the searching request.
Procedure of Processing Performed by Transmission Source Node
Next, described with reference to
Firstly, the route request unit 13 determines whether any route request has been generated (Step S10). If the route request unit 13 determines that no route request has been generated (No at S10), the route request unit 13 repeats the determination processing. In contrast, if the route request unit 13 determines that a route request has been generated (Yes at S10), the route request unit 13 controls to transmit the route request, that is, a route request packet using CH2 (Step S11). Subsequently, the route request unit 13 controls to transmit the route request using CH2 (Step S12). The route request unit 13 further controls to transmit the route request using CHN (Step S13).
Thereafter, the reply inquiry unit 14 sets 1 to an index i (Step S14). The reply inquiry unit 14 then performs polling, that is, transmits an inquiry request using CH2 (Step S15). The reply inquiry unit 14 then determines whether any reply to the polling is present (Step S16).
If the reply inquiry unit 14 determines that no reply to the polling is present (No at S16), the reply inquiry unit 14 determines whether a reply waiting time is expired (Step S17). If the reply inquiry unit 14 determines that the reply waiting time is not expired (No at S17), the reply inquiry unit 14 adds 1 to the value of the index i (Step S18). Thereafter, the reply inquiry unit 14 determines whether the value of the index i is larger than N (Step S19).
If the reply inquiry unit 14 determines that the value of the index i is larger than N (Yes at S19), the reply inquiry unit 14 moves to Step S14 to perform polling again sequentially from CH'. In contrast, if the reply inquiry unit 14 determines that the value of the index i is not larger than N (No at S19), the reply inquiry unit 14 moves to Step S15 to perform polling using CHi.
At Step S16, if the reply inquiry unit 14 determines that a reply to the polling is present (Yes at S16), the reply inquiry unit 14 controls to receive a reply packet to the polling (Step S20). The processing at the transmission source node is then terminated.
At Step S17, if the reply inquiry unit 14 determines that the reply waiting time is expired (Yes at S17), the reply inquiry unit 14 determines that an error has occurred (Step S21). For example, the reply inquiry unit 14 outputs the result that no reply to the route request was present on the display of the host mobile terminal 1. The processing at the transmission source node is then terminated.
Procedure of Processing Performed by Relay Node
Next, described with reference to
Firstly, the request determining unit 23A determines whether any predefined request is present (Step S31). If the request determining unit 23A determines that no predefined request is present (No at S31), the request determining unit 23A repeats the determination processing. In contrast, if the request determining unit 23A determines that a predefined request is present (Yes at S31), the request determining unit 23A controls to receive a packet related to the request (Step S32).
The request determining unit 23A then determines whether the received packet was sent by polling (Step S33). If the request determining unit 23A determines that the received packet was sent by polling (Yes at S33), the reply presence determining unit 25 determines whether any reply packet is held in the reply storing unit 41 (Step S34).
If the reply presence determining unit 25 determines that a reply packet is held in the reply storing unit 41 (Yes at S34), the reply presence determining unit 25 controls to transmit the held reply packet to the transmission source node (Step S35). The processing at the relay node is then terminated. In contrast, the reply presence determining unit 25 determines that no reply packet is held in the reply storing unit 41 (No at S34), the reply presence determining unit 25 moves to Step S31 to wait for the next request.
At Step S33, if the request determining unit 23A determines that the received packet was not sent by polling (No at S33), the request determining unit 23A determines whether the received packet is a packet to be held (Step S36). If the request determining unit 23A determines that the received packet is a reply packet, the polling flag is ON, and the host communication device is one hop before the transmission source node (Yes at S36), the reply holding unit 24 determines that the packet is a packet to be held and controls the reply storing unit 41 to hold therein the reply packet (Step S37). The processing at the relay node is then terminated.
In contrast, if the request determining unit 23A determines that the received packet is not a packet to be held (No at S36), the request determining unit 23A controls to relay the received packet (Step S38). The request determining unit 23A determined that the received packet was a route request packet. The processing at the relay node is then terminated.
Procedure of Processing Performed by Destination Node
Next, described with reference to
Firstly, the request determining unit 23B determines whether any predefined request is present (Step S41). If the request determining unit 23B determines that no predefined request is present (No at S41), the request determining unit 23B repeats the determination processing. In contrast, if the request determining unit 23B determines that a predefined request is present (Yes at S41), the request determining unit 23B controls to receive a packet related to the request (Step S42).
The request determining unit 23B then determines whether the received packet is a route request packet (Step S43). If the request determining unit 23B determines that the received packet is a route request packet (Yes at S43), the packet editing unit 26 sets the polling flag b3 to ON and controls to transmit a response packet (Step S44). More specifically, the packet editing unit 26 creates a reply packet including an instruction that the reply is held one hop before the transmission source, as the reply to the searching request packet. The packet editing unit 26 then controls to transmit the created reply packet. The processing at the destination node is then terminated.
In contrast, if the request determining unit 23B determines that the received packet is not a route request (No at S43), the request determining unit 23B controls to transmit a response packet with the polling flag b3 still set to OFF (Step S45). The processing at the destination node is then terminated.
Specific Example of Ad Hoc Network
Next, described with reference to
As illustrated in
using CH2, a node E, a node F, and a node G can be communicated by multi-hop communication. If the transmission source node uses CH2, multi-hop communication can be started from the adjacent node E.
Using CHN, a node X, a node Y, and a node Z can be communicated by multi-hop communication. If the transmission source node uses CHN, multi-hop communication can be started from the adjacent node X.
Data Flows of Route Request and Reply Inquiry
Described below with reference to
As illustrated in
The transmission source node changes channels to CH2 without waiting for a reply to the RREQ transmitted using CH2, and transmits the RREQ addressed to the node Z using CH2. The RREQ transmitted from the transmission source node is transmitted from the node E to the node F and the node G. However, no destination node is found because the node Z being the destination is not present in the network where communication can be performed using CH2.
The transmission source node sequentially changes channels without waiting for a reply to the transmitted RREQ, and transmits the RREQ addressed to the node Z using the changed channel. When the transmission source node uses CHN to transmit the same RREQ transmitted using other channels, the RREQ transmitted from the transmission source node is transmitted from the node X to the node Y and from the node Y to the node Z. The node Z being the destination is thus present in the network where communication can be performed using CHN, so that an RREP as a reply packet is transmitted from the node Z. With respect to the RREP, the polling flag b3 is set to ON.
The RREP transmitted from the node Z is transmitted from the node Y to the node X. The node X, which is one hop before the transmission source node, receives the RREP and controls the reply storing unit 41 to store therein the received RREP because the polling flag b3 is set to ON with respect to the received RREP.
Once the transmission source node has transmitted the RREQ addressed to the node Z using CHN, which is the last channel in this case, the transmission source node performs polling sequentially from CH2. As illustrated in
Subsequently, the transmission source node performs polling using CH2. However, the node B again does not hold the RREP, and thus does not respond to the request.
The transmission source node sequentially changes channels and performs polling using the changed channel. The transmission source node then performs polling using CHN. The node X holds the RREP and transmits the held RREP to the transmission source node. The transmission source node then receives a reply from the target node, that is, the destination node Z.
As described above, the transmission source node receives the RREP from the node X and thereby identify CHN used in the receiving as the channel used by the destination node Z.
Relation Between Time and Channel for Communication Device Searching Processing
Next, described with reference to
As illustrated in
Thereafter, after transmitting the RREQ using all the channels, the transmission source node performs polling using all the channels, sequentially from CH1. At this point, if the time taken to wait for the route request with respect to one hop is t2 (ms) and the maximum number of hops is HMAX, the waiting time with respect to the maximum number of hops is t2×HMAX (ms).
Accordingly, the maximum time taken by the transmission source node to search for the destination node (maximum searching time) T1 is expressed by the total time taken to transmit the route request added with the reply waiting time with respect to the maximum number of hops, that is, Equation (1).
T
1
=t
1
×N+t
2
×H
MAX (ms) (1)
In the example illustrated in
With a conventional reactive scheme, the transmission source node transmits the RREQ using one channel, and after confirming that no reply is received, transmits the RREQ using the next channel to search the destination node. More specifically, the maximum searching time T2 with the conventional reactive scheme is expressed by Equation (2) described below.
T
2=(t1+t2×HMAX)×N (ms) (2)
If it is assumed that the destination node of the transmission source node is the node Z, searching can be performed by waiting only for T2, with the conventional reactive scheme.
To apply specific numbers, it is assumed that the time t1 taken to transmit the route request using one channel is 10 ms, the time t2 taken to wait for a reply to the route request with respect to one hop is 100 ms, the maximum number of hops HMAX is 20, and the maximum number of the channels N is 10, for example. According to calculation using these numbers, T2 is 2,100 ms and T2 is 20,100 ms. The searching time according to the embodiment thus can be shortened to about one-tenth of that with the conventional reactive scheme.
In contrast, in the example of
In the embodiment described above, the mobile terminal 1 transmits a searching request addressed to the communication device 2N being the searching destination using a plurality of channels without waiting for a reply to the searching request. If the communication device 21 adjacent to the mobile terminal 1 has received a reply to the searching request from the searching destination, the communication device 21 holds the received reply. After the mobile terminal 1 transmits the searching request using a plurality of channels, the mobile terminal 1 transmits an inquiry to the communication device 21 using a plurality of channels about whether a reply has been received from the searching destination. With this configuration, the time taken by the mobile terminal 1 to search the communication device being the searching destination can be shortened when the channel used by the communication device being the searching destination is unknown.
Furthermore, in the embodiment described above, if the communication device 2N being the searching destination has received the searching request, the communication device 2N transmits a reply to the received searching request in a manner including an instruction that the reply is held one hop before the mobile terminal 1 being the searching source. With this configuration, even while the mobile terminal 1 is performing transmission processing of the searching request, the communication device 2N being the searching destination can control the reply to the searching request to be held one hop before the searching source. As a result, the mobile terminal 1 being the searching source can obtain a reply when transmitting an inquiry using the channel used by the communication device 21 holding the reply. The mobile terminal 1 thus can quickly learn the channel used by the communication device 2N being the searching destination, which was unknown.
Computer Program and Other Related Aspects
The embodiment has been described in which the mobile terminal 1 is a transmission source node and the communication device 2 is a relay node and a destination node. However, the mobile terminal 1 may include all the components in the communication device 2. Similarly, the communication device 2 may include all the components in the mobile terminal 1. In this case, in the mobile terminal 1, the request determining unit 23A, the request determining unit 23B, the reply holding unit 24, the reply presence determining unit 25, and the packet editing unit 26 may be added to the controller 10. The mobile terminal 1 may further add the reply storing unit 41 to the storage 30. The communication device 2 may add the route request unit 13 and the reply inquiry unit 14 to the controller 20. Each of the mobile terminal 1 and the communication device 2 thus can be a transmission source node, a relay node, and a destination node, whereby generalization of functions is enabled.
Furthermore, various components in each device illustrated do not necessarily need to be physically structured as illustrated. More specifically, the specific modes of separating or integrating the devices are not limited to those illustrated, and all or part of the devices may be configured in a manner functionally or physically separated or integrated in an optional unit in accordance with the loads, use conditions, and other factors. For example, the route request unit 13 and the reply inquiry unit 14 may be integrated as one unit. On the other hand, the reply presence determining unit 25 may be separated into a determining unit that determines presence or absence of a reply and a holding unit that holds a reply when the reply has been determined to be present. Furthermore, the storages 30 and 40 may be connected via a network to the mobile terminal 1 and the communication device 2 respectively as external devices of the mobile terminal 1 and the communication device 2 respectively.
Furthermore, various processing described above in the embodiment may be performed with a prepared program executed by a computer such as a personal computer or a workstation. Described below with reference to
The HDD 1030 stores therein a communication device searching program 1031 having the same function as that of the controller 10 illustrated in
The CPU 1040 reads the communication device searching program 1031 from the HDD 1030 and loads the read communication device searching program 1031 on the RAM 1010, whereby the communication device searching program 1031 is caused to function as a communication device searching process 1011. The communication device searching process 1011 then loads information and other data read from the information related to communication device searching 1032 to an area allocated to the communication device searching process 1011 on the RAM 1010 and performs various data processing based on the loaded information and other data.
It is noted that the communication device searching program 1031 described above may not be stored in the HDD 1030 necessarily. This program may be stored in a “portable physical medium” such as a CD-ROM to be read and executed by the computer 1000.
Furthermore, this program may be stored in a different computer (or a server) connected to the computer 1000 via a public network, the Internet, a local area network (LAN), a wide area network (WAN), or the like. In such a case, the computer 1000 reads the program from the computer (or the server) and executes the read program.
According to an aspect of a communication device searching method disclosed herein, in an ad hoc network with a reactive scheme, in which communication can be performed using a plurality of channels, the time taken to perform searching related to a partner device can be shortened.
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-047357 | Mar 2012 | JP | national |
This application is a continuation of International Application No. PCT/JP2013/055746, filed on Mar. 1, 2013 which claims the benefit of priority of the prior Japanese Patent Application No. 2012-047357, filed on Mar. 2, 2012, the entire contents of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2013/055746 | Mar 2013 | US |
Child | 14474678 | US |