WO2017145390A1 - データ転送プログラム、データ転送装置およびデータ転送方法 - Google Patents

データ転送プログラム、データ転送装置およびデータ転送方法 Download PDF

Info

Publication number
WO2017145390A1
WO2017145390A1 PCT/JP2016/055936 JP2016055936W WO2017145390A1 WO 2017145390 A1 WO2017145390 A1 WO 2017145390A1 JP 2016055936 W JP2016055936 W JP 2016055936W WO 2017145390 A1 WO2017145390 A1 WO 2017145390A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
identification information
data
destination
received
Prior art date
Application number
PCT/JP2016/055936
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 PCT/JP2016/055936 priority Critical patent/WO2017145390A1/ja
Priority to TW106101009A priority patent/TW201731318A/zh
Publication of WO2017145390A1 publication Critical patent/WO2017145390A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • 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

Definitions

  • the present invention relates to a data transfer program, a data transfer device, and a data transfer method.
  • the above-described conventional technique has a problem that, for example, when the history information of the transit node is added to the transferred data, the data amount of the transferred data increases.
  • an object of the present invention is to provide a data transfer program, a data transfer apparatus, and a data transfer method capable of changing a transfer destination according to a network situation.
  • an object of the present invention is to provide a data transfer program, a data transfer apparatus, and a data transfer method capable of reducing the amount of data to be transferred.
  • data including identification information of a destination node is received, and the received data is data that has passed through its own node.
  • the destination node included in the received data by adding the identification information of the own node and referring to the storage unit that stores the identification information of the data transmission destination node in correspondence with the priority according to the identification information of the destination node.
  • the destination node corresponding to the identification information is selected based on the priority associated with the destination node, and the identification information of the own node is added to the selected destination node. It is determined whether or not the identification information of the own node is included in the transmitted and received data.
  • the own node included in the received data Identify the identification information of the node added next to the identification information, and associate it with the identified identification information of the destination node among the identification information of the destination node corresponding to the identification information of the destination node included in the received data
  • a data transfer program, a data transfer apparatus, and a data transfer method for updating the priority stored in the storage unit are proposed.
  • receiving data including identification information of a destination node adding identification information of the own node indicating that the data has passed through the own node to the received data
  • the identification information of the node referring to the storage unit that stores the identification information of the destination node of the data in association with the priority, the destination node corresponding to the identification information of the destination node included in the received data
  • One of the destination nodes is selected based on the associated priority, and data including identification information of the own node is transmitted to the selected destination node, and the own node is transmitted to the received data. If the identification information of the own node is included, the identification information of the node added next to the identification information of the own node included in the received data is determined.
  • Identify other information and select the node corresponding to the identified identification information as one of the destination nodes from the identification information of the destination node corresponding to the identification information of the destination node included in the received data A data transfer program, a data transfer device, and a data transfer method that suppress this are proposed.
  • receiving data including identification information of a destination node adding identification information of the own node indicating that the data has passed through the own node to the received data
  • the identification information of the node referring to the storage unit that stores the identification information of the destination node of the data in association with the priority, the destination node corresponding to the identification information of the destination node included in the received data
  • One of the destination nodes is selected based on the associated priority, and data including identification information of the own node is transmitted to the selected destination node, and the own node is transmitted to the received data. If the identification information of the own node is included, the identification information of the node added next to the identification information of the own node included in the received data is determined.
  • the received data when data is received and the received data includes identification information of the other node indicating that the data has passed through another node,
  • the information indicating the range of the part common to the identification information of the other node in the identification information and the part different from the identification information of the other node in the identification information of the own node indicate that the data has passed through the own node.
  • a data transfer program, a data transfer apparatus, and a data transfer method are proposed that are added as node identification information and transmit data to which the identification information of the own node is added to a destination node.
  • a transfer destination can be changed according to a network situation.
  • FIG. 1 is a diagram illustrating an example of loop detection in the data transfer system according to the first embodiment.
  • FIG. 2 is a diagram illustrating an example of pause detection in the data transfer system according to the first embodiment.
  • FIG. 3 is a diagram of an example of the data transfer apparatus according to the first embodiment.
  • FIG. 4 is a diagram of an example of a hardware configuration of the data transfer apparatus according to the first embodiment.
  • FIG. 5 is a diagram illustrating an example of a routing table in the data transfer apparatus according to the first embodiment.
  • FIG. 6 is a flowchart of an example of processing performed by the data transfer apparatus according to the first embodiment.
  • FIG. 7 is a diagram (part 1) illustrating an example of a reduction in the information amount of the route header by the data transfer apparatus according to the second embodiment.
  • FIG. 8 is a diagram (part 2) illustrating an example of a reduction in the information amount of the path header by the data transfer apparatus according to the second embodiment.
  • FIG. 9 is a diagram of an example of a route header according to the second embodiment.
  • FIG. 10 is a diagram illustrating an example of a history header of a route header according to the second embodiment.
  • FIG. 11 is a diagram of an example of a route header history list according to the first embodiment.
  • FIG. 12 is a diagram illustrating an example of adding a history list to a path header by the data transfer apparatus according to the second embodiment.
  • FIG. 13 is a diagram illustrating an example of deletion of a route header history list by the data transfer apparatus according to the second embodiment.
  • FIG. 14 is a flowchart of an example of history list addition processing by the data transfer apparatus according to the second embodiment.
  • FIG. 15 is a diagram of an example of the data transfer apparatus according to the third embodiment.
  • FIG. 1 is a diagram illustrating an example of loop detection in the data transfer system according to the first embodiment.
  • the data transfer system 100 according to the first embodiment includes nodes 101 to 108, for example.
  • the data transfer system 100 is a wireless ad hoc network that transfers data by wireless communication between nodes in the nodes 101 to 108, for example.
  • a case where data transfer by unicast in which data is transmitted by designating a single transmission partner in wireless communication between nodes will be described.
  • Each of the nodes 101 to 108 has a routing table (route information).
  • the routing table is information indicating candidates for the transmission destination (LD: Local destination) of the own node for each data destination (GD: Global destination).
  • the data destination is, for example, the final destination of data.
  • Each of the nodes 101 to 108 selects a destination of data received from another node based on the destination of the received data and the routing table. Each of the nodes 101 to 108 transfers the received data to the selected transmission destination. Assume that the addresses (identification information) of the nodes 101 to 108 are A to H, respectively.
  • the first transmission source (GS: Global Source) is the node 101, and data is transferred in the order of the node 101, the node 102, the node 103, the node 104, the node 105, the node 106, and the node 103.
  • the case will be described. That is, in the example illustrated in FIG. 1, a case where a loop in which data passing through the node 103 circulates and returns to the node 103 occurs will be described.
  • the unicast frame 111 is data transmitted from the first transmission source node 101 to the node 102.
  • the unicast frame 111 includes a data header / global control header 121 (A / FID) and a data area 122 (Data).
  • the data header / global control header 121 is an area indicating the address (A) of the node 101 that is the first transmission source of the unicast frame 111 and the FID (Frame ID) that is the identifier of the unicast frame 111.
  • the data area 122 is an area including data to be transferred by the unicast frame 111 (for example, user data and control data).
  • the unicast frame 112 is data transmitted from the node 102 to the node 103.
  • the unicast frame 112 includes the same data header / global control header 121 (A / FID) and data area 122 as the unicast frame 111, and a path header 123 added by the node 102.
  • the path header 123 in the unicast frame 112 indicates the address (B) of the node 102 that is the transmission source (LS: Local Source) of the unicast frame 112. That is, the node 102 transmits to the node 103 a unicast frame 112 in which the address (B) of its own node is added as the path header 123 to the unicast frame 111 received from the node 101.
  • the unicast frame 113 is data transmitted from the node 103 to the node 104.
  • the unicast frame 113 includes the same data header / global control header 121 (A / FID) and data area 122 as the unicast frame 112, and a path header 123 updated by the node 103.
  • the route header 123 in the unicast frame 113 includes the address (B) included in the route header 123 of the unicast frame 112, the address (C) of the node 103 that is the transmission source (LS) of the unicast frame 113, and Indicates. That is, the node 103 transmits to the node 104 a unicast frame 113 in which the address (C) of its own node is added to the path header 123 of the unicast frame 112 received from the node 102.
  • the unicast frame 114 is data transmitted from the node 104 to the node 105.
  • the unicast frame 114 includes the same data header / global control header 121 (A / FID) and data area 122 as the unicast frame 113, and a path header 123 updated by the node 104.
  • the path header 123 in the unicast frame 114 includes the address (B, C) included in the path header 123 of the unicast frame 113 and the address (D) of the node 104 that is the transmission source (LS) of the unicast frame 114.
  • the node 104 transmits to the node 105 a unicast frame 114 in which the address (D) of its own node is added to the path header 123 of the unicast frame 113 received from the node 103.
  • the unicast frame 115 is data transmitted from the node 105 to the node 106.
  • the unicast frame 115 includes the same data header / global control header 121 (A / FID) and data area 122 as the unicast frame 114, and a path header 123 updated by the node 105.
  • the path header 123 in the unicast frame 115 includes the addresses (B to D) included in the path header 123 of the unicast frame 114 and the address (E) of the node 105 that is the transmission source (LS) of the unicast frame 115.
  • the node 105 transmits to the node 106 a unicast frame 115 in which the address (E) of its own node is added to the path header 123 of the unicast frame 114 received from the node 104.
  • the unicast frame 116 is data transmitted from the node 106 to the node 103.
  • the unicast frame 116 includes the same data header / global control header 121 (A / FID) and data area 122 as the unicast frame 115, and a path header 123 updated by the node 106.
  • the path header 123 in the unicast frame 116 includes the addresses (B to E) included in the path header 123 of the unicast frame 115 and the address (F) of the node 106 that is the transmission source (LS) of the unicast frame 116.
  • the node 106 transmits to the node 103 a unicast frame 116 in which the address (F) of its own node is added to the path header 123 of the unicast frame 115 received from the node 105.
  • each of the unicast frames 111 to 116 may further include a header for performing transfer between nodes.
  • the header for performing transfer between nodes includes, for example, an address of a transmission source (LS) of radio transmission of a unicast frame and an address of a transmission destination (LD) of radio transmission of a unicast frame.
  • LS transmission source
  • LD transmission destination
  • a MAC (Media Access Control) header can be used as an example.
  • Each of the unicast frames 111 to 116 includes a common GD address indicating a data destination. That is, the node 101 stores the GD address (for example, address (Z)) indicating the final transmission destination (destination) of the data in the data area 122 in the unicast frame 111.
  • the GD address for example, address (Z)
  • the route header 123 of the unicast frames 112 to 116 is referred to in order to select the next transmission destination node in the loop shown in FIG. 1 and the pause detection shown in FIG. That is, the nodes 101 to 108 can identify the node through which the received unicast frame has passed by referring to the path header 123 of the received unicast frame and using it as history information.
  • the route header 123 is referred to when the received data includes the route header 123.
  • the address of the own node is included in the route header 123 referred to by the nodes 101 to 108, it can be determined that the data transferred by the own node has returned to the own node. As such a case, for example, there may be a loop shown in FIG. 1 or a pause described later shown in FIG.
  • each of the nodes 101 to 108 updates the routing table of the own node so as to suppress subsequent loops and pauses when the address of the own node is included in the referred route header 123.
  • each of the nodes 101 to 108 may determine from the route header 123 whether a loop or a pause has occurred, and update the routing table based on the determination result.
  • each of the nodes 101 to 108 compares the LS address of the received unicast frame with the address added after the address of its own node in the route header 123 of the received unicast frame.
  • Each of the nodes 101 to 108 determines that a loop has occurred when the compared addresses do not match, and determines that a pause has occurred when the compared addresses match.
  • the node 103 since the address (C) of the node 103 is included in the path header 123 of the unicast frame 116 received by the node 103, it is determined that the data transferred by the node 103 has returned to the node 103. be able to.
  • the LS address of the unicast frame 116 is the address (F), and the address added next to the address (C) of the node 103 in the path header 123 of the unicast frame 116 is the address (D). Therefore, the node 103 can determine that a loop has occurred.
  • the node 103 updates the routing table of its own node with respect to the node 104 that is the transmission destination when the past data (unicast frame 113) corresponding to the unicast frame 116 is transferred. That is, the node 103 updates its own routing table so as to prevent the node 104 from being selected as a transmission destination node of data having the same GD as the unicast frame 116.
  • the node 103 performs a process of lowering the priority (or increasing the cost) of the node 104 associated as a destination node candidate with respect to the same GD as the unicast frame 116 in the routing table of the own node. .
  • the node 103 performs a process for excluding the node 104 from the candidates for the destination node associated with the same GD as the unicast frame 116 in the routing table of the own node.
  • the method of updating the routing table is not limited to these, and any method may be used as long as it suppresses selection of the node 104 as a transmission destination node, for example.
  • FIG. 2 is a diagram illustrating an example of pause detection in the data transfer system according to the first embodiment.
  • the same parts as those shown in FIG. a case where the first transmission source is the node 101 and data is transferred in the order of the node 101, the node 102, the node 103, the node 104, the node 105, and the node 104 will be described.
  • a pause occurs in which data that has passed through the node 104 is folded back and returned to the node 104.
  • a pause occurs, for example, when there is no transfer destination from the node 105 for data transferred from the node 104 to the node 105 and the node 105 performs backtracking to return the data to the node 104.
  • the unicast frame 215 is data returned from the node 105 to the node 104.
  • the unicast frame 215 includes the same data header / global control header 121 (A / FID) and data area 122 as the unicast frame 114, and a path header 123 updated by the node 105.
  • the path header 123 in the unicast frame 215 includes an address (B to D) included in the path header 123 of the unicast frame 114 and an address (E) of the node 105 that is the transmission source (LS) of the unicast frame 215. And.
  • the node 105 transmits a unicast frame 215 in which the address (E) of its own node is added to the path header 123 of the unicast frame 114 received from the node 104 to the node 104.
  • the node 105 may store backtrack information indicating that backtracking has been performed in the path header 123 of the unicast frame 215.
  • the node 104 since the address (D) of the node 104 is included in the path header 123 of the unicast frame 215 received by the node 104, it is determined that the data transferred by the node 104 has returned to the node 104. be able to.
  • the LS address of the unicast frame 215 is the address (E), and the address added next to the address (D) of the node 104 in the path header 123 of the unicast frame 215 is the address (E). Therefore, the node 104 can determine that a pause has occurred.
  • the node 104 updates the routing table of its own node for the node 105 that is the transmission destination when the past data (unicast frame 114) corresponding to the unicast frame 215 is transferred. That is, the node 103 updates its own routing table so as to prevent the node 105 from being selected as a transmission destination node for data having the same GD as the unicast frame 215.
  • the node 103 performs a process of lowering the priority (or increasing the cost) of the node 105 associated with the same GD as the unicast frame 215 as a destination node candidate in the routing table of the own node. .
  • the node 103 performs processing for excluding the node 105 from the candidates for the destination node associated with the same GD as the unicast frame 215 in the routing table of the own node.
  • the updating method of the routing table is not limited to these, and any method that suppresses the selection of the node 105 as the transmission destination node may be used.
  • each of the nodes 101 to 108 adds its own node identification information indicating that the data has passed through its own node to the route header 123 of the data to be transferred (for example, unicast frame).
  • each of the nodes 101 to 108 suppresses selection of a node to which the identification information is added next to the own node as the transmission destination node when the received data includes the identification information added by the own node. Update the routing table to As a result, when the data transferred in the past by the own node returns to the own node, it is possible to suppress selecting the transmission destination when the own node has transferred the data in the past as the subsequent transmission destination node. Can do. Therefore, the transfer destination can be changed when a network situation changes and a loop or pause occurs.
  • the data transfer system 100 is not limited to such a configuration.
  • the data transfer system 100 may be a network that transfers data by wired communication such as electrical signal communication or optical signal communication between nodes.
  • the data transfer system 100 may be configured to perform data transfer by multicast in which data is transmitted by designating a plurality of transmission partners.
  • FIG. 3 is a diagram of an example of the data transfer apparatus according to the first embodiment.
  • the data transfer apparatus 300 according to the first embodiment includes, for example, a reception unit 310, an addition unit 320, a selection unit 330, a storage unit 331, a transmission unit 340, and a determination unit 350.
  • the specifying unit 360 and the updating unit 370 are provided.
  • the data transfer apparatus 300 can be applied to each of the nodes 101 to 108 shown in FIGS.
  • the receiving unit 310 receives data including the identification information of the destination node, and outputs the received data to the adding unit 320, the determining unit 350, the specifying unit 360, and the updating unit 370.
  • the data received by the receiving unit 310 is, for example, the unicast frame described above.
  • the destination node identification information is, for example, the GS address indicated by the data header / global control header 121 described above.
  • the adding unit 320 adds identification information of the own node indicating that the data has passed through the own node (data transfer device 300) to the data output from the receiving unit 310.
  • the identification information added by the adding unit 320 is the path header 123 described above as an example.
  • the adding unit 320 outputs the data added with the identification information of the own node to the transmitting unit 340.
  • the selection unit 330 refers to the information stored in the storage unit 331.
  • the storage unit 331 stores the identification information of the data transmission destination node in association with the priority according to the identification information of the destination node.
  • the information stored in the storage unit 331 is, for example, the above-described routing table.
  • the identification information of the destination node is the GD described above.
  • the identification information of the transmission destination node is, for example, the LD address described above.
  • the selection unit 330 selects one of the transmission destination nodes corresponding to the identification information of the destination node included in the data output from the reception unit 310, based on the priority associated with the storage unit 331. To select. Then, the selection unit 330 notifies the transmission unit 340 of the selected transmission destination node. For example, the selection unit 330 notifies the transmission unit 340 of identification information of the selected transmission destination node.
  • the transmission unit 340 transmits the data output from the addition unit 320 to the transmission destination node notified from the selection unit 330.
  • the transmission unit 340 sets the identification information of the transmission destination node notified from the selection unit 330 as the identification information of the transmission destination node (for example, LD) of the data output from the addition unit 320, and the transmission destination node The data set with the identification information is sent.
  • the determination unit 350 determines whether the data output from the reception unit 310 includes identification information of the own node indicating that the data has passed through the own node, and notifies the determination unit 360 of the determination result. .
  • the identification information of the own node indicating that the data has passed through the own node is the identification information added by the adding unit 320 described above.
  • the identification unit 360 is added next to the identification information of the own node included in the data output from the receiving unit 310 when the determination result that the identification information of the own node is included is notified from the determination unit 350. Identify node identification information.
  • the node specified by the specifying unit 360 is a transmission destination node when the node forwards the data output from the receiving unit 310 in the past.
  • the specifying unit 360 notifies the update unit 370 of identification information of the specified node.
  • the update unit 370 updates the information stored in the storage unit 331 (for example, a routing table), thereby suppressing the own node from selecting the same transfer destination as the past for data in which a loop or pause has occurred. It is a suppression part. That is, in the update unit 370, the node that has received the identification information from the specifying unit 360 is selected by the selection unit 330 among the transmission destination nodes corresponding to the identification information of the destination node included in the data output from the reception unit 310. The storage unit 331 is updated so as to suppress this. For example, the update unit 370 associates the node identification information notified from the specifying unit 360 with the destination node identification information corresponding to the destination node identification information included in the data output from the reception unit 310. The priority stored in the storage unit 331 is updated.
  • the storage unit 331 for example, a routing table
  • the data transfer device 300 adds identification information of the own node indicating that the data has passed through the own node to the data to be transferred.
  • the data transfer apparatus 300 suppresses selecting the node to which the identification information is added next to the own node as the transmission destination node. Update the routing table.
  • the identifying unit 360 identifies the identification information of the node added next to the identification information of the own node, and the identification information of the node added last included in the data output from the receiving unit 310 is It may be determined whether the identification information of the identified node is the same. And the update part 370 may update the priority mentioned above, when each identification information determines with the identification part 360 being the same. Thereby, for example, with respect to data in which the pause shown in FIG. 2 has occurred, it is possible to suppress the own node from selecting the same transfer destination as in the past.
  • the updating unit 370 may update the above-described priority according to the determination by the specifying unit 360 whether the identification information is the same.
  • the updating unit 370 uses different update methods (for example, different use of Wl and Wp, which will be described later), for example, when the loop shown in FIG. 1 occurs and when the pause shown in FIG. 2 occurs, for example. ) May be used.
  • FIG. 4 is a diagram of an example of a hardware configuration of the data transfer apparatus according to the first embodiment.
  • the data transfer device 300 illustrated in FIG. 3 can be realized by the communication device 400 illustrated in FIG. 4, for example.
  • the communication device 400 is a computer that includes a CPU 401, a memory 402, and a communication interface 403.
  • the CPU 401, the memory 402, and the communication interface 403 are connected by a bus 409. Further, the CPU 401 and the memory 402 may be realized by a microcomputer or the like.
  • the CPU 401 Central Processing Unit controls the entire communication device 400.
  • the memory 402 includes, for example, a main memory and an auxiliary memory.
  • the main memory is, for example, a RAM (Random Access Memory).
  • the main memory is used as a work area for the CPU 401.
  • the auxiliary memory is a non-volatile memory such as a magnetic disk or a flash memory.
  • Various programs for operating the communication device 400 are stored in the auxiliary memory. The program stored in the auxiliary memory is loaded into the main memory and executed by the CPU 401.
  • the communication interface 403 is a communication interface that performs communication with the outside of the communication device 400 (for example, another node), for example, wirelessly.
  • the communication interface 403 is controlled by the CPU 401.
  • the communication interface 403 is not limited to wireless communication, and may be a communication interface that performs communication with the outside of the communication apparatus 400 using a wired electrical signal, an optical signal, or the like.
  • the adding unit 320, the selecting unit 330, the determining unit 350, the specifying unit 360, and the updating unit 370 illustrated in FIG. 3 can be realized by the CPU 401 and the memory 402, for example.
  • the storage unit 331 illustrated in FIG. 3 can be realized by the memory 402, for example.
  • FIG. 5 is a diagram illustrating an example of a routing table in the data transfer apparatus according to the first embodiment.
  • the routing table 500 shown in FIG. 5 shows a routing table in the node 103 (node C) shown in FIGS. 1 and 2 as an example.
  • each GD (destination) is associated with an LD that is a candidate for a destination node of the own node. Furthermore, in the routing table 500, for each LD, the cost and arrival weight related to this LD are associated.
  • the cost is a cost when the corresponding LD is selected as the transmission destination node, and is a path weight indicating the priority of the corresponding LD as the transmission destination node. That is, an LD having a lower cost has a lower cost when selected, and becomes an LD to be preferentially selected as a transmission destination node.
  • the cost is calculated based on measurement results of radio quality such as reception quality between nodes, the number of retransmissions, and an error rate measured using a hello packet, and various parameters such as the number of hops required until GD.
  • the arrival weight is a parameter for preventing the corresponding LD from being selected as a transmission destination node. For example, an LD with a higher arrival weight is less likely to be selected as a destination node. For example, when the loop shown in FIG. 1 or the pause shown in FIG. 2 is detected, the arrival weight is less likely to select the transmission destination LD as the transmission destination node when the node forwards the corresponding data in the past. Is set to be
  • the update unit 370 of the data transfer device 300 adds Wl (> 0) to the arrival weight corresponding to the transmission destination LD when the node has transferred data in which a loop is detected in the past.
  • the update unit 370 of the data transfer apparatus 300 adds Wp (> 0) to the arrival weight corresponding to the transmission destination LD when the node has transferred the data whose pause is detected in the past.
  • Wl ⁇ Wp Wp
  • the selection unit 330 of the data transfer apparatus 300 selects, for example, an LD corresponding to the GD of the data to be transferred and having the lowest cost among the LDs whose arrival weights do not exceed the threshold value as the transmission destination node. .
  • the selection unit 330 of the data transfer apparatus 300 may use an index value (for example, cost + arrival weight) that decreases as the cost decreases and decreases as the arrival weight decreases for each LD corresponding to the GD of the transfer target data. ) May be calculated.
  • the selection unit 330 selects the LD having the smallest selected index value as the transmission destination node.
  • the selection method of the transmission destination node based on the cost and the arrival weight is not limited to these, and various selection methods can be used.
  • the node of address (Z) is included in GD as GD1, and LD1 to LD4 are associated as candidates for the destination node of node 103 when the address of GD is address (Z). It has been.
  • LD1 to LD4 are a node 104 having an address (D), a node 107 having an address (G), a node 108 having an address (H), and a node 106 having an address (F).
  • the costs C1 to C4 are associated with the LD1 to LD4, respectively.
  • the arrival weights W1 to W4 are associated with the LD1 to LD4 as the arrival weights, respectively.
  • the node 103 detects the occurrence of a loop based on the unicast frame 116 as shown in FIG. 1, the node 103 sends the address 104 to the node 104 having the address (D) as the transmission destination when the unicast frame 111 is transferred. Add Wl to the corresponding W3. Thereby, it is possible to suppress the node 103 from selecting the node 104 as the transmission destination node of the unicast frame 116.
  • the arrival weight W3 exceeds the threshold by adding Wl to the arrival weight W3 corresponding to the node 104.
  • the node 103 does not select the node 104 as a selection destination node, and the LD having the lowest cost because the arrival weight W3 among the LD2 to LD4 does not exceed the threshold is set as the transmission destination of the unicast frame 116. select. Thereby, it is possible to eliminate the loop by changing the data transfer route.
  • the data may loop again and return to the node 103. There is. In this case, the node 104 adds the occurrence of the loop again, and further adds Wl to the arrival weight W3. In this way, by increasing the arrival weight W3 each time a loop occurs, the arrival weight W3 exceeds the threshold at any timing, and the data transfer route can be changed to eliminate the loop.
  • the case of the loop shown in FIG. 1 has been described using the example of the routing table of the node 103, the same applies to the case of the pause shown in FIG.
  • the node 104 when the node 104 detects the occurrence of a pause based on the unicast frame 215, the node 104 adds Wp to the arrival weight of the node 105 in its own routing table. Thereby, the arrival weight of the node 105 in the routing table of the node 104 exceeds the threshold at any timing, and the pause of the pause can be achieved by changing the data transfer route.
  • FIG. 6 is a flowchart of an example of processing performed by the data transfer apparatus according to the first embodiment.
  • the data transfer apparatus 300 executes, for example, each step shown in FIG. First, the data transfer apparatus 300 determines whether or not a unicast frame has been received from another node (step S601), and waits until a unicast frame is received (step S601: No loop). When receiving the unicast frame (step S601: Yes), the data transfer apparatus 300 determines whether or not the address of the own node is included in the route header 123 of the received unicast frame (step S602).
  • step S602 when the address of the own node is not included (step S602: No), the data transfer apparatus 300 proceeds to step S605.
  • step S603 can be performed, for example, by specifying the address added next to the address of the own node in the route header 123.
  • the data transfer device 300 updates the routing table 500 of the own node so as to suppress the selection of the node identified in step S603 as the transmission destination node (step S604).
  • the data transfer device 300 adds the address of the own node as a history list to the route header 123 of the unicast frame received in step S601 (step S605). For example, the data transfer apparatus 300 adds all the bits of the address of its own node to the path header 123 in step S605.
  • the data transfer apparatus 300 selects a transmission destination node of the unicast frame based on the routing table 500 of the own node (step S606).
  • the data transfer apparatus 300 transmits a unicast frame in which the address of the own node is added to the route header 123 in step S605 to the transmission destination node selected in step S606 (step S607), and the process returns to step S601.
  • identification information of the own node indicating that the data has passed through the own node can be added to the data to be transferred. Then, according to the data transfer device 300, when the received data includes the identification information added by the own node, it is possible to suppress selecting the node to which the identification information is added next to the own node as the transmission destination node.
  • the routing table can be updated to
  • the transfer destination can be changed when a network situation changes and a loop or pause occurs.
  • the data arrival rate and efficiency can be improved.
  • the data arrival rate is, for example, a ratio of data reaching the GD among data transmitted from the GS.
  • the arrival efficiency is, for example, a short time required for data transmitted from the GS to reach the GD and a short amount of radio resources.
  • the memory capacity of each node can be reduced.
  • the capacity of the memory 402 shown in FIG. 4 can be reduced.
  • the adding unit 320 when the data output from the receiving unit 310 includes the identification information of other nodes indicating that the data has passed through other nodes, the identification information of the other nodes The identification information of the self-node compressed using is added. That is, the adding unit 320 passes the information indicating the range of the part common to the identification information of the other node in the identification information of the own node and the part different from the identification information of the other node in the identification information of the own node through the own node. It is added as identification information of its own node indicating that it is data.
  • the other node identification information indicating that the data has passed through another node is the identification information (address) of the other node added to the route header 123 by the other node.
  • the information indicating the range of the part common to the identification information of the other node in the identification information of the own node is the upper level in which the address of the own node is common to the address of the other node that has been added to the route header 123. This is information indicating the data length of a bit or lower bits.
  • the information indicating the range of the part common to the identification information of other nodes in the identification information of the own node is not limited to these.
  • the information indicating the range of the part common to the identification information of the other node in the identification information of the own node is the range of the part different from the address of the other node in the address of the own node when the address of the own node is a fixed length. It may be information indicating.
  • the information indicating the range of the part common to the identification information of the other node in the identification information of the own node is information that can specify the range of the part common to the identification information of the other node in the identification information of the own node, and The amount of information is less than the data length of the range itself.
  • FIG. 7 and FIG. 8 are diagrams illustrating an example of a reduction in the information amount of the route header by the data transfer apparatus according to the second embodiment.
  • the nodes 101 to 108 shown in FIG. 1 and the like are communication modules of the same vendor and the addresses A to H are MAC addresses, the upper bits of the addresses A to H are common between the nodes, and the lower bits Is unique among nodes.
  • information L representing the number of bytes from the top to the previous address is stored at the head, and then a variable length and unique address part. Is stored. That is, for the address stored in the path header 123, information L indicating the length of the part common to the previous address is used instead of the part common to the previous address. Thereby, the information amount of the route header 123 can be reduced.
  • FIG. 7 illustrates, as an example, a case where the node 103 adds an address (C) to the route header 123 of the unicast frame 113 illustrated in FIGS. 1 and 2.
  • the node 103 sets the address (C) as L indicating how many bytes from the higher order are the same as the previous address (B), and the lower bit (Addr) different from the previous address (B). Are added to the route header 123.
  • the MAC address 801 illustrated in FIG. 8 is the address (B) of the node 102.
  • the MAC address 801 is assumed to be a 48 [byte] MAC address of a B 0 to a B 47 .
  • the MAC address 802 is the address (C) of the node 103. Assume that the MAC address 802 is a 48 [byte] MAC address of a C 0 to a C 47 .
  • the upper 5 [byte] of the MAC address 801 (40 [bit]) and a B 8 ⁇ a B 47 a, a C 8 ⁇ a which is the upper 5 [byte] of the MAC address 802 (40 [bit]) And C 47 are the same as each other.
  • the lower 1 [byte] of the MAC address 801 (9 [bit]) and a B 0 ⁇ a B 7 is, a C 0 ⁇ a a lower one of the MAC address 802 [byte] (9 [bit ]) And C 7 are different from each other.
  • the history list 803 is information that the node 103 stores in the route header 123 as a history list indicating the address (C) of its own node.
  • the history list 803 includes L indicating 5 [bytes] as the length of the common part of the address and Addr indicating a C 0 to a C 7 which are the lower 1 [byte] (9 [bit]) of the address (C). And including.
  • the address (C) can be obtained by concatenating the upper L byte of the address (B) immediately before the address (C) and the lower bit (Addr) in the node at the subsequent stage.
  • the path when adding the address (C) to the path header 123 is represented by expressing the upper bit common to the previous address (B) of the address (C) by L indicating the length of the upper bit. The data increase amount of the header 123 can be reduced.
  • the maximum data length of the route header 123 is defined, and each node adds the address of its own node after deleting the old address in the route header 123 when the data length of the route header 123 reaches the maximum data length. You may do it. By deleting the old address in the route header 123, the same effect as the case of deleting the old entry in the routing table is obtained. In the node from which the address is deleted, the data including the route header 123 is new data. Determined.
  • FIG. 9 is a diagram of an example of a route header according to the second embodiment.
  • the path header 123 described above includes, for example, a history header 910 and n + 1 history lists 920 to 92n [0 to n] as shown in FIG. n is an integer of ⁇ 1 or more.
  • the history lists 920 to 92n are addresses added each time transfer data is transferred.
  • the route header 123 of the unicast frame 111 includes the history header 910 and does not need to include the history list.
  • information indicating the address (B) of the node 102 of the first hop is added as the first history list 920 of the route header 123.
  • information indicating the address (C) of the second hop node 103 is added as the second history list 921 of the route header 123.
  • information indicating the address of the (n + 1) th hop node is added as the history list 92n of the route header 123.
  • FIG. 10 is a diagram illustrating an example of a history header of a route header according to the second embodiment.
  • the history header 910 illustrated in FIG. 9 is 1 [byte] information including history overflow information 1001 and history number information 1002 as illustrated in FIG. 10, for example.
  • the history overflow information 1001 is 1 [bit] information (b7) indicating the presence / absence of a history overflow (for example, see FIG. 12) described later.
  • Each node may select a destination node based on the history overflow information 1001.
  • the history number information 1002 is 7 [bit] information (b0 to b6) indicating the number of history lists included in the route header 123. In the example shown in FIG. 9, the history number information 1002 indicates n + 1.
  • FIG. 11 is a diagram of an example of a route header history list according to the first embodiment.
  • the history list 92n shown in FIG. 9 will be described, but the same applies to a history list different from the history list 92n among the history lists 921 to 92n.
  • the history list 92n is, for example, 2 to 9 [bytes] information including BT information 1101, offset information 1102, prefix length information 1103, and address 1104 as shown in FIG.
  • BT information 1101 is 1 [bit] information (b7) indicating the presence or absence of a back track (Back Track), which will be described later. For example, when the data transfer apparatus 300 returns the data to the transmission source when there is no data transfer destination from the own node, the data transfer apparatus 300 indicates that the BT information 1101 of the data has a backtrack. Store information.
  • the offset information 1102 is 4 [bit] information (b3 to b6) indicating an offset to the history list having the same prefix (upper common part of the address) as the address indicated by the history list 92n.
  • the prefix length information 1103 is 3 [bit] information (b0 to b2) indicating the data length of a prefix common to the history list indicated by the offset information 1102 at the address indicated by the history list 92n.
  • the address 1104 is information indicating a lower part of the address indicated by the history list 92n excluding a prefix common to the history list indicated by the offset information 1102.
  • the data length of the address 1104 is a data length obtained by excluding the data length of the prefix indicated by the prefix length information 1103 from the total data length of the address indicated by the history list 92n. For example, if the total data length of the address indicated by the history list 92n is 8 [bytes] and the possible range of the prefix data length is 0 to 7 [bytes], the possible range of the data length of the address 1104 Becomes 1 to 8 [bytes].
  • FIG. 12 is a diagram illustrating an example of adding a history list to a path header by the data transfer apparatus according to the second embodiment.
  • a history list 1200 shown in FIG. 12 shows each history list added to the route header 123 of the transfer data by each node (data transfer apparatus 300) that transferred the data.
  • History list numbers 0 to 7 are numbers indicating the history lists in the order of addition to the route header 123.
  • the nodes a to h correspond to, for example, the nodes 101 to 108 shown in FIGS. 1 and 2, and are realized by the data transfer apparatus 300 shown in FIG.
  • the real address of node a is “00: 23: 26: ff: fe: 10: 23: 55”. Since the node a is the first transmission source, the history list including the offset information 1102, the prefix length information 1103, and the address 1104 is not added to the data. However, the node subsequent to the node a can specify the real address of the node a by referring to the data header / global control header 121 described above, for example.
  • the real address of the node b is “00: 23: 26: ff: fe: 10: 23: 56”, and the real address of the previous node a and the upper 7 [bytes] are common. Therefore, the node b sets “1” as the offset information 1102 and sets “7” as the prefix length information 1103 when transferring data from the node a. In addition, the node b sets “56” of the lower 1 [byte] as the address 1104.
  • the real address of the node c is “00: 23: 26: ff: fe: 10: 24: 10”, and the real address of the previous node b and the upper 6 [bytes] are common. Therefore, the node c sets “1” as the offset information 1102 and “6” as the prefix length information 1103 when transferring data from the node b. Further, the node c sets “24:10” of the lower 2 [bytes] as the address 1104.
  • the real address of the node d is “00: 23: 26: ff: fe: 10: 23: 57”, and the real address of the previous node b and the upper 7 [bytes] are common. Therefore, the node d sets “2” as the offset information 1102 and “7” as the prefix length information 1103 when transferring the data from the node c. Further, the node d sets “57” of the lower 1 [byte] as the address 1104.
  • the real address of the node e is “00: 23: 26: ff: fe: 10: 24: 20”, and the real address of the previous node c and the upper 7 [bytes] are common. Therefore, the node e sets “2” as the offset information 1102 and “7” as the prefix length information 1103 when transferring data from the node d. Further, the node e sets “20” of the lower 1 [byte] as the address 1104.
  • the real address of the node f is “55: 44: 33: ff: fe: 22: 11: 00”, and there is no upper common part with the real address of the preceding node. Therefore, when transferring the data received from the node e, the node f sets “0” as the offset information 1102 and the prefix length information 1103 and sets all the real addresses of the node itself as the address 1104.
  • the addition of the history list by the nodes a to f has been described, the same applies to the addition of the history list by the nodes g and h.
  • Each node can be identified by recursively expanding the real address of the node preceding the node itself using the offset information 1102, prefix length information 1103, and address 1104 added by the preceding node. Then, each node identifies the real address of each node preceding the own node, and based on each identified real address, the history of the address of the own node using the offset information 1102, the prefix length information 1103, and the address 1104 Add to list 1200.
  • each node searches a history list of data to be transferred, and detects a history list including addresses that continuously match from the upper byte of the real address.
  • Each node sets the distance between the newest history list and its own list as offset information 1102 in the history list having the largest number of matching bytes. Further, each node sets the number of bytes of the matching part as prefix length information 1103. Then, each node sets only the portion where the real addresses do not match as the address 1104 of the history list. Thereby, the information amount of the route header 123 can be reduced.
  • the first transmission source node does not add the history list indicating the address of the own node to the data
  • the information amount of the route header 123 can be further reduced.
  • the configuration is not limited to this. That is, the node a may be configured to add a history list indicating the address of the own node to the data.
  • FIG. 13 is a diagram illustrating an example of deletion of a route header history list by the data transfer apparatus according to the second embodiment.
  • the node i is a node that transfers data next to the node h shown in FIG. 12, and is realized by the data transfer apparatus 300 shown in FIG. In this case, the node i deletes the history list of the history list 1200 with higher priority as the history list becomes older until the data amount of the history list 1200 becomes equal to or less than the threshold value.
  • the node i modifies the offset information 1102 of the history list of the node g from “5” to “3”, and modifies the prefix length information 1103 of the history list of the node g from “7” to “6”. To do. Further, the node i modifies the prefix length information 1103 of the history list of the node g from “58” to “24:58”.
  • the node i stores, in the history overflow information 1001 (see FIG. 10) in the history header 910 of the data to be transferred, information indicating that the history list 1200 has been deleted because the data amount of the history list 1200 exceeds the threshold. May be.
  • the data transfer device 300 when the data amount of the route header 123 indicating that the data included in the received data has passed through its own node or another node exceeds a predetermined amount, The old history list in the route header 123 may be deleted preferentially. Then, the data transfer device 300 transmits the data from which the old history list has been deleted to the next transfer destination. Thereby, it is possible to avoid an excessive increase in the amount of data in the path header 123 of the data to be transferred, and to improve the efficiency of data transfer.
  • the configuration has been described in which the old history list is deleted when the data amount of the path header 123 exceeds a predetermined amount when the data transfer apparatus 300 receives the data. It is not restricted to a simple configuration.
  • the data transfer apparatus 300 may delete the old history list when the data amount of the route header 123 exceeds a predetermined amount after adding the history list indicating the address of the own node to the route header 123. .
  • the adding unit 320 determines the position in the received data that includes the address of another node having a common part with the address of the own node. Information to be shown may be further added.
  • an address having a common part with the address of the own node can be searched from among addresses of a plurality of other nodes. This increases the probability that there is an address of another node having a common part with the address of the own node, and also increases the probability that the common part of the address of the own node and the other node becomes longer. For this reason, the amount of information of the route header 123 can be further reduced.
  • the information indicating the position where the address of the other node is included is offset information 1102 indicating the number of history lists before the position of the history list of the own node in the examples illustrated in FIGS. It is not restricted to such information.
  • the information indicating the position where the address of another node is included may be information indicating the number of history lists from the top of the transfer data.
  • FIG. 14 is a flowchart of an example of history list addition processing by the data transfer apparatus according to the second embodiment.
  • the data transfer apparatus 300 according to the second embodiment executes the steps illustrated in FIG. 14 as the history list addition processing, for example.
  • the data transfer apparatus 300 acquires the GS real address of the unicast frame received in step S601 and the real address of the path header 123 of the unicast frame received in step S601 received (step S1401). For example, if the path header 123 includes offset information 1102, prefix length information 1103, and address 1104, the data transfer apparatus 300 acquires each address by expanding the actual address based on these information. can do.
  • step S1402 determines whether or not there is an address in which the higher-order bit and the address of the own node are common among the addresses acquired in step S1401 (step S1402). If there is no address having the same high-order bit (step S1402: No), the data transfer apparatus 300 adds all the bits of the address of the own node to the path header 123 (step S1403), and proceeds to step S1406.
  • step S1402 when there is an address with which the upper bits are common (step S1402: Yes), the data transfer apparatus 300 specifies an address having the longest common upper bit among the addresses with the higher bits common (step S1404). ).
  • the data transfer apparatus 300 stores the position of the common address specified in step S1404 in the path header 123, the length of the upper bits common to the address, and the remaining lower bits of the own node in the path header 123. It adds (step S1405).
  • the remaining lower bits of the own node are bits excluding the upper bits of the own node that are in common with the address specified in step S1404 out of all bits of the address of the own node.
  • Information added to the route header 123 in step S1405 is, for example, offset information 1102, prefix length information 1103, and address 1104.
  • the data transfer apparatus 300 determines whether or not the data amount of the route header 123 exceeds a predetermined amount (step S1406). If the data amount of the route header 123 does not exceed the predetermined amount (step S1406: No), the data transfer device 300 ends the series of history list addition processing. When the data amount of the route header 123 exceeds the predetermined amount (step S1406: Yes), the data transfer device 300 deletes the oldest address (history list) of the route header 123 (step S1407).
  • the data transfer apparatus 300 updates the reference relationship of each address remaining in the path header 123 as in the example illustrated in FIG. 13 (step S1408). For example, in step S1408, the data transfer apparatus 300 acquires the GS real address of the unicast frame received in step S601 and the real address of the current route header 123. Then, the data transfer apparatus 300 replaces each acquired real address with the offset information 1102, the prefix length information 1103, and the address 1104 in order from the old real address if there is a common part with the real address older than the real address.
  • the route header 123 in which the reference relationship of each address is updated can be obtained.
  • the data transfer apparatus 300 updates the reference relationship of each address of the route header 123 in step S1408, the data transfer apparatus 300 returns to step S1406.
  • the data transfer apparatus 300 uses the identification information of another node when the received data includes the identification information of another node indicating that the data has passed through another node. Add the compressed identification information of the node to the data. That is, the data transfer apparatus 300 identifies information indicating the range of the part common to the identification information of the other node in the identification information of the own node and a part different from the identification information of the other node in the identification information of the own node. Add as information.
  • the amount of information to be added can be reduced. As a result, the amount of data to be transferred can be reduced.
  • FIG. 15 is a diagram of an example of the data transfer apparatus according to the third embodiment.
  • the data transfer device 300 according to the third exemplary embodiment includes, for example, a reception unit 310, an addition unit 320, and a transmission unit 340.
  • the data transfer apparatus 300 can be applied to each of the nodes 101 to 108 shown in FIGS.
  • the receiving unit 310 receives the data including the identification information of the destination node, and outputs the received data to the adding unit 320.
  • the adding unit 320 adds identification information of the own node indicating that the data has passed through the own node (data transfer device 300) to the data output from the receiving unit 310.
  • the adding unit 320 compresses the data using the identification information of the other nodes. Add the identification information of the local node.
  • the adding unit 320 passes the information indicating the range of the part common to the identification information of the other node in the identification information of the own node and the part different from the identification information of the other node in the identification information of the own node through the own node. It is added as identification information of its own node indicating that it is data. The adding unit 320 outputs the data added with the identification information of the own node to the transmitting unit 340.
  • the transmission unit 340 transmits the data output from the addition unit 320 to the transmission destination node from its own node.
  • the transmission destination node is, for example, a node selected based on the destination (GD) of the data output from the adding unit 320 and the routing table of the own node.
  • identification information of the own node indicating that the data has passed through the own node can be added to the data.
  • the received data includes identification information of another node indicating that the data has passed through another node
  • the identification information of the own node compressed using the identification information of the other node is added to the data.
  • information indicating a range of a part common to the identification information of the other node in the identification information of the own node and a part different from the identification information of the other node in the identification information of the own node may be added as the identification information of the own node. it can.
  • the amount of information to be added can be reduced. As a result, the amount of data to be transferred can be reduced.
  • the transfer destination can be changed according to the network situation.
  • the data transfer program, the data transfer device, and the data transfer method it is possible to reduce the amount of data to be transferred.
  • the data transfer method described in the embodiment can be realized by executing a prepared program on a computer such as a personal computer or a workstation.
  • This program is recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, and a DVD, and is executed by being read from the recording medium by the computer.
  • CD-ROM is an abbreviation for Compact Disc-Read Only Memory.
  • MO is an abbreviation for Magneto Optical disk.
  • DVD is an abbreviation for Digital Versatile Disc.
  • the program may be a transmission medium that can be distributed via a network such as the Internet.
  • DESCRIPTION OF SYMBOLS 100 Data transfer system 101-108 Node 111-116,215 Unicast frame 121 Data header / global control header 122 Data area 123 Path header 300 Data transfer apparatus 310 Receiving part 320 Additional part 330 Selection part 331 Storage part 340 Transmission part 350 Determination Unit 360 specifying unit 370 updating unit 400 communication device 401 CPU 402 Memory 403 Communication Interface 409 Bus 500 Routing Table 801, 802 MAC Address 803, 920 to 92n, 1200 History List 910 History Header 1001 History Overflow Information 1002 History Number Information 1101 BT Information 1102 Offset Information 1103 Prefix Length Information 1104 Address

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

ノード(103)は、送信したデータ(113)に自ノードを経たデータであることを示す、自ノードの識別情報(123)を追加する。また、ノード(103)は、受信したデータ(116)に自ノードの識別情報(123)が含まれる場合に、受信したデータ(116)に含まれる、自ノードの識別情報の次に追加されたノードの識別情報を特定する。そして、ノード(103)は、受信したデータ(116)に含まれる宛先ノードの識別情報に対応する送信先ノードの識別情報のうち、特定したノードの識別情報に対応する優先度を更新する。

Description

データ転送プログラム、データ転送装置およびデータ転送方法
 本発明は、データ転送プログラム、データ転送装置およびデータ転送方法に関する。
 従来、無線で接続できる端末同士で構成され、無線LAN(Local Area Network:構内通信網)のアクセスポイントなどがなくても通信を行うことができるアドホックネットワークが知られている。また、アドホックネットワークにおいて、経路ごとに過去の無線コストを蓄積しておき、経路同士の無線コストの時間相関により各経路の優先順位を決定する技術が知られている(たとえば、下記特許文献1参照。)。
特開2011-66568号公報
 しかしながら、上述した従来技術では、たとえばネットワークの状況が変化して、ノードから転送されたデータが同じノードへ戻ってくるループやポーズなどが発生しても、転送先を変更することができないという問題がある。
 または、上述した従来技術では、たとえば転送されるデータに経由ノードの履歴情報を付加すると、転送されるデータのデータ量が多くなるという問題がある。
 1つの側面では、本発明は、ネットワークの状況に応じて転送先を変更することができるデータ転送プログラム、データ転送装置およびデータ転送方法を提供することを目的とする。別の側面では、本発明は、転送されるデータのデータ量の削減を図ることができるデータ転送プログラム、データ転送装置およびデータ転送方法を提供することを目的とする。
 上述した課題を解決し、目的を達成するため、本発明の一側面によれば、宛先ノードの識別情報を含むデータを受信し、受信した前記データに自ノードを経たデータであることを示す、自ノードの識別情報を追加し、宛先ノードの識別情報に応じてデータの送信先ノードの識別情報を優先度と対応づけて記憶する記憶部を参照して、受信した前記データに含まれる宛先ノードの識別情報に対応する送信先ノードの中からいずれかの送信先ノードを対応づけられた優先度に基づいて選択し、選択した送信先ノードに対して前記自ノードの識別情報を追加したデータを送信し、受信したデータに前記自ノードの識別情報が含まれるか否かの判定を行い、前記自ノードの識別情報が含まれる場合に、受信した前記データに含まれる、前記自ノードの識別情報の次に追加されたノードの識別情報を特定し、受信した前記データに含まれる宛先ノードの識別情報に対応する送信先ノードの識別情報のうち、特定した前記ノードの識別情報に対応づけて前記記憶部に記憶された優先度を更新するデータ転送プログラム、データ転送装置およびデータ転送方法が提案される。
 また、本発明の別の側面によれば、宛先ノードの識別情報を含むデータを受信し、受信した前記データに自ノードを経たデータであることを示す、自ノードの識別情報を追加し、宛先ノードの識別情報に応じてデータの送信先ノードの識別情報を優先度と対応づけて記憶する記憶部を参照して、受信した前記データに含まれる宛先ノードの識別情報に対応する送信先ノードの中からいずれかの送信先ノードを対応づけられた優先度に基づいて選択し、選択した送信先ノードに対して前記自ノードの識別情報を追加したデータを送信し、受信したデータに前記自ノードの識別情報が含まれるか否かの判定を行い、前記自ノードの識別情報が含まれる場合に、受信した前記データに含まれる、前記自ノードの識別情報の次に追加されたノードの識別情報を特定し、受信した前記データに含まれる宛先ノードの識別情報に対応する送信先ノードの識別情報のうち、特定した前記識別情報に対応するノードを、前記いずれかの送信先ノードとして選択することを抑制するデータ転送プログラム、データ転送装置およびデータ転送方法が提案される。
 また、本発明の別の側面によれば、宛先ノードの識別情報を含むデータを受信し、受信した前記データに自ノードを経たデータであることを示す、自ノードの識別情報を追加し、宛先ノードの識別情報に応じてデータの送信先ノードの識別情報を優先度と対応づけて記憶する記憶部を参照して、受信した前記データに含まれる宛先ノードの識別情報に対応する送信先ノードの中からいずれかの送信先ノードを対応づけられた優先度に基づいて選択し、選択した送信先ノードに対して前記自ノードの識別情報を追加したデータを送信し、受信したデータに前記自ノードの識別情報が含まれるか否かの判定を行い、前記自ノードの識別情報が含まれる場合に、受信した前記データに含まれる、前記自ノードの識別情報の次に追加されたノードの識別情報を特定するとともに、受信した前記データに含まれる、最後に追加されたノードの識別情報が、特定した前記ノードの識別情報と同一か否かの判定を行い、同一と判定された場合に、受信した前記データに含まれる宛先ノードの識別情報に対応する送信先ノードの識別情報のうち、特定した前記ノードの識別情報に対応づけて前記記憶部に記憶された優先度を更新するデータ転送プログラム、データ転送装置およびデータ転送方法が提案される。
 また、本発明の別の側面によれば、データを受信し、受信した前記データに他ノードを経たデータであることを示す前記他ノードの識別情報が含まれている場合に、前記自ノードの識別情報における前記他ノードの識別情報と共通する部分の範囲を示す情報と、前記自ノードの識別情報における前記他ノードの識別情報と異なる部分とを、自ノードを経たデータであることを示す自ノードの識別情報として追加し、前記自ノードの識別情報を追加したデータを送信先ノードへ送信する、データ転送プログラム、データ転送装置およびデータ転送方法が提案される。
 本発明の一側面によれば、ネットワークの状況に応じて転送先を変更することができるという効果を奏する。または、本発明の一側面によれば、転送されるデータのデータ量の削減を図ることができるという効果を奏する。
図1は、実施の形態1にかかるデータ転送システムにおけるループ検出の一例を示す図である。 図2は、実施の形態1にかかるデータ転送システムにおけるポーズ検出の一例を示す図である。 図3は、実施の形態1にかかるデータ転送装置の一例を示す図である。 図4は、実施の形態1にかかるデータ転送装置のハードウェア構成の一例を示す図である。 図5は、実施の形態1にかかるデータ転送装置におけるルーティングテーブルの一例を示す図である。 図6は、実施の形態1にかかるデータ転送装置による処理の一例を示すフローチャートである。 図7は、実施の形態2にかかるデータ転送装置による経路ヘッダの情報量の削減の一例を示す図(その1)である。 図8は、実施の形態2にかかるデータ転送装置による経路ヘッダの情報量の削減の一例を示す図(その2)である。 図9は、実施の形態2にかかる経路ヘッダの一例を示す図である。 図10は、実施の形態2にかかる経路ヘッダの履歴ヘッダの一例を示す図である。 図11は、実施の形態1にかかる経路ヘッダの履歴リストの一例を示す図である。 図12は、実施の形態2にかかるデータ転送装置による経路ヘッダへの履歴リストの付加の一例を示す図である。 図13は、実施の形態2にかかるデータ転送装置による経路ヘッダの履歴リストの削除の一例を示す図である。 図14は、実施の形態2にかかるデータ転送装置による履歴リストの追加処理の一例を示すフローチャートである。 図15は、実施の形態3にかかるデータ転送装置の一例を示す図である。
 以下に図面を参照して、本発明にかかるデータ転送プログラム、データ転送装置およびデータ転送方法の実施の形態を詳細に説明する。
(実施の形態1)
(実施の形態1にかかるデータ転送システムにおけるループ検出)
 図1は、実施の形態1にかかるデータ転送システムにおけるループ検出の一例を示す図である。図1に示すように、実施の形態1にかかるデータ転送システム100は、たとえば、ノード101~108を含む。また、データ転送システム100は、たとえば、ノード101~108におけるノード間の無線通信によってデータを転送する無線アドホックネットワークである。図1に示す例では、データ転送システム100においては、ノード間の無線通信において、単一の送信相手を指定してデータを送信するユニキャストによるデータ転送が行われる場合について説明する。
 ノード101~108のそれぞれは、ルーティングテーブル(経路情報)を有する。ルーティングテーブルは、データの宛先(GD:Global destination)ごとに、自ノードの送信先(LD:Local destination)の候補を示す情報である。データの宛先は、たとえばデータの最終的な送信先である。
 ノード101~108のそれぞれは、他のノードから受信したデータの送信先を、受信したデータの宛先およびルーティングテーブルに基づいて選択する。そして、ノード101~108のそれぞれは、受信したデータを選択した送信先へ転送する。ノード101~108のアドレス(識別情報)をそれぞれA~Hとする。
 図1に示す例では、最初の送信元(GS:Global Source)がノード101であり、ノード101、ノード102、ノード103、ノード104、ノード105、ノード106、ノード103の順にデータが転送される場合について説明する。すなわち、図1に示す例では、ノード103を経由したデータが循環してノード103に戻るループが発生する場合について説明する。
 ユニキャストフレーム111は、最初の送信元であるノード101がノード102へ送信したデータである。ユニキャストフレーム111は、データヘッダ/グローバル制御ヘッダ121(A/FID)と、データ領域122(Data)と、を含む。データヘッダ/グローバル制御ヘッダ121は、ユニキャストフレーム111の最初の送信元であるノード101のアドレス(A)と、ユニキャストフレーム111の識別子であるFID(Frame ID)と、を示す領域である。データ領域122は、ユニキャストフレーム111による転送対象のデータ(たとえばユーザデータや制御データ)を含む領域である。
 ユニキャストフレーム112は、ノード102がノード103へ送信したデータである。たとえば、ユニキャストフレーム112は、ユニキャストフレーム111と同じデータヘッダ/グローバル制御ヘッダ121(A/FID)およびデータ領域122と、ノード102が追加した経路ヘッダ123と、を含む。ユニキャストフレーム112における経路ヘッダ123は、ユニキャストフレーム112の送信元(LS:Local Source)であるノード102のアドレス(B)を示す。すなわち、ノード102は、ノード101から受信したユニキャストフレーム111に、経路ヘッダ123として自ノードのアドレス(B)を追加したユニキャストフレーム112をノード103へ送信する。
 ユニキャストフレーム113は、ノード103がノード104へ送信したデータである。たとえば、ユニキャストフレーム113は、ユニキャストフレーム112と同じデータヘッダ/グローバル制御ヘッダ121(A/FID)およびデータ領域122と、ノード103が更新した経路ヘッダ123と、を含む。ユニキャストフレーム113における経路ヘッダ123は、ユニキャストフレーム112の経路ヘッダ123に含まれていたアドレス(B)と、ユニキャストフレーム113の送信元(LS)であるノード103のアドレス(C)と、を示す。すなわち、ノード103は、ノード102から受信したユニキャストフレーム112の経路ヘッダ123に自ノードのアドレス(C)を追加したユニキャストフレーム113をノード104へ送信する。
 ユニキャストフレーム114は、ノード104がノード105へ送信したデータである。たとえば、ユニキャストフレーム114は、ユニキャストフレーム113と同じデータヘッダ/グローバル制御ヘッダ121(A/FID)およびデータ領域122と、ノード104が更新した経路ヘッダ123と、を含む。ユニキャストフレーム114における経路ヘッダ123は、ユニキャストフレーム113の経路ヘッダ123に含まれていたアドレス(B,C)と、ユニキャストフレーム114の送信元(LS)であるノード104のアドレス(D)と、を示す。すなわち、ノード104は、ノード103から受信したユニキャストフレーム113の経路ヘッダ123に自ノードのアドレス(D)を追加したユニキャストフレーム114をノード105へ送信する。
 ユニキャストフレーム115は、ノード105がノード106へ送信したデータである。たとえば、ユニキャストフレーム115は、ユニキャストフレーム114と同じデータヘッダ/グローバル制御ヘッダ121(A/FID)およびデータ領域122と、ノード105が更新した経路ヘッダ123と、を含む。ユニキャストフレーム115における経路ヘッダ123は、ユニキャストフレーム114の経路ヘッダ123に含まれていたアドレス(B~D)と、ユニキャストフレーム115の送信元(LS)であるノード105のアドレス(E)と、を示す。すなわち、ノード105は、ノード104から受信したユニキャストフレーム114の経路ヘッダ123に自ノードのアドレス(E)を追加したユニキャストフレーム115をノード106へ送信する。
 ユニキャストフレーム116は、ノード106がノード103へ送信したデータである。たとえば、ユニキャストフレーム116は、ユニキャストフレーム115と同じデータヘッダ/グローバル制御ヘッダ121(A/FID)およびデータ領域122と、ノード106が更新した経路ヘッダ123と、を含む。ユニキャストフレーム116における経路ヘッダ123は、ユニキャストフレーム115の経路ヘッダ123に含まれていたアドレス(B~E)と、ユニキャストフレーム116の送信元(LS)であるノード106のアドレス(F)と、を示す。すなわち、ノード106は、ノード105から受信したユニキャストフレーム115の経路ヘッダ123に自ノードのアドレス(F)を追加したユニキャストフレーム116をノード103へ送信する。
 また、ユニキャストフレーム111~116のそれぞれは、ノード間の転送を行うためのヘッダをさらに有していてもよい。ノード間の転送を行うためのヘッダは、たとえば、ユニキャストフレームの無線送信の送信元(LS)のアドレスと、ユニキャストフレームの無線送信の送信先(LD)のアドレスと、を含む。このようなヘッダとしては、一例としてはMAC(Media Access Control:メディアアクセス制御)ヘッダを用いることができる。
 また、ユニキャストフレーム111~116のそれぞれは、データの宛先を示す共通のGDのアドレスを含む。すなわち、ノード101は、データ領域122のデータの最終的な送信先(宛先)を示すGDのアドレス(たとえばアドレス(Z))をユニキャストフレーム111に格納する。
 ユニキャストフレーム112~116の経路ヘッダ123は、図1に示すループおよび図2に示すポーズの検出や、ルーティングにおいて次の送信先ノードを選択するために参照される。すなわち、ノード101~108は、受信したユニキャストフレームの経路ヘッダ123を参照して履歴情報として用いることにより、受信したユニキャストフレームが経由したノードを特定することができる。
 ノード101~108のそれぞれは、他のノードからデータ(ユニキャストフレーム)を受信した際に、受信したデータに経路ヘッダ123が含まれていた場合は経路ヘッダ123を参照する。ノード101~108が参照した経路ヘッダ123に自ノードのアドレスが含まれていた場合は、自ノードが転送したデータが自ノードに戻ってきたと判断することができる。このようなケースとしては、たとえば、図1に示すループや図2に示す後述のポーズが有り得る。
 したがって、ノード101~108のそれぞれは、参照した経路ヘッダ123に自ノードのアドレスが含まれていた場合は、以後のループやポーズを抑制するように自ノードのルーティングテーブルを更新する。このとき、ノード101~108のそれぞれは、ループとポーズのいずれが発生したかを経路ヘッダ123から判定し、判定結果に基づいてルーティングテーブルを更新するようにしてもよい。
 たとえば、ノード101~108のそれぞれは、受信したユニキャストフレームのLSのアドレスと、受信したユニキャストフレームの経路ヘッダ123における自ノードのアドレスの次に追加されたアドレスと、を比較する。そして、ノード101~108のそれぞれは、比較した各アドレスが一致しなかった場合はループが発生したと判断し、比較した各アドレスが一致した場合はポーズが発生したと判断する。
 図1に示す例では、ノード103が受信したユニキャストフレーム116の経路ヘッダ123にノード103のアドレス(C)が含まれているため、ノード103が転送したデータがノード103に戻ってきたと判断することができる。そして、ユニキャストフレーム116のLSのアドレスはアドレス(F)であり、ユニキャストフレーム116の経路ヘッダ123におけるノード103のアドレス(C)の次に追加されたアドレスはアドレス(D)である。このため、ノード103はループが発生したと判断することができる。
 これに対して、ノード103は、ユニキャストフレーム116に対応する過去のデータ(ユニキャストフレーム113)を転送した際の送信先であるノード104について、自ノードのルーティングテーブルを更新する。すなわち、ノード103は、ユニキャストフレーム116とGDが同一であるデータの送信先ノードとしてノード104が選択されることを抑制するように自ノードのルーティングテーブルを更新する。
 たとえば、ノード103は、自ノードのルーティングテーブルにおいて、ユニキャストフレーム116と同一のGDに対して送信先ノードの候補として対応づけられたノード104の優先度を下げる(またはコストを上げる)処理を行う。または、ノード103は、自ノードのルーティングテーブルにおいて、ユニキャストフレーム116と同一のGDに対して対応づけられた送信先ノードの候補からノード104を除外するための処理を行う。ただし、ルーティングテーブルの更新方法についてはこれらに限らず、たとえば送信先ノードとしてノード104が選択されることを抑制する処理であればよい。
(実施の形態1にかかるデータ転送システムにおけるポーズ検出)
 図2は、実施の形態1にかかるデータ転送システムにおけるポーズ検出の一例を示す図である。図2において、図1に示した部分と同様の部分については同一の符号を付して説明を省略する。図2に示す例では、最初の送信元がノード101であり、ノード101、ノード102、ノード103、ノード104、ノード105、ノード104の順にデータが転送される場合について説明する。
 すなわち、図2に示す例では、ノード104を経由したデータが折り返されてノード104に戻るポーズが発生する場合について説明する。ポーズは、たとえば、ノード104からノード105へ転送されたデータのノード105からの転送先が無く、ノード105がデータをノード104へ返送するバックトラックを行った場合に発生する。
 ユニキャストフレーム215は、ノード105がノード104へ返送したデータである。たとえば、ユニキャストフレーム215は、ユニキャストフレーム114と同じデータヘッダ/グローバル制御ヘッダ121(A/FID)およびデータ領域122と、ノード105が更新した経路ヘッダ123と、を含む。ユニキャストフレーム215における経路ヘッダ123は、ユニキャストフレーム114の経路ヘッダ123に含まれていたアドレス(B~D)と、ユニキャストフレーム215の送信元(LS)であるノード105のアドレス(E)と、を示す。すなわち、ノード105は、ノード104から受信したユニキャストフレーム114の経路ヘッダ123に自ノードのアドレス(E)を追加したユニキャストフレーム215をノード104へ送信する。また、ノード105は、バックトラックが行われたことを示すバックトラック情報をユニキャストフレーム215の経路ヘッダ123に格納してもよい。
 図2に示す例では、ノード104が受信したユニキャストフレーム215の経路ヘッダ123にノード104のアドレス(D)が含まれているため、ノード104が転送したデータがノード104に戻ってきたと判断することができる。そして、ユニキャストフレーム215のLSのアドレスはアドレス(E)であり、ユニキャストフレーム215の経路ヘッダ123におけるノード104のアドレス(D)の次に追加されたアドレスはアドレス(E)である。このため、ノード104はポーズが発生したと判断することができる。
 これに対して、ノード104は、ユニキャストフレーム215に対応する過去のデータ(ユニキャストフレーム114)を転送した際の送信先であるノード105について、自ノードのルーティングテーブルを更新する。すなわち、ノード103は、ユニキャストフレーム215とGDが同一であるデータの送信先ノードとしてノード105が選択されることを抑制するように自ノードのルーティングテーブルを更新する。
 たとえば、ノード103は、自ノードのルーティングテーブルにおいて、ユニキャストフレーム215と同一のGDに対して送信先ノードの候補として対応づけられたノード105の優先度を下げる(またはコストを上げる)処理を行う。または、ノード103は、自ノードのルーティングテーブルにおいて、ユニキャストフレーム215と同一のGDに対して対応づけられた送信先ノードの候補からノード105を除外するための処理を行う。ただし、ルーティングテーブルの更新方法についてはこれらに限らず、たとえば送信先ノードとしてノード105が選択されることを抑制する処理であればよい。
 このように、ノード101~108のそれぞれは、転送するデータ(たとえばユニキャストフレーム)の経路ヘッダ123に、自ノードを経たデータであることを示す自ノードの識別情報を追加する。また、ノード101~108のそれぞれは、受信したデータに自ノードが追加した識別情報が含まれていた場合に、自ノードの次に識別情報を追加したノードを送信先ノードとして選択することを抑制するようにルーティングテーブルを更新する。これにより、自ノードが過去に転送したデータが自ノードに戻ってきた場合に、自ノードが過去にそのデータを転送した際の送信先を、以降の送信先ノードとして選択することを抑制することができる。このため、ネットワークの状況が変化してループやポーズなどが発生した場合に転送先を変更することができる。
 データ転送システム100がノード間の無線通信によってデータを転送する無線アドホックネットワークである場合について説明したが、データ転送システム100は、このような構成に限らない。たとえば、データ転送システム100は、ノード間の電気信号通信や光信号通信などの有線通信によってデータを転送するネットワークであってもよい。
 また、データ転送システム100においてユニキャストによるデータ転送が行われる場合について説明したが、このような構成に限らない。たとえば、データ転送システム100において、複数の送信相手を指定してデータを送信するマルチキャストによるデータ転送が行われる構成としてもよい。
(実施の形態1にかかるデータ転送装置)
 図3は、実施の形態1にかかるデータ転送装置の一例を示す図である。図3に示すように、実施の形態1にかかるデータ転送装置300は、たとえば、受信部310と、追加部320と、選択部330と、記憶部331と、送信部340と、判定部350と、特定部360と、更新部370と、を備える。図1,図2に示したノード101~108のそれぞれには、たとえばデータ転送装置300を適用することができる。
 受信部310は、宛先ノードの識別情報を含むデータを受信し、受信したデータを追加部320、判定部350、特定部360、および更新部370へ出力する。受信部310が受信するデータは、一例としては上述したユニキャストフレームである。宛先ノードの識別情報は、一例としては上述したデータヘッダ/グローバル制御ヘッダ121が示すGSのアドレスである。
 追加部320は、受信部310から出力されたデータに、自ノード(データ転送装置300)を経たデータであることを示す自ノードの識別情報を追加する。追加部320が追加する識別情報は、一例としては上述した経路ヘッダ123である。追加部320は、自ノードの識別情報を追加したデータを送信部340へ出力する。
 選択部330は、記憶部331に記憶された情報を参照する。記憶部331は、たとえば、宛先ノードの識別情報に応じてデータの送信先ノードの識別情報を優先度と対応づけて記憶する。記憶部331が記憶する情報は、一例としては上述したルーティングテーブルである。宛先ノードの識別情報は、一例としては上述したGDである。送信先ノードの識別情報は、一例としては上述したLDのアドレスである。選択部330は、受信部310から出力されたデータに含まれる宛先ノードの識別情報に対応する送信先ノードの中からいずれかの送信先ノードを、記憶部331において対応づけられた優先度に基づいて選択する。そして、選択部330は、選択した送信先ノードを送信部340へ通知する。たとえば、選択部330は、選択した送信先ノードの識別情報を送信部340へ通知する。
 送信部340は、選択部330から通知された送信先ノードに対して、追加部320から出力されたデータを送信する。たとえば、送信部340は、選択部330から通知された送信先ノードの識別情報を、追加部320から出力されたデータの送信先ノード(一例としてはLD)の識別情報として設定し、送信先ノードの識別情報を設定したデータを送信する。
 判定部350は、受信部310から出力されたデータに、自ノードを経たデータであることを示す自ノードの識別情報が含まれるか否かの判定を行い、判定結果を特定部360へ通知する。この自ノードを経たデータであることを示す自ノードの識別情報は、上述した追加部320によって追加された識別情報である。
 特定部360は、自ノードの識別情報が含まれる旨の判定結果が判定部350から通知された場合に、受信部310から出力されたデータに含まれる、自ノードの識別情報の次に追加されたノードの識別情報を特定する。特定部360によって特定されるノードは、受信部310から出力されたデータを過去に自ノードが転送した際の送信先ノードである。特定部360は、特定したノードの識別情報を更新部370へ通知する。
 更新部370は、記憶部331に記憶された情報(一例としてはルーティングテーブル)を更新することにより、ループやポーズが発生したデータについて、自ノードが過去と同じ転送先を選択することを抑制する抑制部である。すなわち、更新部370は、受信部310から出力されたデータに含まれる宛先ノードの識別情報に対応する送信先ノードのうち、特定部360から識別情報を通知されたノードが選択部330によって選択されることを抑制するように、記憶部331の更新を行う。たとえば、更新部370は、受信部310から出力されたデータに含まれる宛先ノードの識別情報に対応する送信先ノードの識別情報のうち、特定部360から通知されたノードの識別情報に対応づけて記憶部331に記憶された優先度を更新する。
 このように、データ転送装置300は、転送するデータに、自ノードを経たデータであることを示す自ノードの識別情報を追加する。また、データ転送装置300は、受信したデータに自ノードが追加した識別情報が含まれていた場合に、自ノードの次に識別情報を追加したノードを送信先ノードとして選択することを抑制するようにルーティングテーブルを更新する。
 また、特定部360は、自ノードの識別情報の次に追加されたノードの識別情報を特定するとともに、受信部310から出力されたデータに含まれる、最後に追加されたノードの識別情報が、特定したノードの識別情報と同一か否かの判定を行ってもよい。そして、更新部370は、特定部360によって各識別情報が同一と判定された場合に上述した優先度を更新してもよい。これにより、たとえば図2に示したポーズが発生したデータについて、自ノードが過去と同じ転送先を選択することを抑制することができる。
 また、更新部370は、特定部360による各識別情報が同一か否かの判断に応じて、上述した優先度を更新してもよい。すなわち、更新部370は、たとえば図1に示したループが発生した場合と、たとえば図2に示したポーズが発生した場合と、でそれぞれ異なる優先度の更新方法(たとえば後述のWlとWpの使い分け)を用いてもよい。
(実施の形態1にかかるデータ転送装置のハードウェア構成)
 図4は、実施の形態1にかかるデータ転送装置のハードウェア構成の一例を示す図である。図3に示したデータ転送装置300は、たとえば図4に示す通信装置400によって実現することができる。通信装置400は、CPU401と、メモリ402と、通信インタフェース403と、を備えるコンピュータである。CPU401、メモリ402および通信インタフェース403は、バス409によって接続される。また、CPU401およびメモリ402は、マイコンなどにより実現されてもよい。
 CPU401(Central Processing Unit)は、通信装置400の全体の制御を司る。メモリ402には、たとえばメインメモリおよび補助メモリが含まれる。メインメモリは、たとえばRAM(Random Access Memory)である。メインメモリは、CPU401のワークエリアとして使用される。補助メモリは、たとえば磁気ディスクやフラッシュメモリなどの不揮発メモリである。補助メモリには、通信装置400を動作させる各種のプログラムが記憶されている。補助メモリに記憶されたプログラムは、メインメモリにロードされてCPU401によって実行される。
 通信インタフェース403は、たとえば無線によって通信装置400の外部(たとえば他のノード)との間で通信を行う通信インタフェースである。通信インタフェース403は、CPU401によって制御される。ただし、通信インタフェース403は、無線に限らず、有線の電気信号や光信号などによって通信装置400の外部との間で通信を行う通信インタフェースであってもよい。
 図3に示した受信部310および送信部340は、たとえば通信インタフェース403により実現することができる。図3に示した追加部320、選択部330、判定部350、特定部360および更新部370は、たとえば、CPU401およびメモリ402により実現することができる。図3に示した記憶部331は、たとえば、メモリ402により実現することができる。
(実施の形態1にかかるデータ転送装置におけるルーティングテーブル)
 図5は、実施の形態1にかかるデータ転送装置におけるルーティングテーブルの一例を示す図である。図5に示すルーティングテーブル500は、一例として、図1,図2に示したノード103(ノードC)におけるルーティングテーブルを示している。
 ルーティングテーブル500においては、GD(宛先)ごとに、自ノードの送信先ノードの候補であるLDが対応づけられている。さらに、ルーティングテーブル500においては、LDごとに、このLDに関するコストおよび到達重みが対応づけられている。
 コストは、対応するLDを送信先ノードとして選択した場合のコストであって、対応するLDの送信先ノードとしての優先度を示す経路重みである。すなわち、コストが小さいLDほど、選択した際のコストが小さく、送信先ノードとして優先的に選択すべきLDとなる。コストは、ハローパケットを用いて測定されたノード間の受信品質、再送回数、エラーレートなどの無線品質の測定結果や、GDまでに要するホップ数等の各種のパラメータに基づいて算出される。
 到達重みは、対応するLDを送信先ノードとして選択されないようにするためのパラメータである。たとえば、到達重みが大きいLDほど、送信先ノードとして選択されにくくなる。到達重みは、たとえば図1に示したループや図2に示したポーズが検出された場合に、該当するデータを自ノードが過去に転送した際の送信先のLDが送信先ノードとして選択されにくくなるように設定される。
 たとえば、データ転送装置300の更新部370は、ループが検出されたデータを自ノードが過去に転送した際の送信先のLDに対応する到達重みにWl(>0)を加算する。また、データ転送装置300の更新部370は、ポーズが検出されたデータを自ノードが過去に転送した際の送信先のLDに対応する到達重みにWp(>0)を加算する。
 たとえば、Wl>Wpとすることができる。これにより、短時間で解消する可能性が比較的低いループの場合に、短時間で解消する可能性が比較的高いポーズの場合よりも、該当するLDを送信先ノードとして選択されにくくなるようにすることができる。ただし、Wl>Wpの大小関係はこれに限らず、Wl<Wpであってもよいし、Wl=Wpであってもよい。
 データ転送装置300の選択部330は、たとえば、転送対象のデータのGDに対応するLDであって、かつ到達重みが閾値を超えないLDの中でコストが最小のLDを送信先ノードとして選択する。または、データ転送装置300の選択部330は、転送対象のデータのGDに対応するLDのそれぞれについて、コストが小さいほど小さく、かつ到達重みが小さいほど小さくなる指標値(一例としてはコスト+到達重み)を算出してもよい。この場合は、選択部330は、選択した指標値が最小のLDを送信先ノードとして選択する。ただし、コストおよび到達重みに基づく送信先ノードの選択方法についてはこれらに限らず、各種の選択方法を用いることができる。
 図5に示す例では、アドレス(Z)のノードがGD1としてGDに含まれており、GDのアドレスがアドレス(Z)である場合のノード103の送信先ノードの候補としてLD1~LD4が対応づけられている。LD1~LD4は、それぞれアドレス(D)のノード104、アドレス(G)のノード107、アドレス(H)のノード108、アドレス(F)のノード106である。また、LD1~LD4にはコストとしてそれぞれコストC1~C4が対応づけられている。また、LD1~LD4には到達重みとしてそれぞれ到達重みW1~W4が対応づけられている。
 したがって、ノード103は、図1に示したようにユニキャストフレーム116に基づいてループの発生を検出した場合は、ユニキャストフレーム111を転送した際の送信先であるアドレス(D)のノード104に対応するW3にWlを加算する。これにより、ノード103がユニキャストフレーム116の送信先ノードとしてノード104を選択することを抑制することができる。
 たとえば、ノード104に対応する到達重みW3にWlを加算したことにより到達重みW3が閾値を超えたとする。この場合は、ノード103は、ノード104を選択先ノードして選択せず、LD2~LD4のうちの到達重みW3が閾値を超えておらずコストが最小のLDをユニキャストフレーム116の送信先として選択する。これにより、データの転送ルートを変更してループの解消を図ることができる。
 また、到達重みW3にWlを加算しても到達重みW3が閾値を超えず、ノード103がユニキャストフレーム116をノード104へ送信した場合は、そのデータが再度ループしてノード103に戻る可能性がある。この場合は、ノード104は、再度のループの発生を加算して到達重みW3にさらにWlを加算する。このように、ループが発生するごとに到達重みW3を増加させることで、いずれかのタイミングで到達重みW3が閾値を超え、データの転送ルートを変更してループの解消を図ることができる。
 また、ノード103のルーティングテーブルの例を用いて図1に示したループの場合について説明したが、図2に示したポーズの場合についても同様である。たとえば、図2に示した例において、ノード104は、ユニキャストフレーム215に基づいてポーズの発生を検出すると、自ノードのルーティングテーブルにおけるノード105の到達重みにWpを加算する。これにより、いずれかのタイミングでノード104のルーティングテーブルにおけるノード105の到達重みが閾値を超え、データの転送ルートを変更してポーズの解消を図ることができる。
(実施の形態1にかかるデータ転送装置による処理)
 図6は、実施の形態1にかかるデータ転送装置による処理の一例を示すフローチャートである。データ転送装置300は、たとえば図6に示す各ステップを実行する。まず、データ転送装置300は、他のノードからユニキャストフレームを受信したか否かを判断し(ステップS601)、ユニキャストフレームを受信するまで待つ(ステップS601:Noのループ)。ユニキャストフレームを受信すると(ステップS601:Yes)、データ転送装置300は、受信したユニキャストフレームの経路ヘッダ123に自ノードのアドレスが含まれているか否かを判断する(ステップS602)。
 ステップS602において、自ノードのアドレスが含まれていない場合(ステップS602:No)は、データ転送装置300は、ステップS605へ移行する。自ノードのアドレスが含まれている場合(ステップS602:Yes)は、データ転送装置300は、自ノードの次に経路ヘッダ123にアドレスを追加したノードを特定する(ステップS603)。ステップS603は、たとえば、経路ヘッダ123における自ノードのアドレスの次に追加されたアドレスを特定することによって行うことができる。
 つぎに、データ転送装置300は、ステップS603によって特定したノードを送信先ノードとして選択することを抑制するように、自ノードのルーティングテーブル500を更新する(ステップS604)。
 つぎに、データ転送装置300は、ステップS601において受信したユニキャストフレームの経路ヘッダ123に自ノードのアドレスを履歴リストとして追加する(ステップS605)。たとえば、データ転送装置300は、ステップS605において、自ノードのアドレスの全ビットを経路ヘッダ123に追加する。
 つぎに、データ転送装置300は、自ノードのルーティングテーブル500に基づいて、ユニキャストフレームの送信先ノードを選択する(ステップS606)。つぎに、データ転送装置300は、ステップS606によって選択した送信先ノードへ、ステップS605によって経路ヘッダ123に自ノードのアドレスを追加したユニキャストフレームを送信し(ステップS607)、ステップS601へ戻る。
 このように、実施の形態1にかかるデータ転送装置300によれば、転送するデータに、自ノードを経たデータであることを示す自ノードの識別情報を追加することができる。そして、データ転送装置300によれば、受信したデータに自ノードが追加した識別情報が含まれていた場合に、自ノードの次に識別情報を追加したノードを送信先ノードとして選択することを抑制するようにルーティングテーブルを更新することができる。
 これにより、自ノードが過去に転送したデータが自ノードに戻ってきた場合に、自ノードが過去にそのデータを転送した際の送信先を、以降の送信先ノードとして選択することを抑制することができる。このため、ネットワークの状況が変化してループやポーズなどが発生した場合に転送先を変更することができる。
 したがって、たとえばデータの到達率や到達効率を向上させることができる。データの到達率は、たとえばGSから送信されたデータのうちのGDへ到達するデータの割合である。到達効率は、たとえばGSから送信されたデータがGDへ到達するまでに要する時間の短さや無線リソースの少なさである。
 また、データの転送履歴を各ノードのメモリに記憶しておかなくてもループやポーズなどを検出し、転送先の変更を行うことができる。このため、各ノードのメモリ容量を小さくすることが可能になる。たとえば、図4に示したメモリ402の容量を小さくすることが可能になる。
(実施の形態2)
 実施の形態2について、実施の形態1と異なる部分について説明する。実施の形態2においては、上述した経路ヘッダ123の情報量の削減を図る構成について説明する。
 実施の形態2にかかる追加部320は、受信部310から出力されたデータに、他ノードを経たデータであることを示す、その他ノードの識別情報が含まれている場合に、その他ノードの識別情報を用いて圧縮した自ノードの識別情報を追加する。すなわち、追加部320は、自ノードの識別情報における他ノードの識別情報と共通する部分の範囲を示す情報と、自ノードの識別情報における他ノードの識別情報と異なる部分とを、自ノードを経たデータであることを示す自ノードの識別情報として追加する。
 他ノードを経たデータであることを示す、その他ノードの識別情報は、他ノードによって経路ヘッダ123に追加された、その他ノードの識別情報(アドレス)である。自ノードの識別情報における他ノードの識別情報と共通する部分の範囲を示す情報は、一例としては、自ノードのアドレスが、経路ヘッダ123に追加済みの他ノードのアドレスとの間で共通する上位ビットまたは下位ビットのデータ長を示す情報である。
 ただし、自ノードの識別情報における他ノードの識別情報と共通する部分の範囲を示す情報は、これらに限らない。たとえば、自ノードの識別情報における他ノードの識別情報と共通する部分の範囲を示す情報は、自ノードのアドレスが固定長である場合は、自ノードのアドレスにおける他ノードのアドレスと異なる部分の範囲を示す情報であってもよい。たとえば、自ノードの識別情報における他ノードの識別情報と共通する部分の範囲を示す情報は、自ノードの識別情報における他ノードの識別情報と共通する部分の範囲を特定可能な情報であり、かつその範囲そのもののデータ長よりも情報量が少ない情報である。
(実施の形態2にかかるデータ転送装置による経路ヘッダの情報量の削減)
 図7および図8は、実施の形態2にかかるデータ転送装置による経路ヘッダの情報量の削減の一例を示す図である。たとえば、図1等に示したノード101~108が同一ベンダの通信モジュールであり、アドレスA~HがMACアドレスである場合は、アドレスA~Hは、上位ビットがノード間で共通となり、下位ビットがノード間でユニークとなる。
 これを利用して、経路ヘッダ123に格納するアドレスにおいて、上位から何バイト目までが前のアドレスと同一であるかを表現する情報Lを先頭に格納し、その後に可変長でユニークなアドレス部分を格納する。すなわち、経路ヘッダ123に格納するアドレスについて、前のアドレスと共通の部分に代えて、前のアドレスと共通の部分の長さを示す情報Lを用いる。これにより、経路ヘッダ123の情報量を削減することができる。
 図7においては、一例として、図1,図2に示したユニキャストフレーム113の経路ヘッダ123にノード103がアドレス(C)を追加する場合について説明する。この場合に、ノード103は、アドレス(C)として、上位から何バイト目までが直前のアドレス(B)と同一であるかを示すLと、直前のアドレス(B)と異なる下位ビット(Addr)と、を経路ヘッダ123に追加する。
 図8に示すMACアドレス801は、ノード102のアドレス(B)である。MACアドレス801は、aB 0~aB 47の48[byte]のMACアドレスであるとする。また、MACアドレス802は、ノード103のアドレス(C)である。MACアドレス802は、aC 0~aC 47の48[byte]のMACアドレスであるとする。
 そして、MACアドレス801の上位5[byte](40[bit])であるaB 8~aB 47と、MACアドレス802の上位5[byte](40[bit])であるaC 8~aC 47と、が互いに同一であるとする。また、MACアドレス801の下位1[byte](9[bit])であるaB 0~aB 7と、MACアドレス802の下位1[byte](9[bit])であるaC 0~aC 7と、が互いに異なるとする。
 履歴リスト803は、ノード103が自ノードのアドレス(C)を示す履歴リストとして経路ヘッダ123に格納する情報である。履歴リスト803は、アドレスの共通部分の長さとして5[byte]を示すLと、アドレス(C)の下位1[byte](9[bit])であるaC 0~aC 7を示すAddrと、を含む。
 これにより、後段のノードにおいて、アドレス(C)の直前のアドレス(B)の上位Lバイトと、下位ビット(Addr)と、を連結することでアドレス(C)を得ることができる。また、アドレス(C)のうちの直前のアドレス(B)と共通する上位ビットを、その上位ビットの長さを示すLによって表すことにより、経路ヘッダ123にアドレス(C)を追加する際の経路ヘッダ123のデータ増加量を小さくすることができる。
 なお、Lがアドレスの共通部分の長さを示す情報(L=5)である場合について説明したが、Lの形式はこれに限らない。たとえば、Lは、アドレスの共通部分を除く部分の長さを示す情報(たとえばL=1)であってもよい。すなわち、Lは、自ノードの識別情報(アドレス)における参照先の他ノードの識別情報(アドレス)と共通する部分の範囲を直接的または間接的に示す情報であればよい。
 また、経路ヘッダ123の最大データ長を規定し、各ノードは経路ヘッダ123のデータ長が最大データ長に達している場合は経路ヘッダ123における古いアドレスを削除してから自ノードのアドレスを追加するようにしてもよい。経路ヘッダ123における古いアドレスを削除することにより、ルーティングテーブルの古いエントリーを消去する場合と同様の効果が得られ、アドレスが削除されたノードにおいては経路ヘッダ123を含むデータが新規のデータであると判定される。
 ノード103が経路ヘッダ123に自ノードのアドレスを追加する場合について説明したが、ノード102,104~108が自ノードのアドレスを追加する場合についても同様である。
(実施の形態2にかかる経路ヘッダ)
 図9は、実施の形態2にかかる経路ヘッダの一例を示す図である。上述した経路ヘッダ123は、たとえば、図9に示すように、履歴ヘッダ910と、n+1個の履歴リスト920~92n[0~n]と、を含む。nは-1以上の整数である。履歴リスト920~92nは、転送データが転送されるごとに追加されるアドレスである。
 ただし、ノード101が送信するユニキャストフレーム111については、ノード101のアドレス(A)はデータヘッダ/グローバル制御ヘッダ121に含まれているため、履歴リストとして追加されなくてもよい。したがって、ユニキャストフレーム111の経路ヘッダ123は、履歴ヘッダ910を含み、履歴リストを含まなくてもよい。
 たとえば、図1,図2に示した例では、1ホップ目のノード102のアドレス(B)を示す情報が経路ヘッダ123の最初の履歴リスト920として追加される。また、2ホップ目のノード103のアドレス(C)を示す情報が経路ヘッダ123の2番目の履歴リスト921として追加される。同様に、n+1ホップ目のノードのアドレスを示す情報が経路ヘッダ123の履歴リスト92nとして追加される。
(実施の形態2にかかる経路ヘッダの履歴ヘッダ)
 図10は、実施の形態2にかかる経路ヘッダの履歴ヘッダの一例を示す図である。図9に示した履歴ヘッダ910は、たとえば、図10に示すように、履歴あふれ情報1001と、履歴数情報1002と、を含む1[byte]の情報である。履歴あふれ情報1001は、後述の履歴あふれ(たとえば図12参照)の有無を示す1[bit]の情報(b7)である。各ノードは履歴あふれ情報1001に基づいて送信先ノードの選択を行ってもよい。履歴数情報1002は、経路ヘッダ123に含まれる履歴リストの数を示す7[bit]の情報(b0~b6)である。図9に示した例では、履歴数情報1002はn+1を示す。
(実施の形態1にかかる経路ヘッダの履歴リスト)
 図11は、実施の形態1にかかる経路ヘッダの履歴リストの一例を示す図である。図9に示した履歴リスト92nについて説明するが、履歴リスト921~92nのうちの履歴リスト92nと異なる履歴リストについても同様である。履歴リスト92nは、たとえば、図11に示すように、BT情報1101と、オフセット情報1102と、プレフィクス長情報1103と、アドレス1104と、を含む2~9[byte]の情報である。
 BT情報1101は、後述のバックトラック(Back Track)の有無を示す1[bit]の情報(b7)である。たとえば、データ転送装置300は、自ノードからのデータの転送先が存在しない場合などに、そのデータを送信元へ返送する場合は、そのデータのBT情報1101に、バックトラックがあったことを示す情報を格納する。
 オフセット情報1102は、履歴リスト92nが示すアドレスと同一のプレフィクス(アドレスの上位共通部分)を有する履歴リストへのオフセットを示す4[bit]の情報(b3~b6)である。プレフィクス長情報1103は、履歴リスト92nが示すアドレスにおける、オフセット情報1102が示す履歴リストと共通のプレフィクスのデータ長を示す3[bit]の情報(b0~b2)である。
 アドレス1104は、履歴リスト92nが示すアドレスにおける、オフセット情報1102が示す履歴リストと共通のプレフィクスを除く下位部分を示す情報である。アドレス1104のデータ長は、履歴リスト92nが示すアドレスの全データ長から、プレフィクス長情報1103が示すプレフィクスのデータ長を除いたデータ長である。たとえば、履歴リスト92nが示すアドレスの全データ長が8[byte]であり、プレフィクスのデータ長のとり得る範囲が0~7[byte]である場合は、アドレス1104のデータ長のとり得る範囲は1~8[byte]となる。
(実施の形態2にかかるデータ転送装置による経路ヘッダへの履歴リストの付加)
 図12は、実施の形態2にかかるデータ転送装置による経路ヘッダへの履歴リストの付加の一例を示す図である。図12において、図11に示した部分と同様の部分については同一の符号を付して説明を省略する。図12に示す履歴リスト1200は、データを転送した各ノード(データ転送装置300)が転送データの経路ヘッダ123に付加した各履歴リストを示す。履歴リスト番号=0~7は、各履歴リストを経路ヘッダ123への追加順に示す番号である。
 図12に示す例では、履歴リスト番号=0に対応するノードaが最初の送信元(GS)であるとする。そして、ノードaから送信されたデータが、ノードb、ノードc、ノードd、ノードe、ノードf、ノードg、ノードhの順に転送されたとする。ノードa~hは、たとえば図1,図2に示したノード101~108に対応し、図3に示したデータ転送装置300により実現される。
 ノードaの実アドレスは“00:23:26:ff:fe:10:23:55”である。ノードaは、最初の送信元であるため、オフセット情報1102、プレフィクス長情報1103およびアドレス1104を含む履歴リストをデータに追加しない。ただし、ノードaより後段のノードは、たとえば上述したデータヘッダ/グローバル制御ヘッダ121を参照することによりノードaの実アドレスを特定することができる。
 ノードbの実アドレスは、“00:23:26:ff:fe:10:23:56”であり、1個前のノードaの実アドレスと上位7[byte]が共通である。このため、ノードbは、ノードaからのデータを転送する際に、オフセット情報1102として“1”を設定し、プレフィクス長情報1103として“7”を設定する。また、ノードbは、アドレス1104として下位1[byte]の“56”を設定する。
 ノードcの実アドレスは、“00:23:26:ff:fe:10:24:10”であり、1個前のノードbの実アドレスと上位6[byte]が共通である。このため、ノードcは、ノードbからのデータを転送する際に、オフセット情報1102として“1”を設定し、プレフィクス長情報1103として“6”を設定する。また、ノードcは、アドレス1104として下位2[byte]の“24:10”を設定する。
 ノードdの実アドレスは、“00:23:26:ff:fe:10:23:57”であり、2個前のノードbの実アドレスと上位7[byte]が共通である。このため、ノードdは、ノードcからのデータを転送する際に、オフセット情報1102として“2”を設定し、プレフィクス長情報1103として“7”を設定する。また、ノードdは、アドレス1104として下位1[byte]の“57”を設定する。
 ノードeの実アドレスは、“00:23:26:ff:fe:10:24:20”であり、2個前のノードcの実アドレスと上位7[byte]が共通である。このため、ノードeは、ノードdからのデータを転送する際に、オフセット情報1102として“2”を設定し、プレフィクス長情報1103として“7”を設定する。また、ノードeは、アドレス1104として下位1[byte]の“20”を設定する。
 ノードfの実アドレスは、“55:44:33:ff:fe:22:11:00”であり、前段のノードの実アドレスとの上位共通部分がない。このため、ノードfは、ノードeから受信したデータを転送する際に、オフセット情報1102およびプレフィクス長情報1103として“0”を設定し、アドレス1104として自ノードの実アドレスのすべてを設定する。ノードa~fによる履歴リストの追加について説明したが、ノードg,hによる履歴リストの追加についても同様である。
 各ノードは、自ノードより前段のノードの実アドレスを、その前段のノードが追加したオフセット情報1102、プレフィクス長情報1103およびアドレス1104を用いて再帰的に展開することにより特定することができる。そして、各ノードは、自ノードより前段の各ノードの実アドレスを特定し、特定した各実アドレスに基づいて、オフセット情報1102、プレフィクス長情報1103およびアドレス1104を用いて自ノードのアドレスを履歴リスト1200に追加する。
 たとえば、ノードc~hは、ノードbの実アドレスについて、履歴リスト番号=1のオフセット情報1102が示すノードaの実アドレスのうち、履歴リスト番号=1のプレフィクス長情報1103が示すデータ長の上位ビットを取得する。履歴リスト番号=0の実アドレスは、たとえば上述したデータヘッダ/グローバル制御ヘッダ121から取得することができる。そして、ノードc~hは、取得した上位ビットと、履歴リスト番号=1のアドレス1104が示すノードbの実アドレスの下位ビットと、を連結することでノードbの実アドレスを特定することができる。
 図12に示したように、各ノードは、転送するデータの履歴リストを検索し、実アドレスの上位バイトから連続して一致するアドレスを含む履歴リストを検出する。そして、各ノードは、一致する部分のバイト数が最も大きい履歴リストのうち、一番新しい履歴リストと自分のリストとの距離をオフセット情報1102として設定する。また、各ノードは、一致する部分のバイト数をプレフィクス長情報1103として設定する。そして、各ノードは、実アドレスの一致しない部分のみを履歴リストのアドレス1104として設定する。これにより、経路ヘッダ123の情報量を削減することができる。
 また、最初の送信元のノードが自ノードのアドレスを示す履歴リストをデータに付加しないことにより、経路ヘッダ123の情報量をさらに削減することができる。ただし、このような構成に限らない。すなわち、ノードaが自ノードのアドレスを示す履歴リストをデータに付加する構成としてもよい。
(実施の形態2にかかるデータ転送装置による経路ヘッダの履歴リストの削除)
 図13は、実施の形態2にかかるデータ転送装置による経路ヘッダの履歴リストの削除の一例を示す図である。図13において、図12に示した部分と同様の部分については同一の符号を付して説明を省略する。図13に示す例では、履歴リスト番号=1~7に対応する実アドレスが、図12の例における実アドレスとは異なるが、各ノードによる履歴リストの追加方法については図12の例と同様である。
 また、図13に示す例では、ノードiが転送データの経路ヘッダ123に履歴リストを追加する際に、履歴リスト1200のデータ量が閾値を超えていたとする。ノードiは、図12に示したノードhの次にデータを転送するノードであって、図3に示したデータ転送装置300により実現される。この場合は、ノードiは、履歴リスト1200の履歴リストを、古い履歴リストほど優先的に、履歴リスト1200のデータ量が閾値以下になるまで削除する。
 図13に示す例では、ノードbが追加した履歴リスト番号=1の履歴リストが削除されたとする。この場合に、ノードiは、削除した履歴リスト番号=1以降の履歴リスト番号を振り直す。また、ノードiは、ノードaの履歴リストを参照するノードcの履歴リストのオフセット情報1102を“2”から“1”に修正する。また、ノードiは、削除したノードbを参照していたノードgの履歴リストの参照先を再度検索して修正する。
 図13に示す例ではノードgの新たな参照先としてノードdが検索されたとする。この場合は、ノードiは、ノードgの履歴リストのオフセット情報1102を“5”から“3”に修正し、ノードgの履歴リストのプレフィクス長情報1103を“7”から“6”に修正する。また、ノードiは、ノードgの履歴リストのプレフィクス長情報1103を“58”から“24:58”に修正する。
 ノードiは、修正後の履歴リスト1200に対して自ノードの履歴リストを履歴リスト番号=7の履歴リストとして経路ヘッダ123に追加し、経路ヘッダ123に自ノードの履歴リストを追加したデータを次のノードへ転送する。このとき、ノードiは、転送するデータの履歴ヘッダ910における履歴あふれ情報1001(図10参照)に、履歴リスト1200のデータ量が閾値を超えて履歴リストの削除が発生したことを示す情報を格納してもよい。
 図13に示したように、データ転送装置300は、受信したデータに含まれる、自ノードまたは他ノードを経たデータであることを示す経路ヘッダ123のデータ量が所定量を超えている場合に、経路ヘッダ123のうちの古い履歴リストを優先的に削除してもよい。そして、データ転送装置300は、古い履歴リストを削除したデータを次の転送先へ送信する。これにより、転送されるデータの経路ヘッダ123のデータ量が大きくなり過ぎることを回避し、データ転送の効率化を図ることができる。
 また、図13に示した例では、データ転送装置300がデータを受信した時点で経路ヘッダ123のデータ量が所定量を超えていた場合に古い履歴リストを削除する構成について説明したが、このような構成に限らない。たとえば、データ転送装置300が、自ノードのアドレスを示す履歴リストを経路ヘッダ123に追加した後に、経路ヘッダ123のデータ量が所定量を超えていた場合に古い履歴リストを削除する構成としてもよい。
 図12,図13に示した例のように、実施の形態2にかかる追加部320は、受信したデータにおいて、自ノードのアドレスと共通の部分を有する他ノードのアドレスが含まれている位置を示す情報をさらに追加してもよい。これにより、複数の他ノードの各アドレスの中から、自ノードのアドレスと共通部分を有するアドレスを検索することができる。これにより、自ノードのアドレスと共通部分を有する他ノードのアドレスが存在する確率が高くなり、また、自ノードのアドレスと他ノードの共通部分が長くなる確率が高くなる。このため、より経路ヘッダ123の情報量の削減を図ることができる。
 他ノードのアドレスが含まれている位置を示す情報は、図12,図13に示した例では自ノードの履歴リストの位置からいくつ前の履歴リストであるかを示すオフセット情報1102であるが、このような情報に限らない。たとえば、他ノードのアドレスが含まれている位置を示す情報は、転送データの先頭から何個目の履歴リストであるかを示す情報などであってもよい。
(実施の形態2にかかるデータ転送装置による履歴リストの追加処理)
 図14は、実施の形態2にかかるデータ転送装置による履歴リストの追加処理の一例を示すフローチャートである。実施の形態2にかかるデータ転送装置300は、たとえば図6に示したステップS605において、履歴リストの追加処理として、たとえば図14に示す各ステップを実行する。
 まず、データ転送装置300は、ステップS601において受信したユニキャストフレームのGSの実アドレスと、受信したステップS601において受信したユニキャストフレームの経路ヘッダ123の実アドレスと、を取得する(ステップS1401)。たとえば、データ転送装置300は、経路ヘッダ123の中に、オフセット情報1102、プレフィクス長情報1103およびアドレス1104が含まれていた場合は、これらに基づいて実アドレスを展開することにより各アドレスを取得することができる。
 つぎに、データ転送装置300は、ステップS1401によって取得した各アドレスの中に、自ノードのアドレスと上位ビットが共通するアドレスがあるか否かを判断する(ステップS1402)。上位ビットが共通するアドレスがない場合(ステップS1402:No)は、データ転送装置300は、自ノードのアドレスの全ビットを経路ヘッダ123に追加し(ステップS1403)、ステップS1406へ移行する。
 ステップS1402において、上位ビットが共通するアドレスがある場合(ステップS1402:Yes)は、データ転送装置300は、上位ビットが共通するアドレスのうちの共通する上位ビットが最長のアドレスを特定する(ステップS1404)。
 つぎに、データ転送装置300は、ステップS1404によって特定した共通するアドレスの経路ヘッダ123における位置と、そのアドレスと共通する上位ビットの長さと、自ノードの残りの下位ビットと、を経路ヘッダ123に追加する(ステップS1405)。自ノードの残りの下位ビットは、自ノードのアドレスの全ビットのうちの、ステップS1404によって特定したアドレスと共通する自ノードの上位ビットを除いたビットである。また、ステップS1405によって経路ヘッダ123に追加される情報は、たとえばオフセット情報1102、プレフィクス長情報1103およびアドレス1104である。
 つぎに、データ転送装置300は、経路ヘッダ123のデータ量が所定量を超えたか否かを判断する(ステップS1406)。経路ヘッダ123のデータ量が所定量を超えていない場合(ステップS1406:No)は、データ転送装置300は、一連の履歴リストの追加処理を終了する。経路ヘッダ123のデータ量が所定量を超えた場合(ステップS1406:Yes)は、データ転送装置300は、経路ヘッダ123の最も古いアドレス(履歴リスト)を削除する(ステップS1407)。
 つぎに、データ転送装置300は、図13に示した例のように、経路ヘッダ123に残った各アドレスの参照関係を更新する(ステップS1408)。たとえば、データ転送装置300は、ステップS1408において、ステップS601によって受信したユニキャストフレームのGSの実アドレスと、現在の経路ヘッダ123の実アドレスと、を取得する。そして、データ転送装置300は、取得した各実アドレスについて、古い実アドレスから順に、その実アドレスより古い実アドレスとの共通部分があればオフセット情報1102、プレフィクス長情報1103およびアドレス1104に置き換える。
 これにより、各アドレスの参照関係を更新した経路ヘッダ123を得ることができる。データ転送装置300は、ステップS1408によって経路ヘッダ123の各アドレスの参照関係を更新すると、ステップS1406へ戻る。
 このように、実施の形態2にかかるデータ転送装置300は、受信したデータに他ノードを経たデータであることを示す他ノードの識別情報が含まれている場合に、他ノードの識別情報を用いて圧縮した自ノードの識別情報をデータに追加する。すなわち、データ転送装置300は、自ノードの識別情報における他ノードの識別情報と共通する部分の範囲を示す情報と、自ノードの識別情報における他ノードの識別情報と異なる部分とを自ノードの識別情報として追加する。
 これにより、自ノードを経たデータであることを示す自ノードの識別情報をデータに追加する際に、たとえば自ノードの識別情報(アドレス)のすべてを追加する場合と比べて、追加する情報の量を少なくすることができる。これにより、転送されるデータのデータ量の削減を図ることができる。
(実施の形態3)
 実施の形態3について、実施の形態2と異なる部分について説明する。実施の形態3においては、実施の形態1において説明したルーティングテーブルの更新方法に限らずに、実施の形態2に説明した経路ヘッダ123の情報量の削減を図る構成について説明する。
(実施の形態3にかかるデータ転送装置)
 図15は、実施の形態3にかかるデータ転送装置の一例を示す図である。図15において、図3に示した部分と同様の部分については同一の符号を付して説明を省略する。図3に示すように、実施の形態3にかかるデータ転送装置300は、たとえば、受信部310と、追加部320と、送信部340と、を備える。図1,図2に示したノード101~108のそれぞれには、たとえばデータ転送装置300を適用することができる。
 受信部310は、宛先ノードの識別情報を含むデータを受信し、受信したデータを追加部320へ出力する。追加部320は、受信部310から出力されたデータに、自ノード(データ転送装置300)を経たデータであることを示す自ノードの識別情報を追加する。また、追加部320は、受信部310から出力されたデータに、他ノードを経たデータであることを示す、その他ノードの識別情報が含まれている場合に、その他ノードの識別情報を用いて圧縮した自ノードの識別情報を追加する。すなわち、追加部320は、自ノードの識別情報における他ノードの識別情報と共通する部分の範囲を示す情報と、自ノードの識別情報における他ノードの識別情報と異なる部分とを、自ノードを経たデータであることを示す自ノードの識別情報として追加する。追加部320は、自ノードの識別情報を追加したデータを送信部340へ出力する。
 送信部340は、自ノードからの送信先ノードに対して、追加部320から出力されたデータを送信する。送信先ノードは、たとえば、追加部320から出力されたデータの宛先(GD)と、自ノードのルーティングテーブルと、に基づき選択されたノードである。
 このように、実施の形態3にかかるデータ転送装置300によれば、データを転送する際に、自ノードを経たデータであることを示す自ノードの識別情報をデータに追加することができる。また、受信したデータに他ノードを経たデータであることを示す他ノードの識別情報が含まれている場合に、その他ノードの識別情報を用いて圧縮した自ノードの識別情報をデータに追加することができる。すなわち、自ノードの識別情報における他ノードの識別情報と共通する部分の範囲を示す情報と、自ノードの識別情報における他ノードの識別情報と異なる部分とを自ノードの識別情報として追加することができる。
 これにより、自ノードを経たデータであることを示す自ノードの識別情報をデータに追加する際に、たとえば自ノードの識別情報(アドレス)のすべてを追加する場合と比べて、追加する情報の量を少なくすることができる。これにより、転送されるデータのデータ量の削減を図ることができる。
 以上説明したように、データ転送プログラム、データ転送装置およびデータ転送方法によれば、ネットワークの状況に応じて転送先を変更することができる。または、データ転送プログラム、データ転送装置およびデータ転送方法によれば、転送されるデータのデータ量の削減を図ることができる。
 なお、実施の形態で説明したデータ転送方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD-ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。CD-ROMはCompact Disc-Read Only Memoryの略である。MOはMagneto Optical diskの略である。DVDはDigital Versatile Discの略である。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
 100 データ転送システム
 101~108 ノード
 111~116,215 ユニキャストフレーム
 121 データヘッダ/グローバル制御ヘッダ
 122 データ領域
 123 経路ヘッダ
 300 データ転送装置
 310 受信部
 320 追加部
 330 選択部
 331 記憶部
 340 送信部
 350 判定部
 360 特定部
 370 更新部
 400 通信装置
 401 CPU
 402 メモリ
 403 通信インタフェース
 409 バス
 500 ルーティングテーブル
 801,802 MACアドレス
 803,920~92n,1200 履歴リスト
 910 履歴ヘッダ
 1001 履歴あふれ情報
 1002 履歴数情報
 1101 BT情報
 1102 オフセット情報
 1103 プレフィクス長情報
 1104 アドレス

Claims (17)

  1.  宛先ノードの識別情報を含むデータを受信し、
     受信した前記データに自ノードを経たデータであることを示す、自ノードの識別情報を追加し、
     宛先ノードの識別情報に応じてデータの送信先ノードの識別情報を優先度と対応づけて記憶する記憶部を参照して、受信した前記データに含まれる宛先ノードの識別情報に対応する送信先ノードの中からいずれかの送信先ノードを対応づけられた優先度に基づいて選択し、
     選択した送信先ノードに対して前記自ノードの識別情報を追加したデータを送信し、
     受信したデータに前記自ノードの識別情報が含まれるか否かの判定を行い、
     前記自ノードの識別情報が含まれる場合に、受信した前記データに含まれる、前記自ノードの識別情報の次に追加されたノードの識別情報を特定し、
     受信した前記データに含まれる宛先ノードの識別情報に対応する送信先ノードの識別情報のうち、特定した前記ノードの識別情報に対応づけて前記記憶部に記憶された優先度を更新する、
     処理をコンピュータに実行させることを特徴とするデータ転送プログラム。
  2.  前記自ノードの識別情報の次に追加されたノードの識別情報を特定する処理は、前記自ノードの識別情報が含まれる場合に、受信した前記データに含まれる、前記自ノードの識別情報の次に追加されたノードの識別情報を特定するとともに、受信した前記データに含まれる、最後に追加されたノードの識別情報が、特定した前記ノードの識別情報と同一か否かの判定を行う処理であり、
     前記特定した前記ノードの識別情報に対応づけて前記記憶部に記憶された優先度を更新する処理は、前記同一か否かの判定を行う処理によって同一と判定された場合に前記優先度を更新する処理である、
     ことを特徴とする請求項1に記載のデータ転送プログラム。
  3.  前記自ノードの識別情報を追加する処理は、受信した前記データに他ノードを経たデータであることを示す前記他ノードの識別情報が含まれている場合に、前記自ノードの識別情報における前記他ノードの識別情報と共通する部分の範囲を示す情報と、前記自ノードの識別情報における前記他ノードの識別情報と異なる部分とを、前記自ノードを経たデータであることを示す自ノードの識別情報として追加する処理であることを特徴とする請求項1または2に記載のデータ転送プログラム。
  4.  前記自ノードの識別情報を追加する処理は、受信した前記データに他ノードを経たデータであることを示す前記他ノードの識別情報が含まれている場合に、受信した前記データにおいて前記他ノードの識別情報が含まれている位置を示す情報と、前記自ノードの識別情報における前記他ノードの識別情報と共通する部分の範囲を示す情報と、前記自ノードの識別情報における前記他ノードの識別情報と異なる部分とを、前記自ノードを経たデータであることを示す自ノードの識別情報として追加する処理であることを特徴とする請求項3に記載のデータ転送プログラム。
  5.  受信した前記データまたは送信する前記データに含まれる、自ノードまたは他ノードを経たデータであることを示す自ノードまたは他ノードの識別情報のデータ量が所定量を超えている場合に、前記自ノードまたは他ノードの識別情報のうちの古い識別情報を優先的に削除し、前記古い識別情報を削除したデータを送信することを特徴とする請求項1~4のいずれか一つに記載のデータ転送プログラム。
  6.  前記特定した前記ノードの識別情報に対応づけて前記記憶部に記憶された優先度を更新する処理は、特定した前記識別情報に対応するノードを前記いずれかの送信先ノードとして選択することを抑制するように前記優先度を更新する処理であることを特徴とする請求項1~5のいずれか一つに記載のデータ転送プログラム。
  7.  宛先ノードの識別情報を含むデータを受信する受信部と、
     前記受信部によって受信された前記データに自ノードを経たデータであることを示す、自ノードの識別情報を追加する追加部と、
     宛先ノードの識別情報に応じてデータの送信先ノードの識別情報を優先度と対応づけて記憶する記憶部を参照して、前記受信部によって受信された前記データに含まれる宛先ノードの識別情報に対応する送信先ノードの中からいずれかの送信先ノードを対応づけられた優先度に基づいて選択する選択部と、
     前記選択部によって選択された送信先ノードに対して前記追加部によって前記自ノードの識別情報を追加されたデータを送信する送信部と、
     前記受信部によって受信された前記データに前記自ノードの識別情報が含まれるか否かの判定を行う判定部と、
     前記判定部によって前記自ノードの識別情報が含まれると判定された場合に、前記受信部によって受信された前記データに含まれる、前記自ノードの識別情報の次に追加されたノードの識別情報を特定する特定部と、
     前記受信部によって受信された前記データに含まれる宛先ノードの識別情報に対応する送信先ノードの識別情報のうち、前記特定部によって特定された前記ノードの識別情報に対応づけて前記記憶部に記憶された優先度を更新する更新部と、
     を備えることを特徴とするデータ転送装置。
  8.  宛先ノードの識別情報を含むデータを受信し、
     受信した前記データに自ノードを経たデータであることを示す、自ノードの識別情報を追加し、
     宛先ノードの識別情報に応じてデータの送信先ノードの識別情報を優先度と対応づけて記憶する記憶部を参照して、受信した前記データに含まれる宛先ノードの識別情報に対応する送信先ノードの中からいずれかの送信先ノードを対応づけられた優先度に基づいて選択し、
     選択した送信先ノードに対して前記自ノードの識別情報を追加したデータを送信し、
     受信したデータに前記自ノードの識別情報が含まれるか否かの判定を行い、
     前記自ノードの識別情報が含まれる場合に、受信した前記データに含まれる、前記自ノードの識別情報の次に追加されたノードの識別情報を特定し、
     受信した前記データに含まれる宛先ノードの識別情報に対応する送信先ノードの識別情報のうち、特定した前記ノードの識別情報に対応づけて前記記憶部に記憶された優先度を更新する、
     ことを特徴とするデータ転送方法。
  9.  宛先ノードの識別情報を含むデータを受信し、
     受信した前記データに自ノードを経たデータであることを示す、自ノードの識別情報を追加し、
     宛先ノードの識別情報に応じてデータの送信先ノードの識別情報を優先度と対応づけて記憶する記憶部を参照して、受信した前記データに含まれる宛先ノードの識別情報に対応する送信先ノードの中からいずれかの送信先ノードを対応づけられた優先度に基づいて選択し、
     選択した送信先ノードに対して前記自ノードの識別情報を追加したデータを送信し、
     受信したデータに前記自ノードの識別情報が含まれるか否かの判定を行い、
     前記自ノードの識別情報が含まれる場合に、受信した前記データに含まれる、前記自ノードの識別情報の次に追加されたノードの識別情報を特定し、
     受信した前記データに含まれる宛先ノードの識別情報に対応する送信先ノードの識別情報のうち、特定した前記識別情報に対応するノードを、前記いずれかの送信先ノードとして選択することを抑制する、
     処理をコンピュータに実行させることを特徴とするデータ転送プログラム。
  10.  宛先ノードの識別情報を含むデータを受信する受信部と、
     前記受信部によって受信された前記データに自ノードを経たデータであることを示す、自ノードの識別情報を追加する追加部と、
     宛先ノードの識別情報に応じてデータの送信先ノードの識別情報を優先度と対応づけて記憶する記憶部を参照して、前記受信部によって受信された前記データに含まれる宛先ノードの識別情報に対応する送信先ノードの中からいずれかの送信先ノードを対応づけられた優先度に基づいて選択する選択部と、
     前記選択部によって選択された送信先ノードに対して前記追加部によって前記自ノードの識別情報を追加されたデータを送信する送信部と、
     前記受信部によって受信された前記データに前記自ノードの識別情報が含まれるか否かの判定を行う判定部と、
     前記判定部によって前記自ノードの識別情報が含まれると判定された場合に、前記受信部によって受信された前記データに含まれる、前記自ノードの識別情報の次に追加されたノードの識別情報を特定する特定部と、
     前記受信部によって受信された前記データに含まれる宛先ノードの識別情報に対応する送信先ノードの識別情報のうち、前記特定部によって特定された前記識別情報に対応するノードを、前記いずれかの送信先ノードとして選択することを抑制する抑制部と、
     を備えることを特徴とするデータ転送装置。
  11.  宛先ノードの識別情報を含むデータを受信し、
     受信した前記データに自ノードを経たデータであることを示す、自ノードの識別情報を追加し、
     宛先ノードの識別情報に応じてデータの送信先ノードの識別情報を優先度と対応づけて記憶する記憶部を参照して、受信した前記データに含まれる宛先ノードの識別情報に対応する送信先ノードの中からいずれかの送信先ノードを対応づけられた優先度に基づいて選択し、
     選択した送信先ノードに対して前記自ノードの識別情報を追加したデータを送信し、
     受信したデータに前記自ノードの識別情報が含まれるか否かの判定を行い、
     前記自ノードの識別情報が含まれる場合に、受信した前記データに含まれる、前記自ノードの識別情報の次に追加されたノードの識別情報を特定し、
     受信した前記データに含まれる宛先ノードの識別情報に対応する送信先ノードの識別情報のうち、特定した前記識別情報に対応するノードを、前記いずれかの送信先ノードとして選択することを抑制する、
     ことを特徴とするデータ転送方法。
  12.  宛先ノードの識別情報を含むデータを受信し、
     受信した前記データに自ノードを経たデータであることを示す、自ノードの識別情報を追加し、
     宛先ノードの識別情報に応じてデータの送信先ノードの識別情報を優先度と対応づけて記憶する記憶部を参照して、受信した前記データに含まれる宛先ノードの識別情報に対応する送信先ノードの中からいずれかの送信先ノードを対応づけられた優先度に基づいて選択し、
     選択した送信先ノードに対して前記自ノードの識別情報を追加したデータを送信し、
     受信したデータに前記自ノードの識別情報が含まれるか否かの判定を行い、
     前記自ノードの識別情報が含まれる場合に、受信した前記データに含まれる、前記自ノードの識別情報の次に追加されたノードの識別情報を特定するとともに、受信した前記データに含まれる、最後に追加されたノードの識別情報が、特定した前記ノードの識別情報と同一か否かの判定を行い、
     同一と判定された場合に、受信した前記データに含まれる宛先ノードの識別情報に対応する送信先ノードの識別情報のうち、特定した前記ノードの識別情報に対応づけて前記記憶部に記憶された優先度を更新する、
     処理をコンピュータに実行させることを特徴とするデータ転送プログラム。
  13.  宛先ノードの識別情報を含むデータを受信する受信部と、
     前記受信部によって受信された前記データに自ノードを経たデータであることを示す、自ノードの識別情報を追加する追加部と、
     宛先ノードの識別情報に応じてデータの送信先ノードの識別情報を優先度と対応づけて記憶する記憶部を参照して、前記受信部によって受信された前記データに含まれる宛先ノードの識別情報に対応する送信先ノードの中からいずれかの送信先ノードを対応づけられた優先度に基づいて選択する選択部と、
     前記選択部によって選択された送信先ノードに対して前記追加部によって前記自ノードの識別情報を追加されたデータを送信する送信部と、
     前記受信部によって受信された前記データに前記自ノードの識別情報が含まれるか否かの判定を行う判定部と、
     前記判定部によって前記自ノードの識別情報が含まれると判定された場合に、前記受信部によって受信された前記データに含まれる、前記自ノードの識別情報の次に追加されたノードの識別情報を特定するとともに、受信した前記データに含まれる、最後に追加されたノードの識別情報が、特定した前記ノードの識別情報と同一か否かの判定を行う特定部と、
     前記特定部によって同一と判定された場合に、前記受信部によって受信された前記データに含まれる宛先ノードの識別情報に対応する送信先ノードの識別情報のうち、前記特定部によって特定された前記ノードの識別情報に対応づけて前記記憶部に記憶された優先度を更新する更新部と、
     を備えることを特徴とするデータ転送装置。
  14.  宛先ノードの識別情報を含むデータを受信し、
     受信した前記データに自ノードを経たデータであることを示す、自ノードの識別情報を追加し、
     宛先ノードの識別情報に応じてデータの送信先ノードの識別情報を優先度と対応づけて記憶する記憶部を参照して、受信した前記データに含まれる宛先ノードの識別情報に対応する送信先ノードの中からいずれかの送信先ノードを対応づけられた優先度に基づいて選択し、
     選択した送信先ノードに対して前記自ノードの識別情報を追加したデータを送信し、
     受信したデータに前記自ノードの識別情報が含まれるか否かの判定を行い、
     前記自ノードの識別情報が含まれる場合に、受信した前記データに含まれる、前記自ノードの識別情報の次に追加されたノードの識別情報を特定するとともに、受信した前記データに含まれる、最後に追加されたノードの識別情報が、特定した前記ノードの識別情報と同一か否かの判定を行い、
     同一と判定された場合に、受信した前記データに含まれる宛先ノードの識別情報に対応する送信先ノードの識別情報のうち、特定した前記ノードの識別情報に対応づけて前記記憶部に記憶された優先度を更新する、
     ことを特徴とするデータ転送方法。
  15.  データを受信し、
     受信した前記データに他ノードを経たデータであることを示す前記他ノードの識別情報が含まれている場合に、自ノードの識別情報における前記他ノードの識別情報と共通する部分の範囲を示す情報と、前記自ノードの識別情報における前記他ノードの識別情報と異なる部分とを、自ノードを経たデータであることを示す自ノードの識別情報として追加し、
     前記自ノードの識別情報を追加したデータを送信先ノードへ送信する、
     処理をコンピュータに実行させることを特徴とするデータ転送プログラム。
  16.  データを受信する受信部と、
     前記受信部によって受信された前記データに他ノードを経たデータであることを示す前記他ノードの識別情報が含まれている場合に、自ノードの識別情報における前記他ノードの識別情報と共通する部分の範囲を示す情報と、前記自ノードの識別情報における前記他ノードの識別情報と異なる部分とを、自ノードを経たデータであることを示す自ノードの識別情報として追加する追加部と、
     前記追加部によって前記自ノードの識別情報が追加されたデータを送信先ノードへ送信する送信部と、
     を備えることを特徴とするデータ転送装置。
  17.  データを受信し、
     受信した前記データに他ノードを経たデータであることを示す前記他ノードの識別情報が含まれている場合に、自ノードの識別情報における前記他ノードの識別情報と共通する部分の範囲を示す情報と、前記自ノードの識別情報における前記他ノードの識別情報と異なる部分とを、自ノードを経たデータであることを示す自ノードの識別情報として追加し、
     前記自ノードの識別情報を追加したデータを送信先ノードへ送信する、
     ことを特徴とするデータ転送方法。
PCT/JP2016/055936 2016-02-26 2016-02-26 データ転送プログラム、データ転送装置およびデータ転送方法 WO2017145390A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2016/055936 WO2017145390A1 (ja) 2016-02-26 2016-02-26 データ転送プログラム、データ転送装置およびデータ転送方法
TW106101009A TW201731318A (zh) 2016-02-26 2017-01-12 資料轉送程式、資料轉送裝置及資料轉送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/055936 WO2017145390A1 (ja) 2016-02-26 2016-02-26 データ転送プログラム、データ転送装置およびデータ転送方法

Publications (1)

Publication Number Publication Date
WO2017145390A1 true WO2017145390A1 (ja) 2017-08-31

Family

ID=59686004

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/055936 WO2017145390A1 (ja) 2016-02-26 2016-02-26 データ転送プログラム、データ転送装置およびデータ転送方法

Country Status (2)

Country Link
TW (1) TW201731318A (ja)
WO (1) WO2017145390A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021171542A1 (ja) * 2020-02-28 2021-09-02 本田技研工業株式会社 通信装置、プログラム、及びシステム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005064721A (ja) * 2003-08-08 2005-03-10 Sony Corp 通信システム及び方法、通信端末装置及びその制御方法、プログラム
WO2009130918A1 (ja) * 2008-04-25 2009-10-29 富士通株式会社 ノード装置及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005064721A (ja) * 2003-08-08 2005-03-10 Sony Corp 通信システム及び方法、通信端末装置及びその制御方法、プログラム
WO2009130918A1 (ja) * 2008-04-25 2009-10-29 富士通株式会社 ノード装置及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021171542A1 (ja) * 2020-02-28 2021-09-02 本田技研工業株式会社 通信装置、プログラム、及びシステム

Also Published As

Publication number Publication date
TW201731318A (zh) 2017-09-01

Similar Documents

Publication Publication Date Title
KR101502263B1 (ko) 하이브리드 통신 네트워크들에 대한 어드레싱 방식
US10003532B2 (en) Communication method and communication apparatus
CN102714629B (zh) 通信系统、转发节点、路径管理服务器以及通信方法
CN109194581B (zh) 报文处理方法及装置
US20110038274A1 (en) Route information relay method and wireless terminal
US10447798B2 (en) Communication system permitting reduction of amount of data of route information included in packet, communication method, and relay device of communication system
CN109327255B (zh) 一种用于无人机自组网的路由方法及系统
JP2020527918A (ja) データフロー伝送
US20140198666A1 (en) Data transfer method and node apparatus that uses the same
US20220329534A1 (en) Method to Accelerate Packet Detection Rule (PDR) Matching and Data Packet Processing in a User Plane Function (UPF) Module in a Communications Network
JP2016082479A (ja) 通信装置、通信方法およびプログラム
US9094347B2 (en) Apparatus and method for transferring packets
US9578587B2 (en) Wireless communication device and route selection method in wireless network
JP2014099771A (ja) 通信方法、通信プログラム、および、ノード装置
WO2017145390A1 (ja) データ転送プログラム、データ転送装置およびデータ転送方法
US10333830B2 (en) Passive routing in mesh network
US9973414B2 (en) Device and method for wireless communication used in wireless ad hoc network
US8509152B2 (en) Method and apparatus for routing in wireless network
US20200244571A1 (en) Control node and path control system
JP3989503B2 (ja) ネットワーク中継器
KR100811881B1 (ko) 패킷 전송 경로 선택 장치 및 그 방법
US9647931B2 (en) Systems, and methods for rerouting electronic communications
KR102060907B1 (ko) 데이터 이름 기반 네트워크에서의 fib 테이블 공유 방법 및 데이터 이름 기반 네트워크 시스템
CN107770068B (zh) 路径选择方法和装置
JP2018006793A (ja) 転送装置、サーバ装置、および、転送方法

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

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

Ref document number: 16891547

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 16891547

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP