WO2009131160A1 - 経路情報中継方法および無線端末 - Google Patents

経路情報中継方法および無線端末 Download PDF

Info

Publication number
WO2009131160A1
WO2009131160A1 PCT/JP2009/058024 JP2009058024W WO2009131160A1 WO 2009131160 A1 WO2009131160 A1 WO 2009131160A1 JP 2009058024 W JP2009058024 W JP 2009058024W WO 2009131160 A1 WO2009131160 A1 WO 2009131160A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
route information
information
route
packet
Prior art date
Application number
PCT/JP2009/058024
Other languages
English (en)
French (fr)
Inventor
健太郎 池本
知善 竹林
園田 俊浩
井谷 茂寛
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to EP09735806.3A priority Critical patent/EP2273822B1/en
Priority to CN200980114244.XA priority patent/CN102017716B/zh
Publication of WO2009131160A1 publication Critical patent/WO2009131160A1/ja
Priority to US12/926,031 priority patent/US9210647B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • H04W40/30Connectivity information management, e.g. connectivity discovery or connectivity update for proactive routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/26Route discovery packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/44Distributed routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/12Communication route or path selection, e.g. power-based or shortest path routing based on transmission quality or channel quality

Definitions

  • the present invention relates to a route information relay method and a wireless terminal.
  • each wireless terminal connected to the ad hoc network performs path control before communicating with other wireless terminals.
  • a wireless terminal newly connected to the ad hoc network broadcasts presence information indicating that the terminal is present on the network to neighboring terminals. Then, the adjacent terminal generates route information based on the presence information and broadcasts the generated route information to the next adjacent terminal.
  • each wireless terminal measures the quality of the route between the terminal itself and the adjacent terminal, and relays only the adjacent terminal connected through the high-quality route when relaying the route information (for example, Patent Document 1). Further, for example, each wireless terminal broadcasts route information specifying a quality criterion to neighboring terminals, and the neighboring terminal does not relay the route information when the quality of the route does not satisfy the quality criterion (for example, Patent Document 2).
  • the above-described conventional technology has a problem in that the amount of communication for route control increases as the number of wireless terminals connected to the ad hoc network increases, which places a load on the network. That is, as described above, each wireless terminal connected to the ad hoc network broadcasts route information to adjacent terminals and receives response information. For this reason, as the number of wireless terminals connected to the ad hoc network increases, the number of route information and response information to be transmitted increases exponentially, and the amount of communication for route control increases.
  • the present invention has been made to solve the above-described problems of the prior art, and provides a route information relay method and a wireless terminal capable of reducing the amount of communication for route control. Objective.
  • each wireless terminal receives route information from a wireless terminal connected to itself.
  • each wireless terminal acquires quality information indicating the quality of the route indicated by the route information for the received route information.
  • Each of the wireless terminals determines, for each predetermined period, whether or not a plurality of pieces of route information having the same wireless terminal as the packet destination is received for the received route information. Subsequently, when each of the wireless terminals receives a plurality of route information having the same destination wireless terminal as a result of the determination, the wireless terminals compare the quality information for each of the plurality of received route information, As a result, route information corresponding to the quality information indicating the highest quality is selected. Thereafter, each wireless terminal relays the selected route information to wireless terminals other than the wireless terminal that transmitted the received route information, among the wireless terminals mutually connected to the own terminal.
  • FIG. 1 is a diagram for explaining the basic principle of the route information relay method according to the first embodiment.
  • FIG. 2 is a diagram illustrating an overall configuration of the ad hoc network according to the first embodiment.
  • FIG. 3 is a block diagram illustrating the configuration of the node in the first embodiment.
  • FIG. 4 is a diagram for explaining the routing table in the first embodiment.
  • FIG. 5 is a diagram for explaining the link table in the first embodiment.
  • FIG. 6 is a diagram for explaining the concept of link weight.
  • FIG. 7 is a diagram for explaining the periodic table according to the first embodiment.
  • FIG. 8 is a diagram for explaining the processing procedure (overall) of the node in the first embodiment.
  • FIG. 9 is a diagram for explaining an example of updating a table in the first embodiment.
  • FIG. 10 is a diagram for explaining an example of updating a table in the first embodiment.
  • FIG. 11 is a diagram for explaining an example of updating a table in the first embodiment.
  • FIG. 12 is a diagram for explaining an example of updating a table in the first embodiment.
  • FIG. 13 is a diagram for explaining an example of updating a table in the first embodiment.
  • FIG. 14 is a diagram for explaining an example of updating a table in the first embodiment.
  • FIG. 15 is a diagram for explaining an example of updating a table in the first embodiment.
  • FIG. 16 is a flowchart illustrating the link table update process according to the first embodiment.
  • FIG. 17A is a flowchart of the routing table update process according to the first embodiment.
  • FIG. 17-2 is a flowchart illustrating the routing table update process according to the first embodiment.
  • FIG. 18 is a flowchart illustrating an evaluation value calculation process according to the first embodiment.
  • FIG. 19 is a flowchart illustrating a transmission process according to the first embodiment.
  • FIG. 20 is a diagram for explaining the effect of the first embodiment.
  • FIG. 21 is a diagram for explaining a routing table in the second embodiment.
  • FIG. 22 is a flowchart illustrating a transmission process according to the second embodiment.
  • FIG. 23 is a block diagram illustrating a configuration of a node according to the third embodiment.
  • FIG. 24 is a diagram for explaining the data management table in the third embodiment.
  • FIG. 25 is a diagram for explaining a routing table in the third embodiment.
  • FIG. 26 is a diagram for explaining the processing procedure (entire) of the node in the third embodiment.
  • FIG. 27 is a flowchart illustrating data management table update processing according to the third embodiment.
  • FIG. 1 is a diagram for explaining the basic principle of the route information relay method according to the first embodiment.
  • FIG. 1 for convenience of explanation, only a part of the ad hoc network in the first embodiment is shown.
  • each of the nodes shown in FIG. 1 transmits / receives a packet to / from nodes other than adjacent nodes interconnected with the own node by a multi-hop method.
  • Each node exchanges route information according to a route search protocol.
  • each node uses a control packet called a HELLO packet.
  • the node “x” is a gateway node
  • the node “v” is a node connected to an external network.
  • the node “a” is newly connected to the ad hoc network, and presence information indicating that the node “a” exists on the network is used as the adjacent node “d” and the adjacent node. It is assumed that “e” is transmitted to each.
  • the presence information transmitted from the node “a” is received by the adjacent node “d”. Subsequently, the adjacent node “d” generates route information based on the received presence information, and relays the generated route information to the adjacent node “x”. Then, as shown in FIG. 1B, the node “x” receives the route information.
  • the route information indicates the correspondence between the node that is the destination of the packet and the node that relays the packet.
  • the route information includes contents such as “node“ x ” ⁇ node“ d ” ⁇ node“ a ”” (correspondence relationship between the node “a” that is the destination of the packet and the node “d” that relays the packet). Information.
  • each node in the first embodiment acquires quality information indicating the quality of the route for the received route information. For example, as illustrated in FIG. 1B, the node “x” acquires quality information “high” indicating the quality of the route “node“ x ” ⁇ node“ d ” ⁇ node“ a ””.
  • the received route information is transmitted to the adjacent node each time. That is, in the case of the node “x” in the prior art, the received route information “node“ x ” ⁇ node“ d ” ⁇ node“ a ”” is transmitted to the node “v” each time. However, each node in the first embodiment does not transmit the received route information to the adjacent node each time.
  • Each node in the first embodiment determines, for each predetermined cycle, whether or not a plurality of pieces of route information having the same destination node of the packet are received for the received route information.
  • the presence information transmitted from the node “a” is received by the adjacent node “e” while being received by the adjacent node “d”. Further, the node “e” generates route information based on the presence information, and relays the generated route information to the next adjacent node “f”. Then, the node “f” further relays the route information to the next adjacent node “x”. Then, as shown in FIG. 1C, the node “x” receives the route information.
  • the node “X” has “node“ x ” ⁇ node“ f ” ⁇ node“ e ” ⁇ node“ a ”” (node “a” that is the destination of the packet and node “f” that relays the packet) Route information having a content such as Further, for example, the node “x” acquires the quality information “low” indicating the quality of the route “node“ x ” ⁇ node“ f ” ⁇ node“ e ” ⁇ node“ a ””. For this reason, the node “x” is determined to be a case where a plurality of pieces of route information having the same destination node are received as a result of the determination for each predetermined period.
  • Each node in the first embodiment compares the quality information for each of the plurality of received route information, and selects the route information corresponding to the quality information indicating the highest quality as a result of the comparison.
  • the node “x” has route information “node“ x ” ⁇ node“ d ” ⁇ node“ a ”” and route information “node“ x ” ⁇ node“ f ” ⁇ node“ e ” ⁇ node“ a ””. Compare each quality information for each. As a result of the comparison, the node “x” selects the route information “node“ x ” ⁇ node“ d ” ⁇ node“ a ”” corresponding to the quality information “high” (dotted line in FIG. 1C). See).
  • Each node in the first embodiment relays the selected route information to nodes other than the node that is the source of the route information, among the nodes mutually connected to the own node. For example, as shown in FIG. 1C, the node “x” relays the selected route information “node“ x ” ⁇ node“ d ” ⁇ node“ a ”” to the node “v”. .
  • each node in the first embodiment can reduce the amount of communication for route control.
  • each node in the conventional technology receives the route information, and transmits the received route information to the adjacent node each time.
  • each node must transmit route information many times, and a control header portion is added for each HELLO packet, which requires a transmission waiting time for each HELLO packet. I was sorry.
  • the number of route information to be transmitted increases, the frequency of occurrence of collision also increases, and as a result, the number of times of retransmitting route information also increases. For this reason, if the conventional technique is applied to a large-scale ad hoc network, flooding due to packet excess occurs, and it is difficult to create a routing table for route search.
  • each node in the first embodiment receives the route information, it does not transmit the received route information to the adjacent node each time.
  • Each node determines, for each predetermined period, whether or not a plurality of route information having the same node as the packet destination is received, and compares the quality information with each other to correspond to the highest quality quality information. Select.
  • Each node relays only the selected route information to the adjacent node.
  • each node can reduce the number of times route information is transmitted, and at the same time, overhead is also reduced.
  • the frequency of occurrence of collision is also reduced, and consequently the number of times the route information is retransmitted is also reduced. For this reason, even if the technique of the first embodiment is applied to a large-scale ad hoc network, flooding due to packet excess does not occur, and it is not difficult to create a routing table for route search.
  • FIG. 2 is a diagram illustrating an overall configuration of the ad hoc network according to the first embodiment.
  • the node “x” is a gateway node
  • the nodes “v” and “z” are nodes connected to an external network.
  • the node “a” is newly connected to the ad hoc network, and presence information indicating that the node “a” exists on the network is sent to each of the adjacent node “d” and the adjacent node “e”. Assuming that it was transmitted, only the part related to the assumption is extracted and described.
  • FIG. 3 is a block diagram illustrating a configuration of a node in the first embodiment.
  • the node 10 according to the first embodiment particularly includes a communication unit 11, a storage unit 20, and a control unit 30.
  • the communication unit 11 is a wireless module and an antenna that can perform wireless communication.
  • the storage unit 20 stores data used for various processes performed by the control unit 30, and particularly includes a routing table unit 21, a link table unit 22, a periodic table unit 23, and a work table unit 24.
  • the routing table unit 21 stores route information.
  • the route information is information indicating a route when a packet is transmitted to a destination wireless terminal.
  • the route information indicates the correspondence between the node that is the destination of the packet and the node that relays the packet.
  • the routing table unit 21 stores a correspondence relationship between the route information and quality information indicating the quality of the route indicated by the route information.
  • the routing table unit 21 stores the route information by being updated by the routing table updating unit 33 described later when a HELLO packet is received by the route information receiving unit 31 described later.
  • the route information stored in the routing table unit 21 is used for processing by the route information transmitting unit 34 described later and processing by the packet transmitting / receiving unit 35 described later.
  • the routing table unit 21 stores route information as shown in FIG.
  • FIG. 4 is a diagram for explaining the routing table in the first embodiment.
  • FIG. 4 illustrates the routing table unit 21 of the node “x”.
  • the routing table unit 21 illustrated in FIG. 4 includes a destination node (“destination”) indicating a node serving as a packet destination, and an adjacent node (“ "Adjacent”) is stored in association. Further, the routing table unit 21 illustrated in FIG. 4 stores an evaluation value (“evaluation value”) indicating the quality of a route for transmitting and receiving packets with the destination node in association with each other.
  • the evaluation value is a route weight indicating the quality of the route between the destination node and the adjacent node (“route weight”) or the quality of the link between the adjacent node and the own node. This is a value calculated from a link weight indicating “link weight”. The calculation of the evaluation value will be described in detail when explaining the procedure of the routing table update process.
  • the routing table unit 21 stores route information of the destination node “d”, the adjacent node “d”, and the evaluation value “50”. That is, when the packet is transmitted to the node “d” as the destination, the routing table unit 21 has a route for transmitting the packet to the adjacent node “d”, and the quality of the route is the evaluation value “50”.
  • the routing table unit 21 stores route information of the destination node “e”, the adjacent node “f”, and the evaluation value “55”. That is, when the packet is transmitted to the node “e” as the destination, the routing table unit 21 has a route for transmitting the packet to the adjacent node “f”, and the quality of the route is the evaluation value “55”.
  • routing table unit 21 illustrated in FIG. 4 also stores a rank of route information (“rank”) and a transmission flag (“transmission flag”) indicating whether or not the route information has been transmitted.
  • rank a rank of route information
  • transmission flag a transmission flag indicating whether or not the route information has been transmitted. The order of the route information and the transmission flag will be described in detail when the transmission process is described.
  • the link table unit 22 stores link information.
  • the link information indicates a value obtained by evaluating the quality of the link between the own node and the adjacent node.
  • the link table unit 22 stores link information by being updated by a link table update unit 32 described later when a HELLO packet is received by a route information reception unit 31 described later.
  • the link information stored in the link table unit 22 is used for processing by the routing table update unit 33 described later.
  • the link table unit 22 stores link information as shown in FIG.
  • FIG. 5 is a diagram for explaining the link table in the first embodiment.
  • FIG. 5 illustrates the link table unit 22 of the node “x”.
  • the link table unit 22 illustrated in FIG. 5 includes an adjacent node (“adjacent”), a forward evaluation value that evaluates the quality of the forward path (“outward evaluation value”), and a return path evaluation value that evaluates the quality of the return path (“return path”).
  • Evaluation value ”) and link weight (“ link weight ”) are stored in association with each other.
  • the forward path evaluation value is a value obtained by evaluating the quality of the forward path for the adjacent node
  • the backward path evaluation value is a value obtained by evaluating the quality of the backward path for the adjacent node.
  • the link table unit 22 stores link information of the adjacent node “d”, the forward path evaluation value “30”, the return path evaluation value “20”, and the link weight “50”. That is, the link table unit 22 indicates that the link between the adjacent node “d” has a forward path quality value “30” for the adjacent node “d” and a return path quality for the adjacent node “d”. Is stored in the return path evaluation value “20”. Further, the link table unit 22 stores that the link with the adjacent node “d” has the link weight “50”.
  • FIG. 6 is a diagram for explaining the concept of link weight.
  • the node “d” evaluates the HELLO packet received from the node “a”, evaluates the quality of the forward path for the node “a”, and calculates the forward path evaluation value “wa”.
  • the node “d” cannot evaluate the quality of the return path for the node “a”. Therefore, as shown in FIG. 6, only the forward path evaluation value “wa” is stored in the link table of the node “d”, and the return path evaluation value is “null”.
  • the forward path for the node “d” is the return path for the node “a”
  • the forward path for the node “a” is the return path for the node “d”.
  • the forward path evaluation value “wd” calculated at the node “a” is a value to be stored as the return path evaluation value in the link table of the node “d”
  • the node “d” notifies the node “d” of the forward evaluation value “wd”, and the node “d” transmits the forward evaluation value “wa” to the node “a”. Notice.
  • the link weight indicating the link quality is a value obtained by adding the forward path evaluation value and the backward path evaluation value. Therefore, as shown in FIG. 6, the link weight “W” of the node “a” is “wd + wa”, and the link weight “W” of the node “d” is “wa + wd”.
  • FIG. 6 it has been described that the exchange of the forward evaluation value and the return evaluation value between the node “a” and the node “d” is performed simultaneously.
  • the node 10 in the first embodiment transmits / receives a HELLO packet to / from an adjacent node
  • the node 10 evaluates the quality of the link with the adjacent node and uses the link table as the latest information.
  • the exchange of the forward path evaluation value and the return path evaluation value is not limited to the case where they are performed simultaneously. Only the forward evaluation value is stored in the link table unit 22 as the latest information, and the link weight is updated based on the latest outgoing evaluation value. However, the return evaluation value may not be the latest information.
  • the cycle table unit 23 stores cycle information.
  • the period information indicates the period of a packet received from an adjacent node.
  • the cycle table unit 23 stores the cycle information by being updated by a link table update unit 32 (to be described later) when a HELLO packet is received by a route information receiving unit 31 (to be described later).
  • the period information stored in the period table unit 23 is used for processing by the link table update unit 32.
  • the cycle table unit 23 stores cycle information as shown in FIG.
  • FIG. 7 is a diagram for explaining the periodic table according to the first embodiment.
  • FIG. 7 illustrates the cycle table unit 23 of the node “x”.
  • the cycle table unit 23 illustrated in FIG. 7 includes, for each adjacent node that is a transmission source of the received packet, an ID (“ID”) that identifies the packet, a cycle (“cycle”) that received the packet, The received time (“reception time”) is stored in association with each other.
  • the period table unit 23 provides period information of ID “4”, period “0:02”, and reception time “0:05” for the packet received from the adjacent node “d”.
  • the period table unit 23 indicates that the packet with ID “4” is the packet received at time “0:05”, and the difference from the reception time of the packet with ID “3” (“0:05” ⁇ “0”). : 03]), the fact that the cycle is “0:02” is stored.
  • the work table unit 24 has the same structure as the routing table unit 21 and temporarily stores indeterminate route information before being stored in the routing table unit 21.
  • the work table unit 24 will be described in detail when the link table update process is described.
  • the control unit 30 controls the node 10 to execute various processes, and in particular, the route information receiving unit 31, the link table updating unit 32, the routing table updating unit 33, the route information transmitting unit 34, and the packet transmitting / receiving unit. 35.
  • the control unit 30 is executed on a memory included in the node 10.
  • the route information receiving unit 31 receives route information from adjacent nodes. Specifically, the route information receiving unit 31 receives a HELLO packet from an adjacent node. Further, the path information receiving unit 31 transmits the received HELLO packet to the link table updating unit 32 and the routing table updating unit 33.
  • the link table update unit 32 updates the link information stored in the link table unit 22. Specifically, when the HELLO packet is transmitted from the path information receiving unit 31, the link table updating unit 32 updates the link information stored in the link table unit 22 based on the transmitted HELLO packet. Moreover, the link table update part 32 updates the period information which the period table part 23 memorize
  • the routing table update unit 33 updates the route information stored in the routing table unit 21. Specifically, when the routing table update unit 33 receives the HELLO packet from the route information receiving unit 31, the routing table update unit 33 updates the route information stored in the routing table unit 21 based on the transmitted HELLO packet. Note that the processing by the routing table update unit 33 will be described in detail when the routing table update processing is described.
  • the route information transmission unit 34 transmits the route information to nodes other than the node that has transmitted the route information among the adjacent nodes. Specifically, the route information transmission unit 34 generates a HELLO packet from the route information stored in the routing table unit 21 updated by the routing table update unit 33, and transmits the generated HELLO packet to an adjacent node. The processing by the route information transmission unit 34 will be described in detail when the route information transmission processing is described.
  • the packet transmitting / receiving unit 35 receives a packet from an adjacent node. Specifically, when receiving a packet from an adjacent node, the packet transmitting / receiving unit 35 determines the destination of the received packet. The packet transmitting / receiving unit 35 transmits a packet to the adjacent node. Specifically, the packet transmitting / receiving unit 35 transmits the transmitted packet based on the route information stored in the routing table unit 21.
  • FIG. 8 is a diagram for explaining the processing procedure (overall) of the node in the first embodiment.
  • the route information receiving unit 31, the link table updating unit 32, the routing table updating unit 33, the route information transmitting unit 34, and the clock are provided. It is extracted and shown.
  • the node 10 in the first embodiment receives a HELLO packet in the route information receiving unit 31.
  • the link table updating unit 32 subsequently updates the link table, and the routing table updating unit 33 updates the routing table. That is, with the reception of the HELLO packet, the link table and the routing table are continuously updated.
  • the node 10 receives a HELLO packet from an adjacent node, and the reception timing is not controlled by the node 10. Therefore, as illustrated in FIG. 8, when the node 10 in the first embodiment receives the HELLO packet again in the route information receiving unit 31, the link table updating unit 32 updates the link table, and the routing table updating unit 33 performs routing. Update the table.
  • the node 10 includes a clock that measures a predetermined cycle, and the path information transmission unit 34 performs routing table unit 21 for each predetermined cycle measured by the clock (for each clock event).
  • a HELLO packet is generated from the path information stored in, and the HELLO packet is transmitted.
  • FIG. 9 and 10 are diagrams for explaining an example of updating a table in the first embodiment.
  • a part of the overall configuration of the ad hoc network shown in FIG. 2 is composed of node “a”, node “d”, node “e”, node “f”, and node “x”. Only route information and link information transmitted / received with respect to the network are illustrated. That is, in practice, each node should hold and transmit / receive path information and link information related to all nodes included in the overall configuration of the ad hoc network shown in FIG. Only the route information and link information of the part are illustrated.
  • the node “x” is a gateway node. Also, the quality of the link between the node “d” and the node “x”, the link between the node “e” and the node “f”, and the link between the node “f” and the node “x” is It is assumed that the values illustrated in FIG. Further, the link table and the routing table illustrated in FIG. 9 indicate values when it is assumed that the link quality has the values illustrated in FIG. In FIG. 9, “adjacent” indicates an adjacent node, “outward” indicates a forward evaluation value, “return” indicates a return evaluation value, and “re-duplication” indicates a link weight. In FIG. 9, “destination” indicates a destination node, “adjacent” indicates an adjacent node, “medium” indicates a route weight, “re-duplication” indicates a link weight, and “evaluation” indicates an evaluation value. Indicates.
  • the node “d” stores the node “x” as an adjacent node in the link table. Further, the node “d” stores “20” as the forward path evaluation value and “30” as the backward path evaluation value in the link table. At this time, the forward path evaluation value is a value obtained by evaluating the quality of the forward path for the node “x”, and the return path evaluation value is a value obtained by evaluating the quality of the backward path for the node “x”.
  • the link weight is a value obtained by adding the forward path evaluation value and the return path evaluation value. Therefore, as shown in FIG. 9, the node “d” stores “50” as the link weight in the link table.
  • the node “d” stores the node “x” as the destination node and the node “x” as the adjacent node in the routing table. That is, when the node “d” transmits a packet with the node “x” as the destination, the node “d” stores route information indicating that there is a route for transmitting the packet to the adjacent node “x”. At this time, the destination node “x” is an adjacent node to the node “d”. Therefore, the node “d” does not store the route weight in the routing table, but stores the link weight “50” acquired from the link table. Further, the node “d” stores the evaluation value “50” on the assumption that the link weight itself is the evaluation value of the route between the node “d” and the node “x”.
  • the node “e” stores the node “f” as an adjacent node in the link table. Further, the node “e” stores “10” as the forward evaluation value and “10” as the return evaluation value in the link table. Further, the node “e” stores “20” as the link weight in the link table.
  • the node “e” stores the node “f” as the destination node and the node “f” as the adjacent node in the routing table. Further, the node “e” stores the node “x” as the destination node and the node “f” as the adjacent node. That is, when the node “e” transmits a packet with the node “f” as the destination, the node “e” stores the route information indicating that there is a route for transmitting the packet to the adjacent node “f”. In addition, when the node “e” transmits a packet with the node “x” as the destination, the node “e” stores route information indicating that there is a route for transmitting the packet to the adjacent node “f”.
  • the route weight is a value indicating the quality of the route between the destination node and the adjacent node. That is, as shown in FIG. 9, this corresponds to a value indicating the quality of the path between the destination node “x” and the adjacent node “f”. For this reason, the route weight is “35”.
  • the evaluation value is a value indicating the quality of a route for transmitting / receiving a packet to / from the destination node. That is, as shown in FIG. 9, the quality of the link between the adjacent node “f” and the own node “e” is added to the value indicating the quality of the route between the destination node “x” and the adjacent node “f”. Is a value obtained by adding the values indicating. For this reason, the evaluation value is “55”.
  • the link table and the routing table are stored for the node “f” and the node “x”.
  • the node “a” is newly connected to the ad hoc network illustrated in FIG. 9 as illustrated in FIG. Further, it is assumed that the quality of the link between the node “a” and the node “d” and the quality of the link between the node “a” and the node “e” are values illustrated in FIG.
  • the node “d”, the node “e”, the node “f”, and the node “x” in the first embodiment each transmit / receive path information and link Update table and routing table. In the following, assuming the values illustrated in FIG. 9 and FIG.
  • FIGS. 11 to 15 are diagrams for explaining examples of updating the table in the first embodiment.
  • the node “a” is newly connected to the ad hoc network in the first embodiment.
  • the node “a” transmits presence information indicating that the own node exists on the network to each of the adjacent node “d” and the adjacent node “e”.
  • the node “a” broadcasts an empty HELLO packet to each of the nodes “d” and “e”.
  • the node “d” receives the HELLO packet, it first performs a link table update process. Specifically, the node “d” specifies the transmission source node of the HELLO packet. The transmission source node is the node “a”. Subsequently, the node “d” newly creates a cycle table of the transmission source node “a” and calculates the standard deviation of the cycle, thereby calculating the forward path evaluation value “20”. Then, as shown in FIG.
  • the node “d” newly creates a record of the node “a” in the link table, and stores the forward path evaluation value “20” in association with the node “a”. Furthermore, the node “d” determines whether or not the forward evaluation value is included in the HELLO packet, but determines that it is not included because it is an empty HELLO packet. Then, as shown in FIG. 11, the node “d” sets the forward path evaluation value “20” obtained by evaluating the empty HELLO packet as it is in the link table as the link weight “20”.
  • the node “d” performs a routing table update process. Specifically, the node “d” specifies the transmission source node of the HELLO packet. The transmission source node is the node “a”. Subsequently, the node “d” newly creates a record of the node “a” in the work table having the same structure as the routing table. Then, the transmission source node “a” is set as the destination node of the work table, and the transmission source node “a” is set as the adjacent node. Then, the node “d” searches the link table using the transmission source node “a”, and acquires the link weight “20” stored in association with the node “a”.
  • the node “d” stores the acquired link weight “20” as the link weight “20” in the records of the destination node “a” and the adjacent node “a” in the work table. Subsequently, the node “d” determines whether or not the same record exists in the routing table. If it is not, the record created in the work table is newly added to the routing table as shown in FIG. To do.
  • the node “d” determines whether or not information is included in the HELLO packet. Since it is an empty HELLO packet, it is determined that no information is included, and the node “d” calculates an evaluation value and stores it in the routing table. Specifically, the node “d” stores the link weight “20” itself as the evaluation value “20” because the destination node “a” is an adjacent node.
  • the clock has measured a predetermined period and a clock event has occurred. Then, the node “d” transmits a HELLO packet (note that the node “d” may transmit a HELLO packet in real time when an empty HELLO packet is received from the node “a”).
  • the node “d” creates a HELLO packet from the routing table and transmits it to each of the adjacent node “a” and the adjacent node “x”.
  • FIG. 11 for convenience of explanation, it is assumed that the node “d” transmits a HELLO packet including only path information regarding the node “a” only to the node “a”.
  • Node “d” searches the routing table and groups the records of destination node “a”. Since the destination node “a” has one record, the node “d” adds the record of the destination node “a” to the HELLO packet and transmits the HELLO packet to the adjacent node “a”. That is, as shown in FIG. 11, the node “d” acquires route information from the routing table that the destination node is “a”, the adjacent node is “a”, and the evaluation value is “20”. Then, a HELLO packet is created. Further, as shown in FIG. 11, the node “d” obtains link information that the forward path evaluation value is “20” from the link table, and creates a HELLO packet. These evaluation value and forward evaluation value are the latest values obtained by evaluating the HELLO packet received from the node “a”.
  • the node “a” when the node “a” receives the HELLO packet, first, the link table update processing is performed. Specifically, the node “a” specifies the transmission source node of the HELLO packet. The transmission source node is the node “d”. Subsequently, the node “a” newly creates a period table of the transmission source node “d” and calculates the standard deviation of the period, thereby calculating the forward path evaluation value “10”. Then, as shown in FIG. 11, the node “a” newly creates a record of the node “d” in the link table, and stores the forward evaluation value “10” in association with the node “d”.
  • the node “a” determines that the forward evaluation value “20” is included. Then, as shown in FIG. 11, the node “a” associates the forward path evaluation value “20” included in the received HELLO packet with the transmission source node “d” of the link table, and sets the return path evaluation value “20”. Store. Further, the node “a” adds the forward path evaluation value “10” and the return path evaluation value “20” to calculate the link weight “30” and sets it in the link table.
  • the node “a” performs a routing table update process. Specifically, the node “a” specifies the transmission source node of the HELLO packet. The transmission source node is the node “d”. Subsequently, the node “a” creates a new record of the node “d” in the work table having the same structure as the routing table. Then, the transmission source node “d” is set as the destination node of the work table, and the transmission source node “d” is set as the adjacent node. Then, the node “a” searches the link table using the transmission source node “d”, and acquires the link weight “30” stored in association with the node “d”.
  • the node “a” stores the acquired link weight “30” as the link weight “30” in the records of the destination node “d” and the adjacent node “d” in the work table. Subsequently, the node “a” determines whether or not the same record exists in the routing table. If it is not, the record created in the work table is newly added to the routing table as shown in FIG. To do.
  • the node “a” next determines whether or not information is included in the HELLO packet, and determines that the information is included.
  • the node “a” determines whether the destination node or the adjacent node is addressed to its own node “a”, and determines that it is addressed to its own node “a”. Subsequently, the node “a” determines whether there is unprocessed information in the received packet, and determines that there is no information. Thereafter, the node “a” calculates an evaluation value and stores it in the routing table. Specifically, the node “a” stores the link weight “30” itself as the evaluation value “30” because the destination node “d” is an adjacent node.
  • the clock has measured a predetermined period and a clock event has occurred. Then, the node “a” transmits a HELLO packet.
  • the node “a” creates a HELLO packet from the routing table and transmits it to the adjacent node “d”.
  • the node “a” searches the routing table and groups the records of the destination node “d”. Since the destination node “d” has one record, the node “a” adds the record of the destination node “d” to the HELLO packet and transmits the HELLO packet to the adjacent node “d”. That is, as shown in FIG.
  • the node “a” acquires route information from the routing table that the destination node is “d”, the adjacent node is “d”, and the evaluation value is “30”. Then, a HELLO packet is created. Further, as shown in FIG. 11, the node “a” obtains link information that the forward path evaluation value is “10” from the link table, and creates a HELLO packet. These evaluation value and forward evaluation value are the latest values obtained by evaluating the HELLO packet received from the node “d”.
  • FIG. 12 shows transmission / reception of the HELLO packet and update of the link table and the routing table performed between the node “a” and the node “e”.
  • the node “a” transmits a HELLO packet to each of the node “d” and the node “e”. These HELLO packets indicate the same HELLO packet as the HELLO packet (third) shown in FIGS.
  • the node “d” When the node “d” receives the HELLO packet, it first performs a link table update process. Specifically, the node “d” specifies the transmission source node of the HELLO packet. The transmission source node is the node “a”. Subsequently, the node “d” creates a new record at the top of the cycle table of the transmission source node “a” and calculates the standard deviation of the cycle, thereby calculating the forward path evaluation value “20”. Here, there is no change in the value, but it is the latest value. Then, as shown in FIG. 13, the node “d” identifies the existing record of the node “a” from the link table, and overwrites the forward evaluation value “20” in association with the node “a”.
  • the node “d” determines that the forward evaluation value “10” is included. Then, as shown in FIG. 13, the node “d” associates the forward path evaluation value “10” included in the received HELLO packet with the transmission source node “a” of the link table, and sets the return path evaluation value “10”. Store. Further, the node “d” adds the forward path evaluation value “20” and the return path evaluation value “10” to calculate the link weight “30” and sets it in the link table.
  • the node “d” performs a routing table update process. Specifically, the node “d” specifies the transmission source node of the HELLO packet. The transmission source node is the node “a”. Subsequently, the node “d” newly creates a record of the node “a” in the work table having the same structure as the routing table. Then, the transmission source node “a” is set as the destination node of the work table, and the transmission source node “a” is set as the adjacent node. Then, the node “d” searches the link table using the transmission source node “a”, and acquires the link weight “30” stored in association with the node “a”.
  • the node “d” stores the acquired link weight “30” as the link weight “30” in the records of the destination node “a” and the adjacent node “a” in the work table. Subsequently, the node “d” determines whether or not there is the same record in the routing table, and if so, overwrites the routing table with the record created in the work table as shown in FIG. .
  • the node “d” determines whether or not information is included in the HELLO packet, and determines that the information is included.
  • the node “d” determines whether the destination node or the adjacent node is addressed to its own node “d”, and determines that it is addressed to its own node “d”. Subsequently, the node “d” determines whether there is unprocessed information in the received packet, and determines that there is no information. Thereafter, the node “d” calculates an evaluation value and stores it in the routing table. Specifically, the node “d” stores the link weight “30” itself as the evaluation value “30” because the destination node “a” is an adjacent node.
  • the clock has measured a predetermined period and a clock event has occurred. Then, the node “d” transmits a HELLO packet.
  • the node “d” creates a HELLO packet from the routing table and transmits it to each of the adjacent node “a” and the adjacent node “x”. However, in FIG. 13, for convenience of explanation, it is assumed that the node “d” transmits a HELLO packet only to the node “x”.
  • Node “d” searches the routing table and groups the records of destination node “x” and destination node “a”. Since there is one record for each of the destination node “x” and the destination node “a”, the node “d” adds each of the records for the destination node “x” and the destination node “a” to the HELLO packet.
  • the packet is transmitted to the adjacent node “x”. That is, as shown in FIG. 13, the node “d” acquires route information from the routing table that the destination node is “x”, the adjacent node is “x”, and the evaluation value is “50”. Then, a HELLO packet is created. Further, as illustrated in FIG.
  • the node “d” acquires link information that the forward path evaluation value is “20” from the link table, and creates a HELLO packet.
  • the node “d” creates a HELLO packet by acquiring route information from the routing table that the destination node is “a”, the adjacent node is “a”, and the evaluation value is “30”. To do. Further, as illustrated in FIG. 13, the node “d” acquires link information that the forward path evaluation value is “20” from the link table, and creates a HELLO packet.
  • the node “a” transmits a HELLO packet to the node “e” in addition to the node “d”.
  • the lower part of FIG. 13 shows transmission / reception of the HELLO packet and update of the link table and routing table performed between the node “a” and the node “e”.
  • the node “e” transmits a HELLO packet to the node “f”.
  • the node “f” receives the HELLO packet, it first performs a link table update process. Specifically, the node “f” specifies the transmission source node of the HELLO packet. The transmission source node is the node “e”. Subsequently, the node “f” newly creates a record at the top of the cycle table of the transmission source node “e”, and calculates the forward path evaluation value “10” by calculating the standard deviation of the cycle. Here, there is no change in the value, but it is the latest value. Then, as shown in FIG.
  • the node “f” identifies the existing record of the node “e” from the link table, and overwrites the forward evaluation value “10” in association with the node “e”. Further, when determining whether or not the forward evaluation value is included in the HELLO packet, the node “f” determines that the forward evaluation value “10” is included because it is included. Then, as shown in FIG. 14, the node “f” associates the forward path evaluation value “10” included in the received HELLO packet with the transmission source node “e” of the link table, and sets it as the backward path evaluation value “10”. Store. Further, the node “f” adds the forward path evaluation value “10” and the return path evaluation value “10” to calculate the link weight “20” and sets it in the link table.
  • the node “f” performs a routing table update process. Specifically, the node “f” specifies the transmission source node of the HELLO packet. The transmission source node is the node “e”. Subsequently, the node “f” creates a new record of the node “e” in the work table having the same structure as the routing table. Then, the transmission source node “e” is set as the destination node of the work table, and the transmission source node “e” is set as the adjacent node. Then, the node “f” searches the link table using the transmission source node “e”, and acquires the link weight “20” stored in association with the node “e”.
  • the node “f” stores the acquired link weight “20” as the link weight “20” in the records of the destination node “e” and the adjacent node “e” in the work table. Subsequently, the node “f” determines whether or not there is the same record in the routing table, and if there is, it overwrites the routing table with the record created in the work table as shown in FIG. .
  • the node “f” next determines whether or not information is included in the HELLO packet, and determines that the information is included.
  • the node “f” determines whether the destination node or the adjacent node is addressed to its own node “f”, and determines that it is addressed to its own node “f”. Subsequently, the node “f” determines whether there is unprocessed information in the received packet, and determines that there is.
  • the node “f” determines whether the destination node or the adjacent node is addressed to the own node “f”, and determines that the adjacent node is the own node “f”. Subsequently, the node “f” determines whether there is unprocessed information in the received packet, and determines that there is.
  • the node “f” determines whether the destination node or the adjacent node is addressed to its own node “f”, and determines that it is not addressed to its own node “f”. Subsequently, the node “f” creates a new record of the node “a” in the work table having the same structure as the routing table. Then, the destination node “a” is set as the destination node of the work table, and the transmission source node “e” is set as the adjacent node. Then, the node “f” stores the evaluation value “40” included in the HELLO packet as the work table route weight “40”.
  • the node “f” determines whether there is a record of the destination node “a” and the adjacent node “e” in the routing table, and determines that there is no record. Then, as shown in FIG. 14, the node “f” newly adds the record created in the work table to the routing table.
  • the node “f” calculates an evaluation value and stores it in the routing table. Specifically, the node “f” stores the link weight “20” itself as the evaluation value “20” because the destination node “e” is an adjacent node. Further, since the node “f” is the adjacent node “x”, the link weight “35” itself is stored as the evaluation value “35”. Further, the node “f” searches for a record having the adjacent node “e” as the destination node and the adjacent node. Then, the node “f” acquires the link weight “20” of the retrieved record, the route weight “40” of the records of the destination node “a” and the adjacent node “e”, and the acquired link weight “20”. And is stored as an evaluation value “60”.
  • the clock has measured a predetermined period and a clock event has occurred. Then, the node “f” transmits a HELLO packet.
  • the node “f” creates a HELLO packet from the routing table and transmits it to each of the adjacent node “e” and the adjacent node “x”. However, in FIG. 14, for convenience of explanation, it is assumed that the node “f” transmits a HELLO packet only to the node “x”.
  • the node “f” searches the routing table and groups the records of the destination node “e”, the destination node “x”, and the destination node “a”. Since each of the destination node “e”, the destination node “x”, and the destination node “a” has one record, the node “f” is the destination node “e”, the destination node “x”, and the destination node “a”. Are added to the HELLO packet, and the HELLO packet is transmitted to the adjacent node “x”.
  • the node “d” transmits a HELLO packet to the node “x”
  • the node “f” transmits a HELLO packet to the node “x”. That is, in the first embodiment, it is assumed that the node “x” receives the HELLO packet from each of the node “d” and the node “f” during a predetermined period.
  • the node “x” first receives the HELLO packet from the node “d”. At this time, the node “x” updates the link table and the routing table in the same manner as the other nodes described so far. Subsequently, it is assumed that the node “x” receives the HELLO packet from the node “f”. At this time, the node “x” similarly updates the link table and the routing table.
  • the clock has measured a predetermined period and a clock event has occurred. Then, the node “x” transmits a HELLO packet.
  • the node “x” creates a HELLO packet from the routing table and transmits it to the adjacent node “d”, the adjacent node “f”, the adjacent node “v”, and the adjacent node “z”. However, in FIG. 15, for convenience of explanation, it is assumed that the node “x” transmits the HELLO packet only to the node “v” and the node “z”.
  • the node “x” searches the routing table and groups the records of the destination node “d”, the destination node “f”, the destination node “e”, and the destination node “a”. Since each of the destination node “d”, the destination node “f”, and the destination node “e” has one record, the node “x” is the destination node “d”, the destination node “f”, and the destination node “f”. Add each record of e ”to the HELLO packet.
  • the node “x” groups the records of the destination node “a”, compares the evaluation values within the group, and sets the first to third flags. Specifically, since the node “x” has two records that are grouped into the destination node “a”, and the evaluation value is “80” and the evaluation value “95”, the evaluation value is “80”. A first flag is set for a certain record, and a second flag is set for a record whose evaluation value is “95”. Then, the node “x” extracts the record in which the first flag is set and adds it to the HELLO packet. Specifically, only the records that are the destination node “a” and the adjacent node “d” are extracted and added to the HELLO packet. Thereafter, the node “x” transmits a HELLO packet.
  • FIG. 16 is a flowchart illustrating the link table update process according to the first embodiment.
  • the link table updating unit 32 of the node 10 in the first embodiment determines whether or not a HELLO packet has been received from an adjacent node (step S101). If it is determined that it has not been received (No at Step S101), the link table update unit 32 waits for reception of a HELLO packet.
  • the link table update unit 32 specifies “From Who” of the HELLO packet (Step S102). That is, the link table update unit 32 identifies the transmission source node that has transmitted the HELLO packet.
  • the link table update unit 32 determines whether or not the cycle table of the transmission source node specified in step S102 already exists in the cycle table unit 23 (step S103).
  • the link table updating unit 32 creates a new periodic table of the transmission source node and creates a new record with ID “1” (Step S104). Subsequently, the link table updating unit 32 sets the reception time at which the HELLO packet is received in the record of ID “1” (step S105). For example, the link table update unit 32 sets the reception time “0:00”. Further, the link table update unit 32 sets an initial value of the period in the record with ID “1” (step S106). For example, the link table update unit 32 sets the cycle “0:00”.
  • the link table update part 32 creates a new record at the top of a periodic table (step S107). Subsequently, the link table update unit 32 sets the reception time at which the HELLO packet is received in the newly created record (step S108). Then, the link table updating unit 32 calculates the difference between the reception time set in step S108 and the reception time set in the adjacent lower record, and sets the difference (step S109). Subsequently, the link table updating unit 32 calculates a standard deviation of the cycle (step S110).
  • the link table update unit 32 newly creates a record of the transmission source node in the link table (step S111). Alternatively, the link table update unit 32 identifies an existing record of the transmission source node from the link table (step S111).
  • the link table update unit 32 stores the forward path evaluation value obtained by evaluating the received HELLO packet (that is, the forward path evaluation value derived from the standard deviation calculated in step S110) in association with the transmission source node of the link table. (Step S112). Alternatively, the link table update unit 32 overwrites the existing record (step S112).
  • the link table update unit 32 determines whether or not the forward path evaluation value is included in the received HELLO packet (step S113). When it is determined that the received packet is not included (No at Step S113), the link table update unit 32 sets the forward path evaluation value obtained by evaluating the received packet in the link table as the link weight between the nodes (Step S114). Alternatively, the link table update unit 32 overwrites the existing record (step S114).
  • the link table update unit 32 associates the forward path evaluation value included in the received HELLO packet with the transmission source node of the link table, and performs the backward path evaluation. Stored as a value (step S115). Alternatively, the link table update unit 32 overwrites the existing record (step S115).
  • the link table update unit 32 calculates the link weight between the nodes by adding the forward path evaluation value and the return path evaluation value, and sets the link weight in the link table (step S116). Alternatively, the link table update unit 32 overwrites the existing record (step S116).
  • FIGS. 17A and 17B are flowcharts illustrating the routing table update process according to the first embodiment.
  • the routing table updating unit 33 of the node 10 in the first embodiment determines whether or not a HELLO packet has been received from an adjacent node (step S201). If it is determined that it has not been received (No at Step S201), the routing table update unit 33 waits for reception of a HELLO packet.
  • the routing table update unit 33 specifies “From Who” of the HELLO packet (Step S202). That is, the routing table update unit 33 identifies the transmission source node that has transmitted the HELLO packet.
  • the routing table update unit 33 creates a new record in the work table unit 24 (step S203). Then, the routing table updating unit 33 sets the transmission source node specified in step S202 to the destination node of the newly created record (step S204), and sets the transmission source node specified in step S202 to the adjacent node ( Step S205).
  • the routing table update unit 33 searches the link table unit 22 using the transmission source node, and acquires the link weight stored in association with the transmission source node (step S206).
  • the routing table update unit 33 stores the acquired link weight in the work table unit 24 as a link weight in the record of the transmission source node of the destination node and the adjacent node (step S207).
  • the routing table update unit 33 determines whether or not there is a record of the same destination node and adjacent node in the routing table unit 21 (step S208). If it is determined that there is not (No at Step S208), the routing table update unit 33 newly adds the record created in the work table unit 24 to the routing table unit 21 (Step S209). On the other hand, if it is determined that there is (Yes at Step S208), the routing table update unit 33 overwrites the routing table unit 21 (Step S210).
  • the routing table update unit 33 determines whether or not HELLO packet information is included (step S211). When it is determined that it is not included (No at Step S211), the routing table update unit 33 proceeds to a process of calculating an evaluation value (Step S222).
  • the routing table update unit 33 subsequently determines whether or not the destination node or the adjacent node is its own node (Step S212).
  • the routing table update unit 33 ignores this information and determines whether there is unprocessed information in the received HELLO packet. The process proceeds to the determination process (step S220).
  • the routing table update unit 33 creates a new record in the work table unit 24 (Step S213). Then, the routing table update unit 33 sets the destination node included in the information of the HELLO packet as the destination node of the newly created record (step S214), and sets the source node as the adjacent node (step S215).
  • the routing table update unit 33 stores the evaluation value included in the information of the HELLO packet as a route weight in the newly created record in the work table unit 24 (step S216).
  • the routing table update unit 33 determines whether or not there is a record of the same destination node and adjacent node in the routing table unit 21 (step S217). If it is determined that there is not (No at Step S217), the routing table update unit 33 newly adds the record created in the work table unit 24 to the routing table unit 21 (Step S218). On the other hand, when it is determined that there is (Yes at Step S217), the routing table update unit 33 overwrites the routing table unit 21 (Step S219).
  • the routing table updating unit 33 determines whether or not there is unprocessed information in the received HELLO packet (step S220). If there is (step S220 affirmative), the unprocessed information is acquired. (Step S221), the process returns to Step S212. On the other hand, if not (No at Step S220), the routing table update unit 33 calculates an evaluation value and stores it in the routing table unit 21 (Step S222).
  • FIG. 18 is a flowchart showing the evaluation value calculation process.
  • the routing table update unit 33 first determines whether or not the link weight is stored in the corresponding record of the routing table unit 21 (step S222-1). If it is determined that it is stored (Yes at Step S222-1), the routing table update unit 33 stores the stored link weight as the evaluation value of the corresponding record (Step S222-2).
  • the routing table update unit 33 searches for a record having the adjacent node of the corresponding record as the destination node and the adjacent node (step S222-1). S222-3).
  • the routing table update unit 33 acquires the link weight of the retrieved record (step S222-4), adds the route weight of the corresponding record and the link weight of the retrieved record, and stores it as the evaluation value of the corresponding record. (Step S222-5).
  • the routing table update unit 33 determines whether or not there is an unprocessed record (step S222-6), and if there is (Yes in step S222-6), acquires the unprocessed record (step S222-6). S222-7), the process returns to step S222-1. On the other hand, if not (No at Step S222-6), the routing table update unit 33 ends the process.
  • FIG. 19 is a flowchart illustrating a transmission process according to the first embodiment.
  • the path information transmitting unit 34 of the node 10 in the first embodiment determines whether or not there is a clock event (step S301). If it is determined that there is no clock event (No at step S301), the path information transmission unit 34 waits for a clock event.
  • the path information transmitting unit 34 determines whether there is a routing table (Step S302). When it is determined that there is no routing table (No at Step S302), the route information transmitting unit 34 transmits an empty HELLO packet (Step S307) and ends the process.
  • the route information transmission unit 34 searches the routing table unit 21 and performs grouping for each identical destination node (Step S303).
  • the route information transmitting unit 34 compares the evaluation values within the group, and ranks the top 1 to 3rd records in ascending order of evaluation value (in descending order of quality) (step S304).
  • the route information transmission unit 34 sets the first to third rank flags in the ranked records (step S305), extracts the record in which the first rank flag is set, and adds it to the HELLO packet header. (Step S306). Note that the path information transmission unit 34 in the first embodiment sets “transmission flag” to “Yes” for the record added to the HELLO packet header.
  • the route information transmitting unit 34 transmits a HELLO packet (step S307) and ends the process.
  • the first embodiment relays route information in an ad hoc network in which each node relays a packet based on route information (information indicating a route for transmitting a packet to a destination node).
  • route information information indicating a route for transmitting a packet to a destination node.
  • each node receives route information from a node (adjacent node) interconnected with its own terminal.
  • Each node acquires quality information (evaluation value) indicating the quality of the route indicated by the route information for the received route information.
  • each node determines whether or not a plurality of pieces of route information having the same node as the packet destination are received for each received route information (for each clock event).
  • each node compares the quality information (evaluation value) for each of the plurality of received route information. Route information corresponding to quality information (evaluation value) indicating high quality is selected. Each node relays the selected route information to nodes other than the node that transmitted the route information among nodes (adjacent nodes) interconnected with the terminal itself.
  • each node in the first embodiment can reduce the amount of communication for route control.
  • each node in the conventional technology receives the route information, and transmits the received route information to the adjacent node each time.
  • each node must transmit route information many times, and a control header portion is added for each HELLO packet, which requires a transmission waiting time for each HELLO packet. I was sorry.
  • the number of route information to be transmitted increases, the frequency of occurrence of collision also increases, and as a result, the number of times of retransmitting route information also increases. For this reason, if the conventional technique is applied to a large-scale ad hoc network, flooding due to packet excess occurs, and it is difficult to create a routing table for route search.
  • each node in the first embodiment receives the route information, it does not transmit the received route information to the adjacent node each time.
  • Each node determines, for each predetermined period, whether or not a plurality of route information having the same node as the packet destination is received, and compares the quality information with each other to correspond to the highest quality quality information. Select.
  • Each node relays only the selected route information to the adjacent node.
  • each node can reduce the number of times route information is transmitted, and at the same time, overhead is also reduced.
  • the frequency of occurrence of collision is also reduced, and consequently the number of times the route information is retransmitted is also reduced. For this reason, even if the technique of the first embodiment is applied to a large-scale ad hoc network, flooding due to packet excess does not occur, and it is not difficult to create a routing table for route search.
  • the method of the first embodiment has a traffic amount for route control as compared with OLSR (Optimized Link State Routing protocol) and AODV (Ad hoc On demand Distance Vector) methods. You can see that it is reduced. That is, when the number of nodes exceeds 100, the number of OLSR control packets exceeds the number of control packets in the system of the first embodiment. In addition, it can be seen that AODV increases the control packet at an accelerated rate.
  • OLSR Optimized Link State Routing protocol
  • AODV Ad hoc On demand Distance Vector
  • the node 10 is route information corresponding to the highest evaluation value (a record in which the first flag is set), all the information is transmitted to adjacent nodes.
  • the node 10 instead of transmitting all route information corresponding to the highest evaluation value, the node 10 compares the current evaluation value with the previous evaluation value, and the difference between the two values is determined. A method of transmitting on condition that the predetermined threshold value or more has been reached will be described.
  • FIG. 21 is a diagram for explaining a routing table in the second embodiment.
  • the routing table unit 21 in the second embodiment further stores an evaluation value (“previous transmission value”) when the route information transmission unit 34 transmits the previous route information.
  • the routing table unit 21 stores the evaluation value stored in the “evaluation value” by being stored by the route information transmission unit 34 when the route information transmission unit 34 transmits the route information. Store in “Last Send Value”.
  • the “previous transmission value” stored in the routing table unit 21 is used for processing by the route information transmission unit 34.
  • FIG. 22 is a flowchart illustrating a transmission process according to the second embodiment.
  • the path information transmission unit 34 in the second embodiment determines whether there is a clock event (step S ⁇ b> 401) as in the first embodiment, and determines whether there is a routing table (step S ⁇ b> 401). Step S402). If it is determined that there is a routing table (Yes at step S402), the route information transmission unit 34 searches the routing table unit 21 and performs grouping for each identical destination node, as in the first embodiment. (Step S403). Further, as in the first embodiment, the route information transmission unit 34 compares the evaluation values within the group, and ranks the top 1 to 3 rank records in ascending order of evaluation value (in descending order of quality) (step S1). S404). Subsequently, as in the first embodiment, the route information transmitting unit 34 sets the first to third rank flags in the ranked records (step S405).
  • the route information transmission unit 34 in the second embodiment compares the “evaluation value” and the “previous transmission value” in the routing table unit 21, and sets a transmission flag for a record with a large update width (step S406).
  • the route information transmitting unit 34 sets the transmission flag “YES” in a record whose update width is “10” or more.
  • the route information transmitting unit 34 extracts a record in which a transmission flag is set, and adds it to the HELLO packet header (step S407). Further, the route information transmitting unit 34 stores “evaluation value” in “previous transmission value” for the record in which the transmission flag is set (step S408).
  • the path information transmitting unit 34 transmits a HELLO packet as in the first embodiment (step S409), and the process is terminated.
  • each node stores a correspondence relationship between the received route information and the quality information (previous transmission value) when the route information was relayed last time in the routing table unit. Yes.
  • Each node searches the routing table part using the route information selected this time, and the quality information (previous transmission value) corresponding to the route information in the routing table part and the route information when the route information is selected. Compare this quality information (evaluation value).
  • Each node relays the selected route information on condition that the difference in quality indicated by each quality information is equal to or greater than a predetermined threshold (for example, “10” or greater).
  • each node is route information that has already been transmitted to an adjacent node, and the route information whose quality evaluation has not changed much from the previous time. Since it is removed from the relay target this time, it becomes possible to further reduce the traffic for route control.
  • the method of selecting a route when the node 10 transmits a packet does not reflect information on the data packet (packet that transmits and receives actual data). Therefore, in the third embodiment, a method will be described in which the node 10 corrects the route evaluation value based on the information on the data packet to reflect the information on the data packet in the selection of the route.
  • FIG. 23 is a block diagram illustrating a configuration of a node according to the third embodiment.
  • FIG. 24 is a diagram for explaining a data management table according to the third embodiment.
  • FIG. 25 is a diagram for explaining a routing table in the third embodiment.
  • the node 10 further includes a data management table unit 25 in the storage unit 20, as shown in FIG.
  • the data management table unit 25 stores information regarding the data packet transmitted by the packet transmitting / receiving unit 35. Specifically, when the data packet is transmitted by the packet transmitting / receiving unit 35, the data management table unit 25 transmits a packet transmission / reception time that is considered to be a successful reception time of a response packet (hereinafter referred to as data ACK). Stored by the unit 35. Information stored in the data management table unit 25 is used for processing by the packet transmitting / receiving unit 35.
  • the data management table unit 25 includes an ID (“ID”) for identifying a data packet, a destination node (“destination”), an adjacent node (“adjacent”), and a data ACK.
  • ID for identifying a data packet
  • destination node destination node
  • adjacent node adjacent node
  • data ACK data ACK
  • the time (“waiting time”) that is considered to be successful is stored as the reception time.
  • the node “x” transmits the data packet with the node “a” as the destination node
  • the route for transmitting the data packet to the adjacent node “d” and the data packet to the adjacent node “f” are transmitted. There is a route to do.
  • the data management table unit 25 according to the third embodiment stores information for any route, but FIG. 24 illustrates only the route for transmitting the data packet to the adjacent node “d”.
  • the node 10 transmits a data packet
  • the node 10 receives a data ACK for the transmitted data packet.
  • the node 10 can evaluate the quality of the path
  • the node 10 sets “waiting time” in the data management table unit 25.
  • the node 10 stores “success coefficient” in the routing table unit 21 as shown in FIG. Specifically, in the routing table unit 21, when a data ACK is received by the packet transmission / reception unit 35, the “success coefficient” is stored or the “evaluation value” is updated by the packet transmission / reception unit 35.
  • the “success coefficient” is a coefficient indicating whether or not the data ACK has been received by the time set in the “waiting time” of the data management table unit 25.
  • “success coefficient” indicates a value of “0” to “10”, for example.
  • the packet transmission / reception unit 35 updates the value of the “success coefficient” in the routing table unit 21 to be smaller (for example, “1”) if the data ACK is received before the time set as the “waiting time”. Subtract), and update the updated “success coefficient” to reflect the “evaluation value”. On the other hand, if the packet transmitting / receiving unit 35 does not receive the data ACK by the time set as the “waiting time”, the packet transmission / reception unit 35 greatly updates the value of the “success coefficient” in the routing table unit 21 (for example, adds “1”). ) Update the updated “success factor” to reflect the “evaluation value”.
  • FIG. 26 is a diagram for explaining the processing procedure (entire) of the node in the third embodiment.
  • FIG. 27 is a flowchart illustrating data management table update processing according to the third embodiment.
  • the node 10 in the third embodiment refers to the routing table unit 21 and selects a route when transmitting a data packet in the packet transmitting / receiving unit 35.
  • the packet transmitting / receiving unit 35 adds a record for managing the transmission history of the data packet to be transmitted to the data management table unit 25 and transmits the data packet.
  • the packet transmitting / receiving unit 35 sets the “waiting time” of the data ACK in the data management table unit 25.
  • the packet transmitting / receiving unit 35 receives a clock event at a specific interval from a clock that operates asynchronously with the transmission of the data packet, and the current time calculated from the timing and the “waiting time” set in the data management table unit 25. ”Is compared.
  • the packet transmitting / receiving unit 35 retransmits the data packet when the data ACK is not received by the “waiting time”. That is, as shown in FIG. 26, the packet transmitting / receiving unit 35 updates the routing table unit 21, selects a new route based on the updated routing table unit 21, and retransmits the data packet.
  • the packet transmitting / receiving unit 35 updates the data management table unit 25 (deletes the record) and updates the routing table unit 21.
  • the packet transmitting / receiving unit 35 determines whether a request for transmitting actual data (data packet) is received from the own node 10 or whether a data packet relayed from the adjacent node 10 is received (step). S501). When the transmission request is not accepted or the data packet to be relayed is not received (No at Step S501), the packet transmitting / receiving unit 35 waits for a transmission request or the like.
  • the packet transmitting / receiving unit 35 refers to the routing table unit 21 and sets the destination node 10 of the data packet as the destination. Are extracted with the first to third flags set (step S502).
  • a method of limiting not to all the records but limiting to the top three records is illustrated.
  • the packet transmitting / receiving unit 35 adds a transmission history record to the data management table unit 25 for the extracted three records (step S503). Then, the packet transmitting / receiving unit 35 sets “ID” for data management, sets the destination of the data packet to “destination” (step S504), and sets the “waiting time” of data ACK (step S505). Then, the packet transmitting / receiving unit 35 transmits a data packet (step S506).
  • the packet transmitting / receiving unit 35 determines whether or not the data ACK from the destination node has been received by the “waiting time” set in the data management table unit 25 (step S507). If not received (No at Step S507), the packet transmitting / receiving unit 35 updates the “success coefficient” of the routing table unit 25 (Step S511), updates the “evaluation value” of the routing table unit 25, and , “Rank” is updated (step S512). For example, the packet transmitting / receiving unit 35 updates the “success coefficient” of the routing table unit 25 from “7” to “8”, and updates the “evaluation value” from “57” to “58”.
  • the packet transmitting / receiving unit 35 returns to the process of step S502. That is, the packet transmitting / receiving unit 35 refers to the updated routing table unit 21 again, and extracts three records in which the first to third rank flags are set (step S502). If there is a change in the record in which the 1st to 3rd flags are set as compared with the routing table part 21 before the update, the packet transmitting / receiving unit 35 adds the quality information of the route acquired when the data packet is actually transmitted. Based on this, the route can be selected again.
  • the packet transmitting / receiving unit 35 deletes the target record from the data management table unit 25 (Step S508). Then, the packet transmitting / receiving unit 35 updates the “success coefficient” of the routing table unit 25 (step S509), updates the “evaluation value” of the routing table unit 25, and further updates the “rank” (step S510). .
  • each node stores the correspondence between the received route information and the acquired quality information (evaluation value) in the routing table unit.
  • Each node calculates the quality information of the selected route based on the reception status of the response packet when the packet is transmitted to the adjacent node or when the packet received from the adjacent node is relayed. .
  • Each node replaces the calculated quality information with the quality information stored in the routing table unit. Then, each node selects the route information by comparing each piece of quality information (quality information after replacement) stored in the routing table unit with respect to each of the plurality of pieces of route information received.
  • each node re-evaluates the quality of the route or selects a route again based on the route quality information acquired when the data packet is actually transmitted. It becomes possible to fix.
  • Embodiments 1 to 3 described above assume that the route information relay method according to the present invention is applied to the case where route control is performed in a routing table method.
  • the present invention is not limited to this.
  • the route information relay method according to the present invention can be similarly applied to the case where the route control is performed in an on-demand method or the hybrid method (a mixed method of a routing table method and an on-demand method). it can.
  • the present invention can be applied to any system in which path control is performed as long as each node relays path information.
  • each node selects each piece of route information for each of the plurality of nodes, and relays the selected pieces of route information together. May be. For example, when the node “x” makes a determination every predetermined period, in addition to a plurality of route information destined for the node “a”, a plurality of route information destined for the node “b”, a node “c” Is received (see FIG. 2).
  • the node “x” has the highest quality route information selected for the node “a”, the highest quality route information selected for the node “b”, and the highest quality route information selected for the node “c”. May be relayed together.
  • the method of relaying route information related to a plurality of nodes together can further reduce the amount of communication for route control, compared to the method of relaying route information related to nodes individually.
  • the route control method described in this embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation.
  • This program can be distributed via a network such as the Internet.
  • the program can also be executed by being recorded on a computer-readable recording medium such as a hard disk, a flexible disk (FD), a CD-ROM, an MO, and a DVD and being read from the recording medium by the computer.
  • a computer-readable recording medium such as a hard disk, a flexible disk (FD), a CD-ROM, an MO, and a DVD and being read from the recording medium by the computer.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

 アドホックネットワークに接続するノード各々は、隣接ノードから経路情報を受信する。ノード各々は、受信した経路情報について、経路情報で示される経路の品質を示す品質情報を取得する。ノード各々は、受信した経路情報について、パケットの宛先となるノードが同一である経路情報が複数受信されているか否かを、所定の周期ごとに判定する。ノード各々は、判定した結果、宛先となるノードが同一である経路情報が複数受信されている場合には、複数受信された経路情報各々について品質情報各々を比較し、比較の結果最も高い品質であることを示す品質情報に対応する経路情報を選択する。ノード各々は、選択した経路情報を、隣接ノードに対して中継する。

Description

経路情報中継方法および無線端末
 本発明は、経路情報中継方法および無線端末に関する。
 近年、無線端末各々が自律分散的に相互接続するアドホックネットワークの研究が進められている。アドホックネットワークにおいては、アクセスポイントは設置されず、無線端末各々が、自端末と相互に接続する無線端末(隣接端末)から受信したパケットを、経路情報に基づいて隣接端末に対して中継することで、経路を形成する。
 ところで、アドホックネットワークにおいては、電波強度の変化や無線端末の移動などに伴い、ネットワーク環境が頻繁に変化する。このため、アドホックネットワークに接続する無線端末各々は、他の無線端末との間で通信を行う前に経路制御を行う。
 例えば、経路制御がルーティングテーブル方式で行われる場合について説明する。アドホックネットワークに新たに接続した無線端末は、自端末がネットワーク上に存在することを示す存在情報を隣接端末に対してブロードキャストする。すると、隣接端末は、存在情報に基づく経路情報を生成し、生成した経路情報を次の隣接端末に対してブロードキャストする。
 また、例えば、無線端末各々は、自端末と隣接端末との間の経路について品質を測定し、経路情報を中継する際に、高品質の経路で接続する隣接端末に対してのみ中継する(例えば、特許文献1など)。また、例えば、無線端末各々は、品質基準を指定した経路情報を隣接端末に対してブロードキャストし、隣接端末は、経路の品質が品質基準を満たさない場合には、経路情報を中継しない(例えば、特許文献2など)。
特開2003-152786号公報 特開2007-129542号公報
 しかしながら、上記した従来の技術では、アドホックネットワークに接続する無線端末の数が多くなればなるほど経路制御のための通信量が増大し、ネットワークに負荷をかけるという課題があった。すなわち、上記したように、アドホックネットワークに接続する無線端末各々は、経路情報を隣接端末にブロードキャストし、また、応答情報を受信する。このため、アドホックネットワークに接続する無線端末の数が多くなればなるほど、送信される経路情報や応答情報の数は指数的に拡大し、経路制御のための通信量が増大してしまう。
 そこで、本発明は、上記した従来の技術の課題を解決するためになされたものであり、経路制御のための通信量を削減することが可能な経路情報中継方法および無線端末を提供することを目的とする。
 上述した課題を解決し、目的を達成するため、無線端末各々は、自端末と相互に接続する無線端末から経路情報を受信する。また、無線端末各々は、受信した経路情報について、経路情報で示される経路の品質を示す品質情報を取得する。そして、無線端末各々は、受信した経路情報について、パケットの宛先となる無線端末が同一である経路情報が複数受信されているか否かを、所定の周期ごとに判定する。続いて、無線端末各々は、判定した結果、宛先となる無線端末が同一である経路情報が複数受信されている場合には、複数受信された経路情報各々について品質情報各々を比較し、比較の結果最も高い品質であることを示す品質情報に対応する経路情報を選択する。その後、無線端末各々は、選択した経路情報を、自端末と相互に接続する無線端末の内、受信した経路情報を送信した無線端末以外の無線端末に対して中継する。
 経路制御のための通信量を削減することが可能になる。
図1は、実施例1における経路情報中継方法の基本原理を説明するための図である。 図2は、実施例1におけるアドホックネットワークの全体構成を示す図である。 図3は、実施例1におけるノードの構成を示すブロック図である。 図4は、実施例1におけるルーティングテーブルを説明するための図である。 図5は、実施例1におけるリンクテーブルを説明するための図である。 図6は、リンク重みの概念を説明するための図である。 図7は、実施例1における周期テーブルを説明するための図である。 図8は、実施例1におけるノードの処理手順(全体)を説明するための図である。 図9は、実施例1におけるテーブルの更新例を説明するための図である。 図10は、実施例1におけるテーブルの更新例を説明するための図である。 図11は、実施例1におけるテーブルの更新例を説明するための図である。 図12は、実施例1におけるテーブルの更新例を説明するための図である。 図13は、実施例1におけるテーブルの更新例を説明するための図である。 図14は、実施例1におけるテーブルの更新例を説明するための図である。 図15は、実施例1におけるテーブルの更新例を説明するための図である。 図16は、実施例1におけるリンクテーブル更新処理を示すフローチャートである。 図17-1は、実施例1におけるルーティングテーブル更新処理を示すフローチャートである。 図17-2は、実施例1におけるルーティングテーブル更新処理を示すフローチャートである。 図18は、実施例1における評価値算出処理を示すフローチャートである。 図19は、実施例1における送信処理を示すフローチャートである。 図20は、実施例1の効果を説明するための図である。 図21は、実施例2におけるルーティングテーブルを説明するための図である。 図22は、実施例2における送信処理を示すフローチャートである。 図23は、実施例3におけるノードの構成を示すブロック図である。 図24は、実施例3におけるデータ管理テーブルを説明するための図である。 図25は、実施例3におけるルーティングテーブルを説明するための図である。 図26は、実施例3におけるノードの処理手順(全体)を説明するための図である。 図27は、実施例3におけるデータ管理テーブル更新処理を示すフローチャートである。
 以下に添付図面を参照して、本発明に係る経路情報中継方法および無線端末の実施例を詳細に説明する。なお、以下では、まず、実施例1における経路情報中継方法の基本原理を説明し、続いて、実施例1におけるアドホックネットワークの全体構成、無線端末(以下「ノード」と呼ぶ)の構成、処理手順、実施例1の効果を説明する。その後、実施例2および実施例3を説明する。
[経路情報中継方法の基本原理]
 まず、図1を用いて、実施例1における経路情報中継方法の基本原理を説明する。図1は、実施例1における経路情報中継方法の基本原理を説明するための図である。なお、図1においては、説明の便宜上から、実施例1におけるアドホックネットワークの一部のみを示す。
 また、図1に示すノード各々は、マルチホップ方式により、自ノードと相互に接続する隣接ノード以外のノードとの間でパケットを送受信する。また、ノード各々は、経路探索プロトコルに従って経路情報を交換する。この時、ノード各々は、HELLOパケットと呼ばれる制御パケットを用いる。また、図1に示すように、実施例1においては、ノード『x』がゲートウェイノードであり、ノード『v』は、外部ネットワークに接続するノードである。
 まず、図1の(A)に示すように、ノード『a』が、アドホックネットワークに新たに接続し、自ノードがネットワーク上に存在することを示す存在情報を、隣接ノード『d』および隣接ノード『e』各々に送信したとする。ここで、ノード『a』とノード『x』との間には、図1の(A)に示すように、「ノード『x』→ノード『d』→ノード『a』」の経路と、「ノード『x』→ノード『f』→ノード『e』→ノード『a』」の経路とがある。
 さて、ノード『a』から送信された存在情報は、隣接ノード『d』によって受信される。続いて、隣接ノード『d』は、受信した存在情報に基づく経路情報を生成し、生成した経路情報を隣接ノード『x』に対して中継する。すると、図1の(B)に示すように、ノード『x』は、経路情報を受信する。経路情報は、パケットの宛先となるノードと、パケットを中継するノードとの対応関係を示すものである。例えば、経路情報は、「ノード『x』→ノード『d』→ノード『a』」(パケットの宛先となるノード『a』と、パケットを中継するノード『d』との対応関係)といった内容の情報である。
 また、実施例1におけるノード各々は、受信した経路情報について、経路の品質を示す品質情報を取得する。例えば、図1の(B)に示すように、ノード『x』は、経路「ノード『x』→ノード『d』→ノード『a』」の品質を示す品質情報「高」を取得する。
 ここで、従来の技術におけるノードであれば、受信した経路情報を、その都度隣接ノードに送信していた。すなわち、従来の技術におけるノード『x』であれば、受信した経路情報「ノード『x』→ノード『d』→ノード『a』」を、その都度ノード『v』に送信していた。しかしながら、実施例1におけるノード各々は、受信した経路情報をその都度隣接ノードに送信するものではない。
 実施例1におけるノード各々は、受信した経路情報について、パケットの宛先となるノードが同一である経路情報が複数受信されているか否かを、所定の周期ごとに判定する。
 すなわち、ノード『a』から送信された存在情報は、隣接ノード『d』によって受信される一方で、隣接ノード『e』によっても受信されている。また、ノード『e』は、存在情報に基づく経路情報を生成し、生成した経路情報を次の隣接ノード『f』に対して中継する。すると、ノード『f』は、さらに、経路情報を次の隣接ノード『x』に対して中継する。すると、図1の(C)に示すように、ノード『x』は、経路情報を受信する。例えば、ノード『X』は、「ノード『x』→ノード『f』→ノード『e』→ノード『a』」(パケットの宛先となるノード『a』と、パケットを中継するノード『f』との対応関係)といった内容の経路情報を受信する。また、例えば、ノード『x』は、経路「ノード『x』→ノード『f』→ノード『e』→ノード『a』」の品質を示す品質情報「低」を取得する。このため、ノード『x』は、所定の周期ごとに判定した結果、宛先となるノードが同一である経路情報を複数受信している場合であると判定する。
 そして、実施例1におけるノード各々は、複数受信した経路情報各々について品質情報各々を比較し、比較の結果最も高い品質であることを示す品質情報に対応する経路情報を選択する。
 例えば、ノード『x』は、経路情報「ノード『x』→ノード『d』→ノード『a』」および経路情報「ノード『x』→ノード『f』→ノード『e』→ノード『a』」各々について品質情報各々を比較する。そして、ノード『x』は、比較の結果、品質情報「高」に対応する経路情報「ノード『x』→ノード『d』→ノード『a』」を選択する(図1の(C)の点線を参照)。
 そして、実施例1におけるノード各々は、選択した経路情報を、自ノードと相互に接続するノードのうち、経路情報の送信元であるノード以外のノードに対して中継する。例えば、図1の(C)に示すように、ノード『x』は、選択した経路情報「ノード『x』→ノード『d』→ノード『a』」を、ノード『v』に対して中継する。
 このようなことから、実施例1におけるノード各々は、経路制御のための通信量を削減することが可能になる。
 すなわち、従来の技術におけるノード各々は、経路情報を受信すると、受信した経路情報を、その都度隣接ノードに送信していた。結果として、ノード各々は、経路情報の送信を多数回行わなければならず、また、HELLOパケットごとに制御ヘッダ部分が付加され、HELLOパケットごとに送信待ち時間を要することから、オーバヘッドが大きくなってしまっていた。さらに、送信される経路情報の数が増大すると、コリジョンの発生頻度も増加し、ひいては、経路情報を再送する回数も増大してしまっていた。このため、仮に、大規模なアドホックネットワークに従来の技術を適用すると、パケット超過によるフラッディングが発生し、経路探索のためのルーティングテーブルを作成することも困難であった。
 これに対し、実施例1におけるノード各々は、経路情報を受信しても、受信した経路情報を、その都度隣接ノードに送信するものではない。ノード各々は、パケットの宛先となるノードが同一である経路情報が複数受信されているか否かを所定の周期ごとに判定し、品質情報各々を比較して最高品質の品質情報に対応する経路情報を選択する。そして、ノード各々は、選択した経路情報のみを隣接ノードに中継する。結果として、ノード各々は、経路情報の送信回数を削減することができ、同時にオーバヘッドも削減されることになる。さらに、送信される経路情報の数が減少すると、コリジョンの発生頻度も減少し、ひいては、経路情報を再送する回数も減少する。このため、仮に、大規模なアドホックネットワークに実施例1の技術を適用したとしても、パケット超過によるフラッディングが発生することもなく、経路探索のためのルーティングテーブルを作成することが困難ではなくなる。
[実施例1におけるアドホックネットワークの全体構成、ノードの構成]
 次に、図2~図15を用いて、実施例1におけるアドホックネットワークの全体構成、ノードの構成を説明する。
 図2は、実施例1におけるアドホックネットワークの全体構成を示す図である。図2に示すように、実施例1においては、ノード『x』がゲートウェイノードであり、ノード『v』およびノード『z』は、外部ネットワークに接続するノードである。なお、実施例1においては、ノード『a』が、アドホックネットワークに新たに接続し、自ノードがネットワーク上に存在することを示す存在情報を、隣接ノード『d』および隣接ノード『e』各々に送信したと想定し、想定に関する部分のみを抽出して説明する。
 図3は、実施例1におけるノードの構成を示すブロック図である。図3に示すように、実施例1におけるノード10は、特に、通信部11と、記憶部20と、制御部30とを備える。通信部11は、無線通信可能な無線モジュールおよびアンテナなどである。
 記憶部20は、制御部30による各種処理に用いるデータを記憶し、特に、ルーティングテーブル部21と、リンクテーブル部22と、周期テーブル部23と、ワークテーブル部24とを備える。
 ルーティングテーブル部21は、経路情報を記憶する。経路情報とは、宛先となる無線端末にパケットを送信する際の経路を示す情報である。言い換えると、経路情報とは、パケットの宛先となるノードと、パケットを中継するノードとの対応関係を示すものである。また、ルーティングテーブル部21は、経路情報と、経路情報で示される経路の品質を示す品質情報との対応関係を記憶する。
 具体的には、ルーティングテーブル部21は、後述する経路情報受信部31によってHELLOパケットが受信された場合に、後述するルーティングテーブル更新部33によって更新などされることで、経路情報を記憶する。また、ルーティングテーブル部21が記憶する経路情報は、後述する経路情報送信部34による処理や、後述するパケット送受信部35による処理に利用される。
 例えば、ルーティングテーブル部21は、図4に示すように、経路情報を記憶する。図4は、実施例1におけるルーティングテーブルを説明するための図である。なお、図4は、ノード『x』のルーティングテーブル部21を例示する。
 図4に例示するルーティングテーブル部21は、パケットの宛先となるノードを示す宛先ノード(『宛先』)と、パケットを中継するノードの内、自ノードと相互に接続するノードを示す隣接ノード(『隣接』)とを対応づけて記憶する。また、図4に例示するルーティングテーブル部21は、宛先ノードとの間でパケットを送受信する経路の品質を示す評価値(『評価値』)を対応づけて記憶する。ここで、評価値は、図4に示すように、宛先ノードと隣接ノードとの間の経路の品質を示す経路重み(『経路重み』)や、隣接ノードと自ノードとの間のリンクの品質を示すリンク重み(『リンク重み』)などから算出される値である。評価値の算出については、ルーティングテーブル更新処理の手順を説明する際に詳述する。
 具体的に例を挙げて説明すると、ルーティングテーブル部21は、宛先ノード『d』、隣接ノード『d』、評価値『50』の経路情報を記憶する。すなわち、ルーティングテーブル部21は、ノード『d』を宛先としてパケットを送信する場合には、隣接ノード『d』にパケットを送信する経路があり、経路の品質が評価値『50』であることを記憶する。また、ルーティングテーブル部21は、宛先ノード『e』、隣接ノード『f』、評価値『55』の経路情報を記憶する。すなわち、ルーティングテーブル部21は、ノード『e』を宛先としてパケットを送信する場合には、隣接ノード『f』にパケットを送信する経路があり、経路の品質が評価値『55』であることを記憶する。
 その他、図4に例示するルーティングテーブル部21は、経路情報の順位(『順位』)や、経路情報を送信したか否かを示す送信フラグ(『送信フラグ』)をも対応づけて記憶する。経路情報の順位や送信フラグについては、送信処理を説明する際に詳述する。
 リンクテーブル部22は、リンク情報を記憶する。リンク情報とは、自ノードと隣接ノードとの間のリンクについて、品質を評価した値を示すものである。
 具体的には、リンクテーブル部22は、後述する経路情報受信部31によってHELLOパケットが受信された場合に、後述するリンクテーブル更新部32によって更新などされることで、リンク情報を記憶する。また、リンクテーブル部22が記憶するリンク情報は、後述するルーティングテーブル更新部33による処理に利用される。
 例えば、リンクテーブル部22は、図5に示すように、リンク情報を記憶する。図5は、実施例1におけるリンクテーブルを説明するための図である。なお、図5は、ノード『x』のリンクテーブル部22を例示する。
 図5に例示するリンクテーブル部22は、隣接ノード(『隣接』)と、往路の品質を評価した往路評価値(『往路評価値』)と、復路の品質を評価した復路評価値(『復路評価値』)と、リンク重み(『リンク重み』)とを対応づけて記憶する。なお、往路評価値は、隣接ノードにとっての往路の品質を評価した値であり、復路評価値は、隣接ノードにとっての復路の品質を評価した値である。
 具体的に例を挙げて説明すると、リンクテーブル部22は、隣接ノード『d』、往路評価値『30』、復路評価値『20』、リンク重み『50』のリンク情報を記憶する。すなわち、リンクテーブル部22は、隣接ノード『d』との間のリンクは、隣接ノード『d』にとっての往路の品質が往路評価値『30』であり、隣接ノード『d』にとっての復路の品質が復路評価値『20』であることを記憶する。また、リンクテーブル部22は、隣接ノード『d』との間のリンクは、リンク重み『50』であることを記憶する。
 ここで、往路評価値、復路評価値、リンク重みの概念について、図6を用いて説明する。図6は、リンク重みの概念を説明するための図である。実施例1におけるノード10各々は、隣接ノードとの間でHELLOパケットを送受信するごとに、隣接ノードとの間のリンクの品質を評価し、最新の情報として、リンクテーブル部22に格納する。
 ノード『a』とノード『d』との間のリンクを例に挙げて説明する。まず、図6に示すように、ノード『a』は、ノード『d』から受信したHELLOパケットを評価することで、ノード『d』にとっての往路の品質を評価し、往路評価値『wd』を算出する。これに対し、ノード『a』は、ノード『d』にとっての復路の品質を評価することはできない。このため、図6に示すように、ノード『a』のリンクテーブルには、往路評価値『wd』のみが記憶され、復路評価値は『null』(記憶されている情報無し)となる。
 同様に、ノード『d』は、ノード『a』から受信したHELLOパケットを評価することで、ノード『a』にとっての往路の品質を評価し、往路評価値『wa』を算出する。これに対し、ノード『d』は、ノード『a』にとっての復路の品質を評価することはできない。このため、図6に示すように、ノード『d』のリンクテーブルには、往路評価値『wa』のみが記憶され、復路評価値は『null』となる。
 ここで、図6に示すように、ノード『d』にとっての往路は、すなわちノード『a』にとっての復路であり、ノード『a』にとって往路は、すなわちノード『d』にとって復路である。したがって、ノード『a』において算出した往路評価値『wd』は、ノード『d』のリンクテーブルにおいて復路評価値として記憶されるべき値であり、ノード『d』において算出した往路評価値『wa』は、ノード『a』のリンクテーブルにおいて復路評価値として記憶されるべき値である。このため、ノード『a』は、HELLOパケットを送信する際に、往路評価値『wd』をノード『d』に通知し、ノード『d』は、往路評価値『wa』をノード『a』に通知する。
 すると、図6に示すように、ノード『a』のリンクテーブルには、往路評価値『wd』に加え、復路評価値は『wa』が記憶され、ノード『d』のリンクテーブルには、往路評価値『wa』に加え、復路評価値は『wd』が記憶される。なお、実施例1において、リンクの品質を示すリンク重みは、往路評価値と復路評価値とを加算した値である。したがって、図6に示すように、ノード『a』のリンク重み『W』は、『wd+wa』となり、ノード『d』のリンク重み『W』は、『wa+wd』となる。
 なお、図6においては、ノード『a』とノード『d』との間における往路評価値および復路評価値の交換が、相互に同時に行われるように説明した。しかしながら、上記したように、実施例1におけるノード10各々は、隣接ノードとの間でHELLOパケットを送受信するごとに、隣接ノードとの間のリンクの品質を評価し、最新の情報として、リンクテーブル部22に格納する。したがって、往路評価値および復路評価値の交換も、相互に同時に行われる場合に限られない。往路評価値のみが最新の情報としてリンクテーブル部22に格納され、最新の往路評価値に基づいてリンク重みが更新されるが、復路評価値は最新の情報ではない場合もある。
 周期テーブル部23は、周期情報を記憶する。周期情報とは、隣接ノードから受信したパケットの周期を示すものである。具体的には、周期テーブル部23は、後述する経路情報受信部31によってHELLOパケットが受信された場合に、後述するリンクテーブル更新部32によって更新などされることで、周期情報を記憶する。また、周期テーブル部23が記憶する周期情報は、リンクテーブル更新部32による処理に利用される。
 例えば、周期テーブル部23は、図7に示すように、周期情報を記憶する。図7は、実施例1における周期テーブルを説明するための図である。なお、図7は、ノード『x』の周期テーブル部23を例示する。
 図7に例示する周期テーブル部23は、受信したパケットの送信元である隣接ノードごとに、パケットを識別するID(『ID』)と、パケットを受信した周期(『周期』)と、パケットを受信した時刻(『受信時刻』)とを対応づけて記憶する。
 具体的に例を挙げて説明すると、周期テーブル部23は、隣接ノード『d』から受信したパケットについて、ID『4』、周期『0:02』、受信時刻『0:05』の周期情報を記憶する。すなわち、周期テーブル部23は、ID『4』のパケットは、時刻『0:05』に受信したパケットであり、ID『3』のパケットの受信時刻との差分(『0:05』-『0:03』)から、周期『0:02』であることを記憶する。
 ワークテーブル部24は、ルーティングテーブル部21と同じ構造を持ち、ルーティングテーブル部21に格納する前の不確定な経路情報を、一時的に記憶する。ワークテーブル部24については、リンクテーブル更新処理を説明する際に詳述する。
 制御部30は、ノード10を制御して各種処理を実行し、特に、経路情報受信部31と、リンクテーブル更新部32と、ルーティングテーブル更新部33と、経路情報送信部34と、パケット送受信部35とを備える。なお、制御部30は、ノード10が備えるメモリ上で実行される。
 経路情報受信部31は、隣接ノードから経路情報を受信する。具体的には、経路情報受信部31は、隣接ノードからHELLOパケットを受信する。また、経路情報受信部31は、受信したHELLOパケットを、リンクテーブル更新部32やルーティングテーブル更新部33に伝達する。
 リンクテーブル更新部32は、リンクテーブル部22が記憶するリンク情報を更新する。具体的には、リンクテーブル更新部32は、経路情報受信部31からHELLOパケットを伝達されると、伝達されたHELLOパケットに基づいて、リンクテーブル部22が記憶するリンク情報を更新する。また、リンクテーブル更新部32は、リンク情報の更新にあたり、周期テーブル部23が記憶する周期情報を更新し、更新した周期情報に基づいて、リンク情報を更新する。なお、リンクテーブル更新部32による処理については、リンクテーブル更新処理を説明する際に詳述する。
 ルーティングテーブル更新部33は、ルーティングテーブル部21が記憶する経路情報を更新する。具体的には、ルーティングテーブル更新部33は、経路情報受信部31からHELLOパケットを伝達されると、伝達されたHELLOパケットに基づいて、ルーティングテーブル部21が記憶する経路情報を更新する。なお、ルーティングテーブル更新部33による処理については、ルーティングテーブル更新処理を説明する際に詳述する。
 経路情報送信部34は、隣接ノードの内、経路情報を送信したノード以外のノードに対して経路情報を送信する。具体的には、経路情報送信部34は、ルーティングテーブル更新部33によって更新されたルーティングテーブル部21が記憶する経路情報からHELLOパケットを生成し、生成したHELLOパケットを隣接ノードに対して送信する。なお、経路情報送信部34による処理については、経路情報送信処理を説明する際に詳述する。
 パケット送受信部35は、隣接ノードからパケットを受信する。具体的には、パケット送受信部35は、隣接ノードからパケットを受信すると、受信したパケットの宛先を判定する。また、パケット送受信部35は、隣接ノードに対してパケットを送信する。具体的には、パケット送受信部35は、ルーティングテーブル部21が記憶する経路情報に基づいて、伝達されたパケットを送信する。
[実施例1におけるノードの処理手順]
 続いて、図8~図19を用いて、実施例1におけるノードの処理手順を説明する。まず、図8を用いて、実施例1におけるノードの処理手順(全体)を説明する。図8は、実施例1におけるノードの処理手順(全体)を説明するための図である。なお、図8は、実施例1におけるノード10に含まれる各部の内、経路情報受信部31と、リンクテーブル更新部32と、ルーティングテーブル更新部33と、経路情報送信部34と、クロックとを抽出して示すものである。
 実施例1におけるノード10は、図8に示すように、経路情報受信部31において、HELLOパケットを受信する。経路情報受信部31においてHELLOパケットが受信されると、図8に示すように、続いて、リンクテーブル更新部32がリンクテーブルを更新し、ルーティングテーブル更新部33がルーティングテーブルを更新する。すなわち、HELLOパケットの受信に伴い、リンクテーブルの更新とルーティングテーブルの更新とが引き続き行われる。
 また、ノード10は、隣接ノードからHELLOパケットを受信するものであり、受信のタイミングはノード10において制御するものではない。したがって、図8に示すように、実施例1におけるノード10は、再び、経路情報受信部31においてHELLOパケットを受信すると、リンクテーブル更新部32においてリンクテーブルを更新し、ルーティングテーブル更新部33においてルーティングテーブルを更新する。
 また、実施例1におけるノード10は、所定の周期を計測するクロックを備えており、経路情報送信部34は、クロックによって計測された所定の周期ごとに(クロックイベントごとに)、ルーティングテーブル部21に記憶されている経路情報からHELLOパケットを生成し、HELLOパケットを送信する。
 次に、図9および図10を用いて、実施例1におけるテーブルの更新例について、全体像を説明する。図9および図10は、実施例1におけるテーブルの更新例を説明するための図である。なお、以下では、図2に示したアドホックネットワークの全体構成の内、ノード『a』、ノード『d』、ノード『e』、ノード『f』、およびノード『x』で構成される一部のネットワークに関して送受信される経路情報やリンク情報のみを例示する。すなわち、実際には、図2に示したアドホックネットワークの全体構成に含まれる全てのノードに関する経路情報やリンク情報をノード各々が保持し、送受信するはずであるが、以下では、説明の便宜上、一部の経路情報やリンク情報のみを例示する。
 図9に示すように、実施例1においては、ノード『x』がゲートウェイノードである。また、ノード『d』とノード『x』との間のリンク、ノード『e』とノード『f』との間のリンク、およびノード『f』とノード『x』との間のリンクの品質は、図9に例示する値となっていると想定する。また、図9に例示するリンクテーブルおよびルーティングテーブルは、リンクの品質が図9に例示する値となっていると想定した場合の値を示す。なお、図9において、『隣接』は隣接ノードを示し、『往路』は往路評価値を示し、『復路』は復路評価値を示し、『リ重』はリンク重みを示す。また、図9において、『宛先』は宛先ノードを示し、『隣接』は隣接ノードを示し、『経重』は経路重みを示し、『リ重』はリンク重みを示し、『評価』は評価値を示す。
 まず、ノード『d』について説明する。ノード『d』は、リンクテーブルに、隣接ノードとしてノード『x』を記憶する。また、ノード『d』は、リンクテーブルに、往路評価値として『20』を記憶し、復路評価値として『30』を記憶する。この時、往路評価値は、ノード『x』にとっての往路の品質を評価した値であり、復路評価値は、ノード『x』にとっての復路の品質を評価した値である。また、実施例1において、リンク重みは、往路評価値と復路評価値とを加算した値を例示する。したがって、図9に示すように、ノード『d』は、リンクテーブルに、リンク重みとして『50』を記憶する。
 次に、ノード『d』は、ルーティングテーブルに、宛先ノードとしてノード『x』を記憶し、隣接ノードとしてノード『x』を記憶する。すなわち、ノード『d』は、ノード『x』を宛先としてパケットを送信する場合には、隣接ノード『x』にパケットを送信する経路があることを示す経路情報を記憶する。この時、宛先ノード『x』は、ノード『d』にとって隣接ノードである。したがって、ノード『d』は、ルーティングテーブルに経路重みを記憶せず、リンクテーブルから取得したリンク重み『50』を記憶する。また、ノード『d』は、リンク重みそのものが、ノード『d』とノード『x』との間の経路の評価値であるとして、評価値『50』を記憶する。
 次に、ノード『e』について説明する。ノード『e』は、リンクテーブルに、隣接ノードとしてノード『f』を記憶する。また、ノード『e』は、リンクテーブルに、往路評価値として『10』を記憶し、復路評価値として『10』を記憶する。また、ノード『e』は、リンクテーブルに、リンク重みとして『20』を記憶する。
 次に、ノード『e』は、ルーティングテーブルに、宛先ノードとしてノード『f』を記憶し、隣接ノードとしてノード『f』を記憶する。また、ノード『e』は、宛先ノードとしてノード『x』を記憶し、隣接ノードとしてノード『f』を記憶する。すなわち、ノード『e』は、ノード『f』を宛先としてパケットを送信する場合には、隣接ノード『f』にパケットを送信する経路があることを示す経路情報を記憶する。また、ノード『e』は、ノード『x』を宛先としてパケットを送信する場合には、隣接ノード『f』にパケットを送信する経路があることを示す経路情報を記憶する。
 ここで、ノード『x』を宛先としてパケットを送信する場合の経路情報について説明する。経路重みは、宛先ノードと隣接ノードとの間の経路の品質を示す値である。すなわち、図9に示すように、宛先ノード『x』と隣接ノード『f』との間の経路の品質を示す値に相当する。このようなことから、経路重みは、『35』となる。また、評価値は、宛先ノードとの間でパケットを送受信する経路の品質を示す値である。すなわち、図9に示すように、宛先ノード『x』と隣接ノード『f』との間の経路の品質を示す値に、隣接ノード『f』と自ノード『e』との間のリンクの品質を示す値を加算した値である。このようなことから、評価値は、『55』となる。
 ノード『f』およびノード『x』についても同様に、リンクテーブルおよびルーティングテーブルを記憶する。
 さて、実施例1においては、図9に例示するアドホックネットワークに対して、図10に示すように、ノード『a』が新たに接続した場合を想定する。また、ノード『a』とノード『d』との間のリンクの品質や、ノード『a』とノード『e』との間のリンクの品質は、図10に例示する値となると想定する。ノード『a』が新たにアドホックネットワークに接続すると、実施例1におけるノード『d』、ノード『e』、ノード『f』、およびノード『x』各々は、経路情報の送受信を行い、また、リンクテーブルの更新やルーティングテーブルの更新を行う。以下では、図9および図10に例示した値を前提として、図11~15を用いて、ノード『d』、ノード『e』、ノード『f』、およびノード『x』各々において行われる処理の具体例を説明する。なお、図11~15は、実施例1におけるテーブルの更新例を説明するための図である。
 上記したように、実施例1におけるアドホックネットワークに、ノード『a』が新たに接続したと想定する。この時、ノード『a』は、自ノードがネットワーク上に存在することを示す存在情報を、隣接ノード『d』および隣接ノード『e』各々に送信する。
 まず、図11および図12に示すように、ノード『a』は、ノード『d』およびノード『e』各々に対して、空のHELLOパケットをブロードキャスト送信する。ノード『d』は、HELLOパケットを受信すると、まず、リンクテーブル更新処理を行う。具体的には、ノード『d』は、HELLOパケットの送信元ノードを特定する。送信元ノードは、ノード『a』である。続いて、ノード『d』は、送信元ノード『a』の周期テーブルを新規作成し、周期の標準偏差を算出することで、往路評価値『20』を算出する。そして、ノード『d』は、図11に示すように、リンクテーブルにノード『a』のレコードを新規作成し、往路評価値『20』をノード『a』に対応づけて格納する。さらに、ノード『d』は、HELLOパケットに往路評価値が含まれていたか否かを判定するが、空のHELLOパケットであるので、含まれていないと判定する。そして、ノード『d』は、図11に示すように、空のHELLOパケットを評価した往路評価値『20』を、そのままリンク重み『20』としてリンクテーブルに設定する。
 続いて、ノード『d』は、ルーティングテーブル更新処理を行う。具体的には、ノード『d』は、HELLOパケットの送信元ノードを特定する。送信元ノードは、ノード『a』である。続いて、ノード『d』は、ルーティングテーブルと同じ構造を持つワークテーブルにノード『a』のレコードを新規作成する。そして、ワークテーブルの宛先ノードに送信元ノード『a』を設定し、隣接ノードに送信元ノード『a』を設定する。そして、ノード『d』は、送信元ノード『a』を用いてリンクテーブルを検索し、ノード『a』に対応づけて記憶されているリンク重み『20』を取得する。次に、ノード『d』は、取得したリンク重み『20』を、ワークテーブルの宛先ノード『a』および隣接ノード『a』のレコードに、リンク重み『20』として格納する。続いて、ノード『d』は、ルーティングテーブルに同一のレコードがあるか否かを判定し、無い場合であるとして、ワークテーブルに作成したレコードを、図10に示すように、ルーティングテーブルに新規追加する。
 そして、ノード『d』は、次に、HELLOパケットに情報が含まれるか否かを判定する。空のHELLOパケットであるので、情報は含まれないと判定し、ノード『d』は、評価値を算出し、ルーティングテーブルに格納する。具体的には、ノード『d』は、宛先ノード『a』は隣接ノードであるので、リンク重み『20』そのものを評価値『20』として格納する。
 さて、ノード『d』において、クロックが所定の周期を計測し、クロックイベントが発生した。すると、ノード『d』は、HELLOパケットの送信を行う(なお、ノード『d』は、ノード『a』から空のHELLOパケットを受信した際に、リアルタイムにHELLOパケットを送信してもよい)。ノード『d』は、ルーティングテーブルからHELLOパケットを作成し、隣接ノード『a』および隣接ノード『x』各々に送信する。もっとも、図11では、説明の便宜上から、ノード『d』が、ノード『a』に対してのみ、ノード『a』に関する経路情報のみのHELLOパケットを送信するものとして説明する。
 ノード『d』は、ルーティングテーブルを検索し、宛先ノード『a』のレコードをグループ分けする。宛先ノード『a』のレコードは一つであるので、ノード『d』は、宛先ノード『a』のレコードをHELLOパケットに追加して、HELLOパケットを隣接ノード『a』に対して送信する。すなわち、図11に示すように、ノード『d』は、宛先ノードが『a』であり、隣接ノードが『a』であり、評価値が『20』であるとの経路情報をルーティングテーブルから取得して、HELLOパケットを作成する。また、ノード『d』は、図11に示すように、往路評価値が『20』であるとのリンク情報をリンクテーブルから取得して、HELLOパケットを作成する。これらの評価値および往路評価値は、ノード『a』から受信したHELLOパケットを評価した最新の値である。
 一方、ノード『a』は、HELLOパケットを受信すると、まず、リンクテーブル更新処理を行う。具体的には、ノード『a』は、HELLOパケットの送信元ノードを特定する。送信元ノードは、ノード『d』である。続いて、ノード『a』は、送信元ノード『d』の周期テーブルを新規作成し、周期の標準偏差を算出することで、往路評価値『10』を算出する。そして、ノード『a』は、図11に示すように、リンクテーブルにノード『d』のレコードを新規作成し、往路評価値『10』をノード『d』に対応づけて格納する。さらに、ノード『a』は、HELLOパケットに往路評価値が含まれていたか否かを判定すると、往路評価値『20』が含まれているので、含まれていると判定する。そして、ノード『a』は、図11に示すように、受信したHELLOパケットに含まれる往路評価値『20』をリンクテーブルの送信元ノード『d』に対応づけて、復路評価値『20』として格納する。さらに、ノード『a』は、往路評価値『10』と復路評価値『20』とを加算してリンク重み『30』を算出し、リンクテーブルに設定する。
 続いて、ノード『a』は、ルーティングテーブル更新処理を行う。具体的には、ノード『a』は、HELLOパケットの送信元ノードを特定する。送信元ノードは、ノード『d』である。続いて、ノード『a』は、ルーティングテーブルと同じ構造を持つワークテーブルにノード『d』のレコードを新規作成する。そして、ワークテーブルの宛先ノードに送信元ノード『d』を設定し、隣接ノードに送信元ノード『d』を設定する。そして、ノード『a』は、送信元ノード『d』を用いてリンクテーブルを検索し、ノード『d』に対応づけて記憶されているリンク重み『30』を取得する。次に、ノード『a』は、取得したリンク重み『30』を、ワークテーブルの宛先ノード『d』および隣接ノード『d』のレコードに、リンク重み『30』として格納する。続いて、ノード『a』は、ルーティングテーブルに同一のレコードがあるか否かを判定し、無い場合であるとして、ワークテーブルに作成したレコードを、図11に示すように、ルーティングテーブルに新規追加する。
 そして、ノード『a』は、次に、HELLOパケットに情報が含まれるか否かを判定し、情報は含まれると判定する。ノード『a』は、宛先ノードまたは隣接ノードが自ノード『a』宛であるか判定し、自ノード『a』宛であると判定する。続いて、ノード『a』は、受信したパケットに未処理の情報があるか否かを判定し、無いと判定する。その後、ノード『a』は、評価値を算出し、ルーティングテーブルに格納する。具体的には、ノード『a』は、宛先ノード『d』は隣接ノードであるので、リンク重み『30』そのものを評価値『30』として格納する。
 さて、ノード『a』において、クロックが所定の周期を計測し、クロックイベントが発生した。すると、ノード『a』は、HELLOパケットの送信を行う。ノード『a』は、ルーティングテーブルからHELLOパケットを作成し、隣接ノード『d』に送信する。ノード『a』は、ルーティングテーブルを検索し、宛先ノード『d』のレコードをグループ分けする。宛先ノード『d』のレコードは一つであるので、ノード『a』は、宛先ノード『d』のレコードをHELLOパケットに追加して、HELLOパケットを隣接ノード『d』に対して送信する。すなわち、図11に示すように、ノード『a』は、宛先ノードが『d』であり、隣接ノードが『d』であり、評価値が『30』であるとの経路情報をルーティングテーブルから取得して、HELLOパケットを作成する。また、ノード『a』は、図11に示すように、往路評価値が『10』であるとのリンク情報をリンクテーブルから取得して、HELLOパケットを作成する。これらの評価値および往路評価値は、ノード『d』から受信したHELLOパケットを評価した最新の値である。
 ノード『a』は、ノード『d』の他に、ノード『e』に対しても、空のHELLOパケットをブロードキャスト送信する。図12は、ノード『a』とノード『e』との間で行われるHELLOパケットの送受信や、リンクテーブルおよびルーティングテーブルの更新を示すものである。
 次に、図13~図15を用いて、図11および図12に続いて行われるHELLOパケットの送受信や、リンクテーブルおよびルーティングテーブルの更新を説明する。まず、図13に示すように、ノード『a』は、ノード『d』およびノード『e』各々に対してHELLOパケットを送信する。これらのHELLOパケットは、図11および図12に示したHELLOパケット(3番目)と同じHELLOパケットを示すものである。
 ノード『d』は、HELLOパケットを受信すると、まず、リンクテーブル更新処理を行う。具体的には、ノード『d』は、HELLOパケットの送信元ノードを特定する。送信元ノードは、ノード『a』である。続いて、ノード『d』は、送信元ノード『a』の周期テーブルの最上位にレコードを新規作成し、周期の標準偏差を算出することで、往路評価値『20』を算出する。ここでは、値に変化がないが、最新の値となっている。そして、ノード『d』は、図13に示すように、リンクテーブルからノード『a』の既存レコードを識別し、往路評価値『20』をノード『a』に対応づけて上書きする。さらに、ノード『d』は、HELLOパケットに往路評価値が含まれていたか否かを判定すると、往路評価値『10』が含まれているので、含まれていると判定する。そして、ノード『d』は、図13に示すように、受信したHELLOパケットに含まれる往路評価値『10』をリンクテーブルの送信元ノード『a』に対応づけて、復路評価値『10』として格納する。さらに、ノード『d』は、往路評価値『20』と復路評価値『10』とを加算してリンク重み『30』を算出し、リンクテーブルに設定する。
 続いて、ノード『d』は、ルーティングテーブル更新処理を行う。具体的には、ノード『d』は、HELLOパケットの送信元ノードを特定する。送信元ノードは、ノード『a』である。続いて、ノード『d』は、ルーティングテーブルと同じ構造を持つワークテーブルにノード『a』のレコードを新規作成する。そして、ワークテーブルの宛先ノードに送信元ノード『a』を設定し、隣接ノードに送信元ノード『a』を設定する。そして、ノード『d』は、送信元ノード『a』を用いてリンクテーブルを検索し、ノード『a』に対応づけて記憶されているリンク重み『30』を取得する。次に、ノード『d』は、取得したリンク重み『30』を、ワークテーブルの宛先ノード『a』および隣接ノード『a』のレコードに、リンク重み『30』として格納する。続いて、ノード『d』は、ルーティングテーブルに同一のレコードがあるか否かを判定し、ある場合であるとして、ワークテーブルに作成したレコードを、図13に示すように、ルーティングテーブルに上書きする。
 そして、ノード『d』は、次に、HELLOパケットに情報が含まれるか否かを判定し、情報は含まれると判定する。ノード『d』は、宛先ノードまたは隣接ノードが自ノード『d』宛であるか判定し、自ノード『d』宛であると判定する。続いて、ノード『d』は、受信したパケットに未処理の情報があるか否かを判定し、無いと判定する。その後、ノード『d』は、評価値を算出し、ルーティングテーブルに格納する。具体的には、ノード『d』は、宛先ノード『a』は隣接ノードであるので、リンク重み『30』そのものを評価値『30』として格納する。
 さて、ノード『d』において、クロックが所定の周期を計測し、クロックイベントが発生した。すると、ノード『d』は、HELLOパケットの送信を行う。ノード『d』は、ルーティングテーブルからHELLOパケットを作成し、隣接ノード『a』および隣接ノード『x』各々に送信する。もっとも、図13では、説明の便宜上から、ノード『d』が、ノード『x』に対してのみHELLOパケットを送信するものとして説明する。
 ノード『d』は、ルーティングテーブルを検索し、宛先ノード『x』や宛先ノード『a』のレコードをグループ分けする。宛先ノード『x』および宛先ノード『a』のレコードは各々一つであるので、ノード『d』は、宛先ノード『x』および宛先ノード『a』のレコード各々をHELLOパケットに追加して、HELLOパケットを隣接ノード『x』に対して送信する。すなわち、図13に示すように、ノード『d』は、宛先ノードが『x』であり、隣接ノードが『x』であり、評価値が『50』であるとの経路情報をルーティングテーブルから取得して、HELLOパケットを作成する。また、ノード『d』は、図13に示すように、往路評価値が『20』であるとのリンク情報をリンクテーブルから取得して、HELLOパケットを作成する。また、ノード『d』は、宛先ノードが『a』であり、隣接ノードが『a』であり、評価値が『30』であるとの経路情報をルーティングテーブルから取得して、HELLOパケットを作成する。また、ノード『d』は、図13に示すように、往路評価値が『20』であるとのリンク情報をリンクテーブルから取得して、HELLOパケットを作成する。
 ノード『a』は、ノード『d』の他に、ノード『e』に対しても、HELLOパケットを送信している。図13の下図は、ノード『a』とノード『e』との間で行われるHELLOパケットの送受信や、リンクテーブルおよびルーティングテーブルの更新を示すものである。
 次に、図14に示すように、ノード『e』は、ノード『f』に対してHELLOパケットを送信する。ノード『f』は、HELLOパケットを受信すると、まず、リンクテーブル更新処理を行う。具体的には、ノード『f』は、HELLOパケットの送信元ノードを特定する。送信元ノードは、ノード『e』である。続いて、ノード『f』は、送信元ノード『e』の周期テーブルの最上位にレコードを新規作成し、周期の標準偏差を算出することで、往路評価値『10』を算出する。ここでは、値に変化がないが、最新の値となっている。そして、ノード『f』は、図14に示すように、リンクテーブルからノード『e』の既存レコードを識別し、往路評価値『10』をノード『e』に対応づけて上書きする。さらに、ノード『f』は、HELLOパケットに往路評価値が含まれていたか否かを判定すると、往路評価値『10』が含まれているので、含まれていると判定する。そして、ノード『f』は、図14に示すように、受信したHELLOパケットに含まれる往路評価値『10』をリンクテーブルの送信元ノード『e』に対応づけて、復路評価値『10』として格納する。さらに、ノード『f』は、往路評価値『10』と復路評価値『10』とを加算してリンク重み『20』を算出し、リンクテーブルに設定する。
 続いて、ノード『f』は、ルーティングテーブル更新処理を行う。具体的には、ノード『f』は、HELLOパケットの送信元ノードを特定する。送信元ノードは、ノード『e』である。続いて、ノード『f』は、ルーティングテーブルと同じ構造を持つワークテーブルにノード『e』のレコードを新規作成する。そして、ワークテーブルの宛先ノードに送信元ノード『e』を設定し、隣接ノードに送信元ノード『e』を設定する。そして、ノード『f』は、送信元ノード『e』を用いてリンクテーブルを検索し、ノード『e』に対応づけて記憶されているリンク重み『20』を取得する。次に、ノード『f』は、取得したリンク重み『20』を、ワークテーブルの宛先ノード『e』および隣接ノード『e』のレコードに、リンク重み『20』として格納する。続いて、ノード『f』は、ルーティングテーブルに同一のレコードがあるか否かを判定し、ある場合であるとして、ワークテーブルに作成したレコードを、図14に示すように、ルーティングテーブルに上書きする。
 そして、ノード『f』は、次に、HELLOパケットに情報が含まれるか否かを判定し、情報は含まれると判定する。ノード『f』は、宛先ノードまたは隣接ノードが自ノード『f』宛であるか判定し、自ノード『f』宛であると判定する。続いて、ノード『f』は、受信したパケットに未処理の情報があるか否かを判定し、あると判定する。
 次に、ノード『f』は、宛先ノードまたは隣接ノードが自ノード『f』宛であるか判定し、隣接ノードが自ノード『f』であると判定する。続いて、ノード『f』は、受信したパケットに未処理の情報があるか否かを判定し、あると判定する。
 続いて、ノード『f』は、宛先ノードまたは隣接ノードが自ノード『f』宛であるか判定し、自ノード『f』宛でないと判定する。続いて、ノード『f』は、ルーティングテーブルと同じ構造を持つワークテーブルにノード『a』のレコードを新規作成する。そして、ワークテーブルの宛先ノードに宛先ノード『a』を設定し、隣接ノードに送信元ノード『e』を設定する。そして、ノード『f』は、HELLOパケットに含まれる評価値『40』を、ワークテーブルの経路重み『40』として格納する。次に、ノード『f』は、ルーティングテーブルに、宛先ノード『a』かつ隣接ノード『e』のレコードがあるか否かを判定し、無いと判定する。そして、ノード『f』は、図14に示すように、ワークテーブルに作成したレコードを、ルーティングテーブルに新規追加する。
 その後、ノード『f』は、評価値を算出し、ルーティングテーブルに格納する。具体的には、ノード『f』は、宛先ノード『e』は隣接ノードであるので、リンク重み『20』そのものを評価値『20』として格納する。また、ノード『f』は、宛先ノード『x』は隣接ノードであるので、リンク重み『35』そのものを評価値『35』として格納する。また、ノード『f』は、隣接ノード『e』を宛先ノードおよび隣接ノードとするレコードを検索する。そして、ノード『f』は、検索したレコードのリンク重み『20』を取得し、宛先ノード『a』および隣接ノード『e』のレコードの経路重み『40』と、取得したリンク重み『20』とを加算し、評価値『60』として格納する。
 さて、ノード『f』において、クロックが所定の周期を計測し、クロックイベントが発生した。すると、ノード『f』は、HELLOパケットの送信を行う。ノード『f』は、ルーティングテーブルからHELLOパケットを作成し、隣接ノード『e』および隣接ノード『x』各々に送信する。もっとも、図14では、説明の便宜上から、ノード『f』が、ノード『x』に対してのみHELLOパケットを送信するものとして説明する。
 ノード『f』は、ルーティングテーブルを検索し、宛先ノード『e』、宛先ノード『x』や宛先ノード『a』のレコードをグループ分けする。宛先ノード『e』、宛先ノード『x』および宛先ノード『a』のレコードは各々一つであるので、ノード『f』は、宛先ノード『e』、宛先ノード『x』および宛先ノード『a』のレコード各々をHELLOパケットに追加して、HELLOパケットを隣接ノード『x』に対して送信する。
 同様に、図15に示すように、ノード『d』は、ノード『x』に対してHELLOパケットを送信し、ノード『f』は、ノード『x』に対してHELLOパケットを送信する。すなわち、実施例1においては、ノード『x』が、所定の周期の間に、ノード『d』およびノード『f』各々からHELLOパケットを受信するものと想定して説明する。
 まず、図15に示すように、ノード『x』は、先に、ノード『d』からHELLOパケットを受信したとする。この時、ノード『x』は、これまで説明してきた他のノードと同様に、リンクテーブルの更新およびルーティングテーブルの更新を行う。続いて、ノード『x』は、ノード『f』からHELLOパケットを受信したとする。この時、ノード『x』は、同様に、リンクテーブルの更新およびルーティングテーブルの更新を行う。
 さて、ノード『x』において、クロックが所定の周期を計測し、クロックイベントが発生した。すると、ノード『x』は、HELLOパケットの送信を行う。ノード『x』は、ルーティングテーブルからHELLOパケットを作成し、隣接ノード『d』、隣接ノード『f』、隣接ノード『v』および隣接ノード『z』各々に送信する。もっとも、図15では、説明の便宜上から、ノード『x』が、ノード『v』およびノード『z』に対してのみHELLOパケットを送信するものとして説明する。
 ノード『x』は、ルーティングテーブルを検索し、宛先ノード『d』、宛先ノード『f』、宛先ノード『e』や宛先ノード『a』のレコードをグループ分けする。宛先ノード『d』、宛先ノード『f』、および宛先ノード『e』のレコードは各々一つであるので、ノード『x』は、宛先ノード『d』、宛先ノード『f』、および宛先ノード『e』のレコード各々をHELLOパケットに追加する。
 これに対し、宛先ノード『a』のレコードは、複数存在する。そこで、ノード『x』は、宛先ノード『a』のレコードをグループ分けし、グループ内で評価値を比較し、上位1~3位のフラグを設定する。具体的には、ノード『x』は、宛先ノード『a』にグループ分けされるレコードは2つであり、評価値『80』と評価値『95』であるので、評価値が『80』であるレコードに1位のフラグを設定し、評価値が『95』であるレコードに2位のフラグを設定する。そして、ノード『x』は、1位のフラグが設定されているレコードを抽出し、HELLOパケットに追加する。具体的には、宛先ノード『a』および隣接ノード『d』であるレコードのみを抽出し、HELLOパケットに追加する。その後、ノード『x』は、HELLOパケットを送信する。
[リンクテーブル更新処理]
 さて、これまで実施例1におけるテーブルの更新例を説明してきたが、続いて、図16を用いて、リンクテーブル更新処理を説明する。図16は、実施例1におけるリンクテーブル更新処理を示すフローチャートである。
 実施例1におけるノード10のリンクテーブル更新部32は、まず、隣接ノードからHELLOパケットを受信したか否かを判定する(ステップS101)。受信していないと判定した場合には(ステップS101否定)、リンクテーブル更新部32は、HELLOパケットの受信を待機する。
 一方、受信したと判定した場合には(ステップS101肯定)、続いて、リンクテーブル更新部32は、HELLOパケットの『From Who』を特定する(ステップS102)。すなわち、リンクテーブル更新部32は、HELLOパケットを送信してきた送信元ノードを特定する。
 続いて、リンクテーブル更新部32は、周期テーブル部23に、ステップS102において特定した送信元ノードの周期テーブルが既存であるか否かを判定する(ステップS103)。
 既存でないと判定した場合(ステップS103否定)、リンクテーブル更新部32は、送信元ノードの周期テーブルを新規作成し、ID『1』のレコードを新規作成する(ステップS104)。続いて、リンクテーブル更新部32は、ID『1』のレコードに、HELLOパケットを受信した受信時刻を設定する(ステップS105)。例えば、リンクテーブル更新部32は、受信時刻『0:00』を設定する。また、リンクテーブル更新部32は、ID『1』のレコードに、周期の初期値を設定する(ステップS106)。例えば、リンクテーブル更新部32は、周期『0:00』を設定する。
 一方、既存であると判定した場合(ステップS103肯定)、リンクテーブル更新部32は、周期テーブルの最上位にレコードを新規作成する(ステップS107)。続いて、リンクテーブル更新部32は、新規作成したレコードに、HELLOパケットを受信した受信時刻を設定する(ステップS108)。そして、リンクテーブル更新部32は、ステップS108において設定した受信時刻と、隣接する下位のレコードに設定されている受信時刻との差分を算出し、周期に設定する(ステップS109)。続いて、リンクテーブル更新部32は、周期の標準偏差を算出する(ステップS110)。
 次に、リンクテーブル更新部32は、リンクテーブルに送信元ノードのレコードを新規作成する(ステップS111)。もしくは、リンクテーブル更新部32は、リンクテーブルから送信元ノードの既存レコードを識別する(ステップS111)。
 そして、リンクテーブル更新部32は、受信したHELLOパケットを評価した往路評価値(すなわち、ステップS110において算出した標準偏差から導出した往路評価値)を、リンクテーブルの送信元ノードに対応づけて格納する(ステップS112)。もしくは、リンクテーブル更新部32は、既存レコードに上書きする(ステップS112)。
 続いて、リンクテーブル更新部32は、受信したHELLOパケットに往路評価値が含まれていたか否かを判定する(ステップS113)。含まれていないと判定した場合には(ステップS113否定)、リンクテーブル更新部32は、受信パケットを評価した往路評価値を、ノード間のリンク重みとしてリンクテーブルに設定する(ステップS114)。もしくは、リンクテーブル更新部32は、既存レコードに上書きする(ステップS114)。
 一方、含まれていると判定した場合には(ステップS113肯定)、リンクテーブル更新部32は、受信したHELLOパケットに含まれる往路評価値を、リンクテーブルの送信元ノードに対応づけて、復路評価値として格納する(ステップS115)。もしくは、リンクテーブル更新部32は、既存レコードに上書きする(ステップS115)。
 そして、リンクテーブル更新部32は、往路評価値と復路評価値とを加算することでノード間のリンク重みを算出し、リンクテーブルに設定する(ステップS116)。もしくは、リンクテーブル更新部32は、既存レコードに上書きする(ステップS116)。
[ルーティングテーブル更新処理]
 次に、図17-1および図17-2を用いて、ルーティングテーブル更新処理を説明する。図17-1および図17-2は、実施例1におけるルーティングテーブル更新処理を示すフローチャートである。
 実施例1におけるノード10のルーティングテーブル更新部33は、まず、隣接ノードからHELLOパケットを受信したか否かを判定する(ステップS201)。受信していないと判定した場合には(ステップS201否定)、ルーティングテーブル更新部33は、HELLOパケットの受信を待機する。
 一方、受信したと判定した場合には(ステップS201肯定)、続いて、ルーティングテーブル更新部33は、HELLOパケットの『From Who』を特定する(ステップS202)。すなわち、ルーティングテーブル更新部33は、HELLOパケットを送信してきた送信元ノードを特定する。
 続いて、ルーティングテーブル更新部33は、ワークテーブル部24に、レコードを新規作成する(ステップS203)。そして、ルーティングテーブル更新部33は、新規作成したレコードの宛先ノードに、ステップS202において特定した送信元ノードを設定し(ステップS204)、隣接ノードに、ステップS202において特定した送信元ノードを設定する(ステップS205)。
 次に、ルーティングテーブル更新部33は、送信元ノードを用いてリンクテーブル部22を検索し、送信元ノードに対応づけて記憶されているリンク重みを取得する(ステップS206)。
 そして、ルーティングテーブル更新部33は、取得したリンク重みを、ワークテーブル部24において、宛先ノードおよび隣接ノードが送信元ノードのレコードに、リンク重みとして格納する(ステップS207)。
 続いて、ルーティングテーブル更新部33は、ルーティングテーブル部21に、同一の宛先ノードおよび隣接ノードのレコードがあるか否かを判定する(ステップS208)。ないと判定した場合には(ステップS208否定)、ルーティングテーブル更新部33は、ワークテーブル部24に作成したレコードを、ルーティングテーブル部21に新規追加する(ステップS209)。一方、あると判定した場合には(ステップS208肯定)、ルーティングテーブル更新部33は、ルーティングテーブル部21に上書きする(ステップS210)。
 次に、ルーティングテーブル更新部33は、HELLOパケットの情報が含まれていたか否かを判定する(ステップS211)。含まれていないと判定した場合(ステップS211否定)、ルーティングテーブル更新部33は、評価値を算出する処理(ステップS222)に移行する。
 一方、含まれていると判定した場合(ステップS211肯定)、ルーティングテーブル更新部33は、続いて、宛先ノードまたは隣接ノードが自ノードであるか否かを判定する(ステップS212)。ここで、いずれかが自ノードであると判定した場合には(ステップS212肯定)、ルーティングテーブル更新部33は、この情報を無視し、受信したHELLOパケットに未処理の情報があるか否かを判定する処理(ステップS220)に移行する。
 一方、宛先ノードおよび隣接ノードのいずれも自ノードではないと判定した場合には(ステップS212否定)、ルーティングテーブル更新部33は、ワークテーブル部24にレコードを新規作成する(ステップS213)。そして、ルーティングテーブル更新部33は、新規作成したレコードの宛先ノードに、HELLOパケットの情報に含まれる宛先ノードを設定し(ステップS214)、隣接ノードに、送信元ノードを設定する(ステップS215)。
 続いて、ルーティングテーブル更新部33は、HELLOパケットの情報に含まれる評価値を、ワークテーブル部24に新規作成したレコードに、経路重みとして格納する(ステップS216)。
 次に、ルーティングテーブル更新部33は、ルーティングテーブル部21に、同一の宛先ノードおよび隣接ノードのレコードがあるか否かを判定する(ステップS217)。ないと判定した場合には(ステップS217否定)、ルーティングテーブル更新部33は、ワークテーブル部24に作成したレコードを、ルーティングテーブル部21に新規追加する(ステップS218)。一方、あると判定した場合には(ステップS217肯定)、ルーティングテーブル更新部33は、ルーティングテーブル部21に上書きする(ステップS219)。
 その後、ルーティングテーブル更新部33は、受信したHELLOパケットに、未処理の情報があるか否かを判定し(ステップS220)、ある場合には(ステップS220肯定)、未処理の情報を取得して(ステップS221)、ステップS212の処理に戻る。一方、ない場合には(ステップS220否定)、ルーティングテーブル更新部33は、評価値を算出し、ルーティングテーブル部21に格納する(ステップS222)。
[評価値算出処理]
 次に、図18を用いて、評価値算出処理を説明する。図18は、評価値算出処理を示すフローチャートである。
 ルーティングテーブル更新部33は、まず、ルーティングテーブル部21の該当レコードに、リンク重みが格納されているか否かを判定する(ステップS222-1)。格納されていると判定した場合には(ステップS222-1肯定)、ルーティングテーブル更新部33は、格納されているリンク重みを、該当レコードの評価値として格納する(ステップS222-2)。
 一方、リンク重みが格納されていないと判定した場合には(ステップS222-1否定)、ルーティングテーブル更新部33は、該当レコードの隣接ノードを、宛先ノードおよび隣接ノードとするレコードを検索する(ステップS222-3)。
 そして、ルーティングテーブル更新部33は、検索したレコードのリンク重みを取得し(ステップS222-4)、該当レコードの経路重みと、検索したレコードのリンク重みとを加算し、該当レコードの評価値として格納する(ステップS222-5)。
 その後、ルーティングテーブル更新部33は、未処理のレコードがあるか否かを判定し(ステップS222-6)、ある場合には(ステップS222-6肯定)、未処理のレコードを取得して(ステップS222-7)、ステップS222-1の処理に戻る。一方、ない場合には(ステップS222-6否定)、ルーティングテーブル更新部33は、処理を終了する。
[送信処理]
 次に、図19を用いて、送信処理を説明する。図19は、実施例1における送信処理を示すフローチャートである。
 実施例1におけるノード10の経路情報送信部34は、まず、クロックイベントがあるか否かを判定する(ステップS301)。クロックイベントがないと判定した場合には(ステップS301否定)、経路情報送信部34は、クロックイベントを待機する。
 一方、クロックイベントがあると判定した場合には(ステップS301肯定)、経路情報送信部34は、ルーティングテーブルがあるか否かを判定する(ステップS302)。ルーティングテーブルがないと判定した場合には(ステップS302否定)、経路情報送信部34は、空のHELLOパケットを送信して(ステップS307)、処理を終了する。
 ルーティングテーブルがあると判定した場合には(ステップS302肯定)、経路情報送信部34は、ルーティングテーブル部21を検索し、同一の宛先ノードごとに、グループ分けを行う(ステップS303)。
 続いて、経路情報送信部34は、グループ内で評価値を比較し、評価値が小さい順(品質が高い順)に上位1~3位のレコードに関して順位づけを行う(ステップS304)。
 そして、経路情報送信部34は、順位づけを行ったレコードに、1~3位のフラグを設定し(ステップS305)、1位のフラグが設定されているレコードを抽出し、HELLOパケットヘッダに追加する(ステップS306)。なお、実施例1における経路情報送信部34は、HELLOパケットヘッダに追加したレコードについて、『送信フラグ』を『Yes』と設定する。
 その後、経路情報送信部34は、HELLOパケットを送信して(ステップS307)、処理を終了する。
[実施例1の効果]
 上記してきたように、実施例1は、経路情報(宛先となるノードにパケットを送信する経路を示す情報)に基づいてノード各々がパケットを中継するアドホックネットワークにおいて、ノード各々が経路情報を中継する経路情報中継方法である。実施例1において、ノード各々は、自端末と相互に接続するノード(隣接ノード)から経路情報を受信する。また、ノード各々は、受信した経路情報について、経路情報で示される経路の品質を示す品質情報(評価値)を取得する。そして、ノード各々は、受信した経路情報について、パケットの宛先となるノードが同一である経路情報が複数受信されているか否かを、所定の周期ごとに(クロックイベントごとに)判定する。ノード各々は、判定した結果、宛先となるノードが同一である経路情報を複数受信している場合には、複数受信した経路情報各々について品質情報(評価値)各々を比較し、比較の結果最も高い品質であることを示す品質情報(評価値)に対応する経路情報を選択する。ノード各々は、選択した経路情報を、自端末と相互に接続するノード(隣接ノード)の内、経路情報を送信したノード以外のノードに対して中継する。
 このようなことから、実施例1におけるノード各々は、経路制御のための通信量を削減することが可能になる。
 すなわち、従来の技術におけるノード各々は、経路情報を受信すると、受信した経路情報を、その都度隣接ノードに送信していた。結果として、ノード各々は、経路情報の送信を多数回行わなければならず、また、HELLOパケットごとに制御ヘッダ部分が付加され、HELLOパケットごとに送信待ち時間を要することから、オーバヘッドが大きくなってしまっていた。さらに、送信される経路情報の数が増大すると、コリジョンの発生頻度も増加し、ひいては、経路情報を再送する回数も増大してしまっていた。このため、仮に、大規模なアドホックネットワークに従来の技術を適用すると、パケット超過によるフラッディングが発生し、経路探索のためのルーティングテーブルを作成することも困難であった。
 これに対し、実施例1におけるノード各々は、経路情報を受信しても、受信した経路情報を、その都度隣接ノードに送信するものではない。ノード各々は、パケットの宛先となるノードが同一である経路情報が複数受信されているか否かを所定の周期ごとに判定し、品質情報各々を比較して最高品質の品質情報に対応する経路情報を選択する。そして、ノード各々は、選択した経路情報のみを隣接ノードに中継する。結果として、ノード各々は、経路情報の送信回数を削減することができ、同時にオーバヘッドも削減されることになる。さらに、送信される経路情報の数が減少すると、コリジョンの発生頻度も減少し、ひいては、経路情報を再送する回数も減少する。このため、仮に、大規模なアドホックネットワークに実施例1の技術を適用したとしても、パケット超過によるフラッディングが発生することもなく、経路探索のためのルーティングテーブルを作成することが困難ではなくなる。
 例えば、図20に示すように、実施例1の方式は、OLSR(Optimized Link State Routing protocol)や、AODV(Ad hoc On demand Distance Vector)の方式と比較して、経路制御のための通信量を削減していることがわかる。すなわち、ノード数が100ノードを超えると、OLSRの制御パケット数の方が、実施例1の方式の制御パケット数を上回る。また、AODVは、制御パケットが加速度的に増大していることがわかる。
 上記してきた実施例1においては、ノード10が、最も高い評価値に対応する経路情報(1位フラグが設定されたレコード)であれば、全て、隣接ノードに送信する手法を説明してきた。実施例2においては、最も高い評価値に対応する経路情報であれば全て送信するという手法ではなく、ノード10が、今回の評価値と前回の評価値とを比較し、両者の値の差が所定の閾値以上になったことを条件として送信する手法を説明する。
 まず、図21を用いて、実施例2におけるルーティングテーブル部21を説明する。図21は、実施例2におけるルーティングテーブルを説明するための図である。
 図21に示すように、実施例2におけるルーティングテーブル部21は、経路情報送信部34が前回経路情報を送信した際の評価値(『前回送信値』)をさらに記憶する。具体的には、ルーティングテーブル部21は、経路情報送信部34が経路情報を送信した際に、経路情報送信部34によって格納されることで、『評価値』に格納されている評価値を、『前回送信値』に格納する。また、ルーティングテーブル部21が記憶する『前回送信値』は、経路情報送信部34による処理に利用される。
 次に、図22を用いて、実施例2における送信処理を説明する。図22は、実施例2における送信処理を示すフローチャートである。
 図22に示すように、実施例2における経路情報送信部34は、実施例1と同様、クロックイベントがあるか否かを判定し(ステップS401)、ルーティングテーブルがあるか否かを判定する(ステップS402)。また、ルーティングテーブルがあると判定した場合には(ステップS402肯定)、経路情報送信部34は、実施例1と同様、ルーティングテーブル部21を検索し、同一の宛先ノードごとに、グループ分けを行う(ステップS403)。また、経路情報送信部34は、実施例1と同様、グループ内で評価値を比較し、評価値が小さい順(品質が高い順)に上位1~3位のレコードに関して順位づけを行う(ステップS404)。続いて、経路情報送信部34は、実施例1と同様、順位づけを行ったレコードに、1~3位のフラグを設定する(ステップS405)。
 次に、実施例2における経路情報送信部34は、ルーティングテーブル部21において、『評価値』と『前回送信値』とを比較し、更新幅の大きなレコードに送信フラグを設定する(ステップS406)。例えば、経路情報送信部34は、更新幅が『10』以上のレコードに、送信フラグ『YES』を設定する。
 そして、経路情報送信部34は、送信フラグが設定されているレコードを抽出し、HELLOパケットヘッダに追加する(ステップS407)。また、経路情報送信部34は、送信フラグが設定されているレコードについて、『評価値』を『前回送信値』に格納する(ステップS408)。
 その後、経路情報送信部34は、実施例1と同様、HELLOパケットを送信し(ステップS409)、処理を終了する。
[実施例2の効果]
 上記してきたように、実施例2において、ノード各々は、受信した経路情報と、経路情報が前回中継された際の品質情報(前回送信値)との対応関係を、ルーティングテーブル部に記憶している。また、ノード各々は、今回選択した経路情報を用いてルーティングテーブル部を検索し、ルーティングテーブル部にて経路情報と対応関係にある品質情報(前回送信値)と、経路情報が選択された際の今回の品質情報(評価値)とを比較する。そして、ノード各々は、品質情報各々によって示される品質各々の差が所定の閾値以上(例えば、『10』以上)になったことを条件として、選択した経路情報を中継する。
 このようなことから、実施例2によれば、ノード各々は、隣接ノードに対して既に送信したことのある経路情報であって、前回と品質の評価があまり変動していない経路情報については、今回の中継対象からはずすので、経路制御のための通信量をより削減することが可能になる。
 ところで、実施例1や実施例2において、ノード10がパケットを送信する際に経路を選択する手法は、データパケット(実データを送受信するパケット)に関する情報を反映するものではなかった。そこで、実施例3においては、ノード10が、データパケットに関する情報に基づいて経路の評価値を補正することで、データパケットに関する情報を経路の選択に反映する手法を説明する。
[実施例3におけるノードの構成]
 まず、図23~図25を用いて、実施例3におけるノードの構成を説明する。図23は、実施例3におけるノードの構成を示すブロック図である。また、図24は、実施例3におけるデータ管理テーブルを説明するための図である。また、図25は、実施例3におけるルーティングテーブルを説明するための図である。
 実施例3におけるノード10は、図23に示すように、記憶部20に、データ管理テーブル部25をさらに備える。データ管理テーブル部25は、パケット送受信部35によって送信されたデータパケットに関する情報を記憶する。具体的には、データ管理テーブル部25は、パケット送受信部35によってデータパケットが送信される際に、応答パケット(以下、データACKと呼ぶ)の受信時刻として成功と考えられる時刻などを、パケット送受信部35によって格納される。また、データ管理テーブル部25が記憶する情報はパケット送受信部35による処理に利用される。
 例えば、データ管理テーブル部25は、図24に示すように、データパケットを識別するID(『ID』)と、宛先ノード(『宛先』)と、隣接ノード(『隣接』)と、データACKの受信時刻として成功と考えられる時刻(『待ち時刻』)とを記憶する。なお、例えば、ノード『x』がノード『a』を宛先ノードとしてデータパケットを送信する際には、隣接ノード『d』にデータパケットを送信する経路と、隣接ノード『f』にデータパケットを送信する経路とがある。実施例3におけるデータ管理テーブル部25は、いずれの経路についても情報を記憶するが、図24では、隣接ノード『d』にデータパケットを送信する経路についてのみ例示している。
 ここで、『待ち時刻』について説明する。ノード10がデータパケットを送信すると、ノード10は、送信したデータパケットに対するデータACKを受信することになる。このため、ノード10は、データACKを受信した時刻によって、データパケットを送信した経路の品質を評価することができる。すなわち、データACKを受信した時刻が、通常受信すべきと考えられる時刻よりも遅い場合には、経路の品質は一般的に悪いといえる。一方、データACKを受信した時刻が、通常受信すべきと考えられる時刻よりも早い場合には、経路の品質は一般的に良いといえる。このようなことから、実施例3において、ノード10は、データ管理テーブル部25に『待ち時刻』を設定する。
 また、実施例3において、ノード10は、図25に示すように、ルーティングテーブル部21に『成功係数』を記憶する。具体的には、ルーティングテーブル部21は、パケット送受信部35によってデータACKが受信された際に、パケット送受信部35によって、『成功係数』を格納されたり、『評価値』を更新されたりする。ここで、『成功係数』は、データ管理テーブル部25の『待ち時刻』に設定された時刻までにデータACKを受信したか否かを示す係数である。実施例3において、『成功係数』は、例えば、『0』~『10』の値を示す。
 実施例3において、パケット送受信部35は、『待ち時刻』に設定された時刻までにデータACKを受信すれば、ルーティングテーブル部21の『成功係数』の値を小さく更新し(例えば、『1』減算する)、更新後の『成功係数』を『評価値』に反映するように更新する。一方、パケット送受信部35は、『待ち時刻』に設定された時刻までにデータACKを受信しなければ、ルーティングテーブル部21の『成功係数』の値を大きく更新し(例えば、『1』加算する)、更新後の『成功係数』を『評価値』に反映するように更新する。
[実施例3におけるノードの処理手順]
 次に、図26および図27を用いて、実施例3におけるノードの処理手順を説明する。図26は、実施例3におけるノードの処理手順(全体)を説明するための図である。図27は、実施例3におけるデータ管理テーブル更新処理を示すフローチャートである。
 実施例3におけるノード10は、図26に示すように、パケット送受信部35において、データパケットを送信する際に、ルーティングテーブル部21を参照し、経路を選択する。次に、パケット送受信部35は、データ管理テーブル部25に、送信するデータパケットの送信履歴を管理するレコードを追加し、データパケットを送信する。この時、パケット送受信部35は、データACKの『待ち時刻』をデータ管理テーブル部25に設定している。
 そして、パケット送受信部35は、データパケットの送信とは非同期に動作するクロックから特定間隔でクロックイベントを受信し、そのタイミングから計算される現在時刻と、データ管理テーブル部25に設定した『待ち時刻』とを比較する。パケット送受信部35は、『待ち時刻』までにデータACKを受信しない場合に、データパケットを再送信する。すなわち、パケット送受信部35は、図26に示すように、ルーティングテーブル部21を更新し、更新後のルーティングテーブル部21に基づいて新たに経路を選択し、データパケットを再送信する。
 続いて、パケット送受信部35は、データACKを『待ち時刻』までに受信すると、データ管理テーブル部25を更新し(レコードを削除)、ルーティングテーブル部21を更新する。
 次に、図27を用いて、パケット送受信部35によるデータ管理テーブル更新処理を説明する。まず、パケット送受信部35は、実データ(データパケット)を送信する要求を自ノード10から受け付けているか、あるいは、隣接するノード10から中継するデータパケットを受信しているか否かを判定する(ステップS501)。送信要求を受け付けていない、あるいは、中継するデータパケットを受信していない場合には(ステップS501否定)、パケット送受信部35は、送信要求等を待機する。
 一方、送信要求を受け付けた、あるいは、中継するデータパケットを受信した場合には(ステップS501肯定)、パケット送受信部35は、ルーティングテーブル部21を参照し、データパケットの宛先となるノード10を宛先とするレコードの内、1~3位のフラグを設定した3つのレコードを抽出する(ステップS502)。ここでは、全てのレコードを抽出するのではなく、上位3つのレコードに限定する手法を例示する。
 続いて、パケット送受信部35は、抽出した3つのレコードについて、データ管理テーブル部25に、送信履歴レコードを追加する(ステップS503)。そして、パケット送受信部35は、データ管理用の『ID』を設定し、データパケットの宛先を『宛先』に設定し(ステップS504)、データACKの『待ち時刻』を設定する(ステップS505)。そして、パケット送受信部35は、データパケットを送信する(ステップS506)。
 その後、パケット送受信部35は、宛先ノードからのデータACKを、データ管理テーブル部25に設定した『待ち時刻』までに受信したか否かを判定する(ステップS507)。受信していない場合には(ステップS507否定)、パケット送受信部35は、ルーティングテーブル部25の『成功係数』を更新し(ステップS511)、ルーティングテーブル部25の『評価値』を更新し、さらに、『順位』を更新する(ステップS512)。例えば、パケット送受信部35は、ルーティングテーブル部25の『成功係数』を、『7』から『8』に更新し、『評価値』を、『57』から『58』に更新する。
 そして、パケット送受信部35は、ステップS502の処理に戻る。すなわち、パケット送受信部35は、更新されたルーティングテーブル部21を再び参照し、1~3位のフラグを設定した3つのレコードを抽出する(ステップS502)。更新前のルーティングテーブル部21と比較して、1~3位のフラグを設定したレコードに変化があれば、パケット送受信部35は、実際にデータパケットを送信した際に取得した経路の品質情報に基づいて、改めて経路を選択し直すことができる。
 一方、『待ち時刻』までに受信した場合には(ステップS507肯定)、パケット送受信部35は、データ管理テーブル部25から対象レコードを削除する(ステップS508)。そして、パケット送受信部35は、ルーティングテーブル部25の『成功係数』を更新し(ステップS509)、ルーティングテーブル部25の『評価値』を更新し、さらに、『順位』を更新する(ステップS510)。
[実施例3の効果]
 上記してきたように、実施例3において、ノード各々は、受信した経路情報と、取得した品質情報(評価値)との対応関係をルーティングテーブル部に記憶している。また、ノード各々は、隣接ノードに対してパケットを送信した場合に、もしくは、隣接ノードから受信したパケットを中継した場合に、応答パケットの受信状況に基づいて、選択した経路の品質情報を算出する。そして、ノード各々は、算出した品質情報をルーティングテーブル部に記憶されている品質情報と置換する。そして、ノード各々は、複数受信された経路情報各々についてルーティングテーブル部にて記憶されている品質情報各々(置換後の品質情報)を比較することで、経路情報を選択する。
 このようなことから、実施例3によれば、ノード各々は、実際にデータパケットを送信した際に取得した経路の品質情報に基づいて、経路の品質を評価し直したり、改めて経路を選択し直すことが可能になる。
[他の実施例]
 さて、これまで本発明の実施例1~実施例3について説明してきたが、本発明は、上記した実施例以外にも、種々の異なる形態にて実施されてよいものである。
[オンデマンド方式]
 上記した実施例1~実施例3は、本発明に係る経路情報中継方法を、経路制御がルーティングテーブル方式で行われる場合に適用することを想定したものである。しかしながら、本発明はこれに限られるものではない。本発明に係る経路情報中継方法を、経路制御がオンデマンド方式で行われる場合や、ハイブリッド方式(ルーティングテーブル方式とオンデマンド方式との混合方式)で行われる場合にも、同様に適用することができる。言い換えると、本発明は、ノード各々が経路情報を中継する方式であれば、経路制御がいずれの方式で行われる場合であったとしても、適用することができる。
[複数ノードの経路情報]
 上記した実施例1~実施例3は、ノード『a』を宛先とする経路情報のみが複数受信されている事例を説明してきたが、本発明はこれに限られるものではない。ノード各々は、宛先となるノードが同一である経路情報が複数のノード各々について複数受信されている場合には、複数のノード各々について経路情報各々を選択し、選択した経路情報各々をまとめて中継してもよい。例えば、ノード『x』が、所定の周期ごとに判定した際、ノード『a』を宛先とする複数の経路情報の他に、ノード『b』を宛先とする複数の経路情報、ノード『c』を宛先とする複数の経路情報を受信していたとする(図2を参照)。この時、ノード『x』は、ノード『a』について選択した最高品質の経路情報と、ノード『b』について選択した最高品質の経路情報と、ノード『c』について選択した最高品質の経路情報とを、まとめて中継してもよい。このように、複数のノードに関する経路情報をまとめて中継する手法は、ノードに関する経路情報を個別に中継する手法に比較して、経路制御のための通信量をさらに削減することが可能になる。
[システム構成等]
 上記文書中や図面中で示した処理手順(図16~19、図22、図27など)、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示(例えば、図3、図23など)の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
 なお、本実施例で説明した経路制御方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
 10 ノード
 11 通信部
 20 記憶部
 21 ルーティングテーブル部
 22 リンクテーブル部
 23 周期テーブル部
 24 ワークテーブル部
 25 データ管理テーブル部
 30 制御部
 31 経路情報受信部
 32 リンクテーブル更新部
 33 ルーティングテーブル更新部
 34 経路情報送信部
 35 パケット送受信部

Claims (5)

  1.  宛先となる無線端末にパケットを送信する際の経路を示す経路情報に基づいて無線端末各々がパケットを中継する場合に、当該無線端末各々が当該経路情報を中継する経路情報中継方法であって、
     無線端末各々が、
     自端末と相互に接続する無線端末から前記経路情報を受信する経路情報受信工程と、
     前記経路情報受信工程によって受信された経路情報について、当該経路情報で示される経路の品質を示す品質情報を取得する品質情報取得工程と、
     前記経路情報受信工程によって受信された経路情報について、パケットの宛先となる無線端末が同一である経路情報が複数受信されているか否かを、所定の周期ごとに判定する判定工程と、
     前記判定工程によって判定された結果、宛先となる無線端末が同一である経路情報が複数受信されている場合には、複数受信された当該経路情報各々について前記品質情報取得工程によって取得された品質情報各々を比較し、比較の結果最も高い品質であることを示す品質情報に対応する経路情報を選択する選択工程と、
     前記選択工程によって選択された経路情報を、自端末と相互に接続する無線端末の内、前記経路情報受信工程によって受信された経路情報を送信した無線端末以外の無線端末に対して中継する中継工程と、
     を含んだことを特徴とする経路情報中継方法。
  2.  前記選択工程は、前記判定工程によって判定された結果、宛先となる無線端末が同一である経路情報が複数の無線端末各々について複数受信されている場合には、当該複数の無線端末各々について経路情報各々を選択し、
     前記中継工程は、前記選択工程によって選択された経路情報各々をまとめて中継することを特徴とする請求項1に記載の経路情報中継方法。
  3.  前記無線端末各々は、前記経路情報受信工程によって受信された経路情報と、当該経路情報が前記中継工程によって中継された際の品質情報との対応関係を記憶する品質情報記憶部を備えるものであって、
     前記中継工程は、前記選択工程によって選択された経路情報を用いて前記品質情報記憶部を検索し、当該品質情報記憶部にて当該経路情報と対応関係にある品質情報と、前記選択工程によって経路情報が選択された際の品質情報とを比較し、当該品質情報各々によって示される品質各々の差が所定の閾値以上になったことを条件として、前記選択工程によって選択された経路情報を中継することを特徴とする請求項1または2に記載の経路情報中継方法。
  4.  前記無線端末各々は、前記経路情報受信工程によって受信された経路情報と、前記品質情報取得工程によって取得された品質情報との対応関係を記憶する経路情報記憶部を備えるものであって、
     自端末と相互に接続する無線端末に対してパケットを送信した場合に、もしくは、自端末と相互に接続する無線端末から受信したパケットを、自端末と相互に接続する無線端末に対して中継した場合に、当該パケットに対する応答パケットの受信状況に基づいて、パケットの送信もしくは中継に選択した経路の品質情報を算出し、算出した当該品質情報を前記経路情報記憶部に記憶されている品質情報と置換する品質情報置換工程をさらに含み、
     前記選択工程は、前記複数受信された経路情報各々について前記経路情報記憶部にて記憶されている品質情報各々を比較することで、経路情報を選択することを特徴とする請求項1に記載の経路情報中継方法。
  5.  宛先となる無線端末にパケットを送信する際の経路を示す経路情報に基づいて無線端末各々がパケットを中継する場合に、当該経路情報を中継する無線端末であって、
     自端末と相互に接続する無線端末から前記経路情報を受信する経路情報受信手段と、
     前記経路情報受信手段によって受信された経路情報について、当該経路情報で示される経路の品質を示す品質情報を取得する品質情報取得手段と、
     前記経路情報受信手段によって受信された経路情報について、パケットの宛先となる無線端末が同一である経路情報が複数受信されているか否かを、所定の周期ごとに判定する判定手段と、
     前記判定手段によって判定された結果、宛先となる無線端末が同一である経路情報が複数受信されている場合には、複数受信された当該経路情報各々について前記品質情報取得手段によって取得された品質情報各々を比較し、比較の結果最も高い品質であることを示す品質情報に対応する経路情報を選択する選択手段と、
     前記選択手段によって選択された経路情報を、自端末と相互に接続する無線端末の内、前記経路情報受信手段によって受信された経路情報を送信した無線端末以外の無線端末に対して中継する中継手段と、
     を備えたことを特徴とする無線端末。
PCT/JP2009/058024 2008-04-22 2009-04-22 経路情報中継方法および無線端末 WO2009131160A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP09735806.3A EP2273822B1 (en) 2008-04-22 2009-04-22 Route information relay method and wireless terminal
CN200980114244.XA CN102017716B (zh) 2008-04-22 2009-04-22 路径信息中继方法以及无线终端
US12/926,031 US9210647B2 (en) 2008-04-22 2010-10-21 Route information relay method and wireless terminal

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008111777A JP4941397B2 (ja) 2008-04-22 2008-04-22 経路情報中継方法および無線端末
JP2008-111777 2008-04-22

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/926,031 Continuation US9210647B2 (en) 2008-04-22 2010-10-21 Route information relay method and wireless terminal

Publications (1)

Publication Number Publication Date
WO2009131160A1 true WO2009131160A1 (ja) 2009-10-29

Family

ID=41216889

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/058024 WO2009131160A1 (ja) 2008-04-22 2009-04-22 経路情報中継方法および無線端末

Country Status (6)

Country Link
US (1) US9210647B2 (ja)
EP (1) EP2273822B1 (ja)
JP (1) JP4941397B2 (ja)
KR (1) KR101174579B1 (ja)
CN (1) CN102017716B (ja)
WO (1) WO2009131160A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011114424A (ja) * 2009-11-25 2011-06-09 Mega Chips Corp 通信システムおよび通信装置

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5464278B2 (ja) 2010-11-29 2014-04-09 富士通株式会社 無線通信装置および無線ネットワークにおける経路決定方法
WO2012131960A1 (ja) * 2011-03-30 2012-10-04 富士通株式会社 通信装置、経路探索方法および経路探索プログラム
WO2012132013A1 (ja) * 2011-03-31 2012-10-04 富士通株式会社 ノード、リンク形成方法およびリンク形成プログラム
US9736045B2 (en) 2011-09-16 2017-08-15 Qualcomm Incorporated Systems and methods for network quality estimation, connectivity detection, and load management
US20130083674A1 (en) * 2011-09-29 2013-04-04 Robert Bosch Gmbh Methods for robust wireless communication for nodes located in vehicles
WO2013059990A1 (zh) * 2011-10-25 2013-05-02 中兴通讯股份有限公司 一种中继路径选择方法及系统
JP5939262B2 (ja) 2011-12-12 2016-06-22 富士通株式会社 送信制御方法、ノードおよび送信制御プログラム
JP5594789B2 (ja) * 2012-03-02 2014-09-24 Necアクセステクニカ株式会社 無線通信装置、無線通信システム、無線通信方法および無線通信プログラム
GB2500648B (en) * 2012-03-28 2014-06-25 Toshiba Res Europ Ltd Wireless communication methods and apparatus
JP6036841B2 (ja) * 2012-10-31 2016-11-30 富士通株式会社 通信制御方法、ネットワークシステム、および通信装置
JP5994589B2 (ja) * 2012-11-14 2016-09-21 富士通株式会社 光伝送システムおよびノード装置
JP6016646B2 (ja) * 2013-01-15 2016-10-26 三菱電機株式会社 ノード
US9668196B2 (en) * 2013-01-29 2017-05-30 Cooper Technologies Company Network administrator interface systems and methods for monitoring industrial wireless, self-organizing mesh communication networks
WO2014147826A1 (ja) 2013-03-22 2014-09-25 富士通株式会社 無線端末、代替経路数生成方法
ES2594610T3 (es) * 2013-04-26 2016-12-21 Airbus Defence And Space Limited Enrutamiento de datos dentro de una red de comunicaciones
JP6237770B2 (ja) 2013-05-31 2017-11-29 富士通株式会社 無線端末、重要度生成方法及び無線通信システム
JP5913209B2 (ja) * 2013-06-18 2016-04-27 大井電気株式会社 経路制御装置、センサノードネットワークシステム及びプログラム
JP6265689B2 (ja) * 2013-11-06 2018-01-24 関西電力株式会社 通信装置、無線ネットワークシステム、無線ネットワーク制御方法、及び、無線ネットワーク制御プログラム
JP6171868B2 (ja) * 2013-11-11 2017-08-02 富士通株式会社 ノード装置、経路入れ替え方法、及び、プログラム
US10015720B2 (en) 2014-03-14 2018-07-03 GoTenna, Inc. System and method for digital communication between computing devices
US10810806B2 (en) * 2017-03-13 2020-10-20 Renovo Motors, Inc. Systems and methods for processing vehicle sensor data
EP3831021A1 (en) 2018-07-27 2021-06-09 Gotenna Inc. VINEtm ZERO-CONTROL ROUTING USING DATA PACKET INSPECTION FOR WIRELESS MESH NETWORKS
CN110581804B (zh) * 2019-08-09 2021-05-11 睿魔智能科技(深圳)有限公司 异构链路数据转译和分发方法、系统、设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003152786A (ja) 2001-11-15 2003-05-23 Nec Corp 無線端末
JP2006279660A (ja) * 2005-03-30 2006-10-12 Sanyo Electric Co Ltd 通信方法ならびにそれを利用した無線装置および通信システム
JP2007129542A (ja) 2005-11-04 2007-05-24 Sony Corp 無線通信システム、無線通信装置及び無線通信方法、並びにコンピュータ・プログラム
JP2007288259A (ja) * 2006-04-12 2007-11-01 Sharp Corp アドホック機能付き携帯端末

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1258109B1 (en) * 2000-02-23 2008-06-25 Microsoft Corporation Quality of service over paths having a wireless-link
JP2003078530A (ja) * 2001-08-30 2003-03-14 Matsushita Electric Ind Co Ltd 無線通信システム
WO2004114690A1 (en) * 2003-06-05 2004-12-29 Meshnetworks, Inc. Optimal routing in ad hac wireless communication network
JP2005303827A (ja) * 2004-04-14 2005-10-27 Ntt Docomo Inc 無線基地局、通信経路制御方法およびパケット転送方法
FR2878674A1 (fr) * 2004-12-01 2006-06-02 France Telecom Procede et systeme d'adaptation dynamique de metrique de qualite de service dans un reseau ad hoc
WO2006098723A1 (en) * 2005-03-10 2006-09-21 Thomson Licensing Hybrid mesh routing protocol
KR101183342B1 (ko) * 2005-11-09 2012-09-14 톰슨 라이센싱 무선 네트워크에서의 경로 선택

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003152786A (ja) 2001-11-15 2003-05-23 Nec Corp 無線端末
JP2006279660A (ja) * 2005-03-30 2006-10-12 Sanyo Electric Co Ltd 通信方法ならびにそれを利用した無線装置および通信システム
JP2007129542A (ja) 2005-11-04 2007-05-24 Sony Corp 無線通信システム、無線通信装置及び無線通信方法、並びにコンピュータ・プログラム
JP2007288259A (ja) * 2006-04-12 2007-11-01 Sharp Corp アドホック機能付き携帯端末

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011114424A (ja) * 2009-11-25 2011-06-09 Mega Chips Corp 通信システムおよび通信装置

Also Published As

Publication number Publication date
US20110038274A1 (en) 2011-02-17
EP2273822A1 (en) 2011-01-12
CN102017716A (zh) 2011-04-13
US9210647B2 (en) 2015-12-08
EP2273822B1 (en) 2018-11-21
JP4941397B2 (ja) 2012-05-30
JP2009267532A (ja) 2009-11-12
KR101174579B1 (ko) 2012-08-16
EP2273822A4 (en) 2014-10-22
KR20100137541A (ko) 2010-12-30
CN102017716B (zh) 2014-06-11

Similar Documents

Publication Publication Date Title
JP4941397B2 (ja) 経路情報中継方法および無線端末
JP4569328B2 (ja) 無線通信装置および経路探索方法
US8774051B2 (en) Path notification
US9768917B2 (en) Communication control method, network system, and communication device
US7813309B2 (en) Radio multi-hop network, node, multicast route control method, and program thereof
JP4708111B2 (ja) アドホック・ネットワーク・システムおよびそのノード装置
JP2006270914A (ja) センサ端末、センサ端末の制御方法
JP4720794B2 (ja) マルチホップ通信ネットワークにおける隣接ノード確認方法、マルチホップ通信ネットワークのノード
JP5036602B2 (ja) 無線アドホック端末およびアドホック・ネットワーク・システム
EP2375656A1 (en) Wireless communication apparatus and data relay method
US20110249612A1 (en) Wireless communication system preventing traffic from being relayed concentratively onto a specific node
US20120163233A1 (en) Method for transmitting routing information and routing apparatus in wireless network
EP3391683B1 (en) Method for managing a neighbor table and communication apparatus configured for managing a neighbor table
JP4193678B2 (ja) 通信端末および通信ネットワーク
CN104104605A (zh) 下行路由获取及维护方法和装置
JP2007318497A (ja) 無線アクセス制御装置及び方法、無線装置、および、ネットワーク
Gruber et al. Ad hoc routing for cellular coverage extension
JP4218499B2 (ja) 無線端末装置、及びプログラム
KR101062317B1 (ko) Olsr 프로토콜에서 데이터의 효율적인 전송을 위한 멀티포인트 릴레이 이동 단말 선정 방법
KR101223054B1 (ko) 멀티포인트 릴레이 후보 단말 선정 방법
JP4687292B2 (ja) 通信装置及びネットワーク内で不要な無線リンクの切断方法
JP4385926B2 (ja) 無線通信システム
KR101510902B1 (ko) 무선 네트워크에서의 라우팅 정보 전송방법
Preshiya et al. Data Delivery Predictability in Intermittently connected MANETs
Siomina et al. Managing a broadcast infrastructure in ad hoc networks in presence of mobility: A new algorithmic framework

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200980114244.X

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09735806

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2009735806

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 20107023708

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE