WO2011121672A1 - Node device and data transmission method - Google Patents

Node device and data transmission method Download PDF

Info

Publication number
WO2011121672A1
WO2011121672A1 PCT/JP2010/002396 JP2010002396W WO2011121672A1 WO 2011121672 A1 WO2011121672 A1 WO 2011121672A1 JP 2010002396 W JP2010002396 W JP 2010002396W WO 2011121672 A1 WO2011121672 A1 WO 2011121672A1
Authority
WO
WIPO (PCT)
Prior art keywords
node device
data
data frame
transmission
node
Prior art date
Application number
PCT/JP2010/002396
Other languages
French (fr)
Japanese (ja)
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/JP2010/002396 priority Critical patent/WO2011121672A1/en
Priority to JP2012507915A priority patent/JP5477462B2/en
Publication of WO2011121672A1 publication Critical patent/WO2011121672A1/en

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals

Definitions

  • the present invention relates to a node device used in a network including a plurality of node devices and a data transmission method.
  • An ad hoc network has been put to practical use as one form of a network including a plurality of node devices.
  • autonomous path selection is performed in each node device. That is, each node device of the ad hoc network has a function of operating as a router or a switch.
  • each node device can recognize the surrounding network configuration by exchanging messages and the like with adjacent node devices. Therefore, when an ad hoc (particularly, wireless ad hoc) method is employed, a desired network can be constructed simply by placing a node device in an environment where the network is to be constructed without providing a management device for managing the entire network. Furthermore, in an ad hoc network, it is easy to add or delete node devices, and the network configuration can be easily changed.
  • An object of the present invention is to improve data transfer efficiency in a network in which route selection is autonomously performed by each node device.
  • the node device includes a reception unit, a first storage unit, a second storage unit, an update unit, a transmission unit, and a backtrack unit.
  • the receiving means receives data from one of the plurality of adjacent node devices.
  • the first storage means includes data identification information for identifying transmission target data, and transmission destination adjacent node identification information for identifying a transmission destination adjacent node device that is a transmission destination of the transmission target data among the plurality of adjacent node devices.
  • origin node identification information for identifying the origin neighboring node device that is the neighboring node device that has transmitted the transmission target data first.
  • the second storage means stores transmission possibility information indicating the transmission possibility of data to the final destination for each of the plurality of adjacent node identification information in association with the final destination of data.
  • the updating means transmits the transmission data associated with the data identification information based on the fact that the data identification information for identifying the data received by the receiving means is stored as the data identification information in the first storage means. Identifying the adjacent node identification information, and in the second storage means, of the transmission possibility information of the adjacent node associated with the final destination set in the received data, the specified adjacent node identification information Update sendability to not send.
  • the transmission means selects an adjacent node device that can be transmitted based on the transmission possibility information of the transmission destination adjacent node identification information associated with the final destination of the received data in the second storage means, and selects the selection The received data is transmitted to the adjacent node device.
  • the backtrack means based on the fact that all the transmission possibility information of the transmission destination adjacent node identification information associated with the final destination of the reception data in the second storage means cannot be transmitted, The means transmits a part of the received data including at least the data identification information of the received data to the origin adjacent node device associated with the received data identification information.
  • a node device includes a reception unit, a first storage unit, a second storage unit, an update unit, a transmission unit, and a data holding unit.
  • the receiving means receives data from one of the plurality of adjacent node devices.
  • the first storage means includes data identification information for identifying transmission target data, and transmission destination adjacent node identification information for identifying a transmission destination adjacent node device that is a transmission destination of the transmission target data among the plurality of adjacent node devices.
  • origin node identification information for identifying the origin neighboring node device that is the neighboring node device that has transmitted the transmission target data first.
  • the second storage means stores transmission possibility information indicating the transmission possibility to each of the plurality of adjacent node devices in association with the final destination of the data.
  • the updating means transmits the transmission data associated with the data identification information when the received data identification information for identifying the received data received by the receiving means is stored as the data identification information in the first storage means. Identifying the adjacent node identification information, and in the second storage means, of the transmission possibility information of the adjacent node associated with the final destination set in the received data, the specified adjacent node identification information Update sendability to not send.
  • the transmission means selects an adjacent node device that can be transmitted based on the transmission possibility information of the transmission destination adjacent node identification information associated with the final destination of the received data in the second storage means, and selects the selection Data is transmitted to the adjacent node device.
  • the data holding unit holds data including data identification information transmitted from the transmission unit to the adjacent node device.
  • the transmission means receives data from the data holding means based on the reception means receiving at least a part of the data including the data identification information of the data transmitted by the own node apparatus from the destination adjacent node apparatus. Is extracted and the data is transmitted.
  • data transfer efficiency is improved in a network in which route selection is autonomously performed by each node device.
  • FIG. 1 shows the 1st example of a network structure. It is a figure which shows the 2nd example of a network configuration. It is a functional block diagram which shows the structure of the node apparatus in 1st Embodiment. It is a figure which shows the hardware constitutions of the node apparatus in 1st Embodiment. It is a figure explaining weight learning paying attention to one node apparatus. It is a figure explaining a mode that a path
  • FIG. 6 is a diagram (part 1) illustrating an example of an FID management table in FIG. 3;
  • FIG. 6 is a diagram (part 2) illustrating an example of the FID management table of FIG. 3;
  • FIG. 15 is a sequence diagram illustrating a backtrack operation illustrated in FIG. 14.
  • FIG. 15 is an Example of a FID management table.
  • It is a figure which shows the format of the flame
  • FIG. 7 is a timing chart showing recognition of adjacent nodes by transmission / reception of a hello frame and route selection of FIG. It is a figure which shows the example of the wired network to which 2nd Embodiment is applied. It is a figure which shows the example of the adjacent node management table in 2nd Embodiment.
  • FIG. 1 is a diagram showing a first example of a network configuration.
  • a network 1 in FIG. 1 is an example of an ad hoc network to which the following embodiments can be applied, and includes a plurality of node devices.
  • node device may be simply referred to as “node”.
  • node ID Identification information unique to the network 1 (hereinafter referred to as “node ID (identification)”) is assigned in advance to each node device in the network 1.
  • the reference symbol “N i ” indicates a node ID.
  • node device N i a node device to which N i is assigned as a node ID.
  • the node device N to N i is a node ID assigned to itself for i
  • the node device N i is also referred to as "own node ID" ( Figure 1, 1 ⁇ i ⁇ 7).
  • links are indicated by solid lines.
  • the topology of the network 1 is as follows. That is, between the node devices N 1 and N 2 , between the node devices N 2 and N 3 , between the node devices N 2 and N 6 , between the node devices N 3 and N 4 , and between the node devices N 3 and N 5 There are links between the node devices N 4 and N 5 , between the node devices N 4 and N 7 , and between the node devices N 6 and N 7 .
  • the “link” may be a wireless link or a wired link.
  • the node devices N i and N j can communicate information directly and wirelessly without being relayed by other node devices N k , “there is a wireless link between the node devices N i and N j. (In FIG. 1, 1 ⁇ i, j, k ⁇ 7). Further, when the node devices N i and N j are directly connected by a cable and the node devices N i and N j can communicate information via the cable, the node devices N i and N j There is a wired link between them. "
  • the node devices N i and N j are adjacent to each other”.
  • the node device N j is an adjacent node device
  • the node device N i is an adjacent node device
  • a new node device may be added to the network 1 in FIG. 1, or any one of the node devices N 1 to N 7 may be removed and disappear from the network 1. Also, links are not fixed and can change dynamically.
  • a new wireless link may be established between the node devices N i and N j due to the influence of weather, shielding, or the like, or the wireless link established so far may be lost. If the node device is movable, the presence or absence of a link may change due to a change in the distance between the node devices. Further, by changing the connection of the cable, a new wired link may be established, or the existing wired link may disappear, and the wired link may disappear due to a failure such as cable disconnection.
  • an appropriate route that can be used depends on the situation of the network 1 at the time when data is transmitted. Data is transmitted while being found and selected dynamically.
  • the route selection according to the dynamic topology change is realized in an autonomous and distributed manner without the node devices N 1 to N 7 needing to recognize the topology of the entire network 1 that dynamically changes.
  • PDU Protocol Data Unit
  • frame a unit of data transmitted and received between node devices according to a communication procedure (protocol), and unit data of transmission / reception itself
  • GS Global Source
  • GD Global Destination
  • the frame is relayed by other node devices, and as a result, the frame it reaches the node device N 7.
  • the frame may be transmitted from the node device N 1 to the node device N 2 , transmitted from the node device N 2 to the node device N 6, and transmitted from the node device N 6 to the node device N 7 .
  • the route is represented by a tuple such as ⁇ N 1 , N 2 , N 6 , N 7 >.
  • the final destination of the frame is the node device N that is GD. 7
  • direct destination of the frame is the node device N 2 adjacent to the node device N 1.
  • the node device that is the transmission source of the frame is referred to as “LS (Local Source)”
  • the node device that is the destination of the frame is referred to as “LD (Local). Destination) ”.
  • the LS and LD when the frame is relayed from the node device N 1 to the node device N 7 via the node devices N 2 and N 6 are as follows.
  • LS is a node device N 1
  • LD is the node device N 2.
  • LS is a node device N 2
  • LD is the node device N 6.
  • the frame is transmitted to the node device N 7, which is also GD is adjacent to the node device N 6
  • LS is a node device N 6
  • LD is the node device N 7 .
  • one or a plurality of node devices in the network 1 may be connected to a network device (not shown) belonging to a network different from the network 1 (hereinafter referred to as “external network”).
  • the gateway device of the external network including a data management server
  • the node device N 7 may be connected by a wired link or a wireless link. Then, the data transmitted in the network 1 with the node device N 7 designated as GD may be transmitted from the node device N 7 to the data management server via the gateway device and managed by the data management server.
  • FIG. 2 is a diagram illustrating a second example of the network configuration.
  • the network 2 in FIG. 2 is also an example of an ad hoc network to which the following embodiments can be applied, and includes a plurality of node devices. Further, similarly to the network 1 of FIG. 1, the network 2 may be connected to an external network (not shown).
  • the network 2 includes node devices N 101 to N 120 .
  • FIG. 2 is a diagram expressed by paying attention to one node device N 105 among the node devices N 101 to N 120 . That is, the node device N 105 indicated by a thick solid line circle only needs to recognize the existence of the three adjacent node devices N 107 , N 111 , and N 112 that can directly communicate with each other and the node ID. It is not necessary to recognize the topology of the entire network 2. Node device N 105 is far from the network 2 topologies, neither need to be aware of the number of node devices in the network 2, also need to be preliminarily know the node ID of the node device that is not adjacent to the node device N 105 Absent.
  • a portion recognized by the node device N 105 is represented by a solid line, and a portion that the node device N 105 does not need to recognize is represented by a broken line. That is, in FIG. 2, only the following items existing within the range of the hop number 1 as viewed from the node device N 105 are shown by solid lines.
  • Node device N 105 itself.
  • each node device in the network only needs to recognize an adjacent node device like the node device N 105 described above. Therefore, even if the scale of the network increases, “each node device communicates control information to recognize the network topology, and the communication of the control information increases the load on the network, which deteriorates the overall performance of the communication system. It does not fall into the situation.
  • FIG. 3 is a functional block diagram showing the configuration of the node device in the first embodiment. Specifically, each node device in FIG. 1 or 2 corresponds to, for example, the node device 100 shown in FIG.
  • the node device 100 includes a receiving unit 101 that receives a frame and a transmitting unit 102 that transmits a frame.
  • the node device 100 also includes an adjacent node management table 103, a weighting table 104, and an FID (Frame IDentification) management table 105 in order to store various types of information used for frame transmission.
  • FID Fre IDentification
  • the node device 100 further includes a frame branching processing unit 106 that determines the type of frame received by the receiving unit 101.
  • a frame branching processing unit 106 that determines the type of frame received by the receiving unit 101.
  • “data frame”, “hello frame”, and “ACK (ACKnowledgment) frame” are used.
  • “empty data frame” is used in order to increase the frame transfer efficiency.
  • an “aggregated empty data frame” is also used as necessary.
  • the node device 100 includes an ACK processing unit 107 that performs processing related to an ACK frame, and a link management unit 108 that performs processing in response to reception of a hello frame. Further, the node device 100 includes a buffer unit 109 and a data frame processing unit 110 in order to perform processing according to reception of the data frame. The node device 100 further includes an upper layer processing unit 111, a hello frame generation unit 112, and an FID generation unit 113. Further, the node device 100 includes a transmission queue 114.
  • Each unit of the node device 100 operates as follows.
  • the receiving unit 101 receives the frame and outputs the received frame to the frame branch processing unit 106. Then, the frame branch processing unit 106 determines the type of frame.
  • the frame branching processing unit 106 When the hello frame is received, the frame branching processing unit 106 outputs the received hello frame to the link management unit 108.
  • the link management unit 108 manages the adjacent node management table 103 and is also involved in the management of the weighting table 104.
  • the hello frame is a type of control frame for communicating control information, and specifically, a frame for the node device 100 to notify the other node devices of its own existence. Therefore, as will be described in detail later with reference to FIG. 25, the link management unit 108 recognizes the presence of the adjacent node device triggered by the reception of the hello frame, and reflects the recognition result in the adjacent node management table 103. That is, the adjacent node management table 103 is a table for the node device 100 to store other node devices adjacent to the node device 100.
  • the link management unit 108 Since the network status can change dynamically, in some cases, other node devices that have been recognized as adjacent node devices by the link management unit 108 may become unrecognizable as adjacent node devices. . Therefore, as will be described in detail later with reference to FIG. 27, the link management unit 108 also performs an aging process for deleting, from the adjacent node management table 103, entries related to node devices that have become unrecognizable as adjacent node devices.
  • the link management unit 108 adds, deletes, or updates the weighting table 104 in accordance with the change of the adjacent node device.
  • the weighting table 104 is a table for managing, for each GD, information for determining which adjacent node device the frame is transmitted to.
  • FIG. 3 shows weighting tables 104-1 to 104-M provided for each of the M GDs.
  • the “weighting table 104” is a general term for the weighting tables 104-1 to 104-M.
  • M 0.
  • the weighting table 104 manages, for each GD, “which adjacent node device can be selected as the LD by the node device 100 itself in order to finally reach the frame to the GD”. is doing.
  • the weighting table 104 represents, for each GD of a frame, the priority at the time of selecting as an LD for one or more node devices adjacent to the node device 100 as a weight.
  • a certain adjacent node device is “selectable as an LD” means that the transmission possibility of a frame to the adjacent node device is “transmittable”.
  • an adjacent node device is “not selectable as an LD” means that the transmission possibility of a frame to the adjacent node device is “not transmittable”, and the priority of the adjacent node device is It means a predetermined lowest priority corresponding to “transmission impossible”.
  • the link management unit 108 performs the weighting table 104 according to the change of the adjacent node device, as will be described in detail later with reference to FIGS. Add, update, or delete.
  • the frame branching processing unit 106 outputs the received ACK frame to the ACK processing unit 107.
  • the ACK frame is a kind of control frame, and is a frame for notifying the node device 100 of the reception of the data frame from the node device that is the LD of the data frame transmitted by the node device 100.
  • the reception of the ACK frame means that the transmission of the data frame has succeeded, and the time-out without receiving the ACK frame even after a predetermined time has passed means that the transmission of the data frame has failed.
  • the ACK processing unit 107 performs time-out monitoring of ACK frame reception shown in FIG.
  • the buffer unit 109 stores data frames in preparation for transmission failure and retransmission of data frames. Therefore, as will be described in detail later with reference to FIG. 37, when the ACK processing unit 107 recognizes the successful transmission of the data frame triggered by the reception of the ACK frame, the ACK processing unit 107 enters a state in which the unnecessary data frame can be deleted from the buffer unit 109. . However, in the buffer unit 109, the data frame is not brought into a state in which it can be immediately deleted when the corresponding ACK frame is received. That is, even when the corresponding ACK frame is received, the data frame written in the buffer unit 109 is held as it is until the predetermined time G elapses. Although the predetermined time G will be described in detail later, for example, it corresponds to the aging time of the FID management table 105. Further, the ACK processing unit 107 notifies the data frame processing unit 110 of success or failure of transmission of the data frame.
  • the frame branching processing unit 106 stores the received data frame in the buffer unit 109 and requests the data frame processing unit 110 to perform the processes shown in FIGS. 30 to 35 described later. To do.
  • the data frame is a frame including, as a payload, data that the node device that is the GS intends to transmit to the node device that is the GD.
  • a PDU of a protocol defined in a layer higher than a layer in which the frame in the first embodiment is defined is included in the data frame as a payload.
  • the upper layer processing unit 111 processes an upper layer PDU included as a payload in the data frame.
  • An outline of the operation of the data frame processing unit 110 that has received a data frame processing request from the frame branching processing unit 106 is as follows.
  • the data frame processing unit 110 requests the transmission unit 102 to transmit an ACK frame for the data frame received by the reception unit 101. Further, the data frame processing unit 110 determines whether or not the GD value of the received data frame is equal to the own node ID of the node device 100. If the GD value of the received data frame is different from the own node ID of the node device 100, the data frame processing unit 110 refers to the FID management table 105, so that the current reception is (A1) and ( It is determined which of A2) is applicable.
  • a new data frame other than (A1) is received by the receiving unit 101. If the data frame processing unit 110 determines that the current reception corresponds to (A2), the data frame processing unit 110 refers to the weighting table 104, selects an adjacent node device designated as an LD to transfer the received data frame, Is requested to the transmission unit 102.
  • the data frame processing unit 110 when determining that the current reception corresponds to (A1), the data frame processing unit 110 recognizes that the adjacent node device selected as the LD in the past is not an appropriate LD, and stores the recognition result in the weighting table 104. To reflect. Then, the data frame processing unit 110 refers to the weighting table 104 to determine whether or not there are other adjacent node devices that can be selected as the LD.
  • the data frame processing unit 110 also receives a notification of data frame transmission success or transmission failure from the ACK processing unit 107 and recognizes whether or not the adjacent node device selected as the LD of the data frame is appropriate. The result is reflected in the weighting table 104.
  • node device Ni being “selectable as an LD” means “not (B1) below or (B2) below”. The more detailed meaning of the word “selectable” is clear from the description of FIG. 5 described later and the descriptions of (F1) to (F2) and (G1) to (G4) regarding FIG.
  • This receiver 101 is a data frame received once LS when the receiver 101 is received for the first time (hereinafter referred to as "Original Local Source” abbreviated as "OLS”) was the node device N i .
  • the data frame processing unit 110 selects the selectable adjacent node device as the LD, and requests the transmission unit 102 to transfer the data frame. . Conversely, if there are no more adjacent node devices that can be selected as the LD, the data frame processing unit 110 operates as in (C1) or (C2) below.
  • the data frame processing unit 110 selects the OLS as the LD to return the data frame to the OLS, and transfers the data frame to the transmission unit 102.
  • This operation is an operation for causing an adjacent node device that is an OLS to recognize that “selecting the node device 100 as an LD is inappropriate”, and corresponds to backtracking in a route search as described later.
  • the data frame processing unit 110 needs to distinguish between (A1) and (A2). Therefore, in the first embodiment, frame identification information that can uniquely identify a data frame is included in each data frame, and the FID management table 105 stores the frame identification information.
  • the frame identification information in the first embodiment is specifically a combination of the node ID of the node device, which is the GS of the data frame, and the FID.
  • the FID is identification information that uniquely identifies each of a plurality of frames transmitted as a GS by a certain node device, and may be a sequence number of a predetermined number of bits or a time stamp, for example.
  • the frame identification information is not a FID alone, but a combination of the node ID of the node device, which is the GS of the data frame, and the FID.
  • the node ID is information for uniquely identifying the node device in the network as described above. Therefore, even if a plurality of different node devices accidentally generate the same FID, frames transmitted by different node devices as GS each have different frame identification information and can be distinguished.
  • the frame identification information is not rewritten by the node device that relays the data frame even if the data frame is transferred through the network via one or more node devices, and therefore does not change.
  • the data frame processing unit 110 records the frame identification information of the data frame requested to be transmitted to the transmission unit 102 in the FID management table 105, and when the data frame later returns to the node device 100 itself (A1) It can be recognized that it falls under.
  • the node device 100 performs other processing not triggered by reception of the frame. Specifically, the hello frame generation unit 112 periodically generates a hello frame using the FID generated by the FID generation unit 113 and outputs the hello frame to the transmission unit 102. Then, since the transmission unit 102 transmits a hello frame, the node device 100 can periodically notify the surroundings of the presence of the node device 100 itself.
  • the upper layer processing unit 111 can output the data to be transmitted as a payload in the data frame to the data frame processing unit 110 at an arbitrary timing. Then, the data frame processing unit 110 generates a data frame in response to a request from the higher layer processing unit 111 and instructs the transmission unit 102 to transmit the data frame.
  • the node device 100 can be a GS itself.
  • FIG. 4 is a diagram illustrating a hardware configuration of the node device according to the first embodiment.
  • the node device 100 in FIG. 3 may be realized by, for example, various hardware illustrated in FIG.
  • the node device 100 includes an MPU (MicroProcessing Unit) 201, a PHY (PHYsical layer) chip 202, and a timer IC (Integrated Circuit) 203.
  • the node device 100 includes a dynamic random access memory (DRAM) 204, a flash memory 205, and a wireless module 206.
  • DRAM dynamic random access memory
  • a communication interface that connects the MPU 201 and the PHY chip 202 is an MII / MDIO (Media Independent Interface or Management Data Input / Output) 207. Both MII and MDIO are interfaces between the physical layer and the MAC sublayer (Media Access Control sublayer).
  • the MPU 201 and the timer IC 203 are connected via an I 2 C / PIO (Inter-Integrated Circuit or Parallel Input / Output) bus 208.
  • the DRAM 204, the flash memory 205, and the wireless module 206 are connected to the MPU 201 via a PCI (Peripheral Component Interconnect) bus 209.
  • PCI Peripheral Component Interconnect
  • the MPU 201 loads a program such as firmware stored in a flash memory 205, which is a kind of nonvolatile storage device, into the DRAM 204, and executes various processes while using the DRAM 204 as a working memory.
  • the MPU 201 executes the program so that the frame branch processing unit 106, the ACK processing unit 107, the link management unit 108, the data frame processing unit 110, the upper layer processing unit 111, the hello frame generation unit 112, and the FID generation in FIG.
  • the unit 113 can operate.
  • a program such as firmware may be provided by being stored in a computer-readable storage medium and installed in the node device 100.
  • the program may be downloaded from the network via the PHY chip 202 or the wireless module 206 and installed in the node device 100.
  • the node device 100 may include a storage device such as a CAM (Content Addressable Memory), an SRAM (Static Random Access Memory), or an SDRAM (Synchronous Dynamic Random Access Memory).
  • CAM Content Addressable Memory
  • SRAM Static Random Access Memory
  • SDRAM Synchronous Dynamic Random Access Memory
  • the adjacent node management table 103, the weighting table 104, the FID management table 105, the buffer unit 109, and the transmission queue 114 are realized by the DRAM 204, the flash memory 205, or other storage device (not shown).
  • the flash memory 205 stores not only programs but also information unique to the node device 100 such as the node ID of the node device 100.
  • the PHY chip 202 is a circuit that performs physical layer processing in wired connection. Since the first embodiment is applied to a wireless network, the node device 100 may not include the PHY chip 202 in the first embodiment. However, the node device 100 may include a PHY chip 202 for connection between the node device 100 and an external network.
  • the node device 100 may include a wired LAN port according to the Ethernet (registered trademark) standard, and may be connected to a gateway device of an external network via a cable connected to the wired LAN port.
  • Ethernet registered trademark
  • the MPU 201 can generate an Ethernet frame and output it to the PHY chip 202 via the MII / MDIO 207.
  • the PHY chip 202 converts the output from the MPU 201 (that is, a logical signal representing an Ethernet frame) into a signal (that is, an electrical signal or an optical signal) corresponding to the type of the cable, and outputs the signal to the cable. In this way, the node device 100 can transmit data to the external network using the PHY chip 202.
  • the PHY chip 202 can also convert an electrical signal or an optical signal input from an external network via a cable and a wired LAN port into a logical signal and output the logical signal to the MPU 201 via the MII / MDIO 207.
  • the node device 100 can receive data from the external network using the PHY chip 202.
  • the wireless module 206 is hardware that performs physical layer processing in wireless connection.
  • the wireless module 206 includes, for example, an antenna, an ADC (Analog-to-Digital Converter), a DAC (Digital-to-Analog Converter), a modulator, a demodulator, an encoder, a decoder, and the like.
  • ADC Analog-to-Digital Converter
  • DAC Digital-to-Analog Converter
  • the receiving unit 101 and the transmitting unit 102 in FIG. 3 are realized by the wireless module 206 in FIG. That is, in the first embodiment, the link in the network is a wireless link. Note that an embodiment in which a wired link is present is also possible, as in a second embodiment to be described later.
  • Timer IC 203 performs a count-up operation until a set time elapses, and outputs an interrupt signal when the set time elapses.
  • the timer IC 203 may output an interrupt signal for executing the aging processing of the adjacent node management table 103, the weighting table 104, and the FID management table 105 at predetermined intervals.
  • the hardware configuration of the node device may be different from that in FIG. 4, and other hardware other than the standard / type illustrated in FIG. 4 may be used for the node device.
  • each part of FIG. 3 may be realized by a reconfigurable circuit such as an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit) instead of the MPU 201.
  • a reconfigurable circuit such as an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit) instead of the MPU 201.
  • each unit of FIG. 3 may be realized by both the MPU 201 and the hardware circuit.
  • a reference code in which a node ID is added after a reference code of each part in FIGS. 3 and 4 may be used.
  • the adjacent node management table 103 of FIG. 3 included in the node device N 1 may be referred to with a reference numeral “103-N 1 ”.
  • each node device will be described with reference to FIG. 5, and route selection realized as the entire network as a result of the operation of each node device will be described with reference to FIG.
  • FIG. 5 is a diagram for explaining learning of weights by paying attention to one node device.
  • six node devices in the network 3 are extracted as “node ⁇ ” to “node ⁇ ”.
  • nodes ⁇ , ⁇ , ⁇ , ⁇ , and ⁇ are adjacent to the node ⁇ , and the following five links are indicated by solid lines in FIG. 5.
  • the network 3 a schematically represented in the shape of a cloud in FIG. 5 is a part of the network 3.
  • the network 3a includes a link directly connecting the nodes ⁇ and ⁇ , or one of the nodes ⁇ and ⁇ via one or more unillustrated nodes and two or more unillustrated links. Includes routes that indirectly connect each other.
  • the node ⁇ receives a data frame 301 having a node (not shown) in the network 3 (hereinafter referred to as “node ⁇ ” for convenience) as a GD from the node ⁇ via the links L ⁇ and ⁇ . .
  • the node ⁇ has the weighting table 104 in FIG. 3, and among these, the weighting table corresponding to the node ⁇ is referred to by the reference numeral “104-h” for convenience in the description of FIG.
  • each of the weighting tables 104 managed for each GD stores associations between adjacent nodes and weights. Since nodes ⁇ , ⁇ , ⁇ , ⁇ , and ⁇ are adjacent to the node ⁇ , in the weighting table 104-h, the node ⁇ and the weight W ⁇ , the node ⁇ and the weight W ⁇ , the node ⁇ and the weight W ⁇ , The node ⁇ and the weight W ⁇ are associated with the node ⁇ and the weight W ⁇ , respectively.
  • the weight takes a value of 0 or more and 1 or less, and the smaller the weight value, the higher the priority of the node corresponding to the weight.
  • the node ⁇ recognizes that the priority of the node ⁇ associated with the lightest weight W ⁇ is the highest among the adjacent nodes ⁇ , ⁇ , ⁇ , and ⁇ . Therefore, the node ⁇ first selects the node ⁇ from the adjacent nodes ⁇ , ⁇ , ⁇ , and ⁇ as the LD for transferring the data frame 301, and transmits the data frame 301 to the node ⁇ .
  • the node ⁇ learns that “it is inappropriate to select the node ⁇ as an LD when transmitting a data frame having the node ⁇ as a GD”. As a result of learning, the node ⁇ decreases the priority of the node ⁇ . That is, the node ⁇ increases the value of the weight W ⁇ .
  • the node ⁇ selects the node ⁇ as the LD when transmitting the data frame with the node ⁇ as the GD as shown in (D1) or (D2) below. Is inappropriate. "
  • the node ⁇ learns that “it is inappropriate to select the node ⁇ as an LD when transmitting a data frame with the node ⁇ as a GD”, and the weight W ⁇ associated with the node ⁇ selected as the LD. Increase the value of.
  • the weight W ⁇ is not increased to a maximum value at a time when a link failure occurs, but is increased by a predetermined value. In this way, it is possible to prevent the LD from becoming inappropriate due to the occurrence of a single link failure.
  • the node ⁇ sends the data frame 301 back to the node ⁇ by a backtrack operation described later. For example, when the node ⁇ is adjacent only to the node ⁇ , the node ⁇ cannot find a path through which the data frame 301 can be transferred to the node ⁇ . Even when the node ⁇ is adjacent to some nodes other than the node ⁇ , the node ⁇ may not reach the node ⁇ depending on the topology of the network 3.
  • the node ⁇ When the node ⁇ performs the backtracking operation, the node ⁇ recognizes that “the transmission to the node ⁇ has failed” because the node ⁇ itself receives the data frame 301 previously transmitted to the node ⁇ from the node ⁇ . Can do. As a result of recognition, the node ⁇ learns that “it is inappropriate to select the node ⁇ as an LD when transmitting a data frame having the node ⁇ as a GD”, and the weight associated with the node ⁇ selected as the LD. Increase the value of W ⁇ .
  • the node ⁇ when the node ⁇ recognizes a transmission failure by receiving the data frame 301 transmitted by the node ⁇ itself in the past, the node ⁇ specifically has the weight W ⁇ . Set the value to the maximum value.
  • the node ⁇ receives the ACK frame for the data frame 301 from the node ⁇ , and the node ⁇ recognizes the successful transmission.
  • the node ⁇ decreases the value of the weight W ⁇ associated with the node ⁇ selected as the LD.
  • the formula (2) is also established.
  • the data frame 301 reaches the node ⁇ from the node ⁇ via the network 3a.
  • the node ⁇ selects the node ⁇ as the LD.
  • the node ⁇ receives from the node ⁇ the data frame 301 that the node ⁇ itself has transmitted to the node ⁇ in the past, it can be recognized that “the transmission to the node ⁇ has failed due to the presence of the loop”.
  • the node ⁇ learns that “it is inappropriate to select the node ⁇ as LD when transmitting a data frame with the node ⁇ as GD”, and increases the value of the weight W ⁇ .
  • the node ⁇ selects an adjacent node other than the nodes ⁇ and ⁇ determined to be inappropriate as the LD in order to cause the data frame 301 to reach a node ⁇ (not shown) that is a GD, and tries to retransmit the data frame 301. .
  • the node ⁇ selects the node ⁇ associated with the lightest weight W ⁇ at the present time as the LD, and transmits the data frame 301 to the node ⁇ .
  • the node ⁇ receives the ACK frame for the data frame 301 from the node ⁇ , and the node ⁇ recognizes the successful transmission.
  • the node ⁇ decreases the value of the weight W ⁇ associated with the node ⁇ selected as the LD.
  • equation (3) is also established.
  • the data frame 301 is not returned from the node ⁇ to the node ⁇ by backtracking. Further, it is assumed that the data frame 301 loops in the network 3 and is transmitted from any adjacent node of the node ⁇ to the node ⁇ and is not received by the node ⁇ .
  • the node ⁇ receives the lightest weight W ⁇ when it receives another data frame having the node ⁇ as GD from any of the adjacent nodes ⁇ , ⁇ , ⁇ , and ⁇ as in the data frame 301.
  • the node ⁇ associated with is preferentially selected as the LD.
  • FIG. 6 is a diagram for explaining how routes are selected dynamically and autonomously distributed in the network 1 of FIG. Specifically, FIG. 6 shows a state of route selection in the network 1 when the node device N 1 becomes GS and transmits a data frame in which the node device N 7 is designated as GD.
  • FIG. 6 shows a failure that occurs between the network 1 of FIG. 1 and the node devices N 4 and N 7 . Further, twelve thick arrows in FIG. 6 indicate that a data frame is transferred from GS (ie, node device N 1 ) to GD (ie, node device N 7 ) while a route is dynamically selected in network 1. To express.
  • weighting table 104-N i of the node device N i to be referred to by reference numeral as for convenience those corresponding to the node device N 7 "104-h i -N i" ( 1 ⁇ i ⁇ 6).
  • the node device N 1 is a GS, select the node device N 2 adjacent to only the node device N 1 as LD, and transmits the data frame to the node device N 2.
  • the node device N 2 in addition to the node device N 1 is an LS of the transmitted data frame at step S101, the node device N 3 and N 6 are adjacent. Of the two adjacent node devices N 3 and N 6 , the node device N 3 is associated with a lighter weight in the weighting table 104 -h 2 -N 2 .
  • the node device N 2 in step S102 select the node device N 3 as LD for transferring the received data frame at step S101, it transmits the data frame to the node device N 3.
  • the node apparatus N 4 and N 5 are adjacent. Of the two adjacent node devices N 4 and N 5 , the node device N 4 is associated with a lighter weight in the weighting table 104 -h 3 -N 3 .
  • the node device N 3 in step S103 select the node device N 4 as a LD for transferring the received data frame at step S102, it transmits the data frame to the node apparatus N 4.
  • the node device N 4 in addition to the node device N 3 is an LS of the transmitted data frame at step S103, the node device N 5 and N 7 are adjacent. Of the two adjacent node devices N 5 and N 7 , the node device N 7 is associated with a lighter weight in the weighting table 104 -h 4 -N 4 .
  • the node device N 4 in step S104 as LD for transferring a data frame received in step S103, select the node device N 7 that is also GD, transmits the data frame to the node device N 7.
  • the node device N 4 in step S104 corresponds to the failed node in the above (D1) to the transmission of the data frame to the node ⁇ in Figure 5 beta. Therefore, the node device N 4 updates the weighting table 104-h 4 -N 4 according to the transmission failure (specifically, the weight associated with the node device N 7 which is the LD in the transmission in step S104). Increase the value).
  • the node device N 4 in step S105 the LD for transferring a data frame received in step S103, still select another adjacent node device N 5 not tried, transmits the data frame to the node device N 5 To do.
  • the node device N 5 is the other node device N 4 is LS of the transmitted data frame at step S105, only the node device N 3 are adjacent. Therefore, the node device N 5 in step S106, select the node device N 3 as LD for transferring the received data frame at step S105, it transmits the data frame to the node device N 3.
  • the node device N 3 in step S106 recognizes that "the node device N 3 itself has received the same data frame that was transmitted in step S103".
  • the node device N 3 in step S106 corresponds to a node ⁇ which has received the data frame has been loops 5 from the node zeta. Therefore, the node device N 3 updates the weighting table 104-h 3 -N 3 in the same manner as in FIG. 5 (specifically, the weight associated with the node device N 4 that is the LD of the transmission in step S103) To the maximum value).
  • the node device N 3 determines from among adjacent node devices other than OLS (that is, the node device N 2 that is the LS when the node device N 3 first receives the data frame in step S102). Look for things that you haven't tried as LD yet.
  • the adjacent node devices other than the OLS are the node devices N 4 and N 5 , and the node device N 4 has been selected in step S103.
  • the node device N 3 in step S107 select the node device N 5 unselected as LD, and transmits the data frame to the node device N 5.
  • the node device N 3 in step S107 corresponds to a node ⁇ to transmit a data frame to the node node reselect the LD the epsilon epsilon in FIG.
  • the node device N 5 in step S107 recognized as a "node apparatus N 5 itself has received the same data frame that was transmitted in step S106".
  • the node device N 5 in step S107 corresponds to the failed node as (D2) to transmit the data frame to the node ⁇ in FIG 5 beta.
  • the node device N 5 updates the weighting table 104-h 5 -N 5 in the same manner as in FIG. 5 (specifically, the weight of the weight associated with the node device N3 that is the LD of the transmission in step S106). Set the value to the maximum).
  • the adjacent node device other than the OLS that is, the node device N 4 that is the LS when the node device N 5 first receives the data frame in step S 105) has already failed in transmission. Only node device N 3 found to. Therefore, there is no longer any adjacent node device that can be selected as the LD.
  • Step S108 is a backtracking operation, the node device N 5 by backtracking operation, in the transmission of data frames to a "node device N 7 GD is the node device N 5 previously path from its own dead end (dead end The) can be a tell the node device N 4 that it is "turned.
  • the node device N 4 in step S108 recognizes a "node apparatus N 4 itself has received the same data frame that was transmitted in step S105". That is, the node apparatus N 4 in step S108 corresponds to the failed node as (D2) to transmit the data frame to the node ⁇ in FIG 5 beta. Therefore, the node device N 4 updates the weighting table 104-h 4 -N 4 in the same manner as in FIG. 5 (specifically, the weight associated with the node device N 5 that is the LD of the transmission in step S105). To the maximum value).
  • the node device N 4 in step S108 in FIG. There is no adjacent node device that can be selected as an LD. That is, the two adjacent node devices N 7 and N 5 other than the OLS have already been selected as LDs in steps S104 and S105, respectively, and it has already been found that both result in transmission failure.
  • Step S109 is also backtracking operation, in the transmission of data frames to a "node device N 7 and GD is the node device N 4 is a node device N 3, ahead of the path from the node device N 4 itself has become blind alley Can be informed.
  • the node device N 3 in step S109 recognizes that "the node device N 3 itself has received the same data frame that was transmitted in step S107". That is, the node apparatus N 4 in step S109 corresponds to a node ⁇ which has received the data frame has been loops 5 from the node zeta. Therefore, the node device N 3 updates the weighting table 104-h 3 -N 3 in the same manner as in FIG. 5 (specifically, the weight associated with the node device N 5 that is the LD of the transmission in step S107). To the maximum value).
  • Step S110 sends back a data frame to the node device N 2 is OLS.
  • Step S110 is also a backtracking operation, and the node device N 3 sends a message “the route ahead from the node device N 3 itself to the node device N 2 to send a data frame with the node device N 7 as GD”. Can be informed.
  • the node device N 2 in step S110 recognizes that "the node device N 2 itself has received the same data frame that was transmitted in step S102".
  • the node device N 2 at step S110 corresponds to the failed node as (D2) to transmit the data frame to the node ⁇ in Figure 5 beta. Therefore, the node device N 2 updates the weighting table 104-h 2 -N 2 in the same manner as in FIG. 5 (specifically, the weight associated with the node device N 3 that is the LD of the transmission in step S102) To the maximum value).
  • the node device N 2 at step S111 as the LD for transferring a data frame, still select another adjacent node device N 6 not try to send the data frame to the node device N 6.
  • the node device N 6 are in the other node device N 2 is LS of the transmitted data frame step S111, only the node device N 7, which is also GD is adjacent. Therefore, the node device N 6 at step S112, select the node device N 7 as LD for transferring the received data frame at step S111, it transmits the data frame to the node device N 7.
  • each node device behaves in an autonomous distributed manner, so that the data frame successfully reaches the GD.
  • the route from the GS to the GD is finally selected as the entire network. This is because each node device sequentially selects node devices that can be selected as LDs, and performs backtracking operations when there are no more node devices that can be selected.
  • the node device N 2 selects the node device N 3 as LD in step S102, it turns out to result unsuitable for in step S110.
  • the operation of steps S103 to S110 succeeds in selecting the route ⁇ N 1 , N 2 , N 6 , N 7 > from the GS to the GD finally as the entire network 1.
  • the route selected in this way is learned and contributes to the efficiency of data frame transfer from the next time.
  • the efficiency of learning will be described in detail as follows.
  • the node device N 2 learns the weighting table 104-h 2 -N 2 and sets the weight associated with the node device N 3 to the maximum value. Therefore, when the node device N 2 receives from the adjacent node device N 1 a new data frame having the node device N 7 as GD, the node device N 6 selects the node device N 6 as an LD from the beginning. That is, as a result of autonomous distributed learning, the entire network 1 efficiently transmits data frames to the GD through the path ⁇ N 1 , N 2 , N 6 , N 7 > without trial and error including backtracking. It becomes possible.
  • the influence of inappropriate LD selection or the influence of a local failure does not reach the entire network 1 and is locally limited. That is, according to the first embodiment, for example, even if a failure occurs in the link between the node devices N 4 and N 7 , the control frame for inquiring about an alternative route is flooded to all the node devices in the entire network 1. Don't do it. Therefore, according to the first embodiment, even if a failure or a loop occurs locally, a situation in which a broadcast storm is caused in the entire network 1 does not occur.
  • the node device N 1 does not recognize any failure in the link between the node devices N 4 and N 7 or the loop ⁇ N 3 , N 4 , N 5 , N 3 >. It is clear. This means that the influence of inappropriate LD selection or local failure is limited locally and does not reach the entire network 1.
  • the node device N 7 is associated with a lighter weight than the node device N 3 in the weighting table 104-h 5 -N 5 .
  • it transmits the data frame to the node device N 7 node device N 5 immediately after step S105 selects the node device N 7 as LD.
  • steps S108 to S112 is not performed, and not only the node device N 1 but also the node devices N 2 and N 3 recognize no occurrence of the failure.
  • problems such as link failures and loops affect only a minimal local range depending on where the problem occurs.
  • the data frame according to the first embodiment includes header information including LD, LS, GD, GS, FID, type, and length fields, and a payload, as in the data frame 302 illustrated in FIG.
  • the data frame 301 in FIG. 5 has the same format as the data frame 302.
  • a part of the header information may be stored in the ad hoc header, and the remaining part of the header information may be stored in the data header.
  • LD local destination address
  • LS local source address
  • type frame type
  • length frame size
  • GD GS, and FID are stored in the data header.
  • the node ID of each node device that is the LD, LS, GD, and GS of the data frame 302 is specified.
  • the FID field of the data frame 302 the FID generated by the node device that is the GS of the data frame 302 and assigned to the data frame 302 is specified.
  • a predetermined constant indicating the type “data frame” is designated. Also, the length of the payload is specified in the length field of the data frame 302.
  • the payload of the data frame 302 is a PDU of a higher layer protocol than the protocol in which the data frame 302 is defined.
  • the frame of the first embodiment may be defined in the lower sublayer of the two virtual sublayers, that is, other protocols defined in the MAC sublayer (such as Ethernet).
  • a PDU may be included in the payload.
  • the frame of the first embodiment may be a frame that encapsulates an Ethernet frame defined in the second layer.
  • the upper layer processing unit 111 is a processing unit that processes an Ethernet frame, it can also be realized by using a known MAC chip.
  • the payload of the data frame 302 is a MAC layer protocol frame (specifically, an Ethernet frame, for example).
  • the payload of the data frame 302 may be a PDU of a protocol defined at the network layer (third layer) or higher, or may be raw data that is not related to a specific communication protocol. May be.
  • the payload of the data frame 302 may be an IP (Internet Protocol) datagram.
  • the upper layer processing unit 111 is a processing unit that processes the IP datagram.
  • the format of the data frame 302 is as described above, but more specific examples using specific values are as in the data frames 303 and 304.
  • the data frame 303 is a data frame transmitted from the node device N 2 to the node device N 3 in step S102 of FIG. Specific contents of the data frame 303 are as follows.
  • the node ID (that is, N 3 ) of the node device N 3 selected as the LD in the transmission in step S102 is designated.
  • the node ID (that is, N 2 ) of the node device N 2 that is the LS in the transmission in step S102 is designated.
  • the node ID (that is, N 7 ) of the node device N 7 specified by the node device N 1 that is the GS at the time of transmission in step S101 is specified.
  • the node ID (that is, N 1 ) of the node device N 1 that is the GS is specified.
  • the field node device N 1 is a GS (and less F a) resulting FID is specified.
  • a predetermined constant D indicating the type “data frame” is specified.
  • the length field, the length P a payload of the data frame 302 is designated.
  • the length may be expressed in units of bytes, for example, or may be expressed in other units.
  • the payload includes a MAC layer protocol frame (for example, an Ethernet frame).
  • the data frame 304 in FIG. 7 is transmitted from the node device N 3 that has received the data frame 303 to the node device N 4 in step S103 in FIG.
  • the specific contents of the data frame 304 are as follows.
  • the node ID (that is, N 4 ) of the node device N 4 selected as the LD in the transmission in step S103 is designated. In other words, when transfer node device N 3 rewrites the LD field.
  • the node ID (that is, N 3 ) of the node device N 3 that is the LS in the transmission in step S103 is specified. That is, when the transfer, the node device N 3 rewrites the LS field, sets the self node ID.
  • the contents of the payload is the same as the data frame 303 is the node device N 3 received.
  • the hello frame in the first embodiment has a header including LD, LS, GD, GS, FID, and type fields as in the hello frame 311 in FIG. 7, but does not have a payload.
  • Specific examples of the hello frame 311 is hello frame 312, the hello frame 312 is transmitted by the node device N 3 in step S1203 of FIG. 42 described later.
  • a special value indicating a broadcast to all node devices adjacent to the node device that transmits the hello frame 311 is designated. Note that “broadcast” here is “broadcast to all adjacent node devices”, not “flooding to the entire network 1”.
  • the node ID is represented by 3 bytes in the first embodiment, and “0x” represents a hexadecimal number. Also, it is assumed that 0x000000 and 0xFFFFFF are reserved and are not used as normal node IDs.
  • 0xFFFFFF is specified in the LD field as a special value indicating broadcast to all node devices adjacent to the node device that transmits the hello frame. ing.
  • N 3 that is the node ID of the node device N 3 is specified in the LS field of the hello frame 312 transmitted by the node device N 3 .
  • a special value 0x000000 representing null is designated in the GD field. This is because the hello frame is only used by the adjacent node device and is not transferred.
  • the node ID of the node device itself that transmits the hello frame 311 is specified as in the LS field. Accordingly, N 3 that is the node ID of the node device N 3 is specified in the GS field of the hello frame 312.
  • the FID generated by the node device that transmits the hello frame 311 and assigned to the hello frame 311 is specified.
  • the FID (hereinafter referred to as F b ) generated by the node device N 3 that transmits the hello frame 312 and assigned to the hello frame 312 is designated.
  • a predetermined constant indicating the type “hello frame” is designated.
  • the ACK frame in the first embodiment has a header including LD, LS, GD, GS, FID, and type fields as in the ACK frame 321 in FIG. 7, but does not have a payload.
  • a specific example of the ACK frame 321 is the ACK frame 322.
  • ACK frame 322 when the node device N 2 has transmitted the data frame 303 to the node device N 3 in step S102 in FIG. 6, an ACK frame is the node device N 3 returns to the node device N 2.
  • the reply of the ACK frame 322 from the node device N 3 to the node device N 2 expressed as the step S102a.
  • the node ID of the adjacent node device that transmitted the data frame that triggered the transmission of the ACK frame 321 is specified. Therefore, for example, in the LD field of the ACK frame 322, N that is the node ID of the adjacent node device N 2 of the node device N 3 that transmitted the data frame 303 that triggered the transmission of the ACK frame 322 by the node device N 3 2 is specified.
  • N 3 that is the node ID of the node device N 3 is specified in the LS field of the ACK frame 322 transmitted by the node device N 3 .
  • the special value 0x000000 representing null is specified in the GD field in all the ACK frames in the first embodiment.
  • the values of the GS field and FID field of the data frame that triggered the transmission of the ACK frame 321 are copied.
  • the data frame is uniquely identified in the network by the combination of the values of the GS field and the FID field. Therefore, the node device that transmits the ACK frame 321 can identify which data frame the ACK frame 321 is for in the node device that has received the ACK frame 321 by copying the value from the received data frame. It becomes possible.
  • the ACK frame 322 for example, transmits the received data frame 303 as a trigger, the value of GS field and the FID field, as well as the data frame 303, respectively N 1 and F a.
  • a predetermined constant indicating the type “ACK frame” is designated.
  • the format of the frame shown in FIG. 7 is merely an example, and the arrangement order of the fields included in the frame can be appropriately determined according to the embodiment, and the frame includes other fields not shown. May be.
  • the frame may further include a trailer such as FCS (Frame Check Sequence).
  • FCS Framework Check Sequence
  • LD field when there is no possibility of confusion, for example, “LD field” may be simply referred to as “LD”. The same applies to the other fields.
  • FIG. 8 is a diagram showing an example of data stored in the buffer unit 109 shown in FIG.
  • the buffer unit 109 includes a plurality of entries respectively corresponding to individual data frames received by the receiving unit 101. Each entry includes a timeout time and the received data frame.
  • Figure 8 illustrates the entries that the buffer unit 109-N 3 of the node device N 3. Specifically, when the node device N 3 receives the data frame 303 of FIG. 7 from the node device N 2 in step S102 of FIG. 6, the buffer unit 109-N 3 stores the timeout time TI 3, j and the data frame. Entry 303 is created. Details of creation of entries in the buffer unit 109 will be described later with reference to FIG. The meaning of the timeout time TI 3, j is as follows.
  • Node device N 3 is the header of the data frame 303 received in step S102, is rewritten in step S103 as a data frame 304 of FIG.
  • the node device N 3 transmits a data frame 304 at step S103.
  • the timeout time TI 3, j in FIG. 8 indicates how long the node apparatus N 3 waits for reception of an ACK frame for the data frame 304 after transmitting the data frame 304. That is, if the node device N 3 cannot receive an ACK frame for the data frame 304 from the node device N 4 before the timeout time TI 3, j , the node device N 3 times out and the data frame 304 to the node device N 4 Judge that transmission failed.
  • the timeout time set in the buffer unit 109 may be overwritten.
  • the node device N 4 that has failed to transmit the data frame to the node device N 7 in step S104 of FIG. 6 is stored in the buffer 109-N 4 corresponding to the data frame received from the node device N 3 in step S105.
  • Update the timeout time Timeout timing of the updated, specifically, indicating whether the reception of the ACK frame to data frame sent to the node device N 5 in step S105 forever node device N 4 waits.
  • FIG. 9 is a diagram illustrating an example of the adjacent node management table 103 in FIG.
  • the adjacent node management table 103 has a node ID field and a last update time field.
  • node devices N 1 , N 3 , and N 6 are adjacent to the node device N 2 . Therefore, the node adjacent node management table 103-N 2 of the apparatus N 2, these three adjacent node device N 1, N 3, and N 6 has three entries respectively corresponding to.
  • N i 1, 3, 6
  • last update time field Stores the time TA 2, i when the entry was last updated.
  • FIG. 10 is a diagram illustrating an example of the weighting table 104 in FIG.
  • FIG. 10 shows a weighting table 104-N 3 of the node device N 3 of FIG. 1 as a specific example.
  • “weighting table 104” is a general term for a plurality of weighting tables 104-1 to 104-M managed for each GD.
  • Each weighting table 104-i (1 ⁇ i ⁇ M) stores a corresponding GD.
  • Each weighting table 104-i (1 ⁇ i ⁇ M) has one or more entries, and each entry has a last update time field, an LD field, and a weight field.
  • the last update time field stores the time when the entry was last updated for weight learning
  • the LD field stores the node ID of the adjacent node device
  • the weight field associates with the adjacent node device. Stored weight values.
  • the first weighting table 104-1-N 3 is a table for transmitting a data frame in which the node device N 7 is designated as GD
  • the node ID of the node device N 7 is GD. stores certain N 7.
  • the weighting table 104-1 -N 3 has three entries respectively corresponding to these three adjacent node devices N 2 , N 4 and N 5 .
  • the last update time field the last update time TW 3, 7, i of the entry is stored.
  • N i that is the node ID of the adjacent node device N i is stored.
  • the second sheet of the weighting table 104-2-N3 since the node device N 4 is a table for transmission of the data frame designated as GD, node of the node device N 4 as GD N 4 which is an ID is stored.
  • the weighting table 104-2 -N 3 also includes these three adjacent node devices N It has three entries, each corresponding to 2 , N 4 , and N 5 .
  • the last update time field the last update time TW 3, 4, i of the entry is stored.
  • N i that is the node ID of the adjacent node device N i is stored.
  • the weighting table 104-N 3 may include a weighting table 104-jN 3 (j> 2) associated with another GD.
  • the weighting table 104 is the same GD, even if a data frame having a different combination of FID and GS is transmitted, the weight of the LD serving as the transmission destination is updated each time transmission is performed. For example, when a certain data frame is transmitted, even if the weight of a specific LD is increased due to a link failure (even if the priority is low), the link is immediately transmitted with another data frame (GD and LD are the same). If the failure is resolved and transmission is successful, the weight of the LD becomes small (priority becomes high).
  • FIG. 11 is a diagram for explaining changes in the weighting table 104-1-N 3 in FIG.
  • T a ⁇ T b ⁇ T c ⁇ T d ⁇ T e the weighting table 104-N 3 of the node device N 3 is the weighting table 104-1-N 3 corresponding to the node device N 7 Is not present. Then, it is assumed that a new weighting table 104-1-N 3 having the following contents is created in the weighting table 104-N 3 with the reception of step S102.
  • the node device N 3 uses any of the node devices N 4 and N 5 as the transmission LD in step S103. may be selected, but if, as in the example of FIG. 6, and chose the node device N 4 as LD.
  • the node device N 3 in step S103 transmits the data frame to the node apparatus N 4. Thereafter, when the node device N 4 transmits an ACK frame to the node device N 3 as shown in step S103a in FIG. 42, the node device N 3 recognizes that the transmission of the data frame to the node device N 4 is successful.
  • the node device N 3 decreases the value of the weight W 3,7,4 associated with the node apparatus N 4.
  • the node device N 3 updates the values of W 3, 7 , and 4 from 0.5 to 0.4.
  • the node device N 3 is the last update time field of the entry corresponding to the node device N 4, it sets the current time T b.
  • the node device N 3 receives the same data frame again in step S106.
  • the node device N 3 sets the values of the weights W 3 , 7, and 4 associated with the node device N 4 in the weighting table 104-1-N 3 to 0.4. To the maximum value of 1.0.
  • the node device N 3 is the last update time field of the entry corresponding to the node device N 4, it sets the current time T c.
  • the node device N 3 selects the node device N 5 as an LD and transmits a data frame. Thereafter, when the node device N 5 transmits an ACK frame to the node device N 3 as shown in step S107a in FIG. 42, the node device N 3 recognizes that the transmission of the data frame to the node device N 5 is successful.
  • the node device N 3 decreases the value of the weight W 3,7,5 associated with the node device N 5.
  • the node device N 3 updates the values of W 3, 7 , and 5 from 0.5 to 0.4.
  • the node device N 3 is the last update time field of the entry corresponding to the node device N 5, sets the current time T d.
  • the node device N 3 receives the same data frame again in step S109.
  • the value of the weight W 3,7,5 which is associated with the node device N 5 in the weighting table 104-1-N 3, the maximum value from 0.4 1 Update to .0.
  • the node device N 3 is the last update time field of the entry corresponding to the node device N 5, sets the current time T e.
  • the weighting table 104-1 -N 3 is updated when an ACK frame is received or when a data frame that is the same as a transmitted data frame is received.
  • FIGS. 12 and 13 are diagrams showing examples of the FID management table 105 in FIG. As shown in FIGS. 12 and 13, the FID management table 105 includes fields for FID, GS, LD, OLS, and last update time.
  • the FID field and GS field in the FID management table 105 are fields for uniquely identifying the data frame, and values are copied from the FID field and the GS field of the received data frame, respectively.
  • the node ID of the adjacent node device last selected as the LD is stored in order to transmit the data frame identified by the values of the FID field and the GS field.
  • the node ID of the adjacent node device designated in the LS field of the data frame when the data frame identified by the values of the FID field and the GS field is first received. Stored.
  • the OLS field is also used to remove the OLS from the LD candidates when selecting the LD for data frame transfer, and is also used to determine the LD during the backtrack operation.
  • FIGS. 12 and 13 show the FID management table 105 of each node device in steps S101 to S112 in FIG. 6 as a specific example.
  • the times at which steps S101 to S112 are executed are represented as TF 101 to TF 112 , respectively.
  • the node device N 1 When the node device N 1 transmits a data frame to the node device N 2 in step S101, the node device N 1 creates a new entry E 1 in the FID management table 105-N 1 . Then, the node device N 1 sets the FID and GS values of the transmitted data frame in the FID field and GS field of the entry E 1 .
  • the GS and FID values of the data frame are not rewritten even if the data frame is transferred through the network 1 as described above. Therefore, the FID and GS values of the data frames transmitted in steps S101 to S112 in the network 1 in FIG. 6 are F a and N 1 , respectively, as in the data frames 303 and 304 in FIG. Therefore, the node device N 1 in step S101, the FID field and GS field of the entry E 1, sets the value of F a and N 1, respectively.
  • each step S102 ⁇ S112 follows another node device sets the FID field and GS field of the entry of each FID management table 105, which is also a F a and N 1. Therefore, the description regarding the FID field and the GS field is omitted below.
  • the node device N 1 in step S101, the N 2 is a node ID of the node device N 2 selected as LD, it sets the LD field of the entry E 1.
  • the OLS is designated as the LS of the specific data frame when the specific data frame is first received.
  • An adjacent node device identified by a node ID.
  • OLS becomes undefined for transmission data frames. Therefore, the definition of OLS is expanded below. Specifically, it defined as "node when the device N i itself transmits the data frame become GS includes a OLS for the node device N i itself about the data frame is the node device N i itself" To do.
  • the OLS within the scope of a network node apparatus N i itself is aware directly, a node device which is recognized as the origin of the data frame to the node device N i.
  • the "range of a network node apparatus N i itself is aware directly" ranges of 1 or less hops as viewed from the node device N i, the node device N i itself specifically, only the adjacent node device of the node device N i contains. For example, in the example of FIG. 2, only the range of the network that is directly recognized by the node device N 105 itself is indicated by a solid line.
  • value node device N 1 is set to the OLS field of the entry E 1 in step S101, the node device N 1 its own node ID (i.e. N 1). If the node device N 1 receives a data frame having a GS value of N 1 and an FID value of Fa in the future, the node device N 1 will be notified based on the entry E 1 created as described above. N 1 has received a data frame transmitted by itself.
  • the node device N 1 in step S101 sets the current time TF 101 in the last update time field of the entry E 1.
  • the values set by the other node devices in the last update time fields of the entries in the FID management table 105 are the same as the times TF 102 to S112 when the steps S102 to S112 are executed. TF 112 . Therefore, the description regarding the last update time field is also omitted below.
  • the node device N 2 receiving the data frame from the node device N 1 in step S101 adds a new entry E 2 to the FID management table 105-N 2 when transmitting the data frame to the node device N 3 in step S102. create. Then, in the entry E 2 , the node device N 2 sets N 1 in the OLS field and N 3 in the LD field.
  • the node device N 3 that has received the data frame from the node device N 2 in step S102 transmits a new entry E 3 in the FID management table 105-N 3 when transmitting the data frame to the node device N 4 in step S103. Create Then, in the entry E 3 , the node device N 3 sets N 2 in the OLS field and N 4 in the LD field.
  • the node device N 4 receiving the data frame from the node device N 3 in step S103 transmits a new entry E 4 in the FID management table 105-N 4 when transmitting the data frame to the node device N 7 in step S104.
  • the node device N 4 entries E 4 the OLS field is set to N 3
  • the LD field is set to N 7.
  • step S104 the fail due to failure of a link between the node device N 4 and N 7. That is, the node apparatus N 4, it is not possible to receive the ACK frame from the node device N 7, times out. As a result, the node device N 4, as in step S105, and reselects another adjacent node device N 5 as the next LD, transmits the data frame to the node device N 5.
  • the data frames transmitted at steps S104 and S105 the value of the value of FID is F a GS is N 1, the same data frame. Accordingly, the node apparatus N 4 in step S105, instead of creating a new entry, and updates the existing entry E 4.
  • the value is transmitted value F a same data frame node device N 4 is the FID is many times N 1 of GS, the "node apparatus N 4 has received the data frame to the first node apparatus The fact that “from N 3 ” does not change. Therefore, the value of the OLS field of the entry E 4 is not rewritten and remains N 3 .
  • the node device N 5 that has received the data frame from the node device N 4 in step S105 transmits a new entry E 5 in the FID management table 105-N 5 when transmitting the data frame to the node device N 3 in step S106.
  • Create The node device N 5 sets N 4 in the OLS field and N 3 in the LD field in the entry E 5 .
  • the node device N 3 that has received the data frame from the node device N 5 in step S106 searches the FID management table 105-N 3 using the GS and FID values of the received data frame as keys, and sets the entry E 3 locate. Since the entry E 3 is found, the node device N 3 can recognize that “the same data frame that the node device N 3 itself once transmitted in step S103 was received in step S106”.
  • the node device N 3 updates the existing entry E 3 instead of creating a new entry in the FID management table 105-N 3 when transmitting the data frame to the node device N 5 in the next step S107. To do. Specifically, the node device N 3 in step S107, in the entry E 3, overwrites the value of the LD field N 5. The value of the OLS field of the entry E 3 is never rewritten, it remains N 2.
  • the node device N 5 that has received the data frame from the node device N 3 in step S107 searches the FID management table 105-N 5 using the GS and FID values of the received data frame as keys, and sets the entry E 5 locate. Since the entry E 5 is found, the node device N 5 can recognize that “the same data frame that the node device N 5 itself once transmitted in step S106 has been received in step S107”.
  • the node device N 5 updates the existing entry E 5 instead of creating a new entry in the FID management table 105-N 5 when transmitting the data frame to the node device N 4 in the next step S108. To do. Specifically, the node device N 5 in step S108, in the entry E 5, overwrites the value of the LD field N 4. The value of the OLS field of the entry E 5 is never rewritten, it remains N 4.
  • the node device N 4 that has received the data frame from the node device N 5 in step S108 searches the FID management table 105-N 4 using the GS and FID values of the received data frame as keys, and sets the entry E 4 locate. Since the entry E 4 is found, the node device N 4 can recognize that “the same data frame that the node device N 4 itself once transmitted in step S105 has been received in step S108”.
  • the node device N 4 updates the existing entry E 4 instead of creating a new entry in the FID management table 105-N 4 when transmitting the data frame to the node device N 3 in the next step S109. To do. Specifically, the node apparatus N 4 in step S109, in the entry E 4, overwrites the value of the LD field N 3. Note that the value of the OLS field of the entry E 4 is not rewritten and remains N 3 .
  • the node device N 3 that has received the data frame from the node device N 4 in step S109 searches the FID management table 105-N 3 using the GS and FID values of the received data frame as keys, and sets the entry E 3 locate. Since the entry E 3 is found, the node device N 3 can recognize that “the same data frame that the node device N 3 itself once transmitted in step S103 was received in step S109”.
  • the node device N 3 updates the existing entry E 3 instead of creating a new entry in the FID management table 105-N 3 when transmitting the data frame to the node device N 2 in the next step S110. To do. Specifically, the node device N 3 in step S110, the entry E 3, overwrites the value of the LD field N 2. The value of the OLS field of the entry E 3 is never rewritten, it remains N 2.
  • the node device N 2 that has received the data frame from the node device N 3 in step S110 searches the FID management table 105-N 2 using the GS and FID values of the received data frame as keys, and enters the entry E 2 . locate. Since the entry E 2 is found, the node device N 2 can recognize that “the same data frame that the node device N 2 itself once transmitted in step S102 has been received in step S110”.
  • the node device N 2 updates the existing entry E 2 instead of creating a new entry in the FID management table 105-N 2 when transmitting the data frame to the node device N 6 in the next step S111. To do. Specifically, the node device N 2 at step S111, in the entry E 2, overwrites the value of the LD field N 6. Note that the value of the OLS field of the entry E 2 is not rewritten and remains N 1 .
  • the node device N 6 that has received the data frame from the node device N 2 in step S111 adds a new entry E 6 to the FID management table 105-N 6 when transmitting the data frame to the node device N 7 in step S112. create.
  • the node device N 6 sets N 2 in the OLS field and N 7 in the LD field in the entry E 6 .
  • ⁇ About backtracking> As described above, in the frame transmission method of the embodiment, when the node device determines that “transfer is impossible” when transferring the received data frame toward the final destination, the node device transmits the received data frame. Disguise yourself. That is, the node device performs backtracking.
  • the node device X first transmits a data frame in which the node device Y is designated as a GD (final destination) to the node device a.
  • a GD final destination
  • the link between the node device b and the node device Y is disconnected.
  • the data frame transmitted from the node device a to the node device b returns to the node device a via the node device c.
  • the node device a detects that transmission to the node device b has failed.
  • the node device transmits the data frame to the node device c.
  • this data frame returns to the node device a via the node device b.
  • the node device a detects that the transmission to the node device b has also failed. Therefore, the node device a determines that “a data frame having the node device Y as GD cannot be transferred” and performs backtracking. That is, the node device a transmits the data frame first received from the node device X to the node device X that is the OLS (original transmission source adjacent node) of the data frame.
  • OLS original transmission source adjacent node
  • the node device X transmits the data frame received from the node device a to another adjacent node (here, the node d). As a result, the data frame arrives at the node device Y that is the final destination.
  • FIG. 15 is a diagram showing a sequence when backtracking occurs between the node devices X and a shown in FIG. That is, the node device X first transmits a data frame to the node device a. At this time, the node device X holds the data frame transmitted to the node device a in the buffer unit 109 shown in FIG.
  • the node device a receives the data frame transmitted from the node device X at time TE. Then, the node device a creates a new entry in the FID management table 105 and records information related to the received data frame.
  • FIG. 16 is an example of the FID management table 105.
  • the entry time represents the time when the node device first receives the data frame from the adjacent node, or the time when the node device transfers the data frame received from the adjacent node device to another adjacent node device. In the former case, the entry time may be a reception start time or a reception end time. In the latter case, the entry time may be a transfer start time or a transfer end time. In the following description, although not particularly limited, the entry time represents the time when the data frame is first received from the adjacent node device.
  • the ACK reception flag, the number of empty data transmissions, and the number of normal data transmissions will be described later.
  • the node device a When the node device a receives the data frame transmitted from the node device X at time TE, the node device a creates a new entry as shown in FIG. In this example, a unique value F X generated by the node device X that is a GS is recorded in the FID field. “Node X” is recorded in the GS field. In this example, since the data frame is transmitted to the node apparatus b, “node b” is recorded in the LD field. “Node X” is recorded in the OLS field. Then, the time at which the data frame transmitted from the node device X is received is recorded as the entry time TE and the last update time TF.
  • the node device a transfers the data frame transmitted from the node device X to the node device b and returns an ACK frame to the node device X.
  • the node apparatus X recognizes that the transmitted data frame has arrived at the node apparatus a by receiving the ACK frame from the node apparatus a. However, even if the node device X receives the ACK frame, the node device X does not discard the data frame stored in the buffer unit 109, and until the predetermined holding period G elapses from the transmission time to the node device a. Holds the data frame.
  • the data frame transmitted from the node device a to the node device b returns to the node device a as shown in FIG. Then, the node device a performs backtracking to notify the node device X that “a data frame having the node device Y as GD cannot be transferred”. At this time, the node device a transmits the data frame to the node device X as described with reference to FIG. Then, since the node device X detects the data frame that it first transmitted to the node device a, it determines that “the node device a cannot transfer the data frame in which the node device Y is GD”. As a result, the node device X transmits the data frame to another adjacent node (node d in this example).
  • the buffer unit 109 of the node device X holds the data frame from when the data frame is transmitted to the node device a until the holding period G elapses. That is, before the time Tg, the data frame previously transmitted from the node device X to the node device a is held in the buffer unit 109 of the node device X. Therefore, if the backtracking operation by the node device a is executed before the time Tg, the node device a does not need to transmit the entire data frame to the node device X. It is only necessary to notify the node device X that “transfer cannot be performed”. In this case, the node device X can take out the data frame held in the buffer unit 109 and transmit it to the node device d in response to the notification from the node device a.
  • the node device a calculates the elapsed time from the entry time TE representing the time at which the data frame is received from the node device X to the current time T when executing the backtrack operation. That is, the elapsed time “T-TE” is calculated. If the elapsed time “T-TE” is shorter than the holding period G, the node device a determines that the data frame corresponding to the backtrack is held in the buffer unit 109 of the node device X. In this case, instead of transmitting the entire data frame, the node device a transmits a frame (hereinafter referred to as an empty data frame) for notifying frame identification information for identifying the data frame to the node device X. In this embodiment, the retention period G is the same for each node device.
  • FIG. 17 is a diagram showing a frame format used for backtracking.
  • An example of the format of the data frame, hello frame, and ACK frame has been described with reference to FIG.
  • the format of the frame transmitted and received by the node device according to the embodiment is not particularly limited as long as predetermined header information is set. Therefore, in the following, for example, it is assumed that the data frame has the format shown in FIG.
  • the data frame has an ad hoc header and a payload.
  • LD local destination address
  • LS local source address
  • frame type type
  • frame size length
  • GS global source address
  • FID frame size
  • the data header is stored, but “data” is not stored.
  • the hello frame, data frame, and ACK frame are identified by the frame type. Although not particularly limited, in this embodiment, for example, “0x0001”, “0x0002”, and “0x0003” are assigned to the frame types of the hello frame, the data frame, and the ACK frame, respectively.
  • FIG. 17B shows a format of an empty data frame transmitted in the backtrack operation.
  • LD X
  • “0x0004” is assigned to the frame type of the empty data frame.
  • the data size of the payload is set as the frame size.
  • the node device a transmits an empty data frame to the node device X that is the OLS in the backtrack operation.
  • the node device X refers to the ad hoc header and data header of the empty data frame and extracts the corresponding data frame from the buffer unit 109. Then, the node device X transmits the data frame extracted from the buffer unit 109 to another adjacent node (adjacent node d in this example).
  • Each node device can autonomously execute the above-described backtrack operation.
  • the node device c can transmit an empty data frame in a backtrack operation for the node device b.
  • the node device b can transmit an empty data frame in the backtrack operation for the node device a.
  • the node device transmits the entire data frame when the backtrack operation is performed before the elapsed time from when the data frame is first received (entry time) exceeds the holding period G. Instead, only the frame identification information for identifying the data frame is transmitted. Therefore, the size of the frame transferred during backtracking is reduced, and the frame transfer efficiency is improved.
  • the data when transmitting large data, the data is divided into a plurality of data units and continuously transmitted using a plurality of data frames.
  • the network according to the embodiment there is a high possibility that the plurality of continuous data frames described above are transmitted through the same route.
  • the node device a determines that “transfer to GD is impossible” for each of the plurality of continuous data frames described above. As a result, the node device a needs to perform a plurality of backtrack operations.
  • the node device when a plurality of empty data frames have the same destination adjacent node, the node device according to the embodiment aggregates these empty data frames and transmits them in one frame.
  • four data frames are transmitted through the same route, and all return to the node device a.
  • the OLS of the four data frames is the node apparatus X. That is, the node device a has four empty data frames to be transmitted to the node device X. In this case, the node device a transmits one frame generated by aggregating these four empty data frames to the node device X.
  • a frame obtained by aggregating a plurality of empty data frames will be referred to as an “aggregated empty data frame”.
  • the format of the aggregated empty data frame is shown in FIG.
  • LD, LS, frame type, and frame size are set as in the normal data frame shown in FIG. 17A or the empty data frame shown in FIG.
  • values set in the ad hoc header of each aggregated empty data frame are used as they are.
  • “0x0005” is assigned to the frame type of the aggregated empty data frame.
  • the frame size of the aggregated empty data frame is determined according to the number of data headers stored in the payload.
  • “data headers” of a plurality of empty data frames transmitted to the same adjacent node are stored.
  • n data headers are stored in the payload of one aggregated empty data frame.
  • the node device X When receiving the aggregated empty data frame, the node device X extracts a plurality of data headers from the payload. Then, the node device X extracts the data frame corresponding to each data header from the buffer unit 109 and transmits it to each other adjacent node (in this example, the adjacent node d).
  • the aggregated empty data frame is created by aggregating a plurality of empty data frames in which the same LD is set.
  • an aggregated empty data frame may be created from a plurality of empty data frames in which different GDs are set.
  • the node device that has received the aggregated empty data frame may transmit a plurality of corresponding data frames to different adjacent nodes.
  • a backtrack operation may be required to transmit the data frame to the final destination.
  • the node device according to the embodiment transmits an empty data frame when it is expected that data to be transmitted during backtracking is held in the backtrack destination adjacent node.
  • the data held in the backtrack destination adjacent node can be used effectively, and the amount of data related to the backtrack can be reduced.
  • the frame transmission method of the embodiment the frame transfer efficiency is improved.
  • the ad hoc header is 20 bytes.
  • the elements of the data header are only GS, DS, and FID, and the data length is 18 bytes.
  • the data length of the data header is 22 bytes.
  • the area where data can be stored for each frame is 86 bytes, and the 1500-byte data is transmitted using 18 data frames.
  • the 18 data frames are continuously transmitted and backtracking occurs for all of them. Then, if the frame transmission method of the embodiment is not used, 18 backtrack frames are transmitted. On the other hand, if the aggregated empty data frame according to the frame transmission method of the embodiment is used, four data headers can be stored in the payload of each frame. Therefore, the number of aggregated empty data frames transmitted in backtrack according to the 18 data frames is 5. Thus, according to the method of the embodiment, the number of frames transmitted during backtracking is reduced, and the frame transfer efficiency is improved.
  • FIG. 19 is a flowchart showing the operation of the node device that performs backtracking.
  • the processing of this flowchart is executed by the data frame processing unit 110 when it is determined that backtracking is necessary, for example.
  • the data frame processing unit 110 of the node device a determines that the data frame received from the node device X cannot be transmitted to the final destination, the processing of the flowchart illustrated in FIG. 19 is started.
  • a data frame related to the backtracking operation may be referred to as a “target data frame”.
  • step S1 the data frame processing unit 110 extracts the current time T.
  • Each data device is assumed to have a clock. In this case, it is preferable that the clocks included in each node device are synchronized with each other.
  • step S2 the data frame processing unit 110 extracts the aging time G of the buffer unit 109.
  • the aging time G of the buffer unit 109 is described as “holding time G” in the description with reference to FIGS. 14 to 18. In this example, the same value is used for the aging time G of the buffer unit 109 in each node device. In each node device, the aging time G is recorded in a predetermined memory area.
  • the aging time G of the buffer unit 109 is set to be sufficiently longer than the time from when a node device transmits a data frame until the data frame returns to the node device by the backtracking operation of the adjacent node device.
  • the Therefore, the aging time G is set to about 30 seconds, for example, although it depends on the network configuration.
  • the data frame processing unit 110 refers to the FID management table 105 with the FID and GS pair of the target data frame, and extracts the corresponding entry time TE.
  • the node device a receives the target data frame from the node device X
  • the node device a creates an entry related to the target data frame in the FID management table 105.
  • FID, GS, and the like are recorded in the target data frame.
  • the entry time TE is recorded. Therefore, the data frame processing unit 110 extracts the entry time TE recorded as described above.
  • the data frame processing unit 110 determines whether or not the target data frame is held in the destination node device of the backtrack operation.
  • the destination node device of the backtrack operation is the OLS of the target data frame, and is recorded in the FID management table 105.
  • the destination node device for the backtrack operation may be referred to as an “OLS node device”.
  • steps S 4 to S 5 specifically, if the elapsed time “T-TE” from the entry time TE to the current time T of the target data frame is shorter than the aging time G of the buffer unit 109, the target data frame Is determined to be held in the buffer unit 109.
  • step S5 determines that the target data frame is held in the OLS node apparatus.
  • the OLS node device can perform the transmission process using the target data frame held in the buffer unit 109 without newly receiving the target data frame. Therefore, in step S6, the data frame processing unit 110 creates an empty data frame for notifying frame identification information of the target data frame.
  • the empty data frame has an ad hoc header and a payload. In the payload, only the data header of the target data frame is stored.
  • step S5 determines that the target data frame is not held in the OLS node device. In this case, the OLS node apparatus must newly receive the target data frame in order to transmit data to the final destination. Therefore, the data frame processing unit 110 creates a normal data frame in step S7. In the normal data frame, data to be transmitted to the GS is stored in addition to the data header in the payload of the above-described empty data frame.
  • step S8 the data frame processing unit 110 performs backtracking using the frame generated in step S6 or S7. That is, the data frame processing unit 110 stores the frame generated in step S6 or S7 in the transmission queue 114. Then, for example, the transmission unit 102 periodically reads and transmits a frame stored in the transmission queue 114.
  • the transmission destination of the frame is the LD set in the ad hoc header.
  • FIG. 20 shows an example of the transmission queue 114.
  • the transmission queue 114 stores a frame transmitted from the node device. That is, data frames (including empty data frames) generated by the data frame processing unit 110 are stored in the transmission queue 114.
  • the transmission queue 114 may also store hello frames and ACK claims.
  • the transmission queue 114 stores LD, LS, frame type, ACK received flag, and payload for each entry number.
  • LD, LS, and frame type correspond to the ad hoc header of the transmission frame.
  • the frame size may be stored in addition to the LD, LS, and frame type.
  • the ACK received flag indicates whether or not a corresponding ACK frame has been received from the transmission destination node apparatus after the frame has been transmitted. Therefore, the ACK received flag of each entry is set to “not yet” when stored in the transmission queue 114.
  • the payload data of each frame is stored in the payload area of the transmission queue 114.
  • the payload data of each frame is stored in the payload area of the transmission queue 114.
  • only the data header is stored in the payload of the empty data frame as shown in FIG. Therefore, when an empty data frame is stored in the transmission queue 114, only one data header is stored in the payload area.
  • the transmission unit 102 may immediately transmit the frame generated in step S6 or S7. In this case, the node device may not include the transmission queue 114. That is, the data frame processing unit 110 may pass the created frame to the transmission unit 102, and the transmission unit 102 may transmit the frame immediately.
  • FIG. 21 and FIG. 22 are flowcharts showing processing for collecting empty data frames in the backtrack operation.
  • the processing of this flowchart is repeatedly executed by the data frame processing unit 110 at predetermined time intervals.
  • the node device includes a timer in which a constant value is set. This timer counts down by a clock signal or the like, generates an event when it reaches zero, and returns to the constant value again. Then, the data frame processing unit 110 starts the processing of the flowcharts shown in FIGS. 21 to 22 using the event generated by this timer as a trigger.
  • step S11 the data frame processing unit 110 initializes variables related to the backtrack operation. For example, in the FID management table 105, the number of empty data transmissions and the number of normal data transmissions for each entry are initialized to “zero”. Also, the variable i for designating each entry in the transmission queue 114 in order is initialized to “1”.
  • step S12 the data frame processing unit 110 locks the transmission queue 114. During the period when the transmission queue 114 is locked, the transmission unit 102 cannot read and transmit a frame from the transmission queue 114.
  • steps S13 to S17 the data frame processing unit 110 accesses each entry in the transmission queue 114 and extracts an unprocessed empty data frame. That is, in steps S13 to S14, it is checked whether or not a frame is stored in the i-th entry. At this time, if a frame is stored in the i-th entry, the process of step S15 is executed. On the other hand, when the processes after step S15 are executed for all the frames stored in the transmission queue 114 (step S14: No), the process of step S31 is executed.
  • the data frame processing unit 110 checks the frame type and ACK received flag of the frame stored in the target entry. If an untransmitted non-aggregated empty data frame is stored in the target entry, the process proceeds to step S21.
  • step S17 the variable i is incremented in step S17. In this case, returning to step S13, the next entry in the transmission queue 114 is selected.
  • the data frame processing unit 110 confirms an empty data frame stored in the work area.
  • the work area is a buffer memory that temporarily stores empty data frames extracted from the transmission queue 114.
  • the work area is used to aggregate a plurality of empty data frames.
  • the data frame processing unit 110 checks whether an empty data frame in which the same LD as the target entry is set exists in the work area.
  • the data frame processing unit 110 sets “completed” in the ACK received flag of the target entry in step S23. To do. Note that the frame of the entry for which the ACK received flag is set to “completed” has already been transmitted and the corresponding ACK in the flowcharts shown in FIGS. 21 to 22 even before actual transmission. Treated as if the frame was received. Therefore, the frame of the entry whose ACK received flag is set to “completed” is not selected in step S16 even if it is an empty data frame.
  • step S24 the data frame processing unit 110 stores the empty data frame of the target entry in the work area. Thereafter, this empty data frame is in the aggregation processing state.
  • step S25 the data frame processing unit 110 increments the variable i and returns to step S13. That is, the next entry is selected.
  • step S26 is executed.
  • the data frame processing unit 110 adds the empty data frame of the target entry to the empty data frame in the work area detected in step S22.
  • the ad hoc headers (LD, LS, frame type) of these two empty data frames are the same. Therefore, in step S26, the payload of the empty data frame of the target entry is added to the empty data frame in the work area. At this time, “completed” is set in the ACK received flag of the target entry.
  • step S27 the data frame processing unit 110 checks whether the size of the empty data frame obtained in step S26 is equal to or smaller than a predetermined threshold value.
  • This threshold value is used to determine whether or not the payload of another empty data frame can be added to the empty data frame in the aggregation processing state stored in the work area. Therefore, for example, this threshold is determined to be a value smaller by the data header length than the maximum frame size defined by the network according to the embodiment. If the size of the empty data frame is equal to or smaller than the threshold value, it is determined that a data header can be further added to the empty data frame in the aggregation processing state. In this case, after the variable i is incremented in step S25, the process returns to step S13. That is, the next entry is selected.
  • the data frame processing unit 110 sets a value representing the aggregated empty data frame to the frame type of the empty data frame in step S28. In this example, “0x0005” is set. That is, an aggregated empty data frame is generated. Then, the data frame processing unit 110 generates a new entry in the transmission queue 114 and stores the generated aggregated empty data frame in the entry. At this time, “not yet” is set in the ACK received flag of this entry. Thereafter, after the variable i is incremented in step S25, the process returns to step S13. That is, the next entry is selected.
  • step S31 is executed for each empty data frame in the work area, but is basically the same as step S28. That is, in step S31, first, a value representing an aggregated empty data frame is set in the frame type of each empty data frame in the work area. As a result, an aggregated empty data frame is generated. Subsequently, each aggregated empty data frame is stored in the transmission queue 114. At this time, “not yet” is set in the corresponding ACK received flag.
  • step S32 the data frame processing unit 110 unlocks the transmission queue 114. Therefore, thereafter, the transmission unit 102 can read and transmit a frame from the transmission queue 114.
  • step S22 since no empty data frame is stored in the work area, it is determined as “No” in step S22. Therefore, “completed” is set in the ACK received flag of entry 0x0001 in step S23.
  • step S24 the empty data frame of entry 0x0001 is stored in the work area. It is assumed that “data header 1” is stored in the payload of this empty data frame.
  • Entry 0x0010 is selected. This entry is determined as “Yes” in step S16 as in the case of entry 0x0001. Therefore, the process after step S21 is performed.
  • the LD of entry 0x0010 is “X”.
  • an empty data frame extracted from entry 0x0001 is stored. That is, the LD of the empty data frame stored in the work area is also “X”. Therefore, in step S26, the empty data frame extracted from the entry 0x0010 is added to the empty data frame stored in the work area.
  • an aggregated empty data frame in which “data header 1 + data header 2” is stored in the payload is stored in the work area. Note that the LD of this aggregated empty data frame remains “X”. Furthermore, “completed” is set in the ACK received flag of entry 0x0010.
  • Entry 0x0012 is selected. This entry is determined as “Yes” in step S16 as in the case of entry 0x0001 or entry 0x0010. Therefore, the process after step S21 is performed.
  • the LD of entry 0x0012 is “X”.
  • the LD of the aggregated empty data frame stored in the work area is also “X”. Accordingly, in step S26, the empty data frame extracted from the entry 0x0012 is added to the aggregated empty data frame stored in the work area. As a result, an aggregated empty data frame in which “data header 1 + data header 2 + data header 3” is stored in the payload is stored in the work area. Note that the LD of this aggregated empty data frame also remains “X”. Furthermore, “completed” is set in the ACK received flag of entry 0x0012.
  • step S31 Assume that the size of the aggregated empty data frame created in (8) above is smaller than the threshold value. Then, the next entry is searched. However, in this example, no unselected entry is left. Therefore, the process of step S31 is performed.
  • a new entry 0x0013 is created in the transmission queue 114, and the aggregated empty data frame generated in (8) above is stored in this entry. At this time, “0x0005” is set as the frame type. In addition, “not yet” is set in the ACK received flag.
  • the transmission queue 114 is updated to the state shown in FIG. 20B by the above procedures (1) to (10). Thereafter, when the lock of the transmission queue 114 is released, the transmission unit 102 extracts and transmits a frame in which “not received” is set in the ACK received flag in the transmission queue 114. Therefore, the transmitting unit 102 transmits the aggregated empty data frame stored in the entry 0x0013. At this time, the aggregated empty data frame is transmitted to the adjacent node specified by the LD. That is, in the example illustrated in FIG. 20B, the aggregated empty data frame is transmitted to the node device X.
  • the node device of the embodiment aggregates and transmits the plurality of empty data frames. Therefore, the number of backtrack operations is reduced and data transfer efficiency is improved.
  • FIG. 23 is a flowchart showing an empty data frame reception process.
  • the node apparatus receives an empty data frame or an aggregated empty data frame from an adjacent node apparatus, and is determined to be an empty data frame or an aggregated empty data frame in step S801a of the data frame reception process of FIG. Is executed by the data frame processing unit 110.
  • the empty data frame and the aggregated empty data frame are identified by the value of the frame type set in the ad hoc header of the received frame.
  • empty data frames include both empty data frames and aggregated empty data frames.
  • step S42 the data frame processing unit 110 cuts out the data header stored in the payload of the received empty data frame.
  • the data length of the data header is predetermined. For example, in the example shown in FIG. 17, since the data header stores 8 bytes of GS, 8 bytes of GD, and 2 bytes of FID, the data length of the data header is 18 bytes. Therefore, in this case, data (that is, each data header) is extracted in units of 18 bytes from the beginning of the payload of the received empty data frame.
  • step S43 the data frame processing unit 110 counts the number of data headers aggregated in the received empty data frame.
  • the number of aggregated data headers is represented by “N”.
  • the variable i is initialized to “1”. The variable i identifies each data header extracted from the empty data frame in this flowchart.
  • Steps S44 to S49 are executed for each data header extracted from the empty data frame. That is, the data frame processing unit 110 extracts the i-th data header in step S44, and executes the processes in steps S45 to S48.
  • the data frame processing unit 110 searches the FID management table 105 based on the FID / GS pair of the i-th data header.
  • entries FID management table 105 is described with reference to FIG. 29 later, from the last update time aging time G f is deleted at the time of the lapse.
  • the entry for the FID management table 105, period since the last update time to the aging time G f has elapsed is present.
  • the aging time G f of FID management table 105 corresponds to a holding period G shown in FIG. 15.
  • the data frame processing unit 110 extracts from the buffer unit 109 the data frame specified by the above-mentioned FID / GS pair (step S47). Restore.
  • the node device holds the data frame in the buffer unit 109.
  • an entry of the FID management table 105 is created using the FID and GS pair of the received data frame.
  • the corresponding data frame is held in the buffer unit 109.
  • step S48 the data frame processing unit 110 generates an ACK frame corresponding to the data frame extracted in step S47, and requests the transmission unit 102 to transmit the ACK frame. Then, the transmission unit 102 returns the ACK frame to the transmission source node apparatus of the empty data frame. Thereby, the node device that has performed the backtracking recognizes that the backtracking has been successful.
  • step S46 When there is no entry corresponding to the FID management table 105 (step S46: No), the data frame processing unit 110 does not execute steps S47 to S48. That is, in this case, since there is no received data frame corresponding to the empty data frame, the ACK frame corresponding to this received data frame is not returned to the node device that has performed backtracking.
  • step S49 the data frame processing unit 110 checks whether or not the variable i has reached the number N of data headers. If the variable i is smaller than N, it is determined that an unselected data header remains. In this case, after the variable i is incremented, steps S44 to S48 are executed. That is, the processing of steps S44 to S48 is executed for the next data header extracted from the aggregated empty data frame. On the other hand, if the variable i reaches N, the processing of this flowchart ends.
  • the backtrack execution node device determines that the transfer of the data frame received from the OLS node device is impossible
  • the normal transmission to the OLS node device is performed. Send data frame or empty data frame.
  • the OLS node device receives a normal data frame from the backtrack execution node device
  • the OLS node device transfers the data frame to another adjacent node device.
  • the OLS node device extracts the data frame corresponding to the empty data frame from the buffer unit 109 and transfers it to another adjacent node device.
  • the OLS node apparatus returns an ACK frame to the backtrack execution node apparatus in any case. Then, the backtrack execution node device ends the backtrack operation.
  • the OLS node device does not return the ACK frame to the backtrack execution node device when the data frame corresponding to the empty data frame received from the backtrack execution node device is not stored in the buffer unit 109. Then, the backtrack execution node device transmits a normal data frame to the OLS node device after a predetermined time has elapsed.
  • the backtrack execution node device may transmit the empty data frame to the OLS node device again after a predetermined time has elapsed. Then, the backtrack execution node device may transmit a normal data frame to the OLS node device when the ACK frame cannot be received even though the empty data frame is repeatedly transmitted a predetermined number of times.
  • node devices that can process empty data frames and node devices that cannot process empty data frames may coexist.
  • the node device X cannot process an empty data frame.
  • the node device a transmits an empty data frame to the node device X in the backtrack operation.
  • the node device a transmits a normal data frame to the node device X after a predetermined time has elapsed since the empty data frame was transmitted.
  • the node device X transfers the received normal data frame to the node device d.
  • the data frame transfer is not blocked.
  • the backtrack execution node device (node device a in FIGS. 14 to 15) is configured to send empty data when the elapsed time from the entry time of the target data frame is shorter than the holding period G Send a frame.
  • the OLS node device (node device X in FIGS. 14 to 15) will be described later with reference to FIG. 32, but from the time (last update time) when the target data frame is transmitted to the backtrack execution node device. Until the elapsed time reaches the holding period G, the target data frame is held in the buffer unit 109.
  • the entry time in the backtrack execution node device is always later than the last update time in the OLS node device. For this reason, if the retention period G has not elapsed since the entry time in the backtrack execution node device, there is a high possibility that the target data frame is retained in the OLS node device. Therefore, when an empty data frame is transmitted from the backtrack execution node device under the above conditions, there is a high possibility that the target data frame held in the buffer unit 109 in the OLS node device is effectively used.
  • FIG. 24 is a flowchart of the frame reception process.
  • the frame reception process is started when the node device 100 is turned on.
  • step S201 the reception unit 101 waits until a frame is received. That is, if the receiving unit 101 has not received a frame, step S201 is repeated.
  • the receiving unit 101 outputs the received frame to the frame branching processing unit 106, and the process proceeds to step S202.
  • step S202 the frame branching processing unit 106 refers to the value of the type field of the frame received by the receiving unit 101 in step S201, and determines the frame type. If the received frame type is a hello frame, the process proceeds to step S203. If the received frame type is a data frame, the process proceeds to step S204. If the received frame type is an ACK frame, the process proceeds to step S206. Note that the empty data frame and the aggregated empty data frame used in the backtrack operation are processed in the same manner as normal data frames in each node device unless otherwise specified. Therefore, in the description related to FIGS. 24 to 41, the “data frame” includes an empty data frame and an aggregated empty data frame unless otherwise specified.
  • step S203 the frame branch processing unit 106 outputs the received hello frame to the link management unit 108, and the link management unit 108 performs the hello frame reception process of FIG. Then, the process returns to step S201.
  • the frame branch processing unit 106 outputs a hello frame, it does not wait for the end of the hello frame reception process. The process may move to step S201.
  • step S204 the frame branching processing unit 106 stores the data frame received in step S201 in the buffer unit 109. That is, the frame branching processing unit 106 reserves a new entry area in the buffer unit 109, and stores the data frame received in step S201 in the secured area. Further, the frame branching processing unit 106 extracts and stores the GS and FID values from the data frame for the next step S205. Although the buffer unit 109 has a timeout time field as shown in FIG. 8, the timeout time is not yet set at the time of step S204.
  • step S205 the frame branching processing unit 106 instructs the data frame processing unit 110 to perform data frame reception processing.
  • the frame branching processing unit 106 notifies the data frame processing unit 110 of the GS and FID values of the data frame stored in step S204.
  • the data frame reception process is as shown in FIGS.
  • the node device 100 is a device that does not become a GS (for example, when the node device 100 is a relay-dedicated device)
  • the data frame reception process is as shown in FIGS.
  • the node device 100 is a type of device that can also be a GS
  • the data frame reception process is as shown in FIGS. 30 to 32 and FIG.
  • the process returns to step S201.
  • the process may proceed to step S201 without waiting for the end of the data frame reception process.
  • step S206 the frame branch processing unit 106 outputs the received ACK frame to the ACK processing unit 107, and the ACK processing unit 107 performs the ACK frame reception process of FIG. Then, the process returns to step S201.
  • the process may proceed to step S201 without waiting for the end of the ACK frame reception process.
  • FIG. 25 is a flowchart of the hello frame reception process in step S203 of FIG. The processing in FIG. 25 is started when a hello frame is output from the frame branching processing unit 106 to the link management unit 108.
  • step S301 the link management unit 108 determines whether or not an entry having the same value as the LS of the received hello frame as the node ID exists in the adjacent node management table 103 (see FIG. 9). If an entry is found, the process proceeds to step S302. If no entry is found, the process proceeds to step S303.
  • the “received hello frame” in the description of FIG. 25 is the hello frame received by the receiving unit 101 in step S201 of FIG. That is, the “received hello frame” in the description of FIG. 25 is a hello frame that is output from the frame branching processing unit 106 to the link management unit 108 in step S202 and triggers the start of the processing of FIG.
  • step S302 the link management unit 108 sets the current time as the last update time of the entry found in step S301. Then, the process of FIG. 25 ends.
  • step S302 is executed in the node device N 2, in the adjacent node management table 103-N 2 as shown in FIG. 9, the value of the last update time field corresponding to the node ID of N 1 is TA 2,1 And updated.
  • the node device N 2 can store “at the time TA 2,1 , the node device N 2 can recognize the node device N 1 as an adjacent node device”.
  • step S301 if no entry is found in step S301, it means that a hello frame has been received from a new node device that has not been recognized as an adjacent node device until now. Therefore, in the subsequent steps S303 to S308, processing for registering the new node device as an adjacent node device is performed.
  • step S ⁇ b> 303 the link management unit 108 adds a new entry to the adjacent node management table 103.
  • step S304 the link management unit 108 sets the LS value of the received hello frame and the current time in the new entry added in step S303. For example, when the hello frame 312 of FIG. 7 is received for the first time, the node device N 2 sets N 3 which is the LS value of the hello frame 312 in the node ID field of the new entry, and the last update time field of the new entry Set the current time to.
  • the link management unit 108 includes the weighting table 104-i (1 ⁇ i ⁇ M) that has not yet been focused on in the weighting tables 104-1 to 104-M (see FIGS. 10 and 11). ) Is determined. If all the weighting tables 104-1 to 104-M have already been focused on, the processing in FIG. 25 ends. If there is a weighting table 104-i that has not yet been focused on, the processing moves to step S306.
  • step S306 the link management unit 108 pays attention to the next weighting table from among the weighting tables 104-1 to 104-M that have not been noticed yet.
  • the weighting table 104-i is noted in step S306.
  • step S307 the link management unit 108 adds a new entry to the weighting table 104-i of interest. Further, in step S308, the link management unit 108 sets the LS value, initial weight value, and current time of the received hello frame in the LD, weight, and last update time fields of the new entry added in step S307. Set each.
  • the initial weight value is a constant arbitrarily determined according to the embodiment.
  • the weight value is 0 or more and 1 or less, and 1 is a special value indicating that the LD cannot be selected. Therefore, the initial weight value is an arbitrary value between 0 and 1 It's okay. More specifically, the initial weight value may be 0.5, for example.
  • the first entry of the weighting table 104-1-N 3 shown at the top of FIG. 11 may be created as follows (however, in that case, the first entry is the last update time of the entry, the last update time T a of the other two entries are set different values, not exactly the same as FIG. 11).
  • Node device N 7 weighting table 104-1-N 3 associated with a GD already exists. However, the node device N 3 has not recognized the node device N 2 as an adjacent node device until now.
  • the node device N 3 has received a hello frame from the node device N 2 for the first time.
  • the weighting table 104-1-N 3 was noted in step S306.
  • step S308 N 2 that is the LS value of the received hello frame is set in the LD field of the new entry, and 0.5 that is the initial weight value is set in the weight field of the new entry. After execution of step S308, the process returns to step S305.
  • FIG. 26 is a flowchart of the hello frame transmission process. The process of FIG. 26 is executed by the hello frame generation unit 112 in parallel with the process of FIG. Specifically, when the node device 100 is powered on, the hello frame generation unit 112 starts the process of FIG.
  • step S401 the hello frame generation unit 112 determines whether or not the current time is the scheduled transmission time. If the current time is the scheduled transmission time, the process proceeds to step S402. If the current time is not the scheduled transmission time, the process returns to step S401. That is, the hello frame generation unit 112 waits until the scheduled transmission time.
  • the transmission time ⁇ T hello between the reference time T ref and the hello frame may be determined in advance.
  • the hello frame generation unit 112 can refer to the current time T now based on MPU201 clock of Figure 4, for example.
  • the hello frame generation unit 112 may determine that “the current time is the scheduled transmission time” only when Z in Expression (4) is an integer.
  • Z (T ref ⁇ T now ) / ⁇ T hello (4)
  • the reference time T ref may be a predetermined constant or the time when the node device 100 is turned on.
  • the transmission interval ⁇ T hello can be appropriately determined according to the embodiment, and may be a relatively long time such as 10 seconds, for example.
  • the hello frame generation unit 112 requests the FID generation unit 113 to generate a new FID, and the FID generation unit 113 generates a new FID.
  • the FID may be a sequence number, and the FID generation unit 113 may be realized using a counter circuit.
  • the FID generation unit 113 may be realized by the MPU 201 executing a program.
  • the hello frame generation unit 112 further generates a hello frame using the FID generated by the FID generation unit 113.
  • the hello frame 312 in FIG. 7 is generated as follows. That is, the FID generator 113-N 3 of the node device N 3, and generates a value of F b as a new FID. Then, the hello frame generation unit 112-N 3 of the node device N 3 generates a new hello frame 312.
  • the hello frame generation unit 112-N 3 sets a predetermined value of 0xFFFFFF in the LD, sets N 3 which is its own node ID in the LS and GS, and sets a predetermined value of 0x000000 in the GD. Set the value. Further, the hello frame generation unit 112-N 3, in the hello frame 312, the FID sets the value F b generated by the FID generator 113-N 3, the type sets a predetermined value H.
  • step S403 the hello frame generation unit 112 requests the transmission unit 102 to transmit the generated hello frame, and the transmission unit 102 transmits the hello frame. Send. Then, the process returns to step S401.
  • Each aging process may be started, for example, in response to an interrupt signal from the timer IC 203 in FIG.
  • FIG. 27 is a flowchart of the aging process of the adjacent node management table 103.
  • the timer IC203 outputs an interrupt signal at predetermined intervals I a link management unit 108
  • link management unit 108 the interrupt signal as a trigger may perform processing of FIG. 27 at a predetermined interval I a.
  • step S501 the link management unit 108 pays attention to the first entry in the adjacent node management table 103 (see FIG. 9).
  • target entry the entry in the adjacent node management table 103 focused on by the link management unit 108 is referred to as “target entry”.
  • step S503 If the difference between the current time and the last update time of the target entry is greater than or equal to a predetermined value Ga, the process proceeds to step S503. On the other hand, the current time, the difference between the last update time of the target entry, is less than the predetermined value G a, the process proceeds to step S505.
  • step S503 the link management unit 108 deletes the entry having the same value as the node ID of the entry of interest as the LD from the weighting table 104. For example, interest entry, if a third entry of the adjacent node management table 103-N 3 in FIG. 9, the value of the node ID of the target entry is N 5. Accordingly, in step S503, the link management unit 108 deletes the entry whose LD value is N 5 from each of the weighting tables 104-1-N 3 to 104-MN 3 . For example, in step S503, the third entry in the weighting table 104-1-N 3 and the third entry in the weighting table 104-2-N 3 in FIG. 10 are deleted.
  • step S ⁇ b> 504 the link management unit 108 deletes the target entry from the adjacent node management table 103. Then, the process proceeds to step S505.
  • step S ⁇ b> 505 the link management unit 108 determines whether an entry that has not been noticed still remains in the adjacent node management table 103. If the link management unit 108 finishes paying attention to all entries in the adjacent node management table 103, the processing in FIG. On the other hand, if an entry not yet noticed by the link management unit 108 remains in the adjacent node management table 103, the process proceeds to step S506.
  • step S506 the link management unit 108 pays attention to the next entry among the entries not yet noticed in the adjacent node management table 103. Then, the process returns to step S502.
  • the predetermined interval I a and the predetermined value G a are desirably determined as appropriate according to the embodiment in accordance with the ease of change of the environment.
  • the same hello frame transmission interval ⁇ T hello is set for all the node devices in the network, and the predetermined value G a which is the aging time of the adjacent node management table 103 is G a > ⁇ T hello is satisfied.
  • FIG. 28 is a flowchart of the aging process of the weighting table 104.
  • the timer IC203 outputs an interrupt signal at predetermined intervals I w to the data frame processing unit 110, the data frame processing unit 110 the interrupt signal as a trigger may perform processing of FIG. 28 at a predetermined interval I w.
  • step S601 the data frame processing unit 110 pays attention to the first weighting table 104-1 in the weighting table 104 (see FIGS. 10 and 11).
  • the weighting table focused by the data frame processing unit 110 is represented by the reference numeral “104-i” (1 ⁇ i ⁇ M) and is referred to as “target table”.
  • i 1.
  • step S602 the data frame processing unit 110 pays attention to the first entry of the attention table 104-i.
  • an entry that the data frame processing unit 110 pays attention to in the attention table is referred to as a “notice entry”.
  • the data frame processing unit 110 in step S603 the current time, the difference between the last update time of the target entry, it is determined whether more than a predetermined value G w.
  • G w I w , G w ⁇ I w , or G w > I w may be used.
  • the current time, the difference between the last update time of the target entry is less than the predetermined value G w, the process proceeds to step S605.
  • step S604 the data frame processing unit 110 deletes the target entry from the target table 104-i. Then, the process proceeds to step S605.
  • step S605 the data frame processing unit 110 determines whether or not there is an entry that has not been noticed yet in the attention table 104-i. If the data frame processing unit 110 has finished paying attention to all entries in the attention table 104-i, the process proceeds to step S607. On the other hand, if an entry not yet noticed by the data frame processing unit 110 remains in the attention table 104-i, the process proceeds to step S606.
  • step S606 the data frame processing unit 110 pays attention to the next entry among the entries not yet noticed in the attention table 104-i. Then, the process returns to step S603.
  • step S607 the data frame processing unit 110 determines whether there is an entry in the attention table 104-i. As a result of repeating steps S603 to S606, when there are no more entries in the attention table 104-i, the process proceeds to step S608. On the other hand, if one or more entries exist in the attention table 104-i, the process proceeds to step S609.
  • step S608 the data frame processing unit 110 deletes the attention table 104-i in which no entry exists. Then, the process proceeds to step S609.
  • step S609 the data frame processing unit 110 determines whether or not a weighting table that has not been noticed remains in the weighting table 104. If the data frame processing unit 110 has finished paying attention to all the weighting tables 104-1 to 104-M, the processing in FIG. 28 ends. On the other hand, if the weighting table 104-j (1 ⁇ j ⁇ M) not yet noticed by the data frame processing unit 110 remains in the weighting table 104, the process proceeds to step S610.
  • step S610 the data frame processing unit 110 pays attention to the next weighting table 104-j that has not been noticed in the weighting table 104 (that is, selects the weighting table 104-j as the attention table 104-i). Then, the process returns to step S602.
  • the node device 100 does not fall into a situation in which “the effects of past failures are accumulated and any adjacent node device cannot be selected as an LD”.
  • the data frame can be transmitted through the path ⁇ N 1 , N 2 , N 3 , N 4 , N 7 >, for example, by actually recovering from the failure. However, this route will not be selected as a result of autonomous distributed cooperation. However, if the aging process of FIG. 28 is performed, the path ⁇ N 1 , N 2 , N 3 , N 4 , N 7 > can be selected in the situation assumed above.
  • FIG. 29 is a flowchart of the aging process of the FID management table 105.
  • the timer IC203 outputs an interrupt signal at predetermined intervals I f to the data frame processing unit 110, the data frame processing unit 110 may perform the process in FIG. 29 at a predetermined interval I f the interrupt signal as a trigger.
  • step S701 the data frame processing unit 110 pays attention to the first entry in the FID management table 105 (see FIGS. 12 and 13).
  • the entry that the data frame processing unit 110 is paying attention to is referred to as a “target entry”.
  • the data frame processing unit 110 in step S702 the current time, the difference between the last update time of the target entry, it is determined whether more than a predetermined value G f.
  • G f I f , G f ⁇ I f , or G f > I f may be used.
  • the predetermined value G w is the aging time of the weighting table 104
  • a predetermined value G f is the aging time of the FID management table 105
  • G f ⁇ G w is satisfied.
  • step S703 the current time, the difference between the last update time of the target entry, equal to or greater than a predetermined value G f, the process proceeds to step S703.
  • step S703 the data frame processing unit 110 deletes the entry of interest from the FID management table 105. Then, the process proceeds to step S704.
  • step S ⁇ b> 704 the data frame processing unit 110 determines whether an entry that has not been noticed still remains in the FID management table 105. If the data frame processing unit 110 has finished paying attention to all entries in the FID management table 105, the processing in FIG. 29 ends. On the other hand, if an entry not yet noticed by the data frame processing unit 110 remains in the FID management table 105, the process proceeds to step S705.
  • step S705 the data frame processing unit 110 pays attention to the next entry among the entries not yet noticed in the FID management table 105. Then, the process returns to step S702.
  • the predetermined value G f is determined so as to be equal to or longer than the length of time predicted for the data frame to reach the GD from the GS in the worst case in which backtracking occurs many times. It may be. In general, larger the network, it is desirable to set larger the predetermined value G f.
  • FIGS. 30 to 35 are flowcharts of the data frame reception process in step S205 of FIG.
  • data frame reception processing when the node device 100 is of a type different from GS will be described with reference to FIGS. 30 to 35.
  • FIG. In the case where the node device 100 is of a type that can also be a GS, the part of FIGS. 34 to 35 is replaced with the process of FIG. 41 described later.
  • the data frame processing unit 110 When instructed to perform the data frame reception processing from the frame branching processing unit 106 in step S205 of FIG. 24, the data frame processing unit 110 starts the processing of FIG. As described above, the instruction from the frame branch processing unit 106 is accompanied by notification of the GS and FID values of the received data frame.
  • step S801 the data frame processing unit 110 determines whether the LD value of the received data frame is its own node ID. If the LD value of the received data frame is not the own node ID, the process proceeds to step S802. If the LD value of the received data frame is the own node ID, the process proceeds to step S801a.
  • “received data frame” is received by the reception unit 101 in step S201 in FIG. 24, stored in the buffer unit 109 in step S204, and triggered by the start of the process in FIG. This is the data frame.
  • the frame branching processing unit 106 instructs the data frame processing unit 110 to start the data frame reception processing
  • the frame branching processing unit 106 notifies the data frame processing unit 110 of the GS and FID values of the received data frame. Therefore, the data frame processing unit 110 can find an entry including the received data frame by searching the buffer unit 109 using the notified GS and FID values as keys. Therefore, the data frame processing unit 110 can read the value of each field included in the header of the received data frame from the found entry.
  • step S801 the data frame processing unit 110 first reads and stores the value of each field included in the header of the received data frame from the buffer unit 109 as described above. Then, the stored LD value (that is, the LD value of the received data frame) is compared with its own node ID.
  • the own node ID which is the node ID of the node device 100 itself, is recorded in advance in, for example, the flash memory 205 of FIG. 4, so that the data frame processing unit 110 can refer to the own node ID.
  • step S802 the data frame processing unit 110 discards the received data frame. That is, the data frame processing unit 110 deletes the entry of the buffer unit 109 found in step S801. Then, the data frame reception process ends.
  • the data frame processing unit 110 refers to the value of the type field of the received frame in step S801a, and the frame type is an empty data frame and an aggregation. It is determined whether it is any empty data frame. If it is determined that the type of the received frame is either an empty data frame or an aggregated empty data frame, the process proceeds to step S801b.
  • step S801b for the received empty data frame or aggregated empty data frame, the data frame processing unit 110 executes the above-described empty data frame reception process of FIG. Then, the process proceeds to step S801c.
  • step S801c the data frame processing unit 110 determines whether there is a data frame extracted (restored) from the buffer unit 109 in the empty data frame reception process. If it is determined that there is a data frame extracted (restored) from the buffer unit 109, the process proceeds to step S804. Hereinafter, this extracted (restored) data frame is treated as a received data frame. If there are a plurality of extracted (restored) data frames, the data frame receiving process from step S804 onward is executed for each data frame.
  • step S801c If it is determined in step S801c that there is no data frame extracted (restored) from the buffer unit 109, the data frame reception process ends. If it is determined in step S801a that the type of the received frame is not one of the empty data frame and the aggregated empty data frame, that is, if it is a normal data frame, the process proceeds to step S803.
  • step S803 the data frame processing unit 110 generates an ACK frame and requests the transmission unit 102 to transmit the ACK frame. Then, the transmission unit 102 transmits an ACK frame.
  • the data frame processing unit 110-N 3 of the node device N 3 when the node device N 3 receives the data frame 303 in FIG. 7, the data frame processing unit 110-N 3 of the node device N 3 generates the ACK frame 322 in FIG. 7 in step S803. Then, the transmission unit 102-N 3 transmits the ACK frame 322.
  • the data frame processing unit 110-N 3 sets N 2 which is the LS value of the received data frame 303 to the LD of the ACK frame 322, and sets its own node ID (that is, the node of the node device N 3 itself) ID N 3 ) is set in LS of ACK frame 322. Further, since the ACK frame 322 is irrelevant except for the node device N 2 which is the LS of the corresponding data frame 303, the data frame processing unit 110-N 3 has a special value representing null in the GD of the ACK frame 322. Set 0x000000.
  • the data frame processing unit 110-N 3 receives the ACK frame 322 so that the node device N 2 that has received the ACK frame 322 can recognize that the “ACK frame 322 is an ACK frame for the data frame 303”.
  • Set GS and FID That is, the data frame processing unit 110-N 3 is the GS and FID of the ACK frame 322, respectively, to set the value N 1 and F a of GS and FID data frame 303 received.
  • the data frame processing unit 110-N 3 sets a predetermined value A indicating “ACK frame” as the type of the ACK frame 322.
  • the data frame processing unit 110-N 3 generates the ACK frame 322 as described above, and the transmission unit 102-N 3 transmits the ACK frame 322.
  • step S804 the data frame processing unit 110 determines whether the GD value of the received data frame is the own node ID. If the GD value of the received data frame is the own node ID, the process proceeds to step S805. On the other hand, if the GD value of the received data frame is different from the own node ID, the process proceeds to step S806 in FIG.
  • step S805 the data frame processing unit 110 passes the payload of the received data frame to the upper layer processing unit 111, and ends the data frame reception process. Specifically, the data frame processing unit 110 extracts the payload from the entry of the buffer unit 109 found in step S801, outputs the payload to the upper layer processing unit 111, and deletes the entry from the buffer unit 109. Then, the data frame reception process ends.
  • the payload of the received data frame is output to the upper layer processing section 111-N 7, upper layer processing section 111-N 7 is processed.
  • step S806 in FIG. 31 The processing after step S806 in FIG. 31 is executed when the LD value of the received data frame is equal to the own node ID and the GD value of the received data frame is different from the own node ID.
  • step S806 the data frame processing unit 110 searches the FID management table 105 using the FID and GS values of the received data frame as search keys. As described above, the FID and GS values of the received data frame are notified from the frame branch processing unit 106 at the start of the processing of FIG.
  • step S807 the data frame processing unit 110 determines whether or not the search result entry in step S806 has been hit. If the entry is hit, it means that the same data frame as the data frame that the node device 100 has transmitted before has been received, and therefore the process proceeds to step S808. On the other hand, if the entry is not hit, it means that a data frame that has not been transmitted by the node device 100 has been received, and the process moves to step S810.
  • step S808 the data frame processing unit 110 takes out the LD and OLS values of the entry in the FID management table 105 hit in the search in step S806, and stores them in a storage area such as the DRAM 204 in FIG.
  • step S809 the data frame processing unit 110 refers to a weighting table corresponding to the GD value of the received data frame (hereinafter referred to by the reference numeral “104-i” in the description of FIGS. 31 to 35). Update as follows: That is, the data frame processing unit 110 changes the weight corresponding to the LD extracted in step S808 to the maximum value in the weighting table 104-i. In the first embodiment, the maximum value of the weight is 1. After changing the weight, the process proceeds to step S817.
  • the last update time in the entry of the FID management table 105 is set when the data frame is transmitted.
  • the aging time Gf of the FID management table 105 is set to be longer than the time predicted in the worst case, for example. Therefore, when the data frame transmitted in the past by the node device 100 is received by the node device 100 through the network, it is guaranteed that the entry corresponding to the data frame still remains in the FID management table 105. .
  • (E1) A data frame in which the GD value is N GD , the GS value is N GS , the LD value is N LD , and the FID value is F c is transmitted from the node device 100.
  • the last update time is set in the FID management table 105.
  • the last update time T 103 is set in the entry E 3 in FIG. 12 in step S103.
  • (E3) the value of GS is in N GS
  • the value of FID is the same data frame F c, it is received by the node device 100.
  • the node device N 3 in step S106 in FIG. 6 receives the data frame. Since there is no possibility that the value of GD of the data frame is rewritten when the relay, the value of GD of the data frame received by (E3), of course from the (E1), a N GD.
  • time point (E3) is before the time point (E5). Therefore, at the time of (E3), the existence of an entry whose LD field value is N LD is guaranteed in the weighting table 104-i corresponding to the node device N GD .
  • the existence of an entry in the weighting table 104-1-N 3 whose LD field value is N 4 is guaranteed at the time of step S106 in FIG.
  • "time of step S106" is more particularly that at the time when the process of step S809 in the data frame reception processing triggered by the reception in step S106, the node device N 3 executes It is.
  • step S809 the data frame processing unit 110 sets the weight value to the maximum value in the entry whose existence is guaranteed.
  • step S810 the data frame processing unit 110 stores the LS value of the received data frame as an OLS in a storage area such as the DRAM 204 in FIG. .
  • step S811 the data frame processing unit 110 searches the weighting table 104 using the GD value of the received data frame as a search key.
  • step S812 the data frame processing unit 110 determines whether the table is hit as a result of the search in step S811. If a weighting table corresponding to the GD value of the received data frame exists in the weighting table 104, the process proceeds to step S812a. Note that the reference sign “104-i” introduced in step S809 indicates the weighting table corresponding to the GD value of the received data frame, and thus the table hit as a result of the search in step S811 is also “weighting table 104- i ".
  • step S812a the data frame processing unit 110 adjusts the weighting table 104-i hit in the search in step S811.
  • the weighting table adjustment process in step S812a is a process for neutralizing the side effects of the aging process, which will be described later in detail with reference to FIG.
  • step S812a it is guaranteed that entries corresponding to all adjacent node devices managed in the adjacent node management table 103 exist in the weighting table 104-i. Then, the process proceeds to step S817.
  • step S813 the data frame processing unit 110 adds a new weighting table corresponding to the GD value of the received data frame. Note that the table added in step S813 is also the “weighting table 104-i”.
  • step S814 the data frame processing unit 110 sets the GD value of the received data frame as the GD of the weighting table 104-i in the new weighting table 104-i.
  • step S815 the data frame processing unit 110 creates as many new entries as the number of entries in the adjacent node management table 103 in the new weighting table 104-i.
  • step S816 the data frame processing unit 110 sets the node ID, initial weight value, and current time of each entry in the adjacent node management table 103 in each entry created in step S815.
  • a specific example of the above steps S811 to S816 is as follows. For example, when receiving the data frame 303 of FIG. 7 in step S102 in FIG. 6 from the node device N 2, the weighting table 104-N 3 of the node device N 3 are weighting table 104-1-N 3 in FIG. 11 Suppose that it did not exist. Then, the data frame processing unit 110-N 3 of the node device N 3 searches the weighting table 104-N 3 in step S811 using N 7 which is the GD value of the data frame 303 received by the node device N 3 as a search key. Even so, the table does not hit.
  • the data frame processing unit 110-N 3 newly creates the weighting table 104-1-N 3 in step S813, and sets N 7 to the GD of the weighting table 104-1-N 3 in step S814.
  • the data frame processing unit 110-N 3 creates the same number (ie, three) new entries as the adjacent node management table 103-N 3 in FIG. 9 in the weighting table 104-1-N 3 .
  • the node ID of each entry of the adjacent node management table 103-N 3 is N 2 , N 4 and N 5 as shown in FIG. Therefore, in step S816, the data frame processing unit 110-N 3 sets N 2 , N 4, and N 5 as LDs in each of the three entries created in step S815. The data frame processing unit 110-N 3 sets an initial weight value of 0.5 in the weight fields of these three entries, and sets the current time in the last update time fields of these three entries. Set.
  • Step S817 is executed after step S809 is executed, after step S816 is executed, or after it is determined in step S812 that the table is hit in the search of step S811. Therefore, when step S817 is executed, the existence of the weighting table 104-i corresponding to the GD value of the received data frame is guaranteed.
  • step S817 the data frame processing unit 110, in the weighting table 104-i corresponding to the GD value of the received data frame, the LD value associated with the minimum weight among the LDs different from the OLS. To get.
  • the data frame processing unit 110 selects, in the weighting table 104-i, the entry having the smallest weight value from the entries having as the LD a value different from the OLS value stored in step S808 or S810. Then, the data frame processing unit 110 stores the LD and weight values of the selected entry in a storage area such as the DRAM 204 in FIG.
  • step S818 the data frame processing unit 110 determines whether one of the following two conditions (F1) and (F2) is satisfied.
  • F1 The weight corresponding to the LD value acquired in step S817 (or S829 described later) is the maximum weight value (1.0 in the first embodiment).
  • the adjacent node device Since it is determined that the path ahead from the adjacent node device is a dead path or a loop, the adjacent node device is associated with the maximum weight. (G2) Since the results of the failure to transmit data frames addressed to the same GD to the adjacent node device have accumulated in the past, the adjacent node device is associated with the maximum weight.
  • step S818 The adjacent node device is OLS. Therefore, if it is determined in step S818 that neither of the conditions (F1) and (F2) is satisfied, the process proceeds to step S819.
  • the processing after step S819 is processing for attempting to transfer the data frame to the adjacent node device identified by the acquired LD value.
  • step S819 the data frame processing unit 110 creates a new data frame and outputs it to the transmission unit 102 as follows, and the transmission unit 102 transmits the created data frame.
  • the data frame processing unit 110 designates the LD value acquired in step S817 (or S829 described later) as the LD of the new data frame, and designates its own node ID as the LS of the new data frame. .
  • the data frame processing unit 110 copies the values of the GD, GS, FID, type, and length fields and the payload from the received data frame to a new data frame.
  • the “received data frame” is the data frame stored in the entry in the buffer unit 109 found in step S801 or extracted (restored) from the buffer unit 109 in step S47 of FIG. Data frame.
  • step S821 the data frame processing unit 110 adds an entry to the FID management table 105 in steps S823 and S824, which will be described later, in the search of the FID management table 105 in step S806. Check whether the value is set. That is, the data frame processing unit 110 confirms whether or not an entry having GS and FID having values equal to the GS and FID values of the received data frame exists in the FID management table 105.
  • step S806 If the entry is hit in the search in step S806, or if a value is set by adding a new entry to the FID management table 105 in steps S823 and S824, the current data frame reception process has been executed in the past. This is a process triggered by reception of the same data frame as that transmitted by itself. Therefore, the data frame processing unit 110 subsequently executes step S822.
  • the node device 100 receives for the first time. The first transfer of data frames is being attempted. Therefore, the process proceeds to step S823.
  • step S822 the data frame processing unit 110 updates the entry hit in the search in step S806. Specifically, the data frame processing unit 110 sets the LD value of the data frame transmitted in step S819 in the LD field in the entry hit in the search in step S806, and sets the current value in the last update time field. Set the time. Then, the process proceeds to step S825.
  • step S822 is executed when it is determined “Yes” in step S821.
  • the situation determined as “Yes” in step S821 is that the data frame transmitted in step S819 has been transmitted to another adjacent node device in the past, and the corresponding ACK frame is received from the adjacent node device. It happens when you are. That is, at the time when step S822 is executed, “already” should be set in the ACK reception flag of the entry in the FID management table 105. Therefore, when the data frame processing unit 110 transmits the data frame in step S819, the data frame processing unit 110 updates the ACK reception flag to “NULL” in step S822.
  • step S823 the data frame processing unit 110 adds a new entry to the FID management table 105.
  • step S824 the data frame processing unit 110 sets a value for the new entry. Specifically, the data frame processing unit 110 copies the value of the data frame transmitted in step S819 to the FID field, GS field, and LD field in the new entry created in the FID management table 105 shown in FIG. To do.
  • the data frame processing unit 110 sets the current time in the entry time field and the last update time field, and copies the OLS value stored in step S810 to the OLS field. Then, the process proceeds to step S825. Note that “NULL” is set in the ACK reception flag, and “zero” is set in the empty data transmission count field and the normal data transmission count field.
  • the entry time recorded at this time is used to determine whether to transmit a normal data frame or an empty data frame in the backtrack operation. For example, in the sequence diagram shown in FIG. 15 and the flowchart shown in FIG. 19, this entry time is used as “time TE”.
  • step S825 the data frame processing unit 110 waits for notification of the success or failure of transmission in step S819.
  • the thread may sleep in step S825.
  • the notification of “success in transmission” or “transmission failure” is a process for causing a thread.
  • step S819 If the transmission in step S819 is successful, an ACK frame is returned from the adjacent node device designated as the LD in the data frame transmitted in step S819. Then, the ACK processing unit 107 performs the process of FIG. 37 described later, and notifies the data frame processing unit 110 of “successful transmission”. As a result, the ACK flag of the corresponding entry in the FID management table 105 is updated to “completed”.
  • the transmission failure in step S819 means that the node device 100 does not receive an ACK frame from the adjacent node device designated as LD in the data frame transmitted in step S819 even when the time T timeout in Expression (5) is reached. It is not received.
  • the reception of the ACK frame is monitored by the processing of FIG. 38 described later by the ACK processing unit 107. If the ACK frame is not received even when the timeout time T timeout is reached, the ACK processing unit 107 notifies the data frame processing unit 110 that “ "Send failed". In this case, the ACK flag of the corresponding entry in the FID management table 105 is held as “NULL”.
  • step S825 When the data frame processing unit 110 receives a “transmission success” or “transmission failure” notification from the ACK processing unit 107 after waiting in step S825, the process proceeds to step S826.
  • step S826 based on the notification received from the ACK processing unit 107, the data frame processing unit 110 determines whether the transmission in step S819 is successful. If the transmission is successful, the process proceeds to step S827. If the transmission fails, the process proceeds to step S828.
  • step S827 the data frame processing unit 110 decreases the weight corresponding to the pair of GD and LD of the data frame transmitted in step S819 in the weighting table 104.
  • the GD of the data frame is not rewritten by the transfer.
  • the data frame processing unit 110 performs weighting in the weighting table 104-i corresponding to the GD of the received data frame. Update.
  • the data frame processing unit 110 searches the weighting table 104-i for an entry having the LD value acquired in step S817 (or step S829 described later) as an LD, and decreases the weight value of the found entry. Decreasing the weight value means increasing the priority of the corresponding LD.
  • the data frame processing unit 110 may update the weight value of the found entry to, for example, W revised in Expression (6) in step S827.
  • W revised max (W min , W current - ⁇ W success ) (6)
  • W min is the minimum value of weight
  • W min 0 in the first embodiment.
  • step S827 the data frame processing unit 110 sets the current time as the last update time in the entry of the weighting table 104-i having the LD value acquired in step S817 (or step S829 described later) as the LD. Then, the data frame reception process ends.
  • step S828 the data frame processing unit 110 increases the weight corresponding to the pair of GD and LD of the data frame transmitted in step S819 in the weighting table 104. That is, in step S828, the data frame processing unit 110 searches the weighting table 104-i for an entry having the LD value acquired in step S817 (or later-described step S829) as an LD, and increases the weight value of the found entry. To do. Increasing the weight value means lowering the priority of the corresponding LD.
  • the data frame processing unit 110 may update the weight value of the found entry to W revised in Expression (7).
  • W revised min (W max , W current + ⁇ W failure ) (7)
  • W max is the maximum weight value
  • W max 1 in the first embodiment.
  • step S828 the data frame processing unit 110 stores the LD value acquired in step S817 (or later-described step S829) as “LD failed in transfer” in a work area such as the DRAM 204 in FIG.
  • the data frame processing unit 110 initializes the linear list on the DRAM 204 to be empty in step S817, and holds the LD value acquired in step S817 (or step S829 described later) each time step S828 is executed. May be added to the linear list.
  • other data structures such as an array may be used for storing “LD failed to transfer”.
  • step S828 the data frame processing unit 110 sets the current time as the last update time in the entry of the weighting table 104-i having the LD value acquired in step S817 (or step S829 described later) as the LD. Then, the process proceeds to step S829.
  • step S829 the data frame processing unit 110 searches for other selectable adjacent node devices that have not been tried as LDs so far. Specifically, the data frame processing unit 110, in the weighting table 104-i corresponding to the GD value of the received data frame, is the smallest among the LDs other than the LD that failed to transfer and different from the OLS. The LD value associated with the weight is acquired. Note that the LD that failed to be transferred is stored in a work area such as the DRAM 204 in FIG. 4 in step S828, for example, in the form of a linear list.
  • the data frame processing unit 110 selects the entry having the smallest weight value from the entries having the values (H1) and (H2) as LDs in the weighting table 104-i. Then, the data frame processing unit 110 stores the LD and weight values of the selected entry in a storage area such as the DRAM 204 in FIG.
  • step S828 A value different from the LD value acquired in the previous step S817 or S829 (H2) A value different from the OLS value stored in the step S808 or S810 Therefore, for example, updated to 0.2 in step S828
  • the adjacent node device associated with the weight is not selected as an LD in step S829, and an adjacent node device having a weight such as 0.8, which is greater than 0.2, may be selected in step S829.
  • steps S817 to S829 are as follows.
  • node devices N 3 , N 5 , and N 7 are adjacent to the node device N 4 in FIG.
  • the value of the OLS of FID management table 105-N 4 entries E4 node device N 4 is N 3.
  • step S817 since the data frame processing unit 110-N 4 of the node device N 4 first acquires the LD value N 7 in step S817, the data frame to the node device N 7 as in step S104. Transmission is performed. However, since the transmission in step S104 fails as shown in FIG. 6, the data frame processing unit 110-N 4 determines “transmission failure” in step S826.
  • step S829 the LD value other than the LD that failed to transfer (ie, N 7 ) and different from the OLS (ie, N 3 ) is only N 5. It is. Therefore, the value N 5 of the LD in step S829 is acquired.
  • step S829 When the LD value is acquired in step S829, the process returns from step S829 to step S818. Therefore, in the above example of the node device N 4, after step S829, it is executed steps S818 ⁇ S826 again. Then, as shown in FIG. 6 as step S105, it is determined that transmission is successful in step S826, step S827 is executed, and the data frame reception process ends.
  • step S828 it will be as follows if the influence of updating a weight like Formula (7), for example with a specific example is demonstrated at step S828.
  • the node device N 106 receives a first data frame specifying the node device N 118 as GD from the adjacent node device N 108 at time T rcv1 .
  • the weighting table 104-g 106 -N 106 corresponding to the node device N 118 exists in the node device N 106 at time T rcv1 .
  • the node device weight 0.4 to N 102 is, weight 0.7 to the node device N 103 is the weight 0 to the node device N 107 .1, is assumed that the weight 0.5 is associated with the node apparatus N 108 , respectively.
  • step S817 the node device N 107 associated with the minimum weight 0.1 is selected as the LD.
  • chance for reasons such as shield between the node device N 106 and N 107 are placed, temporarily, the wireless link of the node device N 106 and N 107 Suppose that communication is lost.
  • step S829 the node device N 102 associated with the weight 0.4 is selected as the LD.
  • the transmission of the data frame is successful in step S819, the ACK frame from the node device N 102 is returned.
  • the weight of the node device N 102 in step S827 is updated from 0.4 to 0.3, the data frame reception process ends.
  • the first data frame transmitted from the node device N 106 to the node device N 102 reaches the node device N 118 without backtracking to the node device N 106 . That is, in the weighting table 104-g 106 -N 106 , it is assumed that there is no entry whose weight is updated to 1 with the transfer of the first data frame.
  • the weighting table 104-g 106 -N When the node device N 106 receives a second data frame from the node device N 103 at this time T rcv2 , which similarly designates the node device N 118 as GD, the weighting table 104-g 106 -N.
  • the contents of 106 are as follows. That is, node device N 102 has weight 0.3, node device N 103 has weight 0.7, node device N 107 has weight 0.2, node device N 108 has weight 0.5, Each is associated.
  • step S817 the node device N 107 still associated with the minimum weight is selected as the LD even though the transfer of the first data frame has failed. If the communication quality of the radio link between the node devices N 106 and N 107 is improved at time T rcv2 and the transmission of the second data frame in step S819 is successful, the node device N in step S827. The weight of 107 returns to 0.1 again.
  • the weight of the node device N 107 remains 0.1. Therefore, when the node device N 106 receives a third data frame that similarly designates the node device N 118 as GD from the adjacent node device other than the node device N 107 at the subsequent time T rcv3 , the highest priority is given to the LD. The node device N 107 is still selected.
  • the weighting table 104 does not react excessively to changes in the communication environment. Therefore, while the node device N 106 receives a plurality of data frames designating the same node device as the GD one after another, if the link in which the failure has occurred temporarily recovers from the failure, the environment will be improved. Thus, the past learning result is again utilized for the selection of the LD. In other words, in the above example, the node device N 107 that has been learned in the past when it is appropriate as the LD is again preferentially selected as the LD.
  • the radio link between the node devices N 106 and N 107 has not recovered from the failure at the time T rcv2 .
  • the node device N 107 having a weight of 0.2 is selected as the LD at the time of transmitting the second data frame.
  • the weight of the node device N 107 is 0.3.
  • the node device N 102 associated with the weight 0.3 may be selected as the LD, the transmission may be successful, and the weight may be updated to 0 and 2.
  • the node device N 106 may receive the third data frame from the node device N 103 , the node device N 102 associated with the weight 0.2 is selected as the LD, and transmission is performed. Successful, node device N 102 may have a weight of 0.1. Then, for a while, the node device N 106 may continue to select the node device N 102 as the LD of the data frame designating the node device N 118 as GD.
  • step S829 the LD is reselected.
  • the node device N 107 that has been learned to be suitable as the LD before the time T rcv1 is associated with the weights 0.5 and 0.7 and is relatively unsuitable as the LD. than 108 and N 103, are preferentially selected as LD.
  • the reason is that learning of the weights at the time of transmission of the first and second data frames changes the weights gently as shown in step S828, and the weight of the node device N 107 is still the node device N 108. This is because less than the weight of the or N 103.
  • the weight is again reduced to 0.2 for the node device N 107 .
  • the temporary environment change is not reflected excessively in the weighting table 104, so that past learning results are gradually reflected. Therefore, the probability that an appropriate LD is selected increases.
  • the weight is slightly adjusted in step S828 so as not to be excessively affected by the temporary failure.
  • the procedure shown in FIG. 32 may be replaced with the procedure shown in FIG.
  • the procedure shown in FIG. 33 is realized by replacing steps S822 and S824 shown in FIG. 32 with steps S822a and S824a, respectively.
  • the data frame processing unit 110 records the current time in the last update time field in step S824a. Further, the data frame processing unit 110 does not update the final time field in step S822a.
  • the “last update time” represents the time when the data frame is first transmitted to the adjacent node device. That is, in this case, the “last update time” corresponds to the entry time shown in FIG. Then, the data frame processing unit 110 can use the last update time in determining whether to transmit a normal data frame or an empty data frame in the backtrack operation.
  • the amount of memory consumed to realize the FID management table 105 is reduced.
  • the timing at which each entry in the FID management table 105 is deleted by aging may be earlier than when the procedure shown in FIG. 32 is executed.
  • step S818 If it is determined in step S818 that one of the two conditions (F1) and (F2) is satisfied, there is no longer an adjacent node device that can be selected as an LD, and the process proceeds to step S830 in FIG. That is, the backtrack operation is executed.
  • the data frame processing unit 110 searches the FID management table 105 using the FID and GS values of the received data frame as search keys. Then, the data frame processing unit 110 determines whether or not the corresponding entry is hit as a result of the search. If the corresponding entry is hit, the process proceeds to step S832, and if the corresponding entry is not hit, the process proceeds to step S849.
  • the entry retrieved from the FID management table 105 in step S830 may be referred to as a “target entry”.
  • step S807 If it is determined in step S807 that “an entry has been hit”, the entry found by the search in step S830 is the entry found by the search in step S806. If it is determined in step S807 that “the entry does not hit” and a new entry is created in step S823, the new entry created in step S823 is found by the search in step S830.
  • step S831 “entry does not hit” is determined in the cases (I1) and (I2), in other words, in the cases (J1) and (J2).
  • step S807 it is determined that “entry does not hit”.
  • step S818 Immediately after step S818 is executed for the first time, the process proceeds to step S830.
  • step S832 the data frame processing unit 110 initializes variables related to the backtrack operation. Specifically, in the FID management table 105, the number of empty data transmissions and the number of normal data transmissions of the entry specified by the FID / GD pair of the received frame are initialized to “zero”.
  • the data frame processing unit 110 checks whether the empty data transmission count of the target entry is within a predetermined upper limit count.
  • the upper limit number of empty data transmission times is not particularly limited, but is “3”, for example. If the number of empty data transmissions is within the upper limit, the process proceeds to step S835. On the other hand, if the number of empty data transmissions exceeds the upper limit number, the process proceeds to step S840.
  • step S835 the data frame processing unit 110 extracts the entry time TE from the corresponding entry in the FID management table 105.
  • the entry time TE represents the time recorded in S824. That is, in this embodiment, the entry time TE represents the time when the node device first transferred the data frame received from the adjacent node device to another adjacent node device.
  • the data frame processing unit 110 determines whether the data frame received in step S201 is held in the OLS node apparatus. Specifically, “T-TE” and the holding time G of the buffer unit 109 are compared. “T” is the current time. TE is the entry time described above. That is, “T-TE” represents the elapsed time from the entry time to the current time. G represents a period during which a data frame is held in the buffer unit 109 in each node device, and is common to each node device.
  • step S838 When “T-TE” is shorter than the storage time G, it is determined that the data frame received in step S201 is held in the OLS node apparatus. In this case, the process proceeds to step S838. On the other hand, when “T-TE” is equal to or longer than the storage time G, it is determined that the data frame received in step S201 is not held in the OLS node apparatus. In this case, the process proceeds to step S840.
  • step S8308 the data frame processing unit 110 creates an empty data frame to be transmitted to the OLS node device and stores it in the transmission queue 114.
  • the OLS recorded in the target entry of the FID management table 105 is set in the LD of this empty data frame. Further, only the data header of the data frame received in step S201 is stored in the payload of this empty data frame. Further, the data frame processing unit 110 writes the current time at the last update time of the target entry in the FID management table 105.
  • step S839 the data frame processing unit 110 increments the number of empty data transmissions of the target entry in the FID management table 105. In this way, the data frame processing unit 110 creates an empty data frame and generates a transmission queue when the number of empty data transmissions is less than or equal to the upper limit number and the elapsed time from the entry time TE is shorter than the holding time G. Save to 114.
  • step S840 the data frame processing unit 110 creates a normal data frame to be transmitted to the OLS node apparatus and stores it in the transmission queue 114.
  • the OLS recorded in the target entry of the FID management table 105 is set in the LD of the normal data frame.
  • the payload of this normal data frame is the same as the payload of the data frame received in step S201. Further, the data frame processing unit 110 writes the current time at the last update time of the target entry in the FID management table 105.
  • step S841 the data frame processing unit 110 increments the normal data transmission count of the target entry in the FID management table 105.
  • the data frame processing unit 110 creates a normal data frame when the number of empty data transmission times exceeds the upper limit number, or when the elapsed time from the entry time TE is equal to or longer than the holding time G. Save in the transmission queue 114.
  • frames waiting for transmission are stored in the transmission queue 114.
  • the data frame processing unit 110 executes the empty data frame aggregation processing shown in FIGS. 21 to 22, for example, periodically, independently of the data frame reception processing in step S205. Therefore, an aggregated empty data frame may be stored in the transmission queue 114.
  • the frames stored in the transmission queue 114 are periodically read out by the transmission unit 102 and transmitted.
  • the transmission unit 102 may transmit a frame stored in the transmission queue 114 according to another trigger.
  • the transmission unit 102 cannot access the transmission queue 114 during the period during which the empty data frame aggregation processing shown in FIGS.
  • the transmission unit 102 transmits the frame stored in the transmission queue 114 to the LD set in the ad hoc header of the frame.
  • the adjacent node device receives this frame, it returns an ACK frame.
  • the data frame processing unit 110 confirms the success or failure of frame transmission by the transmission unit 102 in steps S842 to S843. That is, the data frame processing unit 110 checks whether or not an ACK frame corresponding to the empty data frame created in step S838 or the normal data frame created in step S840 is received from the OLS node apparatus within a predetermined time.
  • the “predetermined time” is sufficiently shorter than the holding time G of the buffer unit 109.
  • the data frame processing unit 110 determines that the frame transmission is successful. In this case, the process proceeds to step S844. On the other hand, when the data frame processing unit 110 fails to receive the ACK frame within a predetermined time, the data frame processing unit 110 determines that the frame transmission has failed. In this case, the process proceeds to step S846.
  • step S844 the data frame processing unit 110 reduces the weight corresponding to the pair of GD and LD values of the empty data frame created in step S838 or the normal data frame created in step S840 in the weighting table 104.
  • the data frame processing unit 110 updates the weight corresponding to the LD of the transmitted data frame (that is, the OLS stored in step S808 or S810) in the weighting table 104-i corresponding to the GD of the received data frame. To do.
  • step S844 The details of step S844 are the same as step S827, and detailed description thereof is omitted.
  • the data frame processing unit 110 may update the weight using, for example, equation (6). Further, the data frame processing unit 110 sets the current time as the last update time in the entry in which the weight is updated in the weighting table 104-i. Then, the data frame reception process ends.
  • step S843 the processing in steps S846 and S847 is executed. That is, the data frame processing unit 110 checks whether the number of normal data transmissions of the target entry in the FID management table 105 is equal to or greater than a predetermined upper limit number.
  • the upper limit number of times of normal data transmission is not particularly limited, but is “3”, for example.
  • the data frame processing unit 110 deletes the data frame received in step S201 from the buffer unit 109 in step S848. In this case, the backtrack operation ends.
  • step S833 If the normal data transmission count of the target entry has not reached the upper limit count, the process returns to step S833. That is, if transmission of the frame created in step S838 or S840 fails, the processes in and after step S833 are executed again.
  • the node device transmits an empty data frame to the OLS node device in the backtrack operation until the elapsed time from the entry time TE reaches the holding time G of the buffer unit 109. At this time, the transmission of the empty data frame is repeatedly executed until the upper limit number is reached. However, when it is detected that the empty data frame is received by the OLS node apparatus, the backtracking operation ends.
  • the node device performs the backtrack operation after the elapsed time from the entry time TE exceeds the holding time G of the buffer unit 109 or after the number of empty data frame transmissions reaches the upper limit number.
  • the normal data frame is transmitted to the OLS node device. At this time, transmission of the normal data frame is repeatedly executed until the upper limit number is reached. However, when it is detected that the normal data frame is received by the OLS node apparatus, the backtrack operation is finished.
  • step S831 When there is no target entry in the FID management table 105 (step S831: No), the data frame processing unit 110 determines in step S849 that there is no OLS. That is, it is determined that the communication path forms a loop. In step S850, the data frame processing unit 110 deletes the data frame received in step S201 from the buffer unit 109. In this case, the backtrack operation ends.
  • weighting table adjustment processing in step S812a of FIG. 31 will be described.
  • the weighting table adjustment process in FIG. 36 is also called in step S1108a in FIG.
  • “hit weighting table 104-i” means a table hit in the search in step S811 in FIG. 31 or the search in step S1107 in FIG.
  • step S861 the data frame processing unit 110 pays attention to the first entry of the adjacent node management table 103 (see FIG. 9).
  • the entry in the adjacent node management table 103 focused on by the data frame processing unit 110 is referred to as a “target entry”.
  • step S862 the data frame processing unit 110 determines whether there is an entry including the value of the node ID of the entry of interest as LD in the hit weighting table 104-i. If there is an entry including the value of the node ID of the entry of interest as LD in the hit weighting table 104-i, the process proceeds to step S865. On the other hand, if there is no entry in the hit weighting table 104-i that includes the value of the node ID of the entry of interest as LD, the process proceeds to step S863.
  • step S863 the data frame processing unit 110 adds a new entry to the hit weighting table 104-i. Subsequently, in step S864, the data frame processing unit 110 sets a value for the new entry added to the weighting table 104-i in step S863. That is, in the new entry, the data frame processing unit 110 sets the node ID value of the entry of interest in the adjacent node management table 103 as the LD field, the initial weight value as the weight field, and the current time as the last update time field. To do.
  • the initial weight value in step S864 is different from the initial weight value in step S308 in FIG. Specifically, the initial weight value in step S864 is the maximum value of weights less than 1 in the weight field of the hit weight table 104-i.
  • the initial value in step S864 is set.
  • the weighting value is 0.7.
  • the initial weighting value in step S864 is an arbitrary value less than 1, for example, in step S308 of FIG. 0.5 may be used similarly to the initial weighting value.
  • step S864 the learning result reflected in the existing entries in the weighting table 104-i is preferentially considered. As a result, the route does not fluctuate more than necessary, in other words, the route becomes stable.
  • the initial weighting value in step S864 is 0. 0 as in step S308 in FIG.
  • an adjacent node device in which no weight has been learned that is, an adjacent node device in which the node ID is recorded as an LD in the new entry added in step S863 is greater than an adjacent node device having a weight of 0.7.
  • the LD is preferentially selected. That is, the weight 0.7 as the accumulated learning so far is ignored.
  • the first embodiment it is possible to prevent an adjacent node device in which no weight has been learned from being selected as an LD preferentially over an adjacent node device in which a weight has already been learned, and prioritize learning results thus far.
  • the initial weight values defined above are used.
  • step S865 the data frame processing unit 110 determines whether there are any entries that have not yet been noted in the adjacent node management table 103. If the data frame processing unit 110 has finished paying attention to all entries in the adjacent node management table 103, the processing in FIG. On the other hand, if an entry not yet noticed by the data frame processing unit 110 remains in the adjacent node management table 103, the process proceeds to step S866.
  • step S866 the data frame processing unit 110 pays attention to the next entry among the entries not yet noticed in the adjacent node management table 103. Then, the process returns to step S862.
  • the significance of the processing of FIG. 36 is as follows. As a side effect of the aging process for each entry in the weighting table 104-i, there is a possibility of the following situation immediately before the process of FIG. That is, there is a possibility that an entry having the node ID of an adjacent node device registered in the adjacent node management table 103 as LD does not exist in the weighting table 104-i.
  • the adjacent node device of the node device 100 is a potential candidate for the LD selected by the data frame processing unit 110 when transmitting the data frame. Therefore, it is desirable for proper operation of the node device 100 to cover all adjacent node devices in the LD field of the hit weighting table 104-i.
  • step S205 of FIG. 24 has been described in detail above with reference to FIGS. Next, processing related to notification of success or failure of transmission in steps S826 and S843 of the data frame reception processing will be described with reference to FIGS.
  • FIG. 37 is a flowchart of the ACK frame reception process in step S206 of FIG. The processing in FIG. 37 is started when an ACK frame is output from the frame branching processing unit 106 to the ACK processing unit 107.
  • step S901 the ACK processing unit 107 determines whether the LD value of the ACK frame received from the frame branching processing unit 106 is equal to the own node ID. If the LD value of the ACK frame is equal to the own node ID, the process proceeds to step S902. If the LD value of the ACK frame is different from the own node ID, the process of FIG.
  • the ACK processing unit 107 can also refer to its own node ID stored in advance in the flash memory 205, for example.
  • the irrelevant node device N 3 when the node device N 5 transmits an ACK frame for the data frame transmitted by the node device N 4 in step S105 of FIG. 6 as shown in FIG. 42 as step S105a, the irrelevant node device N 3 also receives the ACK frame. To do. This is because the node device N 3 is adjacent to the node device N 5 .
  • the node device N 3 since the ACK processing unit 107-N 3 of the node device N 3 immediately ends the process of FIG. 37 as a result of the determination in step S901, the node device N 3 has a side effect due to the ACK frame unrelated to the node device N 3. Not receive.
  • the ACK processing unit 107 specifies a transmitted data frame corresponding to the ACK frame from the GS and FID values of the ACK frame. For example, in response to the data frame 303 in FIG. 7 transmitted from the node device N 2 to the node device N 3 in step S102 in FIG. 6, the node device N 3 returns the ACK frame 322 in FIG. 7 to the node device N 2 .
  • the ACK processor 107-N 2 of the node device N 2 receives the response to the ACK frame 322 will be described in detail for the case of performing the process in FIG. 37, as follows.
  • step S902 the ACK processing unit 107-N 2 extracts GS and FID values (that is, N 1 and F a ) of the ACK frame 322. Further, since the buffer unit 109-N 2 has the same format as that in FIG. 8, the buffer unit 109-N 2 stores the data frame 303 that has been transmitted from the node device N 2 . Therefore, the ACK processing unit 107-N 2 searches the entry of the buffer unit 109-N 2 using the extracted GS and FID values (ie, N 1 and F a ) as keys, and identifies the entry including the data frame 303. To do.
  • step S903 the ACK processing unit 107 notifies the data frame processing unit 110 of “successful transmission” regarding the transmitted data frame specified in step S902. Then, the process of FIG. 37 ends.
  • the data frame processing unit 110 may be realized by the MPU 201 in FIG. 4 executing a program.
  • the thread that causes the MPU 201 to function as the data frame processing unit 110 may sleep until the ACK frame is received after the data frame is transmitted.
  • the notification of “successful transmission” in step S903 is a process for waking up a sleeping thread.
  • the notification in step S903 is accompanied by notification of the GS and FID values of the data frame specified in step S902.
  • the ACK processing unit 107-N 2 also notifies the data frame processing unit 110 of the GS and FID values (ie, N 1 and F a ) for identifying the data frame 303.
  • the data frame specified in step S902 is set in a state where it can be deleted from the buffer unit 109.
  • the data frame is not in a state that can be immediately deleted when the corresponding ACK frame is received, but in a state in which the data frame can be deleted after the corresponding entry in the FID management table 105 is deleted. Is done. “Deletable” means a state in which overwriting with other data is allowed.
  • FIG. 38 is a flowchart showing processing when an ACK frame is not received before the timeout time.
  • the processing in FIG. 38 is periodically performed, for example, triggered by an interrupt signal generated by the timer IC 203 in FIG. 4 at a predetermined interval.
  • step S1001 the ACK processing unit 107 pays attention to the first entry of the buffer unit 109 (see FIG. 8).
  • the entry in the buffer unit 109 that is being watched by the ACK processing unit 107 is referred to as a “target entry”.
  • step S1002 the ACK processing unit 107 compares the current time with the value of the timeout time field of the entry of interest. If the current time is after the timeout time, the process proceeds to step S1003. On the other hand, if the current time has not yet reached the timeout time, the process proceeds to step S1005.
  • step S1003 the ACK processing unit 107 notifies the data frame processing unit 110 of “transmission failure” regarding the data frame stored in the entry of interest in the buffer unit 109.
  • the notification in step S1003 may be, for example, a process for waking up a sleeping thread, for example, similarly to the notification in step S903 in FIG.
  • the notification in step S1003 is also accompanied by notification of the GS and FID values of the data frame.
  • the ACK processing unit 107 reads the GS and FID values of the data frame stored in the entry of interest, identifies the data frame based on the read GS and FID values, and identifies “ “Transmission failure” is notified to the data frame processing unit 110.
  • the data frame processing unit 110 may select an adjacent node device that has not been tried as an LD as a new LD and try to retransmit the data frame. Accordingly, the entry of interest is not deleted from the buffer unit 109 at the time of step S1003.
  • step S1004 the ACK processing unit 107 sets the time T timeout of Expression (5) as the timeout time of the entry of interest. Then, the process proceeds to step S1005.
  • step S1005 the ACK processing unit 107 determines whether or not an entry that has not been noticed still remains in the buffer unit 109. If the ACK processing unit 107 finishes paying attention to all entries in the buffer unit 109, the processing in FIG. On the other hand, if an entry not yet noticed by the ACK processing unit 107 remains in the buffer unit 109, the process proceeds to step S1006.
  • step S1006 the ACK processing unit 107 pays attention to the next entry in the buffer unit 109 that has not been noticed yet. Then, the process returns to step S1002.
  • the data frame reception processing described with reference to FIGS. 30 to 35 is an example in the case where the node device 100 is a node device of a type that does not become a GS as described above.
  • processing unique to a type of node device that can be a GS will be described.
  • FIG. 39 and FIG. 40 are flowcharts of the transmission process when the node device 100 becomes a GS and transmits a data frame.
  • the processing in FIG. 39 is started when a request from the upper layer processing unit 111 to the data frame processing unit 110 is triggered.
  • step S1101 the data frame processing unit 110 acquires the GD value and payload of the data frame from the upper layer processing unit 111 as a result of the upper layer protocol processing in the upper layer processing unit 111.
  • the “upper layer protocol” may be an Ethernet protocol.
  • the upper layer processing unit 111 outputs an Ethernet frame to the data frame processing unit 110 as a payload of the data frame defined in the first embodiment. Further, the upper layer processing unit 111 notifies the data frame processing unit 110 of the value set in the GD of the data frame in the first embodiment.
  • the data frame processing unit 110 creates a new data frame including the payload acquired from the upper layer processing unit 111, and sets the value acquired from the upper layer processing unit 111 in the GD of the generated data frame.
  • the data frame processing unit 110-N 1 node device N 1 from the upper layer processing section 111-N 1 to N 7 was obtained as the value of GD, and N 7 to the GD of the data frame Set.
  • step S1102 the data frame processing unit 110 obtains the length of the payload acquired in step S1101, and sets it in the length field of the created data frame.
  • the data frame processing unit 110-N 1 node device N 1 since the length of the payload is P a, the data frame processing unit 110-N 1 node device N 1 was prepared It is set to P a length field of the data frame.
  • step S1103 the data frame processing unit 110 sets its own node ID in the GS and LS of the created data frame.
  • the data frame processing unit 110-N 1 of the node device N 1 sets N 1 to GS and LS of the created data frame.
  • step S1104 the data frame processing unit 110 requests the FID generation unit 113 to generate a new FID. Then, since the FID generation unit 113 generates a new FID and outputs it to the data frame processing unit 110, the data frame processing unit 110 sets the generated FID in the FID field of the created data frame.
  • step S1105 the data frame processing unit 110 sets a predetermined value D (see FIG. 7) indicating “data frame” in the type field of the created data frame. Note that the execution order of the above steps S1102 to S1105 is in no particular order.
  • the data frame processing unit 110 stores the created data frame in the buffer unit 109 in step S1106. In other words, the data frame processing unit 110 secures a new entry area in the buffer unit 109 and stores the created data frame in the secured area. As shown in FIG. 8, the buffer unit 109 has a timeout time field, but at this time, the timeout time is not set.
  • step S1107 the data frame processing unit 110 searches the weighting table 104 using the value of GD designated by the upper layer processing unit 111 in step S1101.
  • step S1108 the data frame processing unit 110 determines whether the weighting table corresponding to the designated GD value has been hit as a result of the search in step S1107. If the weighting table corresponding to the designated GD value hits, the process proceeds to step S1108a. If the weighting table corresponding to the designated GD value does not exist, the process proceeds to step S1009.
  • step S1108a the data frame processing unit 110 performs the weighting table adjustment process of FIG. 36 to neutralize the side effects of the aging process. Then, the process proceeds to step S1110.
  • step S1109 the data frame processing unit 110 adds a new weighting table corresponding to the GD value designated in step S1101 to the weighting table 104. Specifically, in step S1109, the data frame processing unit 110 performs processing similar to steps S813 to S816 in FIG.
  • step S1109 the data frame processing unit 110 adds a new weighting table corresponding to the GD value designated by the upper layer processing unit 111, and the GD of the GD designated by the upper layer processing unit 111 in the new weighting table. Set the value as GD. Further, the data frame processing unit 110 creates the same number of new entries as the adjacent node management table 103 in the new weighting table. Then, the data frame processing unit 110 sets the node ID, the initial weight value, and the current time of each entry in the adjacent node management table 103 for each created entry.
  • the weighting table corresponding to the value of GD designated in step S1101 is referred to by the reference numeral “104-i”. That is, the weighting table 104-i is a table that has been hit by the search in step S1107 or a table that has been added in step S1109.
  • step S1108 After it is determined in step S1108 that the weighting table 104-i is hit or after the weighting table 104-i is created in step S1109, the process proceeds to step S1110.
  • step S 1110 the data frame processing unit 110 acquires the LD value associated with the minimum weight in the weighting table 104-i corresponding to the GD value designated by the upper layer processing unit 111. As illustrated in FIG. 11, a plurality of entries in the weighting table 104-i may have the same minimum weight. In that case, the data frame processing unit 110 selects and acquires any one of a plurality of LD values associated with the minimum weight in step S1110. The data frame processing unit 110 stores the acquired LD value and the corresponding weight value in a storage area such as the DRAM 204 of FIG.
  • step S1111 the data frame processing unit 110 determines whether one of the following two conditions (K1) and (K2) is satisfied.
  • the weight corresponding to the LD value acquired in step S1110 is the maximum weight value (specifically, 1.0 in the first embodiment).
  • step S1112 If the condition (K1) or (K2) is satisfied, there is no longer any adjacent node device that can be selected as an LD, and the process moves to step S1112. On the other hand, if neither of the conditions (K1) and (K2) is satisfied, there are still adjacent node devices that can be selected as the LD. In other words, there is at least one adjacent node device that does not correspond to any of (G1) to (G3) described for step S818 of the data frame reception process. Then, the node ID of the adjacent node device that can be selected as the LD is acquired in step S1110 (or step S1125 described later). Therefore, if it is determined in step S1111 that neither condition (K1) nor (K2) is satisfied, the process proceeds to step S1114.
  • the data frame processing unit 110 discards the data frame in step S1112. That is, the data frame processing unit 110 deletes the entry newly created in step S1106 and storing the data frame from the buffer unit 109.
  • step S1113 the data frame processing unit 110 notifies the upper layer processing unit 111 of “transmission failure”. That is, the data frame processing unit 110 notifies the upper layer processing unit 111 that the data frame has not been successfully transmitted to any adjacent node device. Then, the processes in FIGS. 39 to 40 are completed.
  • step S1111 determines whether neither of the conditions (K1) and (K2) is satisfied. If it is determined in step S1111 that neither of the conditions (K1) and (K2) is satisfied, the process of attempting to transfer the data frame to the adjacent node device identified by the acquired LD value is performed in step S1111. This is performed in S1114 to S1125.
  • step S1114 the data frame processing unit 110 sets the LD value acquired in step S1110 or step S1125 described later to the LD of the data frame stored in the buffer unit 109 in step S1106. Then, the data frame processing unit 110 requests the transmission unit 102 to transmit a data frame in which the LD value is set. Then, the transmission part 102 transmits a data frame.
  • step S1115 the data frame processing unit 110 sets the time T timeout of Expression (5) as the timeout time of the entry in the buffer unit 109 that stores the data frame in step S1106.
  • step S1116 the data frame processing unit 110 searches the FID management table 105 using the own node ID and the FID generated by the FID generation unit 113 in step S1104.
  • step S1117 the data frame processing unit 110 determines whether an entry has been hit in the search of the FID management table 105 in step S1116.
  • step S1117 is executed for the first time, it is determined that “the entry has not been hit”, and when step S1117 is executed for the second time or later, it is determined that “the entry has been hit”.
  • step S1116 If the entry is hit in the search in step S1116, the process proceeds to step S1118. On the other hand, if the entry is not hit in the search of step S1116, the process proceeds to step S1119.
  • step S1118 the data frame processing unit 110 updates the entry hit in the search in step S1116. Specifically, the data frame processing unit 110 sets the LD value of the data frame transmitted in step S1114 in the LD field in the entry hit in the search in step S1116, and sets the current value in the last update time field. Set the time. Then, the process proceeds to step S1121.
  • step S 1119 the data frame processing unit 110 adds a new entry to the FID management table 105.
  • step S1120 the data frame processing unit 110 sets a value for the new entry. Specifically, in the new entry, the data frame processing unit 110 copies the value of the data frame transmitted in step S1114 to each field of FID, GS, and LD. In addition, in the new entry, the data frame processing unit 110 sets the current time in the last update time field, and copies its own node ID in the OLS field.
  • the node FID management table 105-N 1 entry E1 devices N 1 is for the data frame processing unit 110-N 1 node device N 1 created by the above processing.
  • step S1121 the data frame processing unit 110 waits for notification of the success or failure of transmission in step S1114. Details of step S1121 are the same as step S825 of FIG.
  • step S1121 the data frame processing unit 110 receives a notification of “transmission success” or “transmission failure” from the ACK processing unit 107 after waiting in step S1121, the process proceeds to step S1122.
  • step S1122 the data frame processing unit 110 determines whether or not the transmission in step S1114 is successful based on the notification received from the ACK processing unit 107. If the transmission is successful, the process proceeds to step S1123. If the transmission fails, the process proceeds to step S1124.
  • step S1123 the data frame processing unit 110 decreases the weight corresponding to the combination of GD and LD of the data frame transmitted in step S1114 in the weighting table 104.
  • the data frame processing unit 110 uses the weight corresponding to the LD of the transmitted data frame in the weighting table 104-i corresponding to the value of GD designated from the higher layer processing unit 111, for example, using Equation (6). Update. Further, the data frame processing unit 110 sets the current time as the last update time in the entry whose weight is updated in the weighting table 104-i. Then, the processes in FIGS. 39 to 40 are finished.
  • step S1124 the data frame processing unit 110 increases the weight corresponding to the combination of GD and LD of the data frame transmitted in step S1114 in the weighting table 104.
  • the data frame processing unit 110 uses the weight corresponding to the LD of the transmitted data frame in the weighting table 104-i corresponding to the GD value designated by the upper layer processing unit 111, for example, using Equation (7). Update.
  • step S 1124 the data frame processing unit 110 further stores the LD value of the transmitted data frame as “LD failed in transmission” in a work area such as the DRAM 204 in FIG. Similarly to step S828 in FIG. 32, a data structure such as a linear list or an array may be used for storing “LD failed to transmit”.
  • step S1124 the data frame processing unit 110 further sets the current time as the last update time in the entry whose weight is updated in the weighting table 104-i. Then, the process proceeds to step S1125.
  • step S1125 the data frame processing unit 110 searches for other selectable adjacent node devices that have not been tried as LDs so far. Specifically, the data frame processing unit 110 uses the minimum weight among the LDs other than the LD that failed to transmit in the weighting table 104-i corresponding to the GD value designated by the higher layer processing unit 111. The associated LD value is acquired.
  • the LDs that failed to be transmitted are stored in a work area such as the DRAM 204 of FIG. 4 in step S1124, for example, in the form of a linear list or an array.
  • the data frame processing unit 110 acquires, in the weighting table 104-i, an LD value that has not been acquired in step S1110 or S1125 in the past and that is associated with the minimum weight.
  • the data frame processing unit 110 stores the acquired LD value and the corresponding weight value in a storage area such as the DRAM 204 of FIG. Then, the process returns to step S1111.
  • FIG. 41 is a flowchart of a process performed by the node device 100 that can be a GS instead of the processes of FIGS. 34 to 35 as part of the data frame reception process.
  • steps S801 to S829 in the data frame reception process are the same as those in the case where the node device 100 does not become a GS, as shown in FIGS. 30 to 32. is there.
  • the node device 100 is a node device that can also be a GS
  • the data frame processing unit 110 determines that “one of the conditions (F1) and (F2) is satisfied” in step S818 in FIG. Shifts to step S871 of FIG.
  • step S871 the data frame processing unit 110 determines whether or not the GS value of the received data frame is its own node ID. If the GS value of the received data frame matches the own node ID, the process proceeds to step S872. On the other hand, if the GS value of the received data frame is different from the own node ID, the process proceeds to step S874. Note that step S874 is a backtrack operation by the frame transmission method of the embodiment, and is basically the same as steps S830 to S850 shown in FIGS. Therefore, the process of step S874 is omitted.
  • the data frame processing unit 110 notifies the upper layer processing unit 111 of “transmission failure”.
  • the data frame processing unit 110 may extract a payload from the received data frame, for example, and output the payload or a part of the payload to the upper layer processing unit 111. Then, the upper layer processing unit 111 can recognize which data has failed to be transmitted based on the content of the payload received from the data frame processing unit 110.
  • step S873 the data frame processing unit 110 discards the received data frame. That is, the data frame processing unit 110 deletes the entry found in step S801 from the buffer unit 109. Note that step S873 is executed in the following (L1) or (L2).
  • (L1-1) Corresponds to the weight of the maximum value.
  • (L1-2) If a data frame is transmitted by designating as LD, transmission fails.
  • (L2) The GS of the received data frame is a node device other than the node device 100, and all adjacent node devices other than the OLS are (L2-1) or (L2-2), and Transmission of the data frame to the OLS failed.
  • (L2-1) Corresponds to the maximum value weight.
  • (L2-2) When a data frame is transmitted by designating as LD, transmission fails.
  • FIG. 42 is a timing chart showing the recognition of adjacent nodes by the transmission / reception of a hello frame and the route selection of FIG.
  • each of the node devices N 1 to N 7 independently performs the hello frame transmission process of FIG. Which node is device is arbitrary to send a hello frame to the above, in the example of FIG. 42, first, the node device N 2 executes the step S403 of FIG. 26 in step S1201, transmits a hello frame. Then, the hello frame is received by the node devices N 1 , N 3 , and N 6 adjacent to the node device N 2 , respectively. Then, each of the node devices N 1 , N 3 , and N 6 calls and executes the hello frame reception process of FIG. 25 in step S203 of FIG. 24, and recognizes the node device N 2 as an adjacent node device.
  • the node device N 4 executes the step S403 in FIG. 26, and transmits the hello frame. Then, the hello frame is received by the node devices N 3 , N 5 , and N 7 adjacent to the node device N 4 , respectively. Then, each of the node devices N 3 , N 5 , and N 7 calls and executes the hello frame reception process of FIG. 25 in step S203 of FIG. 24, and recognizes the node device N 4 as an adjacent node device.
  • step S1203 the node device N 3 executes step S403 in FIG. 26, and transmits a hello frame 312 of FIG. Then, the hello frame 312 are respectively received by the node device N 2, N 4, and N 5 adjacent to the node device N 3. Then, each of the node devices N 2 , N 4 , and N 5 calls and executes the hello frame reception process of FIG. 25 in step S203 of FIG. 24, and recognizes the node device N 3 as an adjacent node device.
  • step S1204 the node device N 7 executes the step S403 in FIG. 26, and transmits the hello frame.
  • the link between the node device N 4 and N 7 is that a fault has not occurred yet. Therefore, the hello frame is received by the node devices N 4 and N 6 adjacent to the node device N 7 , respectively.
  • each of the node devices N 4 and N 6 calls and executes the hello frame reception process of FIG. 25 in step S203 of FIG. 24, and recognizes the node device N 7 as an adjacent node device.
  • step S1205 the node device N 1 executes the step S403 in FIG. 26, and transmits the hello frame. Then, the hello frame is received by the node device N 2 adjacent to the node device N 1 . Then, the node device N 2 executes call the hello frame reception process in FIG. 25 in step S203 of FIG. 24, it recognizes the node device N 1 as an adjacent node device.
  • step S1206 the node device N 6 executes the step S403 in FIG. 26, and transmits the hello frame. Then, the hello frame is received by the node devices N 2 and N 7 adjacent to the node device N 6 , respectively. Then, the node devices N 2 and N 7 call and execute the hello frame reception process of FIG. 25 in step S203 of FIG. 24, respectively, and recognize the node device N 6 as an adjacent node device.
  • step S1207 the node device N 5 executes the step S403 in FIG. 26, and transmits the hello frame. Then, the hello frame is received by the node devices N 3 and N 4 adjacent to the node device N 5 , respectively. Then, the node devices N 3 and N 4 call and execute the hello frame reception process of FIG. 25 in step S203 of FIG. 24, respectively, and recognize the node device N 5 as an adjacent node device.
  • the node devices N 1 to N 7 in the network 1 shown in FIGS. 1 and 6 recognize the adjacent node devices, respectively, and store the adjacent node management tables 103-N 1 to 103-N 7 respectively . Update. Further, as shown in FIG. 25, the node devices N 1 to N 7 may update the weighting tables 104-N 1 to 104-N 7 ) in response to the reception of the hello frame.
  • the node device N 1 in step S101 the data frame specifying a node device N 7 as GD, and transmits the specified node device N 2 as LD.
  • the node device N 1 in step S101 performs the frame transmission processing shown in FIGS. 39 to 40.
  • the node device N 2 that has received the data frame calls and executes the processes of FIGS. 30 to 35 from step S 205 of FIG.
  • the node device N 2 at step S803 of FIG. 30 transmits the ACK frame, is represented as step S101a in FIG. 42.
  • the node device N 1 is waiting to receive an ACK frame at step S1121 in FIG. 40.
  • the node device N 1 calls and executes the processing of FIG. 37 from step S206 of FIG. 24.
  • the standby of step S1121 ends, and steps S1122 and S1123 To finish the process of FIG.
  • the transmission in step S819 corresponds to step S102 in FIG.
  • FIG. 7 illustrates the data frame 303 transmitted in step S102.
  • the node device N 3 that has received the data frame calls and executes the processes of FIGS. 30 to 35 from step S 205 of FIG.
  • the node device N 3 in step S803 in FIG. 30 transmits the ACK frame, is represented as step S102a in FIG. 42.
  • FIG. 7 illustrates the ACK frame 322 transmitted in step S102a.
  • the node device N 2 is waiting to receive an ACK frame at step S825 in FIG. 32.
  • the node device N 2 calls and executes the processing in FIG. 37 from step S206 in FIG. 24.
  • the node device N 2 finishes waiting in step S825, and steps S826 and S827. To finish the process of FIG.
  • the transmission in step S819 corresponds to step S103 in FIG.
  • FIG. 7 illustrates the data frame 304 transmitted in step S103.
  • the node device N 4 that has received the data frame calls and executes the processes of FIGS. 30 to 35 from step S 205 of FIG.
  • the node device N 4 in step S803 of FIG. 30 transmits the ACK frame, is represented as step S103a in FIG. 42.
  • the node device N 3 is waiting to receive an ACK frame at step S825 in FIG. 32.
  • the node device N 3 calls and executes the processing in FIG. 37 from step S206 in FIG. 24.
  • the node device N 3 finishes waiting in step S825, and steps S826 and S827. To finish the process of FIG.
  • step S103a the node device N 4 that has transmitted the ACK frame in step S803 in FIG. 30 continues the processing from step S804, and specifies the node device N 7 as the LD in step S819 in FIG. Send a data frame.
  • the transmission in step S819 corresponds to step S104 in FIG.
  • step S1208 the link between the node device N 4 and N 7 in step S1208 is failure, the data frame does not reach the node device N 7. Therefore, in FIG. 42, the arrow in step S104 is a broken line from the middle.
  • Node device N 4 is waiting to receive an ACK frame at step S825 in FIG. 32. However, since the ACK frame is not received from the node device N 7 , the node device N 4 determines that transmission of the data frame to the node device N 7 has failed in step S1003 of the processing of FIG. 38 that is periodically executed. recognize.
  • step S819 transmits the data frame by specifying a node device N 5 as LD.
  • the transmission in step S819 corresponds to step S105 in FIG.
  • the node device N 5 that has received the data frame calls and executes the processing of FIGS. 30 to 35 from step S205 of FIG.
  • the node device N 5 in step S803 of FIG. 30 transmits the ACK frame, is represented as step S105a in FIG. 42.
  • the node device N 4 is waiting to receive an ACK frame at step S825 in FIG. 32.
  • the node device N 4 calls and executes the processing in FIG. 37 from step S206 in FIG. 24.
  • the node device N 4 finishes waiting in step S825, and steps S826 and S827. To finish the process of FIG.
  • step S804 to continue the subsequent processing, at step S819 of FIG. 32, specifies the node device N 3 as LD Send a data frame.
  • the transmission in step S819 corresponds to step S106 in FIG.
  • the node device N 3 that has received the data frame calls and executes the processes of FIGS. 30 to 35 from step S 205 of FIG.
  • the node device N 3 in step S803 in FIG. 30 transmits the ACK frame, is represented as step S106a in FIG. 42.
  • the node device N 5 is waiting to receive an ACK frame at step S825 in FIG. 32. Then, the node device N 5 receives the ACK frame transmitted in step S 106 a, invokes and executes the processing of FIG. 37 from step S206 in FIG. 24, as a result, after a wait in step S825, and step S826 S827 To finish the process of FIG.
  • the transmission in step S819 corresponds to step S107 in FIG.
  • the node device N 5 that has received the data frame calls and executes the processing of FIGS. 30 to 35 from step S205 of FIG.
  • the node device N 5 in step S803 of FIG. 30 transmits the ACK frame, is represented as step S107a in FIG. 42.
  • the node device N 3 is waiting to receive an ACK frame at step S825 in FIG. 32.
  • the node device N 3 calls and executes the processing in FIG. 37 from step S206 in FIG. 24.
  • the node device N 3 finishes waiting in step S825, and steps S826 and S827. To finish the process of FIG.
  • the node device N 5 that has transmitted an ACK frame in step S803 of FIG. 30, as shown in step S107a continues the step S804 and subsequent steps. Specifically, the process proceeds to step S830 of FIG. 34 from step S818 in FIG. 32, the node device N 5 transmits a data frame by specifying a node device N 4 is OLS as LD. This frame transmission corresponds to step S108 in FIG. At this time, when the data frame to the node device N 4 is expected to be conserved, the node device N 5 transmits an empty data frame instead of the normal data frames. Thus, the node device N 5 is the backtracking operation, transmits the normal data frames or null data frame to the node apparatus N 4.
  • the node device N 4 that has received the data frame calls and executes the processes of FIGS. 30 to 35 from step S 205 of FIG. At this time, when receiving an empty data frame, the node device N 4 extracts the corresponding data frame from the buffer unit 109.
  • the node device N 4 in step S803 of FIG. 30 transmits the ACK frame, is represented as step S108a in FIG. 42.
  • the node device N 5 is waiting to receive an ACK frame at step S842 in FIG. 35. Then, the node device N 5 receives the ACK frame transmitted in step S108a, invokes and executes the processing of FIG. 37 from step S206 in FIG. 24, as a result, after a wait in step S842, executes Step S844 Then, the processing in FIGS. 34 to 35 is completed.
  • the node device N 4 which has transmitted the ACK frame in step S803 of FIG. 30, as shown in step S108a continues the step S804 and subsequent steps. Specifically, the process proceeds to step S830 of FIG. 34 from step S818 in FIG. 32, the node apparatus N 4 transmits the data frame by specifying a node device N 3 is OLS as LD. This frame transmission corresponds to step S109 in FIG. At this time, when it is expected that the data frame is stored in the node device N 3 , the node device N 4 transmits an empty data frame instead of the normal data frame. Thus, the node device N 4 transmits a normal data frame or an empty data frame to the node device N 3 by the backtrack operation.
  • the node device N 3 that has received the data frame calls and executes the processes of FIGS. 30 to 35 from step S 205 of FIG. At this time, when receiving an empty data frame, the node device N 3 extracts the corresponding data frame from the buffer unit 109.
  • the node device N 3 in step S803 in FIG. 30 transmits the ACK frame, is represented as step S109a in FIG. 42.
  • the node device N 4 is waiting to receive an ACK frame at step S842 in FIG. 35.
  • the node device N 4 invokes and executes the processing in FIG. 37 from step S206 in FIG. 24.
  • the node device N 4 finishes waiting in step S842 and executes step S844. Then, the processing in FIGS. 34 to 35 is completed.
  • the node device N 3 that transmitted the ACK frame in step S803 of FIG. 30, as shown in step S109a continues the step S804 and subsequent steps. Specifically, the process proceeds to step S830 of FIG. 34 from step S818 in FIG. 32, the node device N 3 transmits a data frame by specifying a node device N 2 is OLS as LD. This frame transmission corresponds to step S110 in FIG. At this time, when the data frame to the node device N 2 is expected to be conserved, the node device N 3 transmits an empty data frame instead of the normal data frames. Thus, the node device N 3 is the backtracking operation, transmits the normal data frames or null data frame to the node apparatus N 2.
  • the node device N 2 that has received the data frame calls and executes the processes of FIGS. 30 to 35 from step S 205 of FIG.
  • the node device N 2 extracts the corresponding data frame from the buffer unit 109.
  • the node device N 2 at step S803 of FIG. 30 transmits the ACK frame, is represented as step S110a in FIG. 42.
  • the node device N 3 is waiting to receive an ACK frame at step S842 in FIG. 35. Then, the node device N 3 receives the ACK frame transmitted in step S110a, invokes and executes the processing of FIG. 37 from step S206 in FIG. 24, as a result, after a wait in step S842, executes Step S844 Then, the processing in FIGS. 34 to 35 is completed.
  • step S804 to continue the subsequent processing specifies the node device N 6 as LD Send a data frame.
  • the transmission in step S819 corresponds to step S111 in FIG.
  • the node device N 6 that has received the data frame calls and executes the processing of FIGS. 30 to 35 from step S205 of FIG. Node device N 6 at step S803 of FIG. 30 that transmits the ACK frame, and is represented as step S111a in FIG. 42.
  • the node device N 2 is waiting to receive an ACK frame at step S825 in FIG. 32.
  • the node device N 2 calls and executes the processing in FIG. 37 from step S206 in FIG. 24.
  • the node device N 2 finishes waiting in step S825, and steps S826 and S827. To finish the process of FIG.
  • step S111a the node device N 6 that has transmitted the ACK frame in step S803 in FIG. 30 continues the processing from step S804, and specifies the node device N 7 as the LD in step S819 in FIG. Send a data frame.
  • the transmission in step S819 corresponds to step S112 in FIG.
  • the node device N 7 that has received the data frame calls and executes the processing of FIGS. 30 to 35 from step S205 of FIG. Node device N 7 in the step S803 of FIG. 30 that transmits the ACK frame, and is represented as step S112a in FIG. 42.
  • step S1208 the route ⁇ N 1 , N 2 , N 6 , N 7 > is selected and learned. That is, the weighting tables 104-N 1 to 104-N 6 are updated in the node devices N 1 to N 6 by the series of processes described above.
  • step S112a as a result of learning, the node device N 7 data frame specified as GD, instead of being trial and error transfer while backtracking in the network 1 as shown in FIG. 6, initially Is transferred efficiently.
  • the node devices are wired.
  • the reception unit 101 and the transmission unit 102 in FIG. 3 are realized by the wireless module 206 in FIG. 4, and the node devices are connected by a wireless link. That is, the first embodiment assumes a wireless ad hoc network.
  • the node devices of the network shown in FIG. 1 or FIG. 2 are connected by a wired link. That is, the second embodiment assumes a wired ad hoc network.
  • FIG. 43 to 44 A specific example of the second embodiment will be described below with reference to FIGS. 43 to 44.
  • FIG. 43 is a diagram illustrating an example of a wired network to which the second embodiment is applied.
  • the network 4 in FIG. 43 includes a plurality of node devices 100a to 100i and is an example of a wired ad hoc network. First, an outline of the configuration of the node device 100a will be described.
  • the configuration of the node devices 100a to 100i is the same. Components that are similar to each other may be assigned the same reference numerals except for subscripts, such as “211a-1”, “211a-2”, “211b-1”, and the detailed description thereof may be omitted.
  • the node devices 100a to 100i are realized by physical ports (hereinafter simply referred to as “ports”) for wired communication and PHY chips instead of the reception unit 101 and the transmission unit 102 of FIG. A reception unit and a transmission unit (not shown) are included.
  • the node device 100a includes four ports 211a-1 to 211a-4, but the number of ports is arbitrary according to the embodiment.
  • the ports 211a-1 to 211a-4 are ports for performing frame communication according to the second embodiment. That is, the same data frame as in the first embodiment shown in FIG. 7 is transmitted / received via the ports 211a-1 to 211a-4. In other words, the ports 211a-1 to 211a-4 are ports for the node device 100a to make a wired connection with the adjacent node device.
  • one PHY chip can perform input / output processing of a plurality of ports.
  • the node device 100a does not include the ACK processing unit 107 and the hello frame generation unit 112 in FIG.
  • some of the operations of the frame branch processing unit 106, the link management unit 108, and the data frame processing unit 110 are different from those in the first embodiment.
  • an adjacent node management table 103a shown in FIG. 44 is used instead of the adjacent node management table 103 of the first embodiment shown in FIG.
  • the adjacent node management table 103a also manages port IDs that identify ports used for connection with adjacent node devices.
  • the node device 100 includes the PHY chip 202 of FIG. 4 for connection to an external network is illustrated.
  • the node device 100a according to the second embodiment includes a general-purpose LAN port 212a for connection to an external network.
  • the general-purpose LAN port 212a is a physical port for wired connection according to the Ethernet standard, for example, and is connected to a PHY chip (not shown).
  • the general-purpose LAN ports 212a to 212i are indicated by hatching to distinguish them from the ports 211a-1 to 211i-4.
  • the general-purpose LAN ports 212a to 212i in this embodiment are wired LAN ports, but a wireless LAN interface can be used instead depending on the embodiment.
  • Each of the node devices 100a to 100i having the configuration as described above is physically meshed (in other words, a lattice in a network 4) by a cable (for example, a metal wire cable such as a copper cable or an optical fiber cable). Connected).
  • a cable for example, a metal wire cable such as a copper cable or an optical fiber cable.
  • the physical connection topology in the network is arbitrary depending on the embodiment, and does not necessarily have to be a mesh.
  • the mesh-like physical topology shown in FIG. 43 is realized by the following cable wirings (M1) to (M12).
  • M1 The node devices 100a and 100d are connected by a link 515 between the ports 211a-1 and 211d-1.
  • the node devices 100a and 100b are connected by a link 516 between the ports 211a-4 and 211b-1.
  • M3 The node devices 100b and 100e are connected by a link 517 between the ports 211b-2 and 211e-2.
  • the node devices 100b and 100c are connected by a link 518 between the ports 211b-4 and 211c-1.
  • the node devices 100c and 100f are connected by a link 519 between the ports 211c-3 and 211f-3.
  • the node devices 100d and 100g are connected by a link 521 between the ports 211d-2 and 211g-2.
  • the node devices 100d and 100e are connected by a link 522 between the ports 211d-4 and 211e-1.
  • the node devices 100e and 100h are connected by a link 523 between the ports 211e-3 and 211h-3.
  • the node devices 100e and 100f are connected by a link 524 between the ports 211e-4 and 211f-1.
  • the node devices 100f and 100i are connected by a link 525 between the ports 211f-4 and 211i-4.
  • the node devices 100g and 100h are connected by a link 526 between the ports 211g-4 and 211h-1.
  • the network 4 is not an isolated network, but is also connected to an external network such as a LAN or a WAN (Wide Area Network).
  • the network 4 is connected to the external network as follows. That is, an L2SW (Layer 2 Switch) 502 connected to a PC (Personal Computer) 501 via a link 511 is connected to general-purpose LAN ports 212a and 212b of the node devices 100a and 100b via links 512 and 513, respectively.
  • the PCs 503, 505, and 506 are connected to the general-purpose LAN ports 212c, 212g, and 212h of the node devices 100c, 100g, and 100h via links 514, 528, and 529, respectively.
  • L2SW 502 may be further connected to a router (not shown) or another PC (not shown).
  • the PCs 503, 505, and 506 may also be connected to another external network (not shown).
  • FIG. 43 illustrates the network 4 including nine node devices 100a to 100i.
  • a large number of node devices such as thousands to hundreds of thousands may be connected to the wired ad hoc network.
  • the wired ad hoc network of this embodiment may be applied to a sensor network that is a network for collecting various information from a large number of sensors arranged everywhere.
  • the wired ad hoc network may include a large number of node devices on the order of thousands to hundreds of thousands.
  • any type of sensor such as an image sensor, a temperature sensor, a humidity sensor, a pressure sensor, and an acceleration sensor is used.
  • FIG. 43 also shows one example of application of the wired ad hoc network according to the present embodiment to the sensor network. That is, in FIG. 43, sensors 504 and 507 having a LAN interface are connected to general-purpose LAN ports 212e and 212i of the node devices 100e and 100i via links 520 and 530, respectively. The sensors 504 and 507 output data indicating the sensed result as an Ethernet frame via the LAN interface. The types of these sensors 504 and 507 are arbitrary.
  • the second embodiment is premised on a network in which node devices are connected by a wired link.
  • the operation of the node device of the second embodiment is basically the same, although there are some differences from the first embodiment described above.
  • frame transfer efficiency is improved by using empty data frames or aggregated empty data frames in the backtrack operation.
  • the frame transfer efficiency is improved as in the first or second embodiment.
  • the node device is, for example, the reception unit 101 in FIG. 3, the wireless module 206 in FIG. 4, and the ports 211a-1 to 211a in FIG. 211a-4 and a PHY chip connected thereto.
  • the FID management table 105 is an example of a storage unit that stores the following pieces of information (N1) to (N3) in association with each other.
  • N1 Frame identification information for identifying a transmission target frame
  • N2 Transmission destination adjacent node identification information for identifying a transmission destination adjacent node device that is a transmission destination of the transmission target frame among a plurality of adjacent node devices
  • N3 transmission Origin Node Identification Information for Identifying Adjacent Node Device that Transmits Target Frame First
  • the transmission target frame in (N1) is, for example, a data frame, an empty data frame, and an aggregated empty data frame shown in FIG.
  • An example of the frame identification information is a combination of the value of the GS field and the value of the FID field.
  • a specific example of the destination adjacent node identification information (N2) is the node ID of the adjacent node device stored in the LD field of the FID management table 105.
  • a specific example of the origin node identification information (N3) is a node ID stored in the OLS field of the FID management table 105.
  • the value of the LS field of the data frame when the node device 100 first receives the data frame is stored in the OLS field of the FID management table 105. Is done. That is, the node ID of the adjacent node device that has transmitted the transmission target frame first is stored in the OLS field.
  • the weighting table 104 in FIG. 3 is realized by the DRAM 204 and the flash memory 205 in FIG. 4 and stores the information shown in FIGS.
  • the weighting table 104 is an example of a storage unit that stores transmission possibility information indicating transmission possibility to each of a plurality of adjacent node apparatuses in association with the GD that is the final destination of the data frame.
  • the transmission possibility information is specifically represented by one or a plurality of entries each including a set of a node ID and a weight value of the LD field.
  • the transmission possibility is expressed as, for example, “If the weight value is 1, transmission is impossible, and if the weight value is less than 1, transmission is possible”.
  • the data frame processing unit 110 in FIG. 3 is realized by the MPU 201 and the DRAM 204 in FIG. 4, for example, and is an example of an updating unit that updates transmission possibility information.
  • received frame identification information for identifying a received frame received by a receiving unit such as the receiving unit 101 is stored as (N1) frame identification information in a storage unit such as the FID management table 105, a data frame as an updating unit
  • the processing unit 110 updates the transmission possibility information.
  • the data frame processing unit 110 and the transmission unit 102 cooperate to select a second adjacent node device that can transmit a frame from a plurality of adjacent node devices, and receive the second adjacent node device. It functions as a transmission means for transmitting a frame.
  • the data frame processing unit 110 as a part of the transmission unit selects the second adjacent node apparatus based on the transmission possibility information associated with the reception frame destination and stored in the storage unit such as the weighting table 104. To do.
  • the data frame processing unit 110 and the transmission unit 102 cooperate to function as backtracking means.
  • the data frame processing unit 110 and the transmission unit 102 serving as backtracking units have no transmission capability information among the plurality of adjacent node devices in the transmission possibility information of the storage unit such as the weighting table 104, and the received frame identification information Is stored as frame identification information (N1) in the storage means such as the FID management table 105, at least a part of the received frame is transmitted to the third adjacent node device identified by the origin node identification information.
  • the node device that performs backtracking transmits frame identification information that is a part of the received frame to the third adjacent node.
  • “When the received frame is expected to be held by the third adjacent node device” means, for example, “the elapsed time from when the received frame is received is longer than the period during which the processing frame is held in each node device. Or “when the elapsed time from when the received frame is transmitted to the second adjacent node device is shorter than the period during which the processing frame is held in each node device”.
  • “when a received frame is received” or “when a received frame is transmitted to the second adjacent node device” corresponds to an entry time recorded in the FID management table 105 in the above-described embodiment.
  • the frame identification information corresponds to the FID and GD included in the data header in the above-described embodiment.
  • the frame identification information is transmitted by an empty data frame in the above-described embodiment.
  • a frame that stores a plurality of frame identification information corresponds to an aggregated empty data frame in the above-described embodiment.
  • the node device includes a transmission queue that holds a received frame transmitted to the second adjacent node device as a frame holding unit.
  • the transmission queue holds the received frame from when the received frame is transmitted to the second adjacent node apparatus until at least a predetermined holding period elapses.
  • this holding time corresponds to, for example, an aging time for holding each entry in the FID management table 105.
  • the node device extracts a frame corresponding to the notified frame identification information from the transmission queue as the frame holding means. Then, the node device transmits the extracted frame to the adjacent node device determined based on the weight value as the transmission possibility information base.

Landscapes

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

Abstract

A node device is provided with a backtrack unit for transmitting part of target data including at least the data identification information of the target data to the origin adjacent node device of the target data when the target data transmitted earlier has returned, and when an adjacent node device which is capable of transmitting the target data is not found among a plurality of the adjacent node devices.

Description

ノード装置およびデータ送信方法Node device and data transmission method
 本発明は、複数のノード装置を含むネットワークにおいて使用されるノード装置およびデータの送信方法に係わる。 The present invention relates to a node device used in a network including a plurality of node devices and a data transmission method.
 複数のノード装置を含むネットワークの1つの形態として、アドホックネットワークが実用化されている。アドホックネットワークでは、各ノード装置において自律的な経路選択が行われる。すなわち、アドホックネットワークの各ノード装置は、ルータまたはスイッチとして動作する機能を備えている。ここで、各ノード装置は、隣接するノード装置とメッセージ等を授受することにより、周辺のネットワーク構成を認識することができる。したがって、アドホック(特に、無線アドホック)方式を採用すると、ネットワーク全体を管理する管理装置を設けることなく、ネットワークを構築したい環境にノード装置を配置するだけで、所望のネットワークを構築することができる。さらに、アドホックネットワークでは、ノード装置の追加または削除が容易であり、ネットワーク構成を容易に変更することができる。 An ad hoc network has been put to practical use as one form of a network including a plurality of node devices. In an ad hoc network, autonomous path selection is performed in each node device. That is, each node device of the ad hoc network has a function of operating as a router or a switch. Here, each node device can recognize the surrounding network configuration by exchanging messages and the like with adjacent node devices. Therefore, when an ad hoc (particularly, wireless ad hoc) method is employed, a desired network can be constructed simply by placing a node device in an environment where the network is to be constructed without providing a management device for managing the entire network. Furthermore, in an ad hoc network, it is easy to add or delete node devices, and the network configuration can be easily changed.
 ところが、アドホックネットワークにおいては、各ノード装置が自律的に経路を選択するので、必ずしも最適な経路が選択されるわけではない。すなわち、アドホックネットワークでは、データ転送の効率が悪いことがある。このため、アドホックネットワークにおけるデータ転送効率の向上が要求されている。 However, in an ad hoc network, since each node device autonomously selects a route, an optimal route is not necessarily selected. That is, in an ad hoc network, the efficiency of data transfer may be poor. For this reason, improvement in data transfer efficiency in ad hoc networks is required.
 関連する技術として、送信側の処理占有時間を改善するために、コネクション要求に対してダミーのコネクション確立応答を返す処理と、送信データを受信した時にダミーの送信データ受信応答(ACK)を返す処理と、送信データバッファに送信データを一時保存する処理と、前記送信データバッファに送信データがある場合は、前記コネクションを確立し、相手側に送信する処理と、を有する通信方法が提案されている。(例えば、特許文献1) As related technologies, processing to return a dummy connection establishment response in response to a connection request and processing to return a dummy transmission data reception response (ACK) when transmission data is received in order to improve the processing time of the transmission side And a process for temporarily storing transmission data in the transmission data buffer and a process for establishing the connection and transmitting to the other party when there is transmission data in the transmission data buffer. . (For example, Patent Document 1)
特開平11-4259号公報Japanese Patent Laid-Open No. 11-4259
 本発明の目的は、各ノード装置により自律的に経路選択が行われるネットワークにおいて、データの転送効率を向上させることである。 An object of the present invention is to improve data transfer efficiency in a network in which route selection is autonomously performed by each node device.
 本発明の1つの態様のノード装置は、受信手段、第1の記憶手段、第2の記憶手段、更新手段、送信手段、バックトラック手段を備える。受信手段は、複数の隣接ノード装置のうちの1つからデータを受信する。第1の記憶手段は、送信対象データを識別するデータ識別情報と、前記複数の隣接ノード装置のうちで前記送信対象データの送信先である送信先隣接ノード装置を識別する送信先隣接ノード識別情報と、前記送信対象データを最初に送信してきた隣接ノード装置である起源隣接ノード装置を識別する起源ノード識別情報とを対応付けて記憶する。第2の記憶手段は、データの最終宛先に対応付けて、前記複数の隣接ノード識別情報毎に該最終宛先へのデータの送信可能性を表す送信可能性情報を記憶する。更新手段は、前記受信手段が受信したデータを識別するデータ識別情報が、前記第1の記憶手段に前記データ識別情報として記憶されていることに基づいて、該データ識別情報に対応づけられた送信先隣接ノード識別情報を特定し、前記第2の記憶手段において、該受信データに設定される最終宛先に対応づけられた隣接ノードの前記送信可能性情報のうち、特定した該隣接ノード識別情報の送信可能性を送信不能に更新する。送信手段は、前記第2の記憶手段において前記受信データの最終宛先に対応付けられた送信先隣接ノード識別情報の前記送信可能性情報に基づいて、送信可能な隣接ノード装置を選択し、該選択した隣接ノード装置に前記受信データを送信する。バックトラック手段は、前記第2の記憶手段において前記受信データの最終宛先に対応付けられた送信先隣接ノード識別情報の前記送信可能性情報が全て送信不能であることに基づき、前記第1の記憶手段において前記受信データ識別情報に対応付けられた前記起源隣接ノード装置に対して、少なくとも該受信データのデータ識別情報を含む前記受信データの一部を送信する。 The node device according to one aspect of the present invention includes a reception unit, a first storage unit, a second storage unit, an update unit, a transmission unit, and a backtrack unit. The receiving means receives data from one of the plurality of adjacent node devices. The first storage means includes data identification information for identifying transmission target data, and transmission destination adjacent node identification information for identifying a transmission destination adjacent node device that is a transmission destination of the transmission target data among the plurality of adjacent node devices. And origin node identification information for identifying the origin neighboring node device that is the neighboring node device that has transmitted the transmission target data first. The second storage means stores transmission possibility information indicating the transmission possibility of data to the final destination for each of the plurality of adjacent node identification information in association with the final destination of data. The updating means transmits the transmission data associated with the data identification information based on the fact that the data identification information for identifying the data received by the receiving means is stored as the data identification information in the first storage means. Identifying the adjacent node identification information, and in the second storage means, of the transmission possibility information of the adjacent node associated with the final destination set in the received data, the specified adjacent node identification information Update sendability to not send. The transmission means selects an adjacent node device that can be transmitted based on the transmission possibility information of the transmission destination adjacent node identification information associated with the final destination of the received data in the second storage means, and selects the selection The received data is transmitted to the adjacent node device. The backtrack means, based on the fact that all the transmission possibility information of the transmission destination adjacent node identification information associated with the final destination of the reception data in the second storage means cannot be transmitted, The means transmits a part of the received data including at least the data identification information of the received data to the origin adjacent node device associated with the received data identification information.
 本発明の他の態様のノード装置は、受信手段、第1の記憶手段、第2の記憶手段、更新手段、送信手段、データ保持手段を備える。受信手段は、複数の隣接ノード装置のうちの1つからデータを受信する。第1の記憶手段は、送信対象データを識別するデータ識別情報と、前記複数の隣接ノード装置のうちで前記送信対象データの送信先である送信先隣接ノード装置を識別する送信先隣接ノード識別情報と、前記送信対象データを最初に送信してきた隣接ノード装置である起源隣接ノード装置を識別する起源ノード識別情報とを対応付けて記憶する。第2の記憶手段は、データの最終宛先に対応付けて、前記複数の隣接ノード装置それぞれへの送信可能性を表す送信可能性情報を記憶する。更新手段は、前記受信手段が受信した受信データを識別する受信データ識別情報が、前記第1の記憶手段に前記データ識別情報として記憶されている場合に、該データ識別情報に対応づけられた送信先隣接ノード識別情報を特定し、前記第2の記憶手段において、該受信データに設定される最終宛先に対応づけられた隣接ノードの前記送信可能性情報のうち、特定した該隣接ノード識別情報の送信可能性を送信不能に更新する。送信手段は、前記第2の記憶手段において前記受信データの最終宛先に対応付けられた送信先隣接ノード識別情報の前記送信可能性情報に基づいて、送信可能な隣接ノード装置を選択し、該選択した隣接ノード装置にデータを送信する。データ保持手段は、前記送信手段が前記隣接ノード装置へ送信したデータ識別情報を含むデータを保持する。そして、前記送信手段は、前記受信手段が前記送信先隣接ノード装置から少なくとも自ノード装置が前記送信したデータのデータ識別情報を含むデータの一部を受信したことに基づき、前記データ保持手段からデータを抽出して、該データを送信する。 A node device according to another aspect of the present invention includes a reception unit, a first storage unit, a second storage unit, an update unit, a transmission unit, and a data holding unit. The receiving means receives data from one of the plurality of adjacent node devices. The first storage means includes data identification information for identifying transmission target data, and transmission destination adjacent node identification information for identifying a transmission destination adjacent node device that is a transmission destination of the transmission target data among the plurality of adjacent node devices. And origin node identification information for identifying the origin neighboring node device that is the neighboring node device that has transmitted the transmission target data first. The second storage means stores transmission possibility information indicating the transmission possibility to each of the plurality of adjacent node devices in association with the final destination of the data. The updating means transmits the transmission data associated with the data identification information when the received data identification information for identifying the received data received by the receiving means is stored as the data identification information in the first storage means. Identifying the adjacent node identification information, and in the second storage means, of the transmission possibility information of the adjacent node associated with the final destination set in the received data, the specified adjacent node identification information Update sendability to not send. The transmission means selects an adjacent node device that can be transmitted based on the transmission possibility information of the transmission destination adjacent node identification information associated with the final destination of the received data in the second storage means, and selects the selection Data is transmitted to the adjacent node device. The data holding unit holds data including data identification information transmitted from the transmission unit to the adjacent node device. The transmission means receives data from the data holding means based on the reception means receiving at least a part of the data including the data identification information of the data transmitted by the own node apparatus from the destination adjacent node apparatus. Is extracted and the data is transmitted.
 実施形態の構成または方法によれば、各ノード装置により自律的に経路選択が行われるネットワークにおいて、データの転送効率が向上する。 According to the configuration or method of the embodiment, data transfer efficiency is improved in a network in which route selection is autonomously performed by each node device.
ネットワーク構成の第1の例を示す図である。It is a figure which shows the 1st example of a network structure. ネットワーク構成の第2の例を示す図である。It is a figure which shows the 2nd example of a network configuration. 第1実施形態におけるノード装置の構成を示す機能ブロック図である。It is a functional block diagram which shows the structure of the node apparatus in 1st Embodiment. 第1実施形態におけるノード装置のハードウェア構成を示す図である。It is a figure which shows the hardware constitutions of the node apparatus in 1st Embodiment. 1つのノード装置に注目して重みの学習について説明する図である。It is a figure explaining weight learning paying attention to one node apparatus. 図1のネットワークにおいて動的かつ自律分散的に経路が選択される様子を説明する図である。It is a figure explaining a mode that a path | route is selected dynamically and autonomously distributed in the network of FIG. フレームの例を示す図である。It is a figure which shows the example of a flame | frame. 図3のバッファ部に格納されるデータの例を示す図である。It is a figure which shows the example of the data stored in the buffer part of FIG. 図3の隣接ノード管理テーブルの例を示す図である。It is a figure which shows the example of the adjacent node management table of FIG. 図3の重み付けテーブルの例を示す図である。It is a figure which shows the example of the weighting table of FIG. 図10の重み付けテーブルの変化を説明する図である。It is a figure explaining the change of the weighting table of FIG. 図3のFID管理テーブルの例を示す図(その1)である。FIG. 6 is a diagram (part 1) illustrating an example of an FID management table in FIG. 3; 図3のFID管理テーブルの例を示す図(その2)である。FIG. 6 is a diagram (part 2) illustrating an example of the FID management table of FIG. 3; バックトラック動作を模式的に示す図である。It is a figure which shows backtrack operation | movement typically. 図14に示すバックトラック動作を示すシーケンス図である。FIG. 15 is a sequence diagram illustrating a backtrack operation illustrated in FIG. 14. FID管理テーブルの実施例である。It is an Example of a FID management table. バックトラックで使用するフレームのフォーマットを示す図である。It is a figure which shows the format of the flame | frame used by backtracking. 空データフレームの集約について説明する図である。It is a figure explaining aggregation of an empty data frame. バックトラックを実行するノード装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the node apparatus which performs backtracking. 送信キューの実施例である。It is an Example of a transmission queue. 空データフレーム集約処理を示すフローチャート(その1)である。It is a flowchart (the 1) which shows empty data frame aggregation processing. 空データフレーム集約処理を示すフローチャート(その2)である。It is a flowchart (the 2) which shows empty data frame aggregation processing. 空データフレームの受信処理を示すフローチャートである。It is a flowchart which shows the reception process of an empty data frame. フレーム受信処理のフローチャートである。It is a flowchart of a frame reception process. ハローフレーム受信処理のフローチャートである。It is a flowchart of a hello frame reception process. ハローフレーム送信処理のフローチャートである。It is a flowchart of a hello frame transmission process. 隣接ノード管理テーブルのエージング処理のフローチャートである。It is a flowchart of the aging process of an adjacent node management table. 重み付けテーブルのエージング処理のフローチャートである。It is a flowchart of the aging process of a weighting table. FID管理テーブルのエージング処理のフローチャートである。It is a flowchart of the aging process of a FID management table. データフレーム受信処理のフローチャート(その1)である。It is a flowchart (the 1) of a data frame reception process. データフレーム受信処理のフローチャート(その2)である。It is a flowchart (the 2) of a data frame reception process. データフレーム受信処理のフローチャート(その3)である。It is a flowchart (the 3) of a data frame reception process. 図32に示す手順の別実施例を示すフローチャートである。It is a flowchart which shows another Example of the procedure shown in FIG. データフレーム受信処理のフローチャート(その4)である。It is a flowchart (the 4) of a data frame reception process. データフレーム受信処理のフローチャート(その5)である。It is a flowchart (the 5) of a data frame reception process. 図31のステップS812aにおける重み付けテーブル調整処理のフローチャートである。It is a flowchart of the weighting table adjustment process in step S812a of FIG. ACKフレーム受信処理のフローチャートである。It is a flowchart of an ACK frame reception process. ACKフレームがタイムアウト時刻までに受信されない場合の処理を示すフローチャートである。It is a flowchart which shows a process when an ACK frame is not received by timeout time. ノード装置がGSとなってデータフレームを送信する場合の送信処理のフローチャート(その1)である。It is a flowchart (the 1) of the transmission process in case a node apparatus becomes GS and transmits a data frame. ノード装置がGSとなってデータフレームを送信する場合の送信処理のフローチャート(その2)である。It is a flowchart (the 2) of the transmission process in case a node apparatus becomes GS and transmits a data frame. GSにもなりうるノード装置が、データフレーム受信処理の一部として図34~図35の処理の代わりに行う処理のフローチャートである。36 is a flowchart of processing performed by a node device that can also be a GS in place of the processing of FIGS. 34 to 35 as part of data frame reception processing. ハローフレームの送受信による隣接ノードの認識および図6の経路選択を示すタイミングチャートである。FIG. 7 is a timing chart showing recognition of adjacent nodes by transmission / reception of a hello frame and route selection of FIG. 第2実施形態が適用される有線ネットワークの例を示す図である。It is a figure which shows the example of the wired network to which 2nd Embodiment is applied. 第2実施形態における隣接ノード管理テーブルの例を示す図である。It is a figure which shows the example of the adjacent node management table in 2nd Embodiment.
 以下、発明の実施形態について、図面を参照しながら説明する。具体的には、まず、実施形態に係るネットワークの構成、および各ノード装置の構成について説明する。続いて、データ転送の効率化を図る手法の概要を説明する。さらに、フローチャートを参照しながら各ノード装置の動作を詳しく説明する。その後、他の実施形態について説明する。 Hereinafter, embodiments of the invention will be described with reference to the drawings. Specifically, first, the configuration of the network according to the embodiment and the configuration of each node device will be described. Next, an outline of a method for improving the efficiency of data transfer will be described. Further, the operation of each node device will be described in detail with reference to the flowchart. Thereafter, another embodiment will be described.
 図1はネットワーク構成の第1の例を示す図である。図1のネットワーク1は、以下の各実施形態を適用することが可能なアドホックネットワークの一例であり、複数のノード装置を含む。なお、以下では、ネットワークトポロジの観点からの説明においては、「ノード装置」を単に「ノード」ということもある。 FIG. 1 is a diagram showing a first example of a network configuration. A network 1 in FIG. 1 is an example of an ad hoc network to which the following embodiments can be applied, and includes a plurality of node devices. Hereinafter, in the description from the viewpoint of the network topology, the “node device” may be simply referred to as “node”.
 ネットワーク1内の各ノード装置には、ネットワーク1内で一意な識別情報(以下、「ノードID(identification)」という)が予め割り当てられている。以下では、参照符号「N」がノードIDを示すものとし、例えば、ノードIDとしてNが割り当てられたノード装置を「ノード装置N」のように参照する。なお、以下では、ノード装置Nにとって自分自身に割り当てられたノードIDであるNを、ノード装置Nの「自ノードID」ともいう(図1では1≦i≦7)。 Identification information unique to the network 1 (hereinafter referred to as “node ID (identification)”) is assigned in advance to each node device in the network 1. In the following, it is assumed that the reference symbol “N i ” indicates a node ID. For example, a node device to which N i is assigned as a node ID is referred to as “node device N i ”. In the following, the node device N to N i is a node ID assigned to itself for i, the node device N i is also referred to as "own node ID" (Figure 1, 1 ≦ i ≦ 7).
 また、図1ではリンクを実線で表している。具体的には、ネットワーク1のトポロジは次のとおりである。すなわち、ノード装置NとNの間、ノード装置NとNの間、ノード装置NとNの間、ノード装置NとNの間、ノード装置NとNの間、ノード装置NとNの間、ノード装置NとNの間、およびノード装置NとNの間に、各々リンクが存在する。 In FIG. 1, links are indicated by solid lines. Specifically, the topology of the network 1 is as follows. That is, between the node devices N 1 and N 2 , between the node devices N 2 and N 3 , between the node devices N 2 and N 6 , between the node devices N 3 and N 4 , and between the node devices N 3 and N 5 There are links between the node devices N 4 and N 5 , between the node devices N 4 and N 7 , and between the node devices N 6 and N 7 .
 なお、以下で「リンク」とは、無線リンクでもよく、有線リンクでもよい。ノード装置NとNが、他のノード装置Nによる中継を経ずに直接、無線により情報を通信しあうことができるとき、「ノード装置NとNの間に無線リンクが存在する」という(図1では1≦i,j,k≦7)。また、ノード装置NとNの間が直接ケーブルで接続されており、ノード装置NとNがケーブルを介して情報を通信しあうことができるとき、「ノード装置NとNの間に有線リンクが存在する」という。 In the following, the “link” may be a wireless link or a wired link. When the node devices N i and N j can communicate information directly and wirelessly without being relayed by other node devices N k , “there is a wireless link between the node devices N i and N j. (In FIG. 1, 1 ≦ i, j, k ≦ 7). Further, when the node devices N i and N j are directly connected by a cable and the node devices N i and N j can communicate information via the cable, the node devices N i and N j There is a wired link between them. "
 また、ノード装置NとNの間に無線または有線のリンクが存在するとき、「ノード装置NとNは互いに隣接している」という。換言すれば、ノード装置Nにとってノード装置Nは隣接ノード装置であり、ノード装置Nにとってノード装置Nは隣接ノード装置である。 In addition, when a wireless or wired link exists between the node devices N i and N j , it is said that “the node devices N i and N j are adjacent to each other”. In other words, for the node device N i , the node device N j is an adjacent node device, and for the node device N j , the node device N i is an adjacent node device.
 なお、図1のネットワーク1には、新たなノード装置が追加されることもありうるし、ノード装置N~Nのいずれかが撤去されてネットワーク1からは消滅することもありうる。また、リンクは固定的ではなく、動的に変化しうる。 Note that a new node device may be added to the network 1 in FIG. 1, or any one of the node devices N 1 to N 7 may be removed and disappear from the network 1. Also, links are not fixed and can change dynamically.
 例えば、天候や遮蔽物などの影響で、ノード装置NとNの間に無線リンクが新たに確立されたり、今まで確立されていた無線リンクが消滅したりすることがある。ノード装置が可動式であれば、ノード装置間の距離の変動によってリンクの有無が変化することもある。また、ケーブルの接続替えにより、新たな有線リンクが確立されたり、今まで存在していた有線リンクが消滅したりすることがあり、ケーブルの切断等の障害によって有線リンクが消滅することもある。 For example, a new wireless link may be established between the node devices N i and N j due to the influence of weather, shielding, or the like, or the wireless link established so far may be lost. If the node device is movable, the presence or absence of a link may change due to a change in the distance between the node devices. Further, by changing the connection of the cable, a new wired link may be established, or the existing wired link may disappear, and the wired link may disappear due to a failure such as cable disconnection.
 以下に説明する各実施形態によれば、このようにノードやリンクが動的に変化する環境においても、データが送信される時点でのネットワーク1の状況に応じて、利用可能で適切な経路が動的に見出されて選択されながら、データの送信が行われる。しかも、動的に変化するネットワーク1全体のトポロジを各ノード装置N~Nが認識する必要なしに、動的なトポロジの変化に応じた経路選択が自律分散的に実現される。 According to each embodiment described below, even in an environment where nodes and links dynamically change in this way, an appropriate route that can be used depends on the situation of the network 1 at the time when data is transmitted. Data is transmitted while being found and selected dynamically. In addition, the route selection according to the dynamic topology change is realized in an autonomous and distributed manner without the node devices N 1 to N 7 needing to recognize the topology of the entire network 1 that dynamically changes.
 ところで、詳しくは図7とともに後述するが、以下ではノード装置間で通信手順(プロトコル)に従って送受信されるデータの単位であるPDU(Protocol Data Unit)、および、送受信の単位データそのものを「フレーム」と称する。ネットワーク1内でのデータの送受信はフレームを用いて行われるが、フレームの、ネットワーク1内における最初の送信元のノード装置を以下では「GS(Global Source)」といい、フレームの宛先のノード装置を以下では「GD(Global Destination)」という。 By the way, as will be described in detail later with reference to FIG. 7, in the following, PDU (Protocol Data Unit) that is a unit of data transmitted and received between node devices according to a communication procedure (protocol), and unit data of transmission / reception itself are referred to as “frame”. Called. Data transmission / reception in the network 1 is performed using a frame. The first transmission source node device in the network 1 is hereinafter referred to as “GS (Global Source)”, and the frame destination node device. Is referred to as “GD (Global Destination)” hereinafter.
 例えば、ノード装置NがGSでノード装置NがGDの場合、ネットワーク1においてノード装置NとNは隣接していないので、他のノード装置によってフレームが中継され、その結果として、フレームはノード装置Nに到達する。例えば、フレームは、ノード装置Nからノード装置Nへ送信され、ノード装置Nからノード装置Nへ送信され、ノード装置Nからノード装置Nへ送信されるかもしれない。以下では経路を、〈N,N,N,N〉のようなタプル(tuple)で表す。 For example, when the node device N 1 is GS and the node device N 7 is GD, since the node devices N 1 and N 7 are not adjacent in the network 1, the frame is relayed by other node devices, and as a result, the frame it reaches the node device N 7. For example, the frame may be transmitted from the node device N 1 to the node device N 2 , transmitted from the node device N 2 to the node device N 6, and transmitted from the node device N 6 to the node device N 7 . Hereinafter, the route is represented by a tuple such as <N 1 , N 2 , N 6 , N 7 >.
 経路〈N,N,N,N〉の例において、例えばノード装置Nからノード装置Nへフレームが送信されるとき、フレームの最終的な宛先は、GDであるノード装置Nだが、フレームの直接的な宛先は、ノード装置Nに隣接するノード装置Nである。以下では、このように互いに隣接する2つのノード装置間でのフレームの送信において、フレームの送信元のノード装置を「LS(Local Source)」といい、フレームの宛先のノード装置を「LD(Local Destination)」という。例えば、上記のようにフレームがノード装置Nからノード装置NとNを経由してノード装置Nへと中継される場合のLSとLDは次のとおりである。 In the example of the path <N 1 , N 2 , N 6 , N 7 >, for example, when a frame is transmitted from the node device N 1 to the node device N 2 , the final destination of the frame is the node device N that is GD. 7 But direct destination of the frame is the node device N 2 adjacent to the node device N 1. In the following, in transmitting a frame between two adjacent node devices in this way, the node device that is the transmission source of the frame is referred to as “LS (Local Source)”, and the node device that is the destination of the frame is referred to as “LD (Local). Destination) ”. For example, as described above, the LS and LD when the frame is relayed from the node device N 1 to the node device N 7 via the node devices N 2 and N 6 are as follows.
 GSでもあるノード装置Nから、ノード装置Nに隣接するノード装置Nへと、最初にフレームが送信されるとき、LSはノード装置Nであり、LDはノード装置Nである。続いて、ノード装置Nから、ノード装置Nに隣接するノード装置Nへと、フレームが送信されるとき、LSはノード装置Nであり、LDはノード装置Nである。そして、ノード装置Nから、ノード装置Nに隣接しておりGDでもあるノード装置Nへとフレームが送信されるとき、LSはノード装置Nであり、LDはノード装置Nである。 From the node device N 1 that is also GS, to the node device N 2 adjacent to the node device N 1, when the first frame is transmitted, LS is a node device N 1, LD is the node device N 2. Then, from the node device N 2, to the node device N 6 adjacent to the node apparatus N 2, When a frame is transmitted, LS is a node device N 2, LD is the node device N 6. When the from the node device N 6, the frame is transmitted to the node device N 7, which is also GD is adjacent to the node device N 6, LS is a node device N 6, LD is the node device N 7 .
 なお、ネットワーク1内の1つまたは複数のノード装置が、ネットワーク1とは別のネットワーク(以下「外部ネットワーク」という)に属する不図示のネットワーク機器と接続されていてもよい。 Note that one or a plurality of node devices in the network 1 may be connected to a network device (not shown) belonging to a network different from the network 1 (hereinafter referred to as “external network”).
 例えば、データ管理サーバを含む外部ネットワークのゲートウェイ装置に、有線リンクまたは無線リンクによってノード装置Nが接続されていてもよい。そして、ノード装置NがGDとして指定されてネットワーク1内で送信されるデータは、ノード装置Nからゲートウェイ装置を介してデータ管理サーバに送信され、データ管理サーバで管理されてもよい。 For example, the gateway device of the external network including a data management server, the node device N 7 may be connected by a wired link or a wireless link. Then, the data transmitted in the network 1 with the node device N 7 designated as GD may be transmitted from the node device N 7 to the data management server via the gateway device and managed by the data management server.
 続いて、図2を参照して他のネットワークの例について説明する。図2は、ネットワーク構成の第2の例を示す図である。図2のネットワーク2も、以下の各実施形態を適用することが可能なアドホックネットワークの一例であり、複数のノード装置を含む。また、図1のネットワーク1と同様に、ネットワーク2も、不図示の外部ネットワークと接続されていてもよい。 Next, another network example will be described with reference to FIG. FIG. 2 is a diagram illustrating a second example of the network configuration. The network 2 in FIG. 2 is also an example of an ad hoc network to which the following embodiments can be applied, and includes a plurality of node devices. Further, similarly to the network 1 of FIG. 1, the network 2 may be connected to an external network (not shown).
 ネットワーク2はノード装置N101~N120を含む。図2は、ノード装置N101~N120のうち、1つのノード装置N105に注目して表現した図である。すなわち、太い実線の丸で示したノード装置N105は、直接通信することが可能な、隣接する3つのノード装置N107、N111、およびN112の存在とノードIDさえ認識していればよく、ネットワーク2全体のトポロジを認識する必要はない。ノード装置N105は、ネットワーク2のトポロジどころか、ネットワーク2内に存在するノード装置の個数を認識する必要もないし、ノード装置N105に隣接していないノード装置のノードIDを予め知っている必要もない。 The network 2 includes node devices N 101 to N 120 . FIG. 2 is a diagram expressed by paying attention to one node device N 105 among the node devices N 101 to N 120 . That is, the node device N 105 indicated by a thick solid line circle only needs to recognize the existence of the three adjacent node devices N 107 , N 111 , and N 112 that can directly communicate with each other and the node ID. It is not necessary to recognize the topology of the entire network 2. Node device N 105 is far from the network 2 topologies, neither need to be aware of the number of node devices in the network 2, also need to be preliminarily know the node ID of the node device that is not adjacent to the node device N 105 Absent.
 図2では、ノード装置N105が認識する部分を実線で表し、ノード装置N105が認識する必要のない部分を破線で表してある。すなわち、図2では、ノード装置N105から見てホップ数1以内の範囲に存在する以下のものだけが、実線で示してある。
  ・ノード装置N105自身
  ・ノード装置N105に隣接する3つのノード装置N107、N111、およびN112
  ・ノード装置N105を3つの隣接ノード装置N107、N111、およびN112にそれぞれ接続する3本のリンク
In FIG. 2, a portion recognized by the node device N 105 is represented by a solid line, and a portion that the node device N 105 does not need to recognize is represented by a broken line. That is, in FIG. 2, only the following items existing within the range of the hop number 1 as viewed from the node device N 105 are shown by solid lines.
Node device N 105 itself. Three node devices N 107 , N 111 , and N 112 adjacent to the node device N 105.
Three links connecting node device N 105 to three adjacent node devices N 107 , N 111 , and N 112 , respectively
 以下に説明する各実施形態によれば、ネットワーク内の各ノード装置は、上記のノード装置N105のように、隣接ノード装置さえ認識していればよい。したがって、ネットワークの規模が増大しても「各ノード装置がネットワークトポロジを認識するために制御情報の通信を行い、制御情報の通信のせいでネットワークの負荷が高まり、通信システム全体としての性能が悪化する」といった事態に陥ることはない。 According to each embodiment described below, each node device in the network only needs to recognize an adjacent node device like the node device N 105 described above. Therefore, even if the scale of the network increases, “each node device communicates control information to recognize the network topology, and the communication of the control information increases the load on the network, which deteriorates the overall performance of the communication system. It does not fall into the situation.
 図3は、第1実施形態におけるノード装置の構成を示す機能ブロック図である。図1または図2の各ノード装置は、具体的には、例えば、図3に示すノード装置100に相当する。 FIG. 3 is a functional block diagram showing the configuration of the node device in the first embodiment. Specifically, each node device in FIG. 1 or 2 corresponds to, for example, the node device 100 shown in FIG.
 ノード装置100は、フレームを受信する受信部101と、フレームを送信する送信部102を備える。また、ノード装置100は、フレームの送信のために用いる各種情報を格納するため、隣接ノード管理テーブル103、重み付けテーブル104、およびFID(Frame IDentification)管理テーブル105を備える。 The node device 100 includes a receiving unit 101 that receives a frame and a transmitting unit 102 that transmits a frame. The node device 100 also includes an adjacent node management table 103, a weighting table 104, and an FID (Frame IDentification) management table 105 in order to store various types of information used for frame transmission.
 ノード装置100はさらに、受信部101が受信したフレームの種類を判別するフレーム分岐処理部106を備える。第1実施形態では、「データフレーム」、「ハローフレーム」、「ACK(ACKnowledgment)フレーム」が使用される。また、フレームの転送効率を高めるために、「空データフレーム」も使用される。さらに、必要に応じて「集約空データフレーム」も使用される。 The node device 100 further includes a frame branching processing unit 106 that determines the type of frame received by the receiving unit 101. In the first embodiment, “data frame”, “hello frame”, and “ACK (ACKnowledgment) frame” are used. Also, “empty data frame” is used in order to increase the frame transfer efficiency. Furthermore, an “aggregated empty data frame” is also used as necessary.
 ノード装置100は、ACKフレームに関する処理を行うACK処理部107と、ハローフレームの受信に応じて処理を行うリンク管理部108を備える。また、ノード装置100は、データフレームの受信に応じた処理を行うために、バッファ部109とデータフレーム処理部110を備えている。ノード装置100はさらに、上位層処理部111、ハローフレーム生成部112、およびFID生成部113も備えている。さらに、ノード装置100は、送信キュー114を備えている。 The node device 100 includes an ACK processing unit 107 that performs processing related to an ACK frame, and a link management unit 108 that performs processing in response to reception of a hello frame. Further, the node device 100 includes a buffer unit 109 and a data frame processing unit 110 in order to perform processing according to reception of the data frame. The node device 100 further includes an upper layer processing unit 111, a hello frame generation unit 112, and an FID generation unit 113. Further, the node device 100 includes a transmission queue 114.
 ノード装置100の各部は以下のように動作する。
 受信部101がフレームを受信し、受信したフレームをフレーム分岐処理部106に出力する。すると、フレーム分岐処理部106がフレームの種別を判別する。
Each unit of the node device 100 operates as follows.
The receiving unit 101 receives the frame and outputs the received frame to the frame branch processing unit 106. Then, the frame branch processing unit 106 determines the type of frame.
 ハローフレームが受信された場合、フレーム分岐処理部106は、受信されたハローフレームをリンク管理部108に出力する。リンク管理部108は、隣接ノード管理テーブル103を管理しており、さらに、重み付けテーブル104の管理にも関与している。 When the hello frame is received, the frame branching processing unit 106 outputs the received hello frame to the link management unit 108. The link management unit 108 manages the adjacent node management table 103 and is also involved in the management of the weighting table 104.
 ここで、ハローフレームは、制御情報を通信するための制御フレームの一種であり、具体的には、ノード装置100が自分自身の存在を他のノード装置に通知するためのフレームである。よって、詳しくは図25とともに後述するとおり、リンク管理部108は、ハローフレームの受信を契機として隣接ノード装置の存在を認識し、認識結果を隣接ノード管理テーブル103に反映させる。すなわち、隣接ノード管理テーブル103は、ノード装置100に隣接する他のノード装置を、ノード装置100が記憶しておくためのテーブルである。 Here, the hello frame is a type of control frame for communicating control information, and specifically, a frame for the node device 100 to notify the other node devices of its own existence. Therefore, as will be described in detail later with reference to FIG. 25, the link management unit 108 recognizes the presence of the adjacent node device triggered by the reception of the hello frame, and reflects the recognition result in the adjacent node management table 103. That is, the adjacent node management table 103 is a table for the node device 100 to store other node devices adjacent to the node device 100.
 なお、ネットワークの状況は動的に変化しうるので、場合によっては、今まで隣接ノード装置としてリンク管理部108に認識されていた他のノード装置が、隣接ノード装置として認識不能となるかもしれない。よって、詳しくは図27とともに後述するとおり、リンク管理部108は、隣接ノード装置として認識不能となったノード装置に関するエントリを隣接ノード管理テーブル103から削除するためのエージング処理も行う。 Since the network status can change dynamically, in some cases, other node devices that have been recognized as adjacent node devices by the link management unit 108 may become unrecognizable as adjacent node devices. . Therefore, as will be described in detail later with reference to FIG. 27, the link management unit 108 also performs an aging process for deleting, from the adjacent node management table 103, entries related to node devices that have become unrecognizable as adjacent node devices.
 また、第1実施形態においてリンク管理部108は、隣接ノード装置の変化にともなって重み付けテーブル104の追加、削除、あるいは更新を行う。
 ここで、重み付けテーブル104は、フレームをどの隣接ノード装置に送信するかを決定するための情報をGDごとに管理するためのテーブルである。図3にはM個のGDそれぞれに対応して設けられた重み付けテーブル104-1~104-Mが示されている。本明細書において「重み付けテーブル104」とは、重み付けテーブル104-1~104-Mの総称である。また、ノード装置100の運用が開始される時点では、重み付けテーブル104は存在せず、M=0である。
In the first embodiment, the link management unit 108 adds, deletes, or updates the weighting table 104 in accordance with the change of the adjacent node device.
Here, the weighting table 104 is a table for managing, for each GD, information for determining which adjacent node device the frame is transmitted to. FIG. 3 shows weighting tables 104-1 to 104-M provided for each of the M GDs. In this specification, the “weighting table 104” is a general term for the weighting tables 104-1 to 104-M. In addition, when the operation of the node device 100 is started, the weighting table 104 does not exist and M = 0.
 具体的には、重み付けテーブル104は、「最終的にフレームをGDに到達させるためには、ノード装置100自身はどの隣接ノード装置をLDとして選択することができるか」ということをGDごとに管理している。換言すれば、重み付けテーブル104は、フレームのGDごとに、ノード装置100に隣接する1つ以上のノード装置に関して、LDとして選択する際の優先度を、重みとして表して保持している。 Specifically, the weighting table 104 manages, for each GD, “which adjacent node device can be selected as the LD by the node device 100 itself in order to finally reach the frame to the GD”. is doing. In other words, the weighting table 104 represents, for each GD of a frame, the priority at the time of selecting as an LD for one or more node devices adjacent to the node device 100 as a weight.
 別の観点から言えば、ある隣接ノード装置が「LDとして選択可能である」とは、当該隣接ノード装置へのフレームの送信可能性が「送信可能」であることを意味する。また、ある隣接ノード装置が「LDとして選択不能である」とは、当該隣接ノード装置へのフレームの送信可能性が「送信不能」であることを意味し、当該隣接ノード装置の優先度が、「送信不能」に対応する所定の最低優先度であることを意味する。 From another point of view, the fact that a certain adjacent node device is “selectable as an LD” means that the transmission possibility of a frame to the adjacent node device is “transmittable”. Also, that an adjacent node device is “not selectable as an LD” means that the transmission possibility of a frame to the adjacent node device is “not transmittable”, and the priority of the adjacent node device is It means a predetermined lowest priority corresponding to “transmission impossible”.
 したがって、ネットワークの状況の変化に応じてノード装置100の隣接ノード装置が変化すると、リンク管理部108は、詳しくは図25および図27とともに後述するとおり、隣接ノード装置の変化に応じて重み付けテーブル104を追加、更新、または削除する。 Therefore, when the adjacent node device of the node device 100 changes according to the change in the network status, the link management unit 108 performs the weighting table 104 according to the change of the adjacent node device, as will be described in detail later with reference to FIGS. Add, update, or delete.
 また、ACKフレームが受信された場合、フレーム分岐処理部106は、受信されたACKフレームをACK処理部107に出力する。ここで、ACKフレームは、制御フレームの一種であり、ノード装置100が送信したデータフレームのLDであるノード装置から、ノード装置100に、データフレームの受信を通知するためのフレームである。 Further, when an ACK frame is received, the frame branching processing unit 106 outputs the received ACK frame to the ACK processing unit 107. Here, the ACK frame is a kind of control frame, and is a frame for notifying the node device 100 of the reception of the data frame from the node device that is the LD of the data frame transmitted by the node device 100.
 したがって、ACKフレームの受信は、データフレームの送信が成功したことを意味し、所定の時間が経過してもACKフレームが受信されずにタイムアウトとなることは、データフレームの送信に失敗したことを意味する。ACK処理部107は、後述の図37に示すACKフレーム受信のタイムアウト監視を行う。 Therefore, the reception of the ACK frame means that the transmission of the data frame has succeeded, and the time-out without receiving the ACK frame even after a predetermined time has passed means that the transmission of the data frame has failed. means. The ACK processing unit 107 performs time-out monitoring of ACK frame reception shown in FIG.
 バッファ部109は、データフレームの送信失敗と再送に備えて、データフレームを格納している。よって、詳しくは図37とともに後述するとおり、ACK処理部107は、ACKフレームの受信を契機としてデータフレームの送信成功を認識すると、不要になったデータフレームをバッファ部109から削除可能な状態にする。ただし、バッファ部109において、データフレームは、対応するACKフレームの受信時に即座に削除可能な状態にされるのではない。すなわち、対応するACKフレームが受信された場合であっても、バッファ部109に書き込まれたデータフレームは、所定時間Gが経過するまではそのまま保持される。所定時間Gは、後で詳しく説明するが、例えば、FID管理テーブル105のエージング時間に相当する。また、ACK処理部107は、データフレームの送信の成否をデータフレーム処理部110に通知する。 The buffer unit 109 stores data frames in preparation for transmission failure and retransmission of data frames. Therefore, as will be described in detail later with reference to FIG. 37, when the ACK processing unit 107 recognizes the successful transmission of the data frame triggered by the reception of the ACK frame, the ACK processing unit 107 enters a state in which the unnecessary data frame can be deleted from the buffer unit 109. . However, in the buffer unit 109, the data frame is not brought into a state in which it can be immediately deleted when the corresponding ACK frame is received. That is, even when the corresponding ACK frame is received, the data frame written in the buffer unit 109 is held as it is until the predetermined time G elapses. Although the predetermined time G will be described in detail later, for example, it corresponds to the aging time of the FID management table 105. Further, the ACK processing unit 107 notifies the data frame processing unit 110 of success or failure of transmission of the data frame.
 また、データフレームが受信された場合、フレーム分岐処理部106は、受信されたデータフレームをバッファ部109に格納するとともに、後述の図30~図35の処理を行うようデータフレーム処理部110に依頼する。 When a data frame is received, the frame branching processing unit 106 stores the received data frame in the buffer unit 109 and requests the data frame processing unit 110 to perform the processes shown in FIGS. 30 to 35 described later. To do.
 ここで、データフレームは、GSであるノード装置が、GDであるノード装置に伝達しようとするデータを、ペイロードとして含むフレームである。換言すれば、第1実施形態におけるフレームが定義される層よりも上位の層で定義されるプロトコルのPDUが、ペイロードとしてデータフレームに含まれる。上位層処理部111は、ノード装置100がGSまたはGDである場合に、データフレームにペイロードとして含まれる上位層のPDUを処理する。 Here, the data frame is a frame including, as a payload, data that the node device that is the GS intends to transmit to the node device that is the GD. In other words, a PDU of a protocol defined in a layer higher than a layer in which the frame in the first embodiment is defined is included in the data frame as a payload. When the node device 100 is GS or GD, the upper layer processing unit 111 processes an upper layer PDU included as a payload in the data frame.
 フレーム分岐処理部106からデータフレームの処理の依頼を受けたデータフレーム処理部110の動作の概要は、以下のとおりである。
 データフレーム処理部110は、受信部101が受信したデータフレームに対するACKフレームの送信を送信部102に依頼する。また、データフレーム処理部110は、受信されたデータフレームのGDの値がノード装置100の自ノードIDと等しいか否かを判断する。そして、受信されたデータフレームのGDの値がノード装置100の自ノードIDと異なる場合、データフレーム処理部110は、FID管理テーブル105を参照することにより、今回の受信が下記(A1)と(A2)のどちらに該当するのかを判断する。
An outline of the operation of the data frame processing unit 110 that has received a data frame processing request from the frame branching processing unit 106 is as follows.
The data frame processing unit 110 requests the transmission unit 102 to transmit an ACK frame for the data frame received by the reception unit 101. Further, the data frame processing unit 110 determines whether or not the GD value of the received data frame is equal to the own node ID of the node device 100. If the GD value of the received data frame is different from the own node ID of the node device 100, the data frame processing unit 110 refers to the FID management table 105, so that the current reception is (A1) and ( It is determined which of A2) is applicable.
  (A1)過去にノード装置100がLSとなって送信したデータフレームが、ネットワーク内を中継されているうちにノード装置100に戻ってきて、受信部101で受信された。 (A1) A data frame transmitted in the past by the node device 100 as an LS returned to the node device 100 while being relayed through the network, and was received by the receiving unit 101.
  (A2)上記(A1)以外の新たなデータフレームが受信部101で受信された。
 データフレーム処理部110は、今回の受信が(A2)に該当すると判断すると、重み付けテーブル104を参照して、受信したデータフレームを転送するためにLDとして指定する隣接ノード装置を選択し、データフレームの転送を送信部102に依頼する。
(A2) A new data frame other than (A1) is received by the receiving unit 101.
If the data frame processing unit 110 determines that the current reception corresponds to (A2), the data frame processing unit 110 refers to the weighting table 104, selects an adjacent node device designated as an LD to transfer the received data frame, Is requested to the transmission unit 102.
 他方、データフレーム処理部110は、今回の受信が(A1)に該当すると判断すると、過去にLDとして選択した隣接ノード装置が、適切なLDではなかったと認識し、認識の結果を重み付けテーブル104に反映させる。そして、データフレーム処理部110は、重み付けテーブル104を参照して、LDとして選択可能な隣接ノード装置が他にまだ残っているか否かを判断する。 On the other hand, when determining that the current reception corresponds to (A1), the data frame processing unit 110 recognizes that the adjacent node device selected as the LD in the past is not an appropriate LD, and stores the recognition result in the weighting table 104. To reflect. Then, the data frame processing unit 110 refers to the weighting table 104 to determine whether or not there are other adjacent node devices that can be selected as the LD.
 データフレーム処理部110は、また、ACK処理部107からのデータフレーム送信成功あるいは送信失敗の通知を受け、該データフレームのLDとして選択した隣接ノード装置が適切か否かの認識をし、その認識結果を重み付けテーブル104に反映させる。 The data frame processing unit 110 also receives a notification of data frame transmission success or transmission failure from the ACK processing unit 107 and recognizes whether or not the adjacent node device selected as the LD of the data frame is appropriate. The result is reflected in the weighting table 104.
 なお、ノード装置100に隣接する、あるノード装置Nが「LDとして選択可能である」とは、直感的には「隣接ノード装置NをLDとして選択してみて、フレームが成功裡にGDまで到達するか否かを試してみる価値がある」という意味である。具体的には、ノード装置Nが「LDとして選択可能である」とは、「下記(B1)でもなく下記(B2)でもない」という意味である。なお、「選択可能」という語の、より詳細な意味については、後述の図5に関する説明と、図32に関する(F1)~(F2)と(G1)~(G4)の説明から明らかである。 Incidentally, adjacent to the node device 100, and a node device N i is "can be selected as the LD", it is intuitively try to select "adjacent node device N i as LD, GD frame successfully It ’s worth trying to see if it ’s possible. Specifically, the node device Ni being “selectable as an LD” means “not (B1) below or (B2) below”. The more detailed meaning of the word “selectable” is clear from the description of FIG. 5 described later and the descriptions of (F1) to (F2) and (G1) to (G4) regarding FIG.
  (B1)ノード装置100が隣接ノード装置Nを過去にLDとして選択した結果、ループ等の何らかの失敗が発生したことがあり、「ノード装置NはLDとして不適切である」と既に判明している。 (B1) results node device 100 has selected as the LD to the adjacent node device N i in the past, sometimes some failures of the loop or the like occurs, already proven to "node device N i is inappropriate as LD" ing.
  (B2)今回受信部101が受信したデータフレームを、かつて受信部101が初めて受信したときのLS(以下「Original Local Source」と称し、「OLS」と略す)が、ノード装置Nであった。 The (B2) This receiver 101 is a data frame received once LS when the receiver 101 is received for the first time (hereinafter referred to as "Original Local Source" abbreviated as "OLS") was the node device N i .
 データフレーム処理部110は、もしLDとして選択可能な隣接ノード装置が他にまだ残っていれば、選択可能な隣接ノード装置を選んでLDとして指定し、データフレームの転送を送信部102に依頼する。逆に、LDとして選択可能な隣接ノード装置がもう残っていなければ、データフレーム処理部110は、下記(C1)または(C2)のように動作する。 If there are still other adjacent node devices that can be selected as the LD, the data frame processing unit 110 selects the selectable adjacent node device as the LD, and requests the transmission unit 102 to transfer the data frame. . Conversely, if there are no more adjacent node devices that can be selected as the LD, the data frame processing unit 110 operates as in (C1) or (C2) below.
  (C1)今回受信したデータフレームのGSがノード装置100以外である場合、データフレーム処理部110は、OLSへデータフレームを返送するため、OLSをLDとして選択し、データフレームの転送を送信部102に依頼する。この動作は、OLSである隣接ノード装置に「ノード装置100をLDとして選択することは不適切である」と認識させるための動作であり、後述するとおり経路探索におけるバックトラックに相当する。 (C1) When the GS of the data frame received this time is other than the node device 100, the data frame processing unit 110 selects the OLS as the LD to return the data frame to the OLS, and transfers the data frame to the transmission unit 102. To ask. This operation is an operation for causing an adjacent node device that is an OLS to recognize that “selecting the node device 100 as an LD is inappropriate”, and corresponds to backtracking in a route search as described later.
  (C2)今回受信したデータフレームのGSがノード装置100自身である場合、このデータフレームを元々生成したのは上位層処理部111である。よって、データフレーム処理部110は、上位層処理部111に対してデータフレームの送信失敗を通知し、バッファ部109に格納されているデータフレームを破棄する。 (C2) When the GS of the data frame received this time is the node device 100 itself, the upper layer processing unit 111 originally generated the data frame. Therefore, the data frame processing unit 110 notifies the upper layer processing unit 111 of a data frame transmission failure, and discards the data frame stored in the buffer unit 109.
 なお、以上のようなデータフレーム処理部110の動作を実現するためには、データフレーム処理部110は上記(A1)と(A2)の区別をすることが必要である。そのため第1実施形態では、データフレームを一意に識別することのできるフレーム識別情報が各データフレームに含まれており、フレーム識別情報をFID管理テーブル105が記憶している。 In order to realize the operation of the data frame processing unit 110 as described above, the data frame processing unit 110 needs to distinguish between (A1) and (A2). Therefore, in the first embodiment, frame identification information that can uniquely identify a data frame is included in each data frame, and the FID management table 105 stores the frame identification information.
 第1実施形態でのフレーム識別情報は、具体的には、データフレームのGSであるノード装置のノードIDと、FIDとの組み合わせである。FIDは、ある1つのノード装置がGSとなって送信する複数のフレームの各々を一意に識別する識別情報であり、例えば所定のビット数のシーケンス番号でもよいし、タイムスタンプでもよい。 The frame identification information in the first embodiment is specifically a combination of the node ID of the node device, which is the GS of the data frame, and the FID. The FID is identification information that uniquely identifies each of a plurality of frames transmitted as a GS by a certain node device, and may be a sequence number of a predetermined number of bits or a time stamp, for example.
 つまり、個々のノード装置は独立にFIDを生成するため、異なる複数のノード装置が偶然同じFIDを生成することもありうる。しかし、フレーム識別情報は、FID単独ではなく、データフレームのGSであるノード装置のノードIDと、FIDとの組み合わせである。そして、ノードIDは、上記のとおりネットワーク内でノード装置を一意に識別する情報である。したがって、たとえ異なる複数のノード装置が偶然同じFIDを生成したとしても、異なるノード装置がそれぞれGSとなって送信したフレームは、異なるフレーム識別情報を有するので、区別可能である。 That is, since each node device independently generates a FID, a plurality of different node devices may accidentally generate the same FID. However, the frame identification information is not a FID alone, but a combination of the node ID of the node device, which is the GS of the data frame, and the FID. The node ID is information for uniquely identifying the node device in the network as described above. Therefore, even if a plurality of different node devices accidentally generate the same FID, frames transmitted by different node devices as GS each have different frame identification information and can be distinguished.
 なお、フレーム識別情報は、データフレームが1つ以上のノード装置を経由してネットワーク内を転送されても、データフレームを中継するノード装置によって書き換えられることはなく、したがって変化しない。データフレーム処理部110は、送信部102に送信を依頼したデータフレームのフレーム識別情報をFID管理テーブル105に記録することにより、後にデータフレームがノード装置100自身に戻ってきたとき、上記(A1)に該当すると認識することができる。 The frame identification information is not rewritten by the node device that relays the data frame even if the data frame is transferred through the network via one or more node devices, and therefore does not change. The data frame processing unit 110 records the frame identification information of the data frame requested to be transmitted to the transmission unit 102 in the FID management table 105, and when the data frame later returns to the node device 100 itself (A1) It can be recognized that it falls under.
 なお、ノード装置100は、フレームの受信を契機としないその他の処理も行う。具体的には、ハローフレーム生成部112が、FID生成部113の生成するFIDを利用して定期的にハローフレームを生成し、送信部102に出力する。すると送信部102がハローフレームを送信するので、ノード装置100は、ノード装置100自身の存在を定期的に周囲に通知することができる。 Note that the node device 100 performs other processing not triggered by reception of the frame. Specifically, the hello frame generation unit 112 periodically generates a hello frame using the FID generated by the FID generation unit 113 and outputs the hello frame to the transmission unit 102. Then, since the transmission unit 102 transmits a hello frame, the node device 100 can periodically notify the surroundings of the presence of the node device 100 itself.
 また、上位層処理部111は任意のタイミングで、データフレームにペイロードとして含めて送信する対象のデータをデータフレーム処理部110に出力することができる。すると、データフレーム処理部110は、上位層処理部111の要求に応じてデータフレームを生成し、送信部102にデータフレームの送信を指示する。こうして、ノード装置100は、自らGSとなることができる。 Also, the upper layer processing unit 111 can output the data to be transmitted as a payload in the data frame to the data frame processing unit 110 at an arbitrary timing. Then, the data frame processing unit 110 generates a data frame in response to a request from the higher layer processing unit 111 and instructs the transmission unit 102 to transmit the data frame. Thus, the node device 100 can be a GS itself.
 図4は、第1実施形態におけるノード装置のハードウェア構成を示す図である。図3のノード装置100は、例えば図4に示す各種ハードウェアにより実現されてもよい。
 図4の例では、ノード装置100は、MPU(MicroProcessing Unit)201、PHY(PHYsical layer)チップ202、およびタイマIC(Integrated Circuit)203を備える。また、ノード装置100は、DRAM(Dynamic Random access Memory)204、フラッシュメモリ205、および無線モジュール206を備える。
FIG. 4 is a diagram illustrating a hardware configuration of the node device according to the first embodiment. The node device 100 in FIG. 3 may be realized by, for example, various hardware illustrated in FIG.
In the example of FIG. 4, the node device 100 includes an MPU (MicroProcessing Unit) 201, a PHY (PHYsical layer) chip 202, and a timer IC (Integrated Circuit) 203. Further, the node device 100 includes a dynamic random access memory (DRAM) 204, a flash memory 205, and a wireless module 206.
 MPU201とPHYチップ202の間を接続する通信インタフェイスは、MII/MDIO(Media Independent Interface or Management Data Input/Output)207である。MIIとMDIOはいずれも、物理層とMAC副層(Media Access Control sublayer)との間のインタフェイスである。また、MPU201とタイマIC203は、IC/PIO(Inter-Integrated Circuit or Parallel Input/Output)バス208を介して接続されている。そして、DRAM204とフラッシュメモリ205と無線モジュール206は、PCI(Peripheral Component Interconnect)バス209を介してMPU201に接続されている。 A communication interface that connects the MPU 201 and the PHY chip 202 is an MII / MDIO (Media Independent Interface or Management Data Input / Output) 207. Both MII and MDIO are interfaces between the physical layer and the MAC sublayer (Media Access Control sublayer). The MPU 201 and the timer IC 203 are connected via an I 2 C / PIO (Inter-Integrated Circuit or Parallel Input / Output) bus 208. The DRAM 204, the flash memory 205, and the wireless module 206 are connected to the MPU 201 via a PCI (Peripheral Component Interconnect) bus 209.
 MPU201は、不揮発性記憶装置の一種であるフラッシュメモリ205に格納されたファームウェアなどのプログラムをDRAM204にロードし、DRAM204をワーキングメモリとして使いながら各種処理を実行する。MPU201は、プログラムを実行することで、図3のフレーム分岐処理部106、ACK処理部107、リンク管理部108、データフレーム処理部110、上位層処理部111、ハローフレーム生成部112、およびFID生成部113として動作することができる。 The MPU 201 loads a program such as firmware stored in a flash memory 205, which is a kind of nonvolatile storage device, into the DRAM 204, and executes various processes while using the DRAM 204 as a working memory. The MPU 201 executes the program so that the frame branch processing unit 106, the ACK processing unit 107, the link management unit 108, the data frame processing unit 110, the upper layer processing unit 111, the hello frame generation unit 112, and the FID generation in FIG. The unit 113 can operate.
 なお、ファームウェアなどのプログラムは、コンピュータ読み取り可能な記憶媒体に格納されて提供され、ノード装置100にインストールされてもよい。または、プログラムは、ネットワークからPHYチップ202もしくは無線モジュール206を介してダウンロードされ、ノード装置100にインストールされてもよい。 Note that a program such as firmware may be provided by being stored in a computer-readable storage medium and installed in the node device 100. Alternatively, the program may be downloaded from the network via the PHY chip 202 or the wireless module 206 and installed in the node device 100.
 なお、実施形態に応じて、DRAM204やフラッシュメモリ205以外の他の種類の記憶装置が利用されてもよい。例えば、ノード装置100は、CAM(Content Addressable Memory)、SRAM(Static Random Access Memory)、SDRAM(Synchronous Dynamic Random Access Memory)などの記憶装置を有してもよい。 Depending on the embodiment, other types of storage devices other than the DRAM 204 and the flash memory 205 may be used. For example, the node device 100 may include a storage device such as a CAM (Content Addressable Memory), an SRAM (Static Random Access Memory), or an SDRAM (Synchronous Dynamic Random Access Memory).
 図3の隣接ノード管理テーブル103、重み付けテーブル104、FID管理テーブル105、バッファ部109、送信キュー114は、DRAM204、フラッシュメモリ205、あるいは不図示のその他の記憶装置により実現される。また、フラッシュメモリ205は、プログラムだけでなく、ノード装置100のノードIDなど、ノード装置100に固有の情報も記憶している。 3, the adjacent node management table 103, the weighting table 104, the FID management table 105, the buffer unit 109, and the transmission queue 114 are realized by the DRAM 204, the flash memory 205, or other storage device (not shown). The flash memory 205 stores not only programs but also information unique to the node device 100 such as the node ID of the node device 100.
 PHYチップ202は、有線接続における物理層の処理を行う回路である。第1実施形態は無線ネットワークに適用されるので、第1実施形態では、ノード装置100はPHYチップ202を備えなくてもよい。しかし、ノード装置100と外部ネットワークとの接続のために、ノード装置100はPHYチップ202を備えていてもよい。 The PHY chip 202 is a circuit that performs physical layer processing in wired connection. Since the first embodiment is applied to a wireless network, the node device 100 may not include the PHY chip 202 in the first embodiment. However, the node device 100 may include a PHY chip 202 for connection between the node device 100 and an external network.
 例えば、ノード装置100は、イーサネット(登録商標)規格にしたがった有線LANポートを備え、有線LANポートに接続されたケーブルを介して外部ネットワークのゲートウェイ装置などに接続されていてもよい。 For example, the node device 100 may include a wired LAN port according to the Ethernet (registered trademark) standard, and may be connected to a gateway device of an external network via a cable connected to the wired LAN port.
 その場合、MPU201は、イーサネットフレームを生成し、MII/MDIO207を介してPHYチップ202に出力することができる。そして、PHYチップ202は、MPU201からの出力(すなわちイーサネットフレームを表す論理信号)を、ケーブルの種類に応じた信号(つまり電気信号または光信号)に変換し、ケーブルに出力する。こうして、ノード装置100はPHYチップ202を用いて外部ネットワークにデータを送信することができる。 In that case, the MPU 201 can generate an Ethernet frame and output it to the PHY chip 202 via the MII / MDIO 207. The PHY chip 202 converts the output from the MPU 201 (that is, a logical signal representing an Ethernet frame) into a signal (that is, an electrical signal or an optical signal) corresponding to the type of the cable, and outputs the signal to the cable. In this way, the node device 100 can transmit data to the external network using the PHY chip 202.
 また、PHYチップ202は、ケーブルと有線LANポートを介して外部ネットワークから入力される電気信号または光信号を、論理信号に変換し、MII/MDIO207を介してMPU201に出力することもできる。こうして、ノード装置100はPHYチップ202を用いて外部ネットワークからデータを受信することができる。 The PHY chip 202 can also convert an electrical signal or an optical signal input from an external network via a cable and a wired LAN port into a logical signal and output the logical signal to the MPU 201 via the MII / MDIO 207. Thus, the node device 100 can receive data from the external network using the PHY chip 202.
 無線モジュール206は、無線接続における物理層の処理を行うハードウェアである。無線モジュール206は、例えば、アンテナ、ADC(Analog-to-Digital Converter)、DAC(Digital-to-Analog Converter)、変調器、復調器、符号化器、復号器などを含む。 The wireless module 206 is hardware that performs physical layer processing in wireless connection. The wireless module 206 includes, for example, an antenna, an ADC (Analog-to-Digital Converter), a DAC (Digital-to-Analog Converter), a modulator, a demodulator, an encoder, a decoder, and the like.
 第1実施形態では、図3の受信部101と送信部102は、図4の無線モジュール206により実現される。つまり、第1実施形態では、ネットワーク内のリンクは無線リンクである。なお、後述する第2の実施形態のように、有線リンクが存在する実施形態も可能である。 In the first embodiment, the receiving unit 101 and the transmitting unit 102 in FIG. 3 are realized by the wireless module 206 in FIG. That is, in the first embodiment, the link in the network is a wireless link. Note that an embodiment in which a wired link is present is also possible, as in a second embodiment to be described later.
 タイマIC203は、設定された時間が経過するまでカウントアップ動作を行い、設定された時間が経過すると割り込み信号を出力する。例えば、タイマIC203は、隣接ノード管理テーブル103、重み付けテーブル104、FID管理テーブル105のエージング処理をそれぞれ所定の間隔で実行するための割り込み信号を出力してもよい。 Timer IC 203 performs a count-up operation until a set time elapses, and outputs an interrupt signal when the set time elapses. For example, the timer IC 203 may output an interrupt signal for executing the aging processing of the adjacent node management table 103, the weighting table 104, and the FID management table 105 at predetermined intervals.
 なお、実施形態に応じて、ノード装置のハードウェア構成は図4とは異なっていてもよく、図4に例示した規格・種類以外のその他のハードウェアをノード装置に利用することもできる。 Depending on the embodiment, the hardware configuration of the node device may be different from that in FIG. 4, and other hardware other than the standard / type illustrated in FIG. 4 may be used for the node device.
 例えば、図3のフレーム分岐処理部106、ACK処理部107、リンク管理部108、データフレーム処理部110、上位層処理部111、ハローフレーム生成部112、またはFID生成部113は、ハードウェア回路により実現されてもよい。具体的には、MPU201の代わりに、FPGA(Field Programmable Gate Array)などのリコンフィギュラブル回路や、ASIC(Application Specific Integrated Circuit)などにより、これら図3の各部が実現されてもよい。もちろん、MPU201とハードウェア回路の双方により、図3の各部が実現されてもよい。 For example, the frame branch processing unit 106, the ACK processing unit 107, the link management unit 108, the data frame processing unit 110, the upper layer processing unit 111, the hello frame generation unit 112, or the FID generation unit 113 in FIG. It may be realized. Specifically, each part of FIG. 3 may be realized by a reconfigurable circuit such as an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit) instead of the MPU 201. Of course, each unit of FIG. 3 may be realized by both the MPU 201 and the hardware circuit.
 なお、以下の説明においては、説明の明確化のため、図3および図4の各部の参照符号の後にノードIDを付けた参照符号を用いることがある。例えば、ノード装置Nが有する図3の隣接ノード管理テーブル103を「103-N」という参照符号で参照する場合がある。 In the following description, for the sake of clarification, a reference code in which a node ID is added after a reference code of each part in FIGS. 3 and 4 may be used. For example, the adjacent node management table 103 of FIG. 3 included in the node device N 1 may be referred to with a reference numeral “103-N 1 ”.
 続いて、個々のノード装置の動作の概要について図5を参照して説明し、個々のノード装置の動作の結果としてネットワーク全体として実現される経路選択について図6を参照して説明する。 Subsequently, an outline of the operation of each node device will be described with reference to FIG. 5, and route selection realized as the entire network as a result of the operation of each node device will be described with reference to FIG.
 図5は、1つのノード装置に注目して重みの学習について説明する図である。図5には、ネットワーク3内の6つのノード装置が「ノードα」~「ノードζ」として抜粋されて示されている。図5に示すように、ノードβにはノードα、γ、δ、ε、およびζが隣接しており、図5では下記5本のリンクが実線で示されている。
  ・ノードβとαの間のリンクLβ,α
  ・ノードβとγの間のリンクLβ,γ
  ・ノードβとδの間のリンクLβ,δ
  ・ノードβとεの間のリンクLβ,ε
  ・ノードβとζの間のリンクLβ,ζ
FIG. 5 is a diagram for explaining learning of weights by paying attention to one node device. In FIG. 5, six node devices in the network 3 are extracted as “node α” to “node ζ”. As shown in FIG. 5, nodes α, γ, δ, ε, and ζ are adjacent to the node β, and the following five links are indicated by solid lines in FIG. 5.
-Link L β, α between nodes β and α
Link L β, γ between nodes β and γ
Link L β, δ between nodes β and δ
Link L β, ε between nodes β and ε
Link L β, ζ between nodes β and ζ
 また、図5において雲の形で模式的に表現されたネットワーク3aは、ネットワーク3のうちの一部分である。ネットワーク3aは、具体的には、ノードδとζの間を直接的に接続するリンク、または、1つ以上の不図示のノードと2本以上の不図示のリンクを介してノードδとζの間を間接的に接続する経路を含む。 Further, the network 3 a schematically represented in the shape of a cloud in FIG. 5 is a part of the network 3. Specifically, the network 3a includes a link directly connecting the nodes δ and ζ, or one of the nodes δ and ζ via one or more unillustrated nodes and two or more unillustrated links. Includes routes that indirectly connect each other.
 以下では、図5においてノードβに注目し、ノードβにおける重みの学習について説明する。
 あるとき、ノードβが、ネットワーク3内の不図示のあるノード(以下、便宜的に「ノードη」という)をGDとするデータフレーム301を、リンクLβ,αを介してノードαから受信する。ノードβは図3の重み付けテーブル104を有しており、このうちノードηに対応する重み付けテーブルを、図5の説明では便宜的に「104-h」という参照符号で参照する。
In the following, focusing on the node β in FIG. 5, the learning of the weight at the node β will be described.
At some point, the node β receives a data frame 301 having a node (not shown) in the network 3 (hereinafter referred to as “node η” for convenience) as a GD from the node α via the links L β and α. . The node β has the weighting table 104 in FIG. 3, and among these, the weighting table corresponding to the node η is referred to by the reference numeral “104-h” for convenience in the description of FIG.
 詳しくは図10および図11とともに後述するが、GDごとに管理される重み付けテーブル104のそれぞれは、隣接ノードと重みの対応付けを記憶している。ノードβにはノードα、γ、δ、ε、およびζが隣接しているので、重み付けテーブル104-hでは、ノードαと重みWα、ノードγと重みWγ、ノードδと重みWδ、ノードεと重みWε、およびノードζと重みWζが、それぞれ対応付けられている。 Although details will be described later with reference to FIGS. 10 and 11, each of the weighting tables 104 managed for each GD stores associations between adjacent nodes and weights. Since nodes α, γ, δ, ε, and ζ are adjacent to the node β, in the weighting table 104-h, the node α and the weight W α , the node γ and the weight W γ , the node δ and the weight W δ , The node ε and the weight W ε are associated with the node ζ and the weight W ζ , respectively.
 説明の便宜上、ノードβがノードαからデータフレーム301を受信した時点での重み付けの関係が、式(1)のとおりであったとする。
 Wγ<Wδ<Wε<Wζ (1)
 以下、第1実施形態においては説明の便宜上、重みが0以上1以下の値をとり、重みの値が小さいほど当該重みに対応するノードの優先度が高いことを示すものとする。
For convenience of explanation, it is assumed that the weighting relationship at the time when the node β receives the data frame 301 from the node α is as shown in Expression (1).
W γ <W δ <W ε <W ζ (1)
Hereinafter, in the first embodiment, for convenience of explanation, the weight takes a value of 0 or more and 1 or less, and the smaller the weight value, the higher the priority of the node corresponding to the weight.
 したがって、式(1)に基づいてノードβは、最も軽い重みWγと対応付けられたノードγの優先度が、隣接ノードγ、δ、ε、およびζの中で最も高いことを認識する。よって、ノードβは、データフレーム301を転送するためのLDとして、隣接ノードγ、δ、ε、およびζの中から、まずノードγを選択し、ノードγにデータフレーム301を送信する。 Therefore, based on the equation (1), the node β recognizes that the priority of the node γ associated with the lightest weight W γ is the highest among the adjacent nodes γ, δ, ε, and ζ. Therefore, the node β first selects the node γ from the adjacent nodes γ, δ, ε, and ζ as the LD for transferring the data frame 301, and transmits the data frame 301 to the node γ.
 ここで、ノードβからノードγへの送信が失敗すると、ノードβは、「ノードηをGDとするデータフレームの送信時にノードγをLDとして選択することは不適切である」と学習する。そして、学習の結果として、ノードβは、ノードγの優先度を下げる。すなわち、ノードβは、重みWγの値を大きくする。 Here, when transmission from the node β to the node γ fails, the node β learns that “it is inappropriate to select the node γ as an LD when transmitting a data frame having the node η as a GD”. As a result of learning, the node β decreases the priority of the node γ. That is, the node β increases the value of the weight W γ .
 送信失敗には何種類かあり、具体的には、ノードβは下記(D1)または(D2)のようにして、「ノードηをGDとするデータフレームの送信時にノードγをLDとして選択することは不適切である」と学習する。 There are several types of transmission failures. Specifically, the node β selects the node γ as the LD when transmitting the data frame with the node η as the GD as shown in (D1) or (D2) below. Is inappropriate. "
  (D1)リンク障害の場合
 ノードβがデータフレーム301をノードγに転送した時点で、偶然リンクLβ,γ、あるいは、ノードγに障害が発生していると、ノードβはノードγへの送信が失敗したと認識する。
(D1) In the case of a link failure When the node β transfers the data frame 301 to the node γ , if a failure occurs in the link L β, γ or the node γ, the node β transmits to the node γ. Recognizes that failed.
 例えばリンクLβ,γが無線リンクである場合、ノードγからデータフレーム301に対するACKフレームが所定時間内に返信されてこなければ、ノードβはタイムアウトして、「ノードγへのデータフレーム301の送信に失敗した」と判断する。そして、ノードβは、「ノードηをGDとするデータフレームの送信時にノードγをLDとして選択することは不適切である」と学習し、LDとして選択したノードγに対応付けられた重みWγの値を大きくする。 For example, when the links L β and γ are wireless links, if an ACK frame for the data frame 301 is not returned from the node γ within a predetermined time, the node β times out and “transmits the data frame 301 to the node γ”. ” Then, the node β learns that “it is inappropriate to select the node γ as an LD when transmitting a data frame with the node η as a GD”, and the weight W γ associated with the node γ selected as the LD. Increase the value of.
 なお、無線リンクはその品質環境が変化しやすいため、リンク障害が再び解消されている可能性がある。そのため、第1実施形態においては、リンク障害時に一挙に重みWγを最大値にするのではなく、所定の値だけ大きくすることにしている。このようにすれば、1回のリンク障害発生だけでそのLDが不適切となることを防ぐことができる。 Since the quality environment of the radio link is likely to change, the link failure may be resolved again. Therefore, in the first embodiment, the weight W γ is not increased to a maximum value at a time when a link failure occurs, but is increased by a predetermined value. In this way, it is possible to prevent the LD from becoming inappropriate due to the occurrence of a single link failure.
  (D2)ノードγからノードβにデータフレーム301が戻ってくる場合
 ノードβは、一旦、ノードγへのデータフレーム301の送信に成功する。例えば、ノードβは、データフレーム301に対するACKフレームをノードγから受け取ることで、ノードγへのデータフレーム301の送信が成功したことを認識する。よって、一旦ノードβは、LDとして選択したノードγに対応付けられた重みWγの値を小さくする。
(D2) When the data frame 301 returns from the node γ to the node β The node β once succeeds in transmitting the data frame 301 to the node γ. For example, the node β recognizes that the transmission of the data frame 301 to the node γ is successful by receiving an ACK frame for the data frame 301 from the node γ. Therefore, the node β temporarily decreases the value of the weight W γ associated with the node γ selected as the LD.
 しかしながら、その後、ノードγからノードηまでデータフレーム301を転送することのできる経路がネットワーク3内で見つからなければ、後述するバックトラック動作により、ノードγはノードβにデータフレーム301を送り返す。例えば、ノードγがノードβにのみ隣接している場合、ノードγはノードηまでデータフレーム301を転送することのできる経路を見つけることができない。また、ノードγがノードβ以外にいくつかのノードに隣接している場合でも、ネットワーク3のトポロジによっては、ノードγからノードηまで到達不能なこともある。 However, if a route that can transfer the data frame 301 from the node γ to the node η is not found in the network 3 thereafter, the node γ sends the data frame 301 back to the node β by a backtrack operation described later. For example, when the node γ is adjacent only to the node β, the node γ cannot find a path through which the data frame 301 can be transferred to the node η. Even when the node γ is adjacent to some nodes other than the node β, the node γ may not reach the node η depending on the topology of the network 3.
 ノードγがバックトラック動作を行うと、ノードβは、ノードβ自身が過去にノードγに送信したデータフレーム301をノードγから受信するので、「ノードγへの送信が失敗した」と認識することができる。認識の結果、ノードβは、「ノードηをGDとするデータフレームの送信時にノードγをLDとして選択することは不適切である」と学習し、LDとして選択したノードγに対応付けられた重みWγの値を大きくする。 When the node γ performs the backtracking operation, the node β recognizes that “the transmission to the node γ has failed” because the node β itself receives the data frame 301 previously transmitted to the node γ from the node γ. Can do. As a result of recognition, the node β learns that “it is inappropriate to select the node γ as an LD when transmitting a data frame having the node η as a GD”, and the weight associated with the node γ selected as the LD. Increase the value of Wγ.
 第1実施形態では、(D2)のように、ノードβ自身が過去に送信したデータフレーム301を受信することでノードβが送信失敗を認識する場合、ノードβは具体的には重みWγの値を最大値に設定する。 In the first embodiment, as shown in (D2), when the node β recognizes a transmission failure by receiving the data frame 301 transmitted by the node β itself in the past, the node β specifically has the weight W γ . Set the value to the maximum value.
 以下では説明の便宜上、図5の例において(D2)のようにしてノードβが送信失敗を認識し、重みWγの値を最大値に設定したとする。その結果、式(2)が成立する。
 Wδ<Wε<Wζ<Wγ (2)
 続いてノードβは、GDである不図示のノードηへデータフレーム301を到達させるため、不適切と判明したノードγ以外の隣接ノードをLDとして選択し、データフレーム301の再送信を試みる。具体的には式(2)に基づいて、ノードβは、現時点で最も軽い重みWδと対応付けられたノードδをLDとして選択し、ノードδにデータフレーム301を送信する。
Hereinafter, for convenience of explanation, it is assumed that the node β recognizes the transmission failure and sets the value of the weight W γ to the maximum value as in (D2) in the example of FIG. As a result, Expression (2) is established.
W δ <W ε <W ζ <W γ (2)
Subsequently, in order to make the data frame 301 reach the node η (not shown) that is a GD, the node β selects an adjacent node other than the node γ determined to be inappropriate as the LD, and tries to retransmit the data frame 301. Specifically, based on Expression (2), the node β selects the node δ associated with the lightest weight W δ at the present time as the LD, and transmits the data frame 301 to the node δ.
 図5の例では、データフレーム301に対するACKフレームをノードβがノードδから受信し、ノードβは送信の成功を認識する。送信の成功を認識すると、ノードβは、LDとして選択したノードδに対応付けられた重みWδの値を小さくする。その結果、やはり式(2)が成立する。 In the example of FIG. 5, the node β receives the ACK frame for the data frame 301 from the node δ, and the node β recognizes the successful transmission. When recognizing the successful transmission, the node β decreases the value of the weight W δ associated with the node δ selected as the LD. As a result, the formula (2) is also established.
 続いて、データフレーム301はネットワーク3aを介してノードδからノードζに到達したとする。そして、ノードζがLDとしてノードβを選択したとする。
 すると、ノードβは、ノードβ自身が過去にノードδに送信したデータフレーム301をノードζから受信するので、「ノードδへの送信は、ループの存在により失敗した」と認識することができる。認識の結果、ノードβは、「ノードηをGDとするデータフレームの送信時にノードδをLDとして選択することは不適切である」と学習し、重みWδの値を大きくする。
Subsequently, it is assumed that the data frame 301 reaches the node ζ from the node δ via the network 3a. Assume that the node ζ selects the node β as the LD.
Then, since the node β receives from the node ζ the data frame 301 that the node β itself has transmitted to the node δ in the past, it can be recognized that “the transmission to the node δ has failed due to the presence of the loop”. As a result of the recognition, the node β learns that “it is inappropriate to select the node δ as LD when transmitting a data frame with the node η as GD”, and increases the value of the weight W δ .
 ここで、ループして戻ってきたデータフレーム301をノードβがノードζから受信する場合も、「ノードβ自身が過去に送信したデータフレーム301を受信することでノードβが送信失敗を認識する」という点では上記(D2)の場合と同様である。したがって、ノードβは、「ノードηをGDとするデータフレームの送信時にノードδをLDとして選択することは不適切である」と学習し、LDとして選択したノードδに対応付けられた重みWδの値を最大値に設定する。その結果、式(3)が成立する。
 Wε<Wζ<Wγ=Wδ (3)
 図5には、ノードζから同一データフレーム301を受信して重み付けを更新した結果の新しい重み付けの関係として、式(3)を示してある。
Here, also when the node β receives the data frame 301 returned in a loop from the node ζ, “the node β recognizes a transmission failure by receiving the data frame 301 transmitted in the past by the node β itself”. This is the same as in the case of (D2) above. Therefore, the node β learns that “it is inappropriate to select the node δ as an LD when transmitting a data frame having the node η as a GD”, and the weight W δ associated with the node δ selected as the LD. Set the value of to the maximum value. As a result, Expression (3) is established.
< < = (3)
FIG. 5 shows Expression (3) as a new weighting relationship as a result of updating the weighting by receiving the same data frame 301 from the node ζ.
 続いてノードβは、GDである不図示のノードηへデータフレーム301を到達させるため、不適切と判明したノードγおよびδ以外の隣接ノードをLDとして選択し、データフレーム301の再送信を試みる。具体的には式(3)に基づいて、ノードβは、現時点で最も軽い重みWεと対応付けられたノードεをLDとして選択し、ノードεにデータフレーム301を送信する。 Subsequently, the node β selects an adjacent node other than the nodes γ and δ determined to be inappropriate as the LD in order to cause the data frame 301 to reach a node η (not shown) that is a GD, and tries to retransmit the data frame 301. . Specifically, based on Expression (3), the node β selects the node ε associated with the lightest weight W ε at the present time as the LD, and transmits the data frame 301 to the node ε.
 図5の例では、データフレーム301に対するACKフレームをノードβがノードεから受信し、ノードβは送信の成功を認識する。送信の成功を認識すると、ノードβは、LDとして選択したノードεに対応付けられた重みWεの値を小さくする。その結果、やはり式(3)が成立する。 In the example of FIG. 5, the node β receives the ACK frame for the data frame 301 from the node ε, and the node β recognizes the successful transmission. When recognizing the success of transmission, the node β decreases the value of the weight W ε associated with the node ε selected as the LD. As a result, equation (3) is also established.
 ここで仮に、ノードεからバックトラックによってデータフレーム301がノードβへと返信されることがないとする。また、データフレーム301がネットワーク3内をループして、ノードβのいずれかの隣接ノードからノードβに送信され、ノードβで受信されることもないとする。 Here, it is assumed that the data frame 301 is not returned from the node ε to the node β by backtracking. Further, it is assumed that the data frame 301 loops in the network 3 and is transmitted from any adjacent node of the node β to the node β and is not received by the node β.
 すると、式(3)から、ノードβは、データフレーム301と同じくノードηをGDとする別のデータフレームを隣接ノードα、γ、δ、ζのいずれかから受け取った場合に、最も軽い重みWεと対応付けられたノードεをLDとして優先して選択するようになる。 Then, from equation (3), the node β receives the lightest weight Wε when it receives another data frame having the node η as GD from any of the adjacent nodes α, γ, δ, and ζ as in the data frame 301. The node ε associated with is preferentially selected as the LD.
 図6は、図1のネットワーク1において動的かつ自律分散的に経路が選択される様子を説明する図である。具体的には、図6は、ノード装置NがGSとなって、ノード装置NをGDとして指定したデータフレームを送信する場合の、ネットワーク1内での経路選択の様子を示す。 FIG. 6 is a diagram for explaining how routes are selected dynamically and autonomously distributed in the network 1 of FIG. Specifically, FIG. 6 shows a state of route selection in the network 1 when the node device N 1 becomes GS and transmits a data frame in which the node device N 7 is designated as GD.
 図6には図1のネットワーク1と、ノード装置NとNの間で発生した障害が示されている。また、図6の12本の太い矢印は、ネットワーク1内で経路が動的に選択されながらデータフレームがGS(すなわちノード装置N)からGD(すなわちノード装置N)まで転送される様子を表す。 FIG. 6 shows a failure that occurs between the network 1 of FIG. 1 and the node devices N 4 and N 7 . Further, twelve thick arrows in FIG. 6 indicate that a data frame is transferred from GS (ie, node device N 1 ) to GD (ie, node device N 7 ) while a route is dynamically selected in network 1. To express.
 なお、以下では、ノード装置Nの重み付けテーブル104-Nのうち、ノード装置Nに対応するものを便宜的に「104-h-N」という参照符号で参照することにする(1≦i≦6)。 In the following, among the weighting table 104-N i of the node device N i, to be referred to by reference numeral as for convenience those corresponding to the node device N 7 "104-h i -N i" ( 1 ≦ i ≦ 6).
 また、図6の説明においては、特に断らない限りデータフレームの送信が成功してACKフレームが返信されるものとし、ACKフレームの返信については省略して説明を簡略化する。ACKフレームの返信も含めた一連の処理の流れは、図42とともに後述する。 In the description of FIG. 6, unless otherwise specified, it is assumed that the transmission of the data frame is successful and the ACK frame is returned, and the description of the ACK frame is omitted to simplify the description. A series of processing flow including the reply of the ACK frame will be described later with reference to FIG.
 ステップS101で、GSであるノード装置Nは、唯一ノード装置Nに隣接するノード装置NをLDとして選択し、データフレームをノード装置Nに送信する。
 ノード装置Nには、ステップS101で送信されたデータフレームのLSであるノード装置Nのほかに、ノード装置NとNが隣接している。そして、この2つの隣接ノード装置NとNのうちでノード装置Nの方が、重み付けテーブル104-h-Nにおいて、より軽い重みと対応付けられているとする。
In step S101, the node device N 1 is a GS, select the node device N 2 adjacent to only the node device N 1 as LD, and transmits the data frame to the node device N 2.
The node device N 2, in addition to the node device N 1 is an LS of the transmitted data frame at step S101, the node device N 3 and N 6 are adjacent. Of the two adjacent node devices N 3 and N 6 , the node device N 3 is associated with a lighter weight in the weighting table 104 -h 2 -N 2 .
 すると、ステップS102でノード装置Nは、ステップS101で受信したデータフレームを転送するためのLDとしてノード装置Nを選択し、ノード装置Nにデータフレームを送信する。 Then, the node device N 2 in step S102, select the node device N 3 as LD for transferring the received data frame at step S101, it transmits the data frame to the node device N 3.
 ノード装置Nには、ステップS102で送信されたデータフレームのLSであるノード装置Nのほかに、ノード装置NとNが隣接している。そして、この2つの隣接ノード装置NとNのうちでノード装置Nの方が、重み付けテーブル104-h-Nにおいて、より軽い重みと対応付けられているとする。 To the node device N 3, in addition to the node device N 2 is LS of the transmitted data frame at step S102, the node apparatus N 4 and N 5 are adjacent. Of the two adjacent node devices N 4 and N 5 , the node device N 4 is associated with a lighter weight in the weighting table 104 -h 3 -N 3 .
 すると、ステップS103でノード装置Nは、ステップS102で受信したデータフレームを転送するためのLDとしてノード装置Nを選択し、ノード装置Nにデータフレームを送信する。 Then, the node device N 3 in step S103, select the node device N 4 as a LD for transferring the received data frame at step S102, it transmits the data frame to the node apparatus N 4.
 ノード装置Nには、ステップS103で送信されたデータフレームのLSであるノード装置Nのほかに、ノード装置NとNが隣接している。そして、この2つの隣接ノード装置NとNのうちでノード装置Nの方が、重み付けテーブル104-h-Nにおいて、より軽い重みと対応付けられているとする。 The node device N 4, in addition to the node device N 3 is an LS of the transmitted data frame at step S103, the node device N 5 and N 7 are adjacent. Of the two adjacent node devices N 5 and N 7 , the node device N 7 is associated with a lighter weight in the weighting table 104 -h 4 -N 4 .
 すると、ステップS104でノード装置Nは、ステップS103で受信したデータフレームを転送するためのLDとして、GDでもあるノード装置Nを選択し、ノード装置Nにデータフレームを送信する。 Then, the node device N 4 in step S104, as LD for transferring a data frame received in step S103, select the node device N 7 that is also GD, transmits the data frame to the node device N 7.
 しかし、図6に示すように、ノード装置Nがノード装置Nにデータフレームを送信した時点で、ノード装置NとNの間のリンクには障害が発生しており、したがって送信は失敗する。すなわち、ノード装置Nは、所定時間待機してもノード装置NからACKフレームが返信されてこないため、タイムアウトし、送信失敗を認識する。 However, as shown in FIG. 6, when the node device N 4 transmits a data frame to the node device N 7 , a failure has occurred in the link between the node devices N 4 and N 7. Fail. That is, since the node device N 4 does not receive an ACK frame from the node device N 7 even after waiting for a predetermined time, the node device N 4 times out and recognizes the transmission failure.
 なお、ステップS104におけるノード装置Nは、図5でノードγへのデータフレームの送信に上記(D1)のようにして失敗したノードβに相当する。よって、ノード装置Nは、送信失敗に応じて重み付けテーブル104-h-Nを更新する(具体的には、ステップS104の送信でのLDであるノード装置Nに対応付けられた重みの値を大きくする)。 Incidentally, the node device N 4 in step S104 corresponds to the failed node in the above (D1) to the transmission of the data frame to the node γ in Figure 5 beta. Therefore, the node device N 4 updates the weighting table 104-h 4 -N 4 according to the transmission failure (specifically, the weight associated with the node device N 7 which is the LD in the transmission in step S104). Increase the value).
 そして、ステップS105でノード装置Nは、ステップS103で受信したデータフレームを転送するためのLDとして、まだ試していない他の隣接ノード装置Nを選択し、ノード装置Nにデータフレームを送信する。 Then, the node device N 4 in step S105, the LD for transferring a data frame received in step S103, still select another adjacent node device N 5 not tried, transmits the data frame to the node device N 5 To do.
 ノード装置Nには、ステップS105で送信されたデータフレームのLSであるノード装置Nのほかには、ノード装置Nのみが隣接している。
 そこで、ステップS106でノード装置Nは、ステップS105で受信したデータフレームを転送するためのLDとしてノード装置Nを選択し、ノード装置Nにデータフレームを送信する。
The node device N 5 is the other node device N 4 is LS of the transmitted data frame at step S105, only the node device N 3 are adjacent.
Therefore, the node device N 5 in step S106, select the node device N 3 as LD for transferring the received data frame at step S105, it transmits the data frame to the node device N 3.
 すると、ステップS106でノード装置Nは、「ノード装置N自身がステップS103で送信したのと同じデータフレームを受信した」と認識する。つまり、ステップS106におけるノード装置Nは、図5においてループしてきたデータフレームをノードζから受信したノードβに相当する。よって、ノード装置Nは、図5と同様にして重み付けテーブル104-h-Nを更新する(具体的には、ステップS103の送信のLDであるノード装置Nに対応付けられた重みの値を最大値に設定する)。 Then, the node device N 3 in step S106 recognizes that "the node device N 3 itself has received the same data frame that was transmitted in step S103". In other words, the node device N 3 in step S106 corresponds to a node β which has received the data frame has been loops 5 from the node zeta. Therefore, the node device N 3 updates the weighting table 104-h 3 -N 3 in the same manner as in FIG. 5 (specifically, the weight associated with the node device N 4 that is the LD of the transmission in step S103) To the maximum value).
 そして、ステップS107でノード装置Nは、OLS(すなわち、ステップS102で最初に当該データフレームをノード装置Nが受信したときのLSであるノード装置N)以外の隣接ノード装置の中から、まだLDとして試していないものを探す。ここで、OLS以外の隣接ノード装置はノード装置NとNであり、ノード装置NはステップS103で選択済みである。 Then, in step S107, the node device N 3 determines from among adjacent node devices other than OLS (that is, the node device N 2 that is the LS when the node device N 3 first receives the data frame in step S102). Look for things that you haven't tried as LD yet. Here, the adjacent node devices other than the OLS are the node devices N 4 and N 5 , and the node device N 4 has been selected in step S103.
 よって、ステップS107でノード装置Nは、未選択のノード装置NをLDとして選択し、ノード装置Nにデータフレームを送信する。つまり、ステップS107におけるノード装置Nは、図5においてノードεをLDとして選択しなおしてノードεにデータフレームを送信するノードβに相当する。 Therefore, the node device N 3 in step S107, select the node device N 5 unselected as LD, and transmits the data frame to the node device N 5. In other words, the node device N 3 in step S107 corresponds to a node β to transmit a data frame to the node node reselect the LD the epsilon epsilon in FIG.
 すると、ステップS107でノード装置Nは、「ノード装置N自身がステップS106で送信したのと同じデータフレームを受信した」と認識する。つまり、ステップS107におけるノード装置Nは、図5においてノードγへのデータフレームの送信に(D2)のようにして失敗したノードβに相当する。よって、ノード装置Nは、図5と同様にして重み付けテーブル104-h-Nを更新する(具体的には、ステップS106の送信のLDであるノード装置N3に対応付けられた重みの値を最大値に設定する)。 Then, the node device N 5 in step S107, recognized as a "node apparatus N 5 itself has received the same data frame that was transmitted in step S106". In other words, the node device N 5 in step S107 corresponds to the failed node as (D2) to transmit the data frame to the node γ in FIG 5 beta. Accordingly, the node device N 5 updates the weighting table 104-h 5 -N 5 in the same manner as in FIG. 5 (specifically, the weight of the weight associated with the node device N3 that is the LD of the transmission in step S106). Set the value to the maximum).
 そして、ノード装置Nにとって、OLS(すなわちステップS105で最初に当該データフレームをノード装置Nが受信したときのLSであるノード装置N)以外で隣接しているノード装置は、既に送信失敗と判明したノード装置Nのみである。したがって、もはやLDとして選択可能な隣接ノード装置がない。 For the node device N 5 , the adjacent node device other than the OLS (that is, the node device N 4 that is the LS when the node device N 5 first receives the data frame in step S 105) has already failed in transmission. only node device N 3 found to. Therefore, there is no longer any adjacent node device that can be selected as the LD.
 よってステップS108でノード装置Nは、OLSであるノード装置Nにデータフレームを送り返す。ステップS108はバックトラック動作であり、バックトラック動作によってノード装置Nは、「ノード装置NをGDとするデータフレームの送信においては、ノード装置N自身から先の経路は袋小路(dead end)になっている」ということをノード装置Nに知らせることができる。 Thus the node device N 5 in step S108 sends back a data frame to the node device N 4 is OLS. Step S108 is a backtracking operation, the node device N 5 by backtracking operation, in the transmission of data frames to a "node device N 7 GD is the node device N 5 previously path from its own dead end (dead end The) can be a tell the node device N 4 that it is "turned.
 すると、ステップS108でノード装置Nは、「ノード装置N自身がステップS105で送信したのと同じデータフレームを受信した」と認識する。つまり、ステップS108におけるノード装置Nは、図5においてノードγへのデータフレームの送信に(D2)のようにして失敗したノードβに相当する。よって、ノード装置Nは、図5と同様にして重み付けテーブル104-h-Nを更新する(具体的には、ステップS105の送信のLDであるノード装置Nに対応付けられた重みの値を最大値に設定する)。 Then, the node device N 4 in step S108 recognizes a "node apparatus N 4 itself has received the same data frame that was transmitted in step S105". That is, the node apparatus N 4 in step S108 corresponds to the failed node as (D2) to transmit the data frame to the node γ in FIG 5 beta. Therefore, the node device N 4 updates the weighting table 104-h 4 -N 4 in the same manner as in FIG. 5 (specifically, the weight associated with the node device N 5 that is the LD of the transmission in step S105). To the maximum value).
 しかし、図5のノードβには、ノードγへのデータフレームの送信に失敗しても、まだLDとして選択可能なノードδ等が残っていたが、図6のステップS108のノード装置Nにとっては、LDとして選択可能な隣接ノード装置が残っていない。すなわち、OLS以外の2つの隣接ノード装置NとNは、ステップS104とS105でそれぞれLDとして選択済みであり、両者とも送信失敗という結果になることが既に判明している。 However, although the node β that can be selected as the LD still remains in the node β in FIG. 5 even if the transmission of the data frame to the node γ fails, the node device N 4 in step S108 in FIG. There is no adjacent node device that can be selected as an LD. That is, the two adjacent node devices N 7 and N 5 other than the OLS have already been selected as LDs in steps S104 and S105, respectively, and it has already been found that both result in transmission failure.
 したがって、ステップS109でノード装置N4は、OLSであるノード装置Nにデータフレームを送り返す。ステップS109もバックトラック動作であり、ノード装置Nはノード装置Nに「ノード装置NをGDとするデータフレームの送信においては、ノード装置N自身から先の経路は袋小路になっている」ということを知らせることができる。 Therefore, the node device N4 in step S109 sends back a data frame to the node device N 3 is OLS. Step S109 is also backtracking operation, in the transmission of data frames to a "node device N 7 and GD is the node device N 4 is a node device N 3, ahead of the path from the node device N 4 itself has become blind alley Can be informed.
 すると、ステップS109でノード装置Nは、「ノード装置N自身がステップS107で送信したのと同じデータフレームを受信した」と認識する。つまり、ステップS109におけるノード装置Nは、図5においてループしてきたデータフレームをノードζから受信したノードβに相当する。よって、ノード装置Nは、図5と同様にして重み付けテーブル104-h-Nを更新する(具体的には、ステップS107の送信のLDであるノード装置Nに対応付けられた重みの値を最大値に設定する)。 Then, the node device N 3 in step S109 recognizes that "the node device N 3 itself has received the same data frame that was transmitted in step S107". That is, the node apparatus N 4 in step S109 corresponds to a node β which has received the data frame has been loops 5 from the node zeta. Therefore, the node device N 3 updates the weighting table 104-h 3 -N 3 in the same manner as in FIG. 5 (specifically, the weight associated with the node device N 5 that is the LD of the transmission in step S107). To the maximum value).
 しかし、図5のノードβには、ノードδへのデータフレームの送信が失敗すると判明しても、まだLDとして選択可能なノードεが残っていたが、図6のステップS109のノード装置Nにとっては、LDとして選択可能な隣接ノード装置が残っていない。すなわち、OLS以外の2つの隣接ノード装置NとNは、ステップS103とS107でそれぞれLDとして選択済みであり、両者とも送信失敗という結果になることが既に判明している。 However, although it has been found that transmission of the data frame to the node δ fails in the node β in FIG. 5, the node ε that can be selected as the LD still remains, but the node device N 3 in step S109 in FIG. Therefore, there are no adjacent node devices that can be selected as the LD. That is, the two adjacent node devices N 4 and N 5 other than the OLS have already been selected as LDs in steps S103 and S107, respectively, and it has already been found that both result in transmission failure.
 したがって、ステップS110でノード装置Nは、OLSであるノード装置Nにデータフレームを送り返す。ステップS110もバックトラック動作であり、ノード装置Nはノード装置Nに「ノード装置NをGDとするデータフレームの送信においては、ノード装置N自身から先の経路は袋小路になっている」ということを知らせることができる。 Therefore, the node device N 3 in step S110 sends back a data frame to the node device N 2 is OLS. Step S110 is also a backtracking operation, and the node device N 3 sends a message “the route ahead from the node device N 3 itself to the node device N 2 to send a data frame with the node device N 7 as GD”. Can be informed.
 すると、ステップS110でノード装置Nは、「ノード装置N自身がステップS102で送信したのと同じデータフレームを受信した」と認識する。つまり、ステップS110におけるノード装置Nは、図5でノードγへのデータフレームの送信に(D2)のようにして失敗したノードβに相当する。よって、ノード装置Nは、図5と同様にして重み付けテーブル104-h-Nを更新する(具体的には、ステップS102の送信のLDであるノード装置Nに対応付けられた重みの値を最大値に設定する)。 Then, the node device N 2 in step S110 recognizes that "the node device N 2 itself has received the same data frame that was transmitted in step S102". In other words, the node device N 2 at step S110 corresponds to the failed node as (D2) to transmit the data frame to the node γ in Figure 5 beta. Therefore, the node device N 2 updates the weighting table 104-h 2 -N 2 in the same manner as in FIG. 5 (specifically, the weight associated with the node device N 3 that is the LD of the transmission in step S102) To the maximum value).
 そして、ステップS111でノード装置Nは、データフレームを転送するためのLDとして、まだ試していない他の隣接ノード装置Nを選択し、ノード装置Nにデータフレームを送信する。 Then, the node device N 2 at step S111, as the LD for transferring a data frame, still select another adjacent node device N 6 not try to send the data frame to the node device N 6.
 ノード装置Nには、ステップS111で送信されたデータフレームのLSであるノード装置Nのほかには、GDでもあるノード装置Nのみが隣接している。
 そこで、ステップS112でノード装置Nは、ステップS111で受信したデータフレームを転送するためのLDとしてノード装置Nを選択し、ノード装置Nにデータフレームを送信する。
The node device N 6 are in the other node device N 2 is LS of the transmitted data frame step S111, only the node device N 7, which is also GD is adjacent.
Therefore, the node device N 6 at step S112, select the node device N 7 as LD for transferring the received data frame at step S111, it transmits the data frame to the node device N 7.
 以上のようにして、ネットワーク1内に障害が発生しても、各ノード装置が自律分散的に振る舞うことで、データフレームは成功裡にGDまで到達する。
 また、データフレームの転送において、局所的に不適切なノード装置がLDとして選択されても、最終的にはネットワーク全体としては、GSからGDに至る経路が選択される。なぜなら、各ノード装置がLDとして選択可能なノード装置を次々と選択し、選択可能なノード装置がなくなればバックトラック動作をするからである。
As described above, even if a failure occurs in the network 1, each node device behaves in an autonomous distributed manner, so that the data frame successfully reaches the GD.
In addition, even when a locally inappropriate node device is selected as the LD in the data frame transfer, the route from the GS to the GD is finally selected as the entire network. This is because each node device sequentially selects node devices that can be selected as LDs, and performs backtracking operations when there are no more node devices that can be selected.
 具体的には、図6の例では、ステップS102でノード装置Nがノード装置NをLDとして選択したことは、結果的には不適切であるとステップS110で判明する。しかし、ステップS103~S110の動作により、ネットワーク1全体としては、最終的にはGSからGDに至る経路〈N,N,N,N〉の選択に成功する。 Specifically, in the example of FIG. 6, the node device N 2 selects the node device N 3 as LD in step S102, it turns out to result unsuitable for in step S110. However, the operation of steps S103 to S110 succeeds in selecting the route <N 1 , N 2 , N 6 , N 7 > from the GS to the GD finally as the entire network 1.
 こうして選択された経路は学習され、次回以降のデータフレームの転送の効率化に寄与する。学習による効率化について具体的に説明すれば次のとおりである。
 ステップS110でのデータフレームの受信の結果、ノード装置Nは重み付けテーブル104-h-Nの学習を行い、ノード装置Nに対応付けられた重みを最大値に設定している。したがって、ノード装置Nは、ノード装置NをGDとする新たなデータフレームを隣接ノード装置Nから受信すると、最初からノード装置NをLDとして選択する。つまり、ネットワーク1全体としては、自律分散的な学習の結果、バックトラックを含む試行錯誤なしに、データフレームを効率的に経路〈N,N,N,N〉によりGDまで送信することが可能となる。
The route selected in this way is learned and contributes to the efficiency of data frame transfer from the next time. The efficiency of learning will be described in detail as follows.
As a result of receiving the data frame in step S110, the node device N 2 learns the weighting table 104-h 2 -N 2 and sets the weight associated with the node device N 3 to the maximum value. Therefore, when the node device N 2 receives from the adjacent node device N 1 a new data frame having the node device N 7 as GD, the node device N 6 selects the node device N 6 as an LD from the beginning. That is, as a result of autonomous distributed learning, the entire network 1 efficiently transmits data frames to the GD through the path <N 1 , N 2 , N 6 , N 7 > without trial and error including backtracking. It becomes possible.
 さらに、第1実施形態によれば、不適切なLDの選択の影響または局所的な障害の影響は、ネットワーク1全体には及ばず、局所的に限定される。すなわち、第1実施形態によれば、例えばノード装置NとNの間のリンクに障害が発生しても、代替経路を問い合わせるための制御フレームがネットワーク1全体の全ノード装置へとフラッディングされたりはしない。よって、第1実施形態によれば、障害やループが局所的に発生しても、ネットワーク1全体にブロードキャストストームを引き起こすといった事態には陥らない。 Furthermore, according to the first embodiment, the influence of inappropriate LD selection or the influence of a local failure does not reach the entire network 1 and is locally limited. That is, according to the first embodiment, for example, even if a failure occurs in the link between the node devices N 4 and N 7 , the control frame for inquiring about an alternative route is flooded to all the node devices in the entire network 1. Don't do it. Therefore, according to the first embodiment, even if a failure or a loop occurs locally, a situation in which a broadcast storm is caused in the entire network 1 does not occur.
 また、図6の例においてノード装置Nは、ノード装置NとNの間のリンクの障害や、ループ〈N,N,N,N〉については全く認識することがないのは明らかである。このことは、不適切なLDの選択や局所的な障害の影響が、局所的に限定され、ネットワーク1全体には及ばないということを意味している。 In the example of FIG. 6, the node device N 1 does not recognize any failure in the link between the node devices N 4 and N 7 or the loop <N 3 , N 4 , N 5 , N 3 >. It is clear. This means that the influence of inappropriate LD selection or local failure is limited locally and does not reach the entire network 1.
 問題の影響が局所的に限定されるということは、局所的な問題がネットワーク1全体にポジティブにフィードバックされて発散することがないということであり、ネットワーク1が系として安定しているということである。問題が局所的に限定されることの別の例を挙げれば、例えば以下のとおりである。 The fact that the influence of the problem is locally limited means that the local problem is not positively fed back to the entire network 1 and does not diverge, and the network 1 is stable as a system. is there. Another example of the problem being limited locally is, for example:
 例えば、仮にネットワーク1においてノード装置NとNの間にもリンクが存在し、重み付けテーブル104-h-Nにおいてノード装置Nよりもノード装置Nの方が軽い重みに対応づけられているとする。すると、ステップS105の直後にノード装置Nがノード装置NをLDとして選択してデータフレームをノード装置Nに送信する。その結果、ステップS108~S112の送信は行われず、ノード装置Nだけでなくノード装置NとNも、障害の発生を全く認識しない。このように、リンクの障害やループの発生などの問題は、問題が生じた場所に応じて最小限の局所的な範囲にしか影響を及ぼさない。 For example, there is a link between the node devices N 5 and N 7 in the network 1, and the node device N 7 is associated with a lighter weight than the node device N 3 in the weighting table 104-h 5 -N 5 . Suppose that Then, it transmits the data frame to the node device N 7 node device N 5 immediately after step S105 selects the node device N 7 as LD. As a result, the transmission of steps S108 to S112 is not performed, and not only the node device N 1 but also the node devices N 2 and N 3 recognize no occurrence of the failure. Thus, problems such as link failures and loops affect only a minimal local range depending on where the problem occurs.
 続いて、ノード装置100の構成および動作、並びにネットワーク1全体で実現される自律分散協調動作について、更に詳細に説明してゆく。
 第1実施形態におけるデータフレームは、図7に示すデータフレーム302のように、LD、LS、GD、GS、FID、タイプ、長さの各フィールドを含むヘッダ情報、およびペイロードを含む。例えば図5のデータフレーム301も、データフレーム302と同様の形式である。
Next, the configuration and operation of the node device 100 and the autonomous distributed cooperative operation realized in the entire network 1 will be described in more detail.
The data frame according to the first embodiment includes header information including LD, LS, GD, GS, FID, type, and length fields, and a payload, as in the data frame 302 illustrated in FIG. For example, the data frame 301 in FIG. 5 has the same format as the data frame 302.
 なお、特に限定されるものではないが、ヘッダ情報の一部はアドホックヘッダに格納され、ヘッダ情報の残りの部分はデータヘッダに格納されるようにしてもよい。この場合、例えば、LD(ローカル宛先アドレス)、LS(ローカル差出アドレス)、タイプ(フレームタイプ)、長さ(フレームサイズ)はアドホックヘッダに格納される。また、GD、GS、FIDは、データヘッダに格納される。 Although not particularly limited, a part of the header information may be stored in the ad hoc header, and the remaining part of the header information may be stored in the data header. In this case, for example, LD (local destination address), LS (local source address), type (frame type), and length (frame size) are stored in the ad hoc header. GD, GS, and FID are stored in the data header.
 データフレーム302のLDフィールド、LSフィールド、GDフィールド、およびGSフィールドには、データフレーム302のLD、LS、GD、およびGSである各ノード装置のノードIDがそれぞれ指定される。また、データフレーム302のFIDフィールドには、データフレーム302のGSであるノード装置が生成してデータフレーム302に割り当てたFIDが指定される。 In the LD field, LS field, GD field, and GS field of the data frame 302, the node ID of each node device that is the LD, LS, GD, and GS of the data frame 302 is specified. In the FID field of the data frame 302, the FID generated by the node device that is the GS of the data frame 302 and assigned to the data frame 302 is specified.
 データフレーム302のタイプフィールドには、「データフレーム」というタイプを示す所定の定数が指定される。また、データフレーム302の長さフィールドには、ペイロードの長さが指定される。データフレーム302のペイロードは、データフレーム302が定義されるプロトコルよりも上位の層のプロトコルのPDUである。 In the type field of the data frame 302, a predetermined constant indicating the type “data frame” is designated. Also, the length of the payload is specified in the length field of the data frame 302. The payload of the data frame 302 is a PDU of a higher layer protocol than the protocol in which the data frame 302 is defined.
 例えば、MAC副層を仮想的にさらに2つの副層に分割することを想定する。第1実施形態のフレームは、この仮想的な2つの副層のうちの下の方の副層で定義されてもよく、すなわち、MAC副層で定義される他のプロトコル(例えばイーサネットなど)のPDUをペイロードに含んでもよい。換言すれば、第1実施形態のフレームは、第2層で定義されるイーサネットフレームをカプセル化するフレームであってもよい。この場合、上位層処理部111はイーサネットフレームを処理する処理部であるから、公知のMACチップを用いて実現することもできる。 For example, assume that the MAC sublayer is virtually divided into two sublayers. The frame of the first embodiment may be defined in the lower sublayer of the two virtual sublayers, that is, other protocols defined in the MAC sublayer (such as Ethernet). A PDU may be included in the payload. In other words, the frame of the first embodiment may be a frame that encapsulates an Ethernet frame defined in the second layer. In this case, since the upper layer processing unit 111 is a processing unit that processes an Ethernet frame, it can also be realized by using a known MAC chip.
 以下では説明の便宜上、データフレーム302のペイロードは、MAC層プロトコルのフレーム(具体的には例えばイーサネットフレーム)であるものとする。
 しかし、もちろん実施形態によっては、データフレーム302のペイロードは、ネットワーク層(第3層)以上で定義されるプロトコルのPDUであってもよいし、特定の通信プロトコルとは無関係な生のデータであってもよい。例えば、データフレーム302のペイロードがIP(Internet Protocol)データグラムであってもよい。この場合、上位層処理部111はIPデータグラムを処理する処理部である。
Hereinafter, for convenience of explanation, it is assumed that the payload of the data frame 302 is a MAC layer protocol frame (specifically, an Ethernet frame, for example).
However, of course, in some embodiments, the payload of the data frame 302 may be a PDU of a protocol defined at the network layer (third layer) or higher, or may be raw data that is not related to a specific communication protocol. May be. For example, the payload of the data frame 302 may be an IP (Internet Protocol) datagram. In this case, the upper layer processing unit 111 is a processing unit that processes the IP datagram.
 データフレーム302の形式は以上説明したとおりであるが、具体的な値を使ってより詳しく例示すれば、データフレーム303および304のごとくである。
 データフレーム303は、図6のステップS102でノード装置Nがノード装置Nに送信するデータフレームである。データフレーム303の具体的な内容は以下のとおりである。
The format of the data frame 302 is as described above, but more specific examples using specific values are as in the data frames 303 and 304.
The data frame 303 is a data frame transmitted from the node device N 2 to the node device N 3 in step S102 of FIG. Specific contents of the data frame 303 are as follows.
  ・LDフィールドには、ステップS102の送信においてLDとして選択されたノード装置NのノードID(すなわちN)が指定されている。
  ・LSフィールドには、ステップS102の送信におけるLSであるノード装置NのノードID(すなわちN)が指定されている。
In the LD field, the node ID (that is, N 3 ) of the node device N 3 selected as the LD in the transmission in step S102 is designated.
In the LS field, the node ID (that is, N 2 ) of the node device N 2 that is the LS in the transmission in step S102 is designated.
  ・GDフィールドには、GSであるノード装置NがステップS101の送信のときに指定したノード装置NのノードID(すなわちN)が指定されている。
  ・GSフィールドには、GSであるノード装置NのノードID(すなわちN)が指定されている。
In the GD field, the node ID (that is, N 7 ) of the node device N 7 specified by the node device N 1 that is the GS at the time of transmission in step S101 is specified.
In the GS field, the node ID (that is, N 1 ) of the node device N 1 that is the GS is specified.
  ・FIDフィールドには、GSであるノード装置Nが生成したFID(以下Fとする)が指定されている。
  ・タイプフィールドには、「データフレーム」というタイプを示す所定の定数Dが指定されている。例えば、タイプは2ビットによって表すこともでき、D=(00)でもよい。
· FID The field node device N 1 is a GS (and less F a) resulting FID is specified.
In the type field, a predetermined constant D indicating the type “data frame” is specified. For example, the type can be represented by 2 bits, and D = (00) 2 may be used.
  ・長さフィールドには、データフレーム302のペイロードの長さPが指定される。なお、長さは例えばバイト単位で表されてもよいし、その他の単位で表されてもよい。
  ・ペイロードとして、MAC層プロトコルのフレーム(例えばイーサネットフレーム)が含まれる。
· The length field, the length P a payload of the data frame 302 is designated. The length may be expressed in units of bytes, for example, or may be expressed in other units.
The payload includes a MAC layer protocol frame (for example, an Ethernet frame).
 また、データフレーム303を受信したノード装置Nが図6のステップS103でノード装置Nに送信するのが、図7のデータフレーム304である。データフレーム304の具体的な内容は以下のとおりである。 In addition, the data frame 304 in FIG. 7 is transmitted from the node device N 3 that has received the data frame 303 to the node device N 4 in step S103 in FIG. The specific contents of the data frame 304 are as follows.
  ・LDフィールドには、ステップS103の送信においてLDとして選択されたノード装置NのノードID(すなわちN)が指定されている。つまり、転送にあたって、ノード装置NはLDフィールドを書き換える。 In the LD field, the node ID (that is, N 4 ) of the node device N 4 selected as the LD in the transmission in step S103 is designated. In other words, when transfer node device N 3 rewrites the LD field.
  ・LSフィールドには、ステップS103の送信におけるLSであるノード装置NのノードID(すなわちN)が指定されている。つまり、転送にあたって、ノード装置NはLSフィールドを書き換え、自ノードIDを設定する。 In the LS field, the node ID (that is, N 3 ) of the node device N 3 that is the LS in the transmission in step S103 is specified. That is, when the transfer, the node device N 3 rewrites the LS field, sets the self node ID.
  ・GD、GS、FID、タイプ、長さの各フィールドと、ペイロードの内容は、ノード装置Nが受信したデータフレーム303と同じである。
 また、第1実施形態におけるハローフレームは、図7のハローフレーム311のように、LD、LS、GD、GS、FID、タイプの各フィールドを含むヘッダを有するが、ペイロードを持たない。ハローフレーム311の具体例はハローフレーム312であり、ハローフレーム312は後述の図42のステップS1203でノード装置Nにより送信されるものである。
· GD, GS, FID, type, and each field length, the contents of the payload is the same as the data frame 303 is the node device N 3 received.
In addition, the hello frame in the first embodiment has a header including LD, LS, GD, GS, FID, and type fields as in the hello frame 311 in FIG. 7, but does not have a payload. Specific examples of the hello frame 311 is hello frame 312, the hello frame 312 is transmitted by the node device N 3 in step S1203 of FIG. 42 described later.
 ハローフレーム311のLDフィールドには、ハローフレーム311を送信するノード装置に隣接するすべてのノード装置へのブロードキャストを表す特殊な値が指定される。なおここでの「ブロードキャスト」は「隣接するすべてのノード装置へのブロードキャスト」であり、「ネットワーク1全体へのフラッディング」ではないので注意されたい。 In the LD field of the hello frame 311, a special value indicating a broadcast to all node devices adjacent to the node device that transmits the hello frame 311 is designated. Note that “broadcast” here is “broadcast to all adjacent node devices”, not “flooding to the entire network 1”.
 以下、説明の便宜上、第1実施形態においてはノードIDが3バイトで表されるものとし、「0x」は16進数を表すものとする。また、0x000000と0xFFFFFFは予約されており、通常のノードIDとしては使われないものとする。 Hereinafter, for convenience of explanation, it is assumed that the node ID is represented by 3 bytes in the first embodiment, and “0x” represents a hexadecimal number. Also, it is assumed that 0x000000 and 0xFFFFFF are reserved and are not used as normal node IDs.
 第1実施形態におけるすべてのハローフレームでは、ハローフレーム312と同様、LDフィールドに、当該ハローフレームを送信するノード装置に隣接するすべてのノード装置へのブロードキャストを表す特殊な値として、0xFFFFFFが指定されている。 In all the hello frames in the first embodiment, similarly to the hello frame 312, 0xFFFFFF is specified in the LD field as a special value indicating broadcast to all node devices adjacent to the node device that transmits the hello frame. ing.
 ハローフレーム311のLSフィールドには、ハローフレーム311を送信するノード装置自身のノードIDが指定される。よって、ノード装置Nが送信するハローフレーム312のLSフィールドには、ノード装置NのノードIDであるNが指定される。 In the LS field of the hello frame 311, the node ID of the node device itself that transmits the hello frame 311 is specified. Therefore, N 3 that is the node ID of the node device N 3 is specified in the LS field of the hello frame 312 transmitted by the node device N 3 .
 また、第1実施形態におけるすべてのハローフレームでは、GDフィールドに、ヌル(null)を表す特殊な値0x000000が指定される。なぜなら、ハローフレームは隣接ノード装置が利用するだけであり、転送されないからである。 Also, in all hello frames in the first embodiment, a special value 0x000000 representing null is designated in the GD field. This is because the hello frame is only used by the adjacent node device and is not transferred.
 ハローフレーム311のGSフィールドには、LSフィールドと同じく、ハローフレーム311を送信するノード装置自身のノードIDが指定される。よって、ハローフレーム312のGSフィールドには、ノード装置NのノードIDであるNが指定される。 In the GS field of the hello frame 311, the node ID of the node device itself that transmits the hello frame 311 is specified as in the LS field. Accordingly, N 3 that is the node ID of the node device N 3 is specified in the GS field of the hello frame 312.
 ハローフレーム311のFIDフィールドには、ハローフレーム311を送信するノード装置が生成してハローフレーム311に割り当てたFIDが指定される。同様に、ハローフレーム312のFIDフィールドには、ハローフレーム312を送信するノード装置Nが生成してハローフレーム312に割り当てたFID(以下Fとする)が指定される。 In the FID field of the hello frame 311, the FID generated by the node device that transmits the hello frame 311 and assigned to the hello frame 311 is specified. Similarly, in the FID field of the hello frame 312, the FID (hereinafter referred to as F b ) generated by the node device N 3 that transmits the hello frame 312 and assigned to the hello frame 312 is designated.
 ハローフレーム311のタイプフィールドには、「ハローフレーム」というタイプを示す所定の定数が指定される。具体的には、「ハローフレーム」というタイプは、ハローフレーム312に例示するように所定の定数Hにより表され、例えばH=(10)でもよい。 In the type field of the hello frame 311, a predetermined constant indicating the type “hello frame” is designated. Specifically, the type “hello frame” is represented by a predetermined constant H as exemplified in the hello frame 312, and may be H = (10) 2 , for example.
 また、第1実施形態におけるACKフレームは、図7のACKフレーム321のように、LD、LS、GD、GS、FID、タイプの各フィールドを含むヘッダを有するが、ペイロードを持たない。ACKフレーム321の具体例はACKフレーム322である。また、ACKフレーム322は、図6のステップS102でノード装置Nがノード装置Nにデータフレーム303を送信したとき、ノード装置Nがノード装置Nに返信するACKフレームである。後述の図42では、このノード装置Nからノード装置NへのACKフレーム322の返信をステップS102aとして表している。 In addition, the ACK frame in the first embodiment has a header including LD, LS, GD, GS, FID, and type fields as in the ACK frame 321 in FIG. 7, but does not have a payload. A specific example of the ACK frame 321 is the ACK frame 322. Also, ACK frame 322, when the node device N 2 has transmitted the data frame 303 to the node device N 3 in step S102 in FIG. 6, an ACK frame is the node device N 3 returns to the node device N 2. In Figure 42 below, and the reply of the ACK frame 322 from the node device N 3 to the node device N 2, expressed as the step S102a.
 ACKフレーム321のLDフィールドには、ACKフレーム321の送信の契機となったデータフレームを送信した隣接ノード装置のノードIDが指定される。よって、例えばACKフレーム322のLDフィールドには、ACKフレーム322をノード装置Nが送信する契機となったデータフレーム303を送信した、ノード装置Nの隣接ノード装置NのノードIDであるNが指定される。 In the LD field of the ACK frame 321, the node ID of the adjacent node device that transmitted the data frame that triggered the transmission of the ACK frame 321 is specified. Therefore, for example, in the LD field of the ACK frame 322, N that is the node ID of the adjacent node device N 2 of the node device N 3 that transmitted the data frame 303 that triggered the transmission of the ACK frame 322 by the node device N 3 2 is specified.
 ACKフレーム321のLSフィールドには、ACKフレーム321を送信するノード装置自身のノードIDが指定される。よって、ノード装置Nが送信するACKフレーム322のLSフィールドには、ノード装置NのノードIDであるNが指定される。 In the LS field of the ACK frame 321, the node ID of the node device itself that transmits the ACK frame 321 is specified. Therefore, N 3 that is the node ID of the node device N 3 is specified in the LS field of the ACK frame 322 transmitted by the node device N 3 .
 また、ハローフレームと同様にACKフレームも転送されないので、第1実施形態におけるすべてのACKフレームでは、GDフィールドに、ヌルを表す特殊な値0x000000が指定される。 Also, since the ACK frame is not transferred as in the case of the hello frame, the special value 0x000000 representing null is specified in the GD field in all the ACK frames in the first embodiment.
 ACKフレーム321のGSフィールドとFIDフィールドには、ACKフレーム321の送信の契機となったデータフレームのGSフィールドとFIDフィールドの値がコピーされる。上記のように、GSフィールドとFIDフィールドの値の組み合わせにより、データフレームがネットワーク内で一意に識別される。よって、ACKフレーム321を送信するノード装置が、受信したデータフレームから値をコピーすることで、ACKフレーム321がどのデータフレームに対するものなのかを、ACKフレーム321を受信したノード装置において識別することが可能となる。 In the GS field and FID field of the ACK frame 321, the values of the GS field and FID field of the data frame that triggered the transmission of the ACK frame 321 are copied. As described above, the data frame is uniquely identified in the network by the combination of the values of the GS field and the FID field. Therefore, the node device that transmits the ACK frame 321 can identify which data frame the ACK frame 321 is for in the node device that has received the ACK frame 321 by copying the value from the received data frame. It becomes possible.
 よって、例えばデータフレーム303の受信を契機として送信されるACKフレーム322では、GSフィールドとFIDフィールドの値は、データフレーム303と同じく、それぞれNとFである。 Therefore, the ACK frame 322 for example, transmits the received data frame 303 as a trigger, the value of GS field and the FID field, as well as the data frame 303, respectively N 1 and F a.
 ACKフレーム321のタイプフィールドには、「ACKフレーム」というタイプを示す所定の定数が指定される。具体的には、「ACKフレーム」というタイプは、ACKフレーム322に例示するように所定の定数Aにより表され、例えばA=(11)でもよい。 In the type field of the ACK frame 321, a predetermined constant indicating the type “ACK frame” is designated. Specifically, the type “ACK frame” is represented by a predetermined constant A as exemplified in the ACK frame 322, and may be, for example, A = (11) 2 .
 なお、図7に示したフレームの形式は一例にすぎず、実施形態に応じて、フレームに含まれるフィールドの並び順は適宜決めることができ、また、不図示の他のフィールドをフレームが含んでいてもよい。また、フレームがFCS(Frame Check Sequence)などのトレイラをさらに含んでいてもよい。
 また、以下では記載の簡単化のため、混乱のおそれがない場合は、例えば「LDフィールド」を単に「LD」と称することもある。他のフィールドについても同様である。
Note that the format of the frame shown in FIG. 7 is merely an example, and the arrangement order of the fields included in the frame can be appropriately determined according to the embodiment, and the frame includes other fields not shown. May be. The frame may further include a trailer such as FCS (Frame Check Sequence).
In the following, for simplification of description, when there is no possibility of confusion, for example, “LD field” may be simply referred to as “LD”. The same applies to the other fields.
 図8は、図3に示すバッファ部109に格納されるデータの例を示す図である。バッファ部109は、受信部101が受信した個々のデータフレームにそれぞれ対応する複数のエントリを含む。そして、各エントリは、タイムアウト時刻と受信したデータフレームを含む。 FIG. 8 is a diagram showing an example of data stored in the buffer unit 109 shown in FIG. The buffer unit 109 includes a plurality of entries respectively corresponding to individual data frames received by the receiving unit 101. Each entry includes a timeout time and the received data frame.
 図8は、ノード装置Nのバッファ部109-N内のあるエントリを例示している。具体的には、図6のステップS102において、ノード装置Nからノード装置Nが図7のデータフレーム303を受信すると、バッファ部109-Nには、タイムアウト時刻TI3,jとデータフレーム303とを含むエントリが作成される。バッファ部109におけるエントリの作成の詳細は、図24とともに後述する。また、タイムアウト時刻TI3,jの意味は次のとおりである。 Figure 8 illustrates the entries that the buffer unit 109-N 3 of the node device N 3. Specifically, when the node device N 3 receives the data frame 303 of FIG. 7 from the node device N 2 in step S102 of FIG. 6, the buffer unit 109-N 3 stores the timeout time TI 3, j and the data frame. Entry 303 is created. Details of creation of entries in the buffer unit 109 will be described later with reference to FIG. The meaning of the timeout time TI 3, j is as follows.
 ノード装置Nは、ステップS102で受信したデータフレーム303のヘッダを、ステップS103で図7のデータフレーム304のように書き換える。そしてノード装置Nは、ステップS103でデータフレーム304を送信する。 Node device N 3 is the header of the data frame 303 received in step S102, is rewritten in step S103 as a data frame 304 of FIG. The node device N 3 transmits a data frame 304 at step S103.
 図8のタイムアウト時刻TI3,jは、ノード装置Nが、データフレーム304を送信した後、データフレーム304に対するACKフレームの受信をいつまで待つのかを示す。つまり、ノード装置Nは、タイムアウト時刻TI3,jまでにデータフレーム304に対するACKフレームをノード装置Nから受信することができなければ、タイムアウトして、ノード装置Nへのデータフレーム304の送信に失敗したと判断する。 The timeout time TI 3, j in FIG. 8 indicates how long the node apparatus N 3 waits for reception of an ACK frame for the data frame 304 after transmitting the data frame 304. That is, if the node device N 3 cannot receive an ACK frame for the data frame 304 from the node device N 4 before the timeout time TI 3, j , the node device N 3 times out and the data frame 304 to the node device N 4 Judge that transmission failed.
 なお、詳しくは図32、図38、および図40に示すように、バッファ部109に設定されるタイムアウト時刻は、上書きされることもある。
 例えば、図6のステップS104でノード装置Nへのデータフレームの送信に失敗したノード装置Nは、ステップS105において、ノード装置Nから受信したデータフレームに対応するバッファ部109-N内のタイムアウト時刻を更新する。更新後のタイムアウト時刻は、具体的には、ステップS105でノード装置Nに送信したデータフレームへのACKフレームの受信をいつまでノード装置Nが待つかを表す。
In detail, as shown in FIGS. 32, 38, and 40, the timeout time set in the buffer unit 109 may be overwritten.
For example, the node device N 4 that has failed to transmit the data frame to the node device N 7 in step S104 of FIG. 6 is stored in the buffer 109-N 4 corresponding to the data frame received from the node device N 3 in step S105. Update the timeout time. Timeout timing of the updated, specifically, indicating whether the reception of the ACK frame to data frame sent to the node device N 5 in step S105 forever node device N 4 waits.
 図9は、図3の隣接ノード管理テーブル103の例を示す図である。隣接ノード管理テーブル103には、ノードIDフィールドと最終更新時刻フィールドがある。
 例えば、図1のネットワーク1では、ノード装置Nにはノード装置N、N、およびNが隣接している。したがって、ノード装置Nの隣接ノード管理テーブル103-Nは、これら3つの隣接ノード装置N、N、およびNにそれぞれ対応する3つのエントリがある。そして、隣接ノード装置N(i=1,3,6)に対応する各エントリにおいて、ノードIDフィールドには隣接ノード装置NのノードIDであるNが格納されており、最終更新時刻フィールドには、当該エントリが最後に更新された時刻TA2,iが格納されている。
FIG. 9 is a diagram illustrating an example of the adjacent node management table 103 in FIG. The adjacent node management table 103 has a node ID field and a last update time field.
For example, in the network 1 of FIG. 1, node devices N 1 , N 3 , and N 6 are adjacent to the node device N 2 . Therefore, the node adjacent node management table 103-N 2 of the apparatus N 2, these three adjacent node device N 1, N 3, and N 6 has three entries respectively corresponding to. In each entry corresponding to the adjacent node device N i (i = 1, 3, 6), are stored N i is the node ID of the adjacent node device N i is the node ID field, last update time field Stores the time TA 2, i when the entry was last updated.
 また、図1のネットワーク1では、ノード装置Nにはノード装置N、N、およびNが隣接している。したがって、ノード装置Nの隣接ノード管理テーブル103-Nは、これら3つの隣接ノード装置N、N、およびNにそれぞれ対応する3つのエントリがある。そして、隣接ノード装置N(i=2,4,5)に対応する各エントリにおいて、ノードIDフィールドには隣接ノード装置NのノードIDであるNが格納されており、最終更新時刻フィールドには、当該エントリが最後に更新された時刻TA3,iが格納されている。 In the network 1 of FIG. 1, node devices N 2 , N 4 , and N 5 are adjacent to the node device N 3 . Therefore, the adjacent node management table 103-N 3 of the node device N 3, there are three entries respectively corresponding to the three adjacent node device N 2, N 4, and N 5. In each entry corresponding to the adjacent node device N i (i = 2, 4, 5), are stored N i is the node ID of the adjacent node device N i is the node ID field, last update time field Stores the time TA 3, i when the entry was last updated.
 図10は、図3の重み付けテーブル104の例を示す図である。図10は、具体例として、図1のノード装置Nの重み付けテーブル104-Nを示している。
 図3に示すとおり、「重み付けテーブル104」とは、GDごとに管理される複数の重み付けテーブル104-1~104-Mの総称である。各重み付けテーブル104-i(1≦i≦M)は、対応するGDを記憶している。
FIG. 10 is a diagram illustrating an example of the weighting table 104 in FIG. FIG. 10 shows a weighting table 104-N 3 of the node device N 3 of FIG. 1 as a specific example.
As shown in FIG. 3, “weighting table 104” is a general term for a plurality of weighting tables 104-1 to 104-M managed for each GD. Each weighting table 104-i (1 ≦ i ≦ M) stores a corresponding GD.
 そして、各重み付けテーブル104-i(1≦i≦M)は1つ以上のエントリを有し、各エントリは、最終更新時刻フィールドとLDフィールドと重みフィールドを有する。最終更新時刻フィールドには重みの学習のためにエントリが最後に更新された時刻が格納され、LDフィールドには隣接ノード装置のノードIDが格納され、重みフィールドには当該隣接ノード装置に対応付けられた重みの値が格納される。 Each weighting table 104-i (1 ≦ i ≦ M) has one or more entries, and each entry has a last update time field, an LD field, and a weight field. The last update time field stores the time when the entry was last updated for weight learning, the LD field stores the node ID of the adjacent node device, and the weight field associates with the adjacent node device. Stored weight values.
 図10の例では、1枚目の重み付けテーブル104-1-Nは、ノード装置NがGDとして指定されているデータフレームの送信用のテーブルなので、GDとしてノード装置NのノードIDであるNを記憶している。 In the example of FIG. 10, since the first weighting table 104-1-N 3 is a table for transmitting a data frame in which the node device N 7 is designated as GD, the node ID of the node device N 7 is GD. stores certain N 7.
 また、図1のネットワーク1では、ノード装置Nにはノード装置N、N、およびNが隣接している。したがって、重み付けテーブル104-1-Nは、これら3つの隣接ノード装置N、N、およびNにそれぞれ対応する3つのエントリを有する。重み付けテーブル104-1-Nにおいて隣接ノード装置N(i=2,4,5)に対応する各エントリの内容は、次のとおりである。 In the network 1 of FIG. 1, node devices N 2 , N 4 , and N 5 are adjacent to the node device N 3 . Therefore, the weighting table 104-1 -N 3 has three entries respectively corresponding to these three adjacent node devices N 2 , N 4 and N 5 . The contents of each entry corresponding to the adjacent node device N i (i = 2, 4, 5) in the weighting table 104-1-N 3 are as follows.
  ・最終更新時刻フィールドには、エントリの最終更新時刻TW3,7,iが格納されている。
  ・LDフィールドには、隣接ノード装置NのノードIDであるNが格納されている。
In the last update time field, the last update time TW 3, 7, i of the entry is stored.
In the LD field, N i that is the node ID of the adjacent node device N i is stored.
  ・重みフィールドには、隣接ノード装置Nに対応付けられる重みW3,7,iが格納されている。
 すなわち、重みW3,7,iは、ノード装置N(つまり重み付けテーブル104-1-Nに対応するGD)をGDとして指定するデータフレームをノード装置Nが送信する場合に参照される、隣接ノード装置Nに対応する重みである。
· Weight the field, the weight W 3, 7 associated with the adjacent node device N i, i is stored.
That is, the weights W 3, 7, and i are referred to when the node device N 3 transmits a data frame designating the node device N 7 (that is, GD corresponding to the weighting table 104-1-N 3 ) as GD. is a weight corresponding to the adjacent node device N i.
 同様に、図10の例では、2枚目の重み付けテーブル104-2-N3は、ノード装置NがGDとして指定されているデータフレームの送信用のテーブルなので、GDとしてノード装置NのノードIDであるNを記憶している。 Similarly, in the example of FIG. 10, the second sheet of the weighting table 104-2-N3, since the node device N 4 is a table for transmission of the data frame designated as GD, node of the node device N 4 as GD N 4 which is an ID is stored.
 そして、図1のネットワーク1では、ノード装置Nにはノード装置N、N、およびNが隣接しているので、重み付けテーブル104-2-Nも、これら3つの隣接ノード装置N、N、およびNにそれぞれ対応する3つのエントリを有する。重み付けテーブル104-1-Nにおいて隣接ノード装置N(i=2,4,5)に対応する各エントリの内容は、次のとおりである。 In the network 1 of FIG. 1, since the node devices N 2 , N 4 , and N 5 are adjacent to the node device N 3 , the weighting table 104-2 -N 3 also includes these three adjacent node devices N It has three entries, each corresponding to 2 , N 4 , and N 5 . The contents of each entry corresponding to the adjacent node device N i (i = 2, 4, 5) in the weighting table 104-1-N 3 are as follows.
  ・最終更新時刻フィールドには、エントリの最終更新時刻TW3,4,iが格納されている。
  ・LDフィールドには、隣接ノード装置NのノードIDであるNが格納されている。
In the last update time field, the last update time TW 3, 4, i of the entry is stored.
In the LD field, N i that is the node ID of the adjacent node device N i is stored.
  ・重みフィールドには、隣接ノード装置Nに対応付けられる重みW3,4,iが格納されている。
 もちろん、重み付けテーブル104-Nには、さらに別のGDと対応づけられた重み付けテーブル104-j-N(j>2)が含まれていてもよい。
· Weight the field, the weight W 3, 4 associated with the neighboring node device N i, i is stored.
Of course, the weighting table 104-N 3 may include a weighting table 104-jN 3 (j> 2) associated with another GD.
 なお、次の点は注意すべきである。すなわち、重み付けテーブル104は、同一のGDであれば、たとえFIDとGSの組み合わせが異なるデータフレームを送信したとしても、送信の度に、送信先となったLDの重みが更新される。例えば、あるデータフレームの送信時に、リンク障害のため特定のLDの重みが大きくなっても(優先度が低くなっても)、すぐに別データフレーム(GDとLDは同一)の送信で、リンク障害が解消されていて送信成功となれば、該LDの重みは小さくなる(優先度は高くなる)。逆に、複数の異なるデータフレーム(GDとLDは同一)が立て続けに、リンク障害のため送信失敗となれば、たとえ同一のFIDとGSの組み合わせのデータフレームは1度しか送信を試していなくても、該当のLDの重みが最大値になってしまうこともありうる。 Note the following points. That is, if the weighting table 104 is the same GD, even if a data frame having a different combination of FID and GS is transmitted, the weight of the LD serving as the transmission destination is updated each time transmission is performed. For example, when a certain data frame is transmitted, even if the weight of a specific LD is increased due to a link failure (even if the priority is low), the link is immediately transmitted with another data frame (GD and LD are the same). If the failure is resolved and transmission is successful, the weight of the LD becomes small (priority becomes high). On the other hand, if a plurality of different data frames (GD and LD are the same) continue to fail and transmission fails due to a link failure, data frames with the same FID and GS combination have only been tried once. However, the weight of the corresponding LD may become the maximum value.
 図11は、図10の重み付けテーブル104-1-Nの変化を説明する図である。図11の例では、T<T<T<T<Tである。
 例えば、図6のステップS102でノード装置Nからデータフレームを受信した時点では、ノード装置Nの重み付けテーブル104-Nには、ノード装置Nに対応する重み付けテーブル104-1-Nが存在しなかったとする。そして、ステップS102の受信を契機として、以下のような内容の新たな重み付けテーブル104-1-Nが重み付けテーブル104-Nに作成されたとする。
FIG. 11 is a diagram for explaining changes in the weighting table 104-1-N 3 in FIG. In the example of FIG. 11, T a <T b <T c <T d <T e .
For example, in the time of receiving the data frame from the node device N 2 at step S102 of FIG. 6, the weighting table 104-N 3 of the node device N 3 is the weighting table 104-1-N 3 corresponding to the node device N 7 Is not present. Then, it is assumed that a new weighting table 104-1-N 3 having the following contents is created in the weighting table 104-N 3 with the reception of step S102.
  ・3つのエントリの最終更新時刻はいずれも時刻Tである。
  ・3つのエントリにおいて、隣接ノード装置N(i=2,4,5)に対応付けられる重みW3,7,iは、いずれも0.5である。
• Three of the last update time of entry is both time T a.
In all three entries, the weights W 3, 7, and i associated with the adjacent node devices N i (i = 2, 4, 5) are all 0.5.
 なお、図6に関しては説明の簡単化のため、「2つの隣接ノード装置NとNのうちでノード装置Nの方が、重み付けテーブル104-h-Nにおいて、より軽い重みと対応付けられているとする」と説明した。つまり、図10と図11はh=1の例であり、図6の説明ではW3,7,4<W3,7,5と仮定している。 For simplification of description with respect to FIG. 6, among the two adjacent node devices N 4 and N 5 , the node device N 4 has a lighter weight in the weighting table 104 -h 3 -N 3 . “Associated with each other”. That is, FIGS. 10 and 11 are examples of h 3 = 1, and in the description of FIG. 6, it is assumed that W 3,7,4 <W 3,7,5 .
 しかし、例えば図11に示すように、W3,7,2=W3,7,4=W3,7,5=0.5という場合もありうる。図11の例では、ノード装置NとNが同じ重み0.5に対応付けられているので、ノード装置NはステップS103での送信のLDとしてノード装置NとNのいずれを選ぶこともできるが、仮に、図6の例と同様に、ノード装置NをLDとして選んだとする。 However, for example, as shown in FIG. 11, there may be a case where W 3,7,2 = W 3,7,4 = W 3,7,5 = 0.5. In the example of FIG. 11, since the node devices N 4 and N 5 are associated with the same weight 0.5, the node device N 3 uses any of the node devices N 4 and N 5 as the transmission LD in step S103. may be selected, but if, as in the example of FIG. 6, and chose the node device N 4 as LD.
 すると、ステップS103でノード装置Nがノード装置Nにデータフレームを送信する。その後、図42においてステップS103aとして示すようにノード装置Nがノード装置NにACKフレームを送信すると、ノード装置Nは、ノード装置Nへのデータフレームの送信が成功したと認識する。 Then, the node device N 3 in step S103 transmits the data frame to the node apparatus N 4. Thereafter, when the node device N 4 transmits an ACK frame to the node device N 3 as shown in step S103a in FIG. 42, the node device N 3 recognizes that the transmission of the data frame to the node device N 4 is successful.
 そして、図5の例と同様にして、ノード装置Nは、ノード装置Nに対応付けられた重みW3,7,4の値を小さくする。図11の例では、具体的には、ノード装置NはW3,7,4の値を0.5から0.4に更新する。また、ノード装置Nは、ノード装置Nに対応するエントリの最終更新時刻フィールドに、現在時刻Tを設定する。 Then, as in the example of FIG. 5, the node device N 3 decreases the value of the weight W 3,7,4 associated with the node apparatus N 4. In the example of FIG. 11, specifically, the node device N 3 updates the values of W 3, 7 , and 4 from 0.5 to 0.4. Also, the node device N 3 is the last update time field of the entry corresponding to the node device N 4, it sets the current time T b.
 その後、図6に示すように、ノード装置NはステップS106で再び同一のデータフレームを受信する。その結果、ノード装置Nは、図6に関して説明したように、重み付けテーブル104-1-Nにおいてノード装置Nと対応付けられている重みW3,7,4の値を、0.4から最大値である1.0に更新する。また、ノード装置Nは、ノード装置Nに対応するエントリの最終更新時刻フィールドに、現在時刻Tを設定する。 Thereafter, as shown in FIG. 6, the node device N 3 receives the same data frame again in step S106. As a result, as described with reference to FIG. 6, the node device N 3 sets the values of the weights W 3 , 7, and 4 associated with the node device N 4 in the weighting table 104-1-N 3 to 0.4. To the maximum value of 1.0. Also, the node device N 3 is the last update time field of the entry corresponding to the node device N 4, it sets the current time T c.
 続いて、図6のステップS107に示すように、ノード装置Nはノード装置NをLDとして選択してデータフレームを送信する。その後、図42においてステップS107aとして示すようにノード装置Nがノード装置NにACKフレームを送信すると、ノード装置Nは、ノード装置Nへのデータフレームの送信が成功したと認識する。 Subsequently, as shown in step S107 of FIG. 6, the node device N 3 selects the node device N 5 as an LD and transmits a data frame. Thereafter, when the node device N 5 transmits an ACK frame to the node device N 3 as shown in step S107a in FIG. 42, the node device N 3 recognizes that the transmission of the data frame to the node device N 5 is successful.
 そして、図5の例と同様にして、ノード装置Nは、ノード装置Nに対応付けられた重みW3,7,5の値を小さくする。図11の例では、具体的には、ノード装置NはW3,7,5の値を0.5から0.4に更新する。また、ノード装置Nは、ノード装置Nに対応するエントリの最終更新時刻フィールドに、現在時刻Tを設定する。 Then, as in the example of FIG. 5, the node device N 3 decreases the value of the weight W 3,7,5 associated with the node device N 5. In the example of FIG. 11, specifically, the node device N 3 updates the values of W 3, 7 , and 5 from 0.5 to 0.4. Also, the node device N 3 is the last update time field of the entry corresponding to the node device N 5, sets the current time T d.
 その後、図6に示すように、ノード装置NはステップS109で再び同一のデータフレームを受信する。その結果、図6に関して説明したように、重み付けテーブル104-1-Nにおいてノード装置Nと対応付けられている重みW3,7,5の値を、0.4から最大値である1.0に更新する。また、ノード装置Nは、ノード装置Nに対応するエントリの最終更新時刻フィールドに、現在時刻Tを設定する。 Thereafter, as shown in FIG. 6, the node device N 3 receives the same data frame again in step S109. As a result, as described with respect to FIG. 6, the value of the weight W 3,7,5 which is associated with the node device N 5 in the weighting table 104-1-N 3, the maximum value from 0.4 1 Update to .0. Also, the node device N 3 is the last update time field of the entry corresponding to the node device N 5, sets the current time T e.
 以上のように、重み付けテーブル104-1-Nは、ACKフレームの受信を契機として、あるいは、送信済みのデータフレームと同一のデータフレームの受信を契機として、更新される。 As described above, the weighting table 104-1 -N 3 is updated when an ACK frame is received or when a data frame that is the same as a transmitted data frame is received.
 図12および図13は、図3のFID管理テーブル105の例を示す図である。図12および図13に示すように、FID管理テーブル105には、FID、GS、LD、OLS、最終更新時刻の各フィールドがある。 12 and 13 are diagrams showing examples of the FID management table 105 in FIG. As shown in FIGS. 12 and 13, the FID management table 105 includes fields for FID, GS, LD, OLS, and last update time.
 FID管理テーブル105におけるFIDフィールドとGSフィールドは、データフレームを一意に識別するためのフィールドであり、受信したデータフレームのFIDフィールドとGSフィールドから値がそれぞれコピーされる。 The FID field and GS field in the FID management table 105 are fields for uniquely identifying the data frame, and values are copied from the FID field and the GS field of the received data frame, respectively.
 FID管理テーブル105のLDフィールドには、FIDフィールドとGSフィールドの値により識別されるデータフレームを送信するために、最後にLDとして選択した隣接ノード装置のノードIDが格納される。 In the LD field of the FID management table 105, the node ID of the adjacent node device last selected as the LD is stored in order to transmit the data frame identified by the values of the FID field and the GS field.
 また、FID管理テーブル105のOLSフィールドには、FIDフィールドとGSフィールドの値により識別されるデータフレームを最初に受信したときに当該データフレームのLSフィールドに指定されていた隣接ノード装置のノードIDが格納される。OLSフィールドは、データフレームの転送のためにLDを選択するにあたって、LDの候補の中からOLSを除くためにも利用され、バックトラック動作のときのLDを決定するためにも利用される。 In the OLS field of the FID management table 105, the node ID of the adjacent node device designated in the LS field of the data frame when the data frame identified by the values of the FID field and the GS field is first received. Stored. The OLS field is also used to remove the OLS from the LD candidates when selecting the LD for data frame transfer, and is also used to determine the LD during the backtrack operation.
 そして、FID管理テーブル105の最終更新時刻フィールドには、エントリが最後に更新された時刻が格納される。
 さて、図12および図13は、図6のステップS101~S112での各ノード装置のFID管理テーブル105を具体例として示している。以下、ステップS101~S112がそれぞれ実行される時刻をTF101~TF112と表す。
In the last update time field of the FID management table 105, the time when the entry was last updated is stored.
FIGS. 12 and 13 show the FID management table 105 of each node device in steps S101 to S112 in FIG. 6 as a specific example. Hereinafter, the times at which steps S101 to S112 are executed are represented as TF 101 to TF 112 , respectively.
 ステップS101でノード装置Nがノード装置Nにデータフレームを送信するとき、ノード装置NはFID管理テーブル105-Nに新たなエントリEを作成する。そして、ノード装置Nは、エントリEのFIDフィールドとGSフィールドに、送信したデータフレームのFIDとGSの値を設定する。 When the node device N 1 transmits a data frame to the node device N 2 in step S101, the node device N 1 creates a new entry E 1 in the FID management table 105-N 1 . Then, the node device N 1 sets the FID and GS values of the transmitted data frame in the FID field and GS field of the entry E 1 .
 ここで、データフレームのGSとFIDの値は、前述のとおり、データフレームがネットワーク1内を転送されても書き換えられない。したがって、図6でネットワーク1内をステップS101~S112で送信されるデータフレームのFIDとGSの値は、図7のデータフレーム303および304と同じく、それぞれFとNである。よって、ステップS101でノード装置Nは、エントリEのFIDフィールドとGSフィールドに、それぞれFとNという値を設定する。 Here, the GS and FID values of the data frame are not rewritten even if the data frame is transferred through the network 1 as described above. Therefore, the FID and GS values of the data frames transmitted in steps S101 to S112 in the network 1 in FIG. 6 are F a and N 1 , respectively, as in the data frames 303 and 304 in FIG. Therefore, the node device N 1 in step S101, the FID field and GS field of the entry E 1, sets the value of F a and N 1, respectively.
 なお、以下の各ステップS102~S112で他のノード装置がそれぞれのFID管理テーブル105のエントリのFIDフィールドとGSフィールドに設定する値も、同じくFとNである。よって、以下ではFIDフィールドとGSフィールドに関する説明を省略する。また、ステップS101でノード装置Nは、LDとして選択したノード装置NのノードIDであるNを、エントリEのLDフィールドに設定する。 The value of each step S102 ~ S112 follows another node device sets the FID field and GS field of the entry of each FID management table 105, which is also a F a and N 1. Therefore, the description regarding the FID field and the GS field is omitted below. Also, the node device N 1 in step S101, the N 2 is a node ID of the node device N 2 selected as LD, it sets the LD field of the entry E 1.
 ところで、GSとFIDの値の組により一意に識別される、ある特定のデータフレームに関して、OLSとは、当該特定のデータフレームを最初に受信したときの当該特定のデータフレームのLSに指定されたノードIDで識別される隣接ノード装置のことである。 By the way, regarding a specific data frame uniquely identified by a pair of GS and FID values, the OLS is designated as the LS of the specific data frame when the specific data frame is first received. An adjacent node device identified by a node ID.
 しかしこのようにOLSを定義すると、例えばノード装置NがGSとなってデータフレームを送信する場合に、ノード装置N自身にとっては、送信したデータフレームに関してOLSが未定義となってしまう。そこで、以下ではOLSの定義を拡張する。具体的には、「ノード装置N自身がGSとなってデータフレームを送信する場合には、当該データフレームに関するノード装置N自身にとってのOLSとは、ノード装置N自身である」と定義する。 However, in this way defining the OLS, for example, when the node device N 1 transmits a data frame becomes GS, for the node device N 1 itself, OLS becomes undefined for transmission data frames. Therefore, the definition of OLS is expanded below. Specifically, it defined as "node when the device N i itself transmits the data frame become GS includes a OLS for the node device N i itself about the data frame is the node device N i itself" To do.
 換言すれば、OLSとは、ノード装置N自身が直接認識しているネットワークの範囲内において、ノード装置Nにとってデータフレームの起源として認識されるノード装置である。なおここで、「ノード装置N自身が直接認識しているネットワークの範囲」とは、ノード装置Nから見てホップ数1以下の範囲であり、具体的にはノード装置N自身と、ノード装置Nの隣接ノード装置のみが含まれる。例えば、図2の例では、ノード装置N105自身が直接認識しているネットワークの範囲のみが実線で示されている。 In other words, the OLS, within the scope of a network node apparatus N i itself is aware directly, a node device which is recognized as the origin of the data frame to the node device N i. Note Here, the "range of a network node apparatus N i itself is aware directly" ranges of 1 or less hops as viewed from the node device N i, the node device N i itself specifically, only the adjacent node device of the node device N i contains. For example, in the example of FIG. 2, only the range of the network that is directly recognized by the node device N 105 itself is indicated by a solid line.
 以上の拡張されたOLSの定義より、ステップS101でノード装置NがエントリEのOLSフィールドに設定する値は、ノード装置N自身のノードID(すなわちN)である。ノード装置Nは、もし今後GSの値がNでFIDの値がFのデータフレームを受信することがあれば、以上のようにして作成したエントリEに基づいて、「かつてノード装置N自身が送信したデータフレームを受信した」と認識することができる。 From the definition of the above extended OLS, value node device N 1 is set to the OLS field of the entry E 1 in step S101, the node device N 1 its own node ID (i.e. N 1). If the node device N 1 receives a data frame having a GS value of N 1 and an FID value of Fa in the future, the node device N 1 will be notified based on the entry E 1 created as described above. N 1 has received a data frame transmitted by itself.
 また、ステップS101でノード装置Nは、現在時刻TF101をエントリEの最終更新時刻フィールドに設定する。なお、以下の各ステップS102~S112で他のノード装置がそれぞれのFID管理テーブル105のエントリの最終更新時刻フィールドに設定する値は、同様に、各ステップS102~S112が実行される時刻TF102~TF112である。よって、以下では最終更新時刻フィールドに関する説明も省略する。 Also, the node device N 1 in step S101 sets the current time TF 101 in the last update time field of the entry E 1. In the following steps S102 to S112, the values set by the other node devices in the last update time fields of the entries in the FID management table 105 are the same as the times TF 102 to S112 when the steps S102 to S112 are executed. TF 112 . Therefore, the description regarding the last update time field is also omitted below.
 そして、ステップS101でノード装置Nからデータフレームを受信したノード装置Nは、ステップS102でノード装置Nにデータフレームを送信するときにFID管理テーブル105-Nに新たなエントリEを作成する。そして、ノード装置NはエントリEにおいて、OLSフィールドにはNと設定し、LDフィールドにはNと設定する。 Then, the node device N 2 receiving the data frame from the node device N 1 in step S101 adds a new entry E 2 to the FID management table 105-N 2 when transmitting the data frame to the node device N 3 in step S102. create. Then, in the entry E 2 , the node device N 2 sets N 1 in the OLS field and N 3 in the LD field.
 続いて、ステップS102でノード装置Nからデータフレームを受信したノード装置Nは、ステップS103でノード装置Nにデータフレームを送信するときにFID管理テーブル105-Nに新たなエントリEを作成する。そして、ノード装置NはエントリEにおいて、OLSフィールドにはNと設定し、LDフィールドにはNと設定する。 Subsequently, the node device N 3 that has received the data frame from the node device N 2 in step S102 transmits a new entry E 3 in the FID management table 105-N 3 when transmitting the data frame to the node device N 4 in step S103. Create Then, in the entry E 3 , the node device N 3 sets N 2 in the OLS field and N 4 in the LD field.
 続いて、ステップS103でノード装置Nからデータフレームを受信したノード装置Nは、ステップS104でノード装置Nにデータフレームを送信するときにFID管理テーブル105-Nに新たなエントリEを作成する。そして、ノード装置NはエントリEにおいて、OLSフィールドにはNと設定し、LDフィールドにはNと設定する。 Subsequently, the node device N 4 receiving the data frame from the node device N 3 in step S103 transmits a new entry E 4 in the FID management table 105-N 4 when transmitting the data frame to the node device N 7 in step S104. Create Then, the node device N 4 entries E 4, the OLS field is set to N 3, the LD field is set to N 7.
 ところが、ステップS104での送信は、ノード装置NとNの間のリンクの障害のために失敗する。すなわち、ノード装置Nは、ノード装置NからACKフレームを受信することができないため、タイムアウトする。その結果、ノード装置Nは、ステップS105のように、他の隣接ノード装置Nを次のLDとして再選択し、ノード装置Nにデータフレームを送信する。 However, transmission in step S104, the fail due to failure of a link between the node device N 4 and N 7. That is, the node apparatus N 4, it is not possible to receive the ACK frame from the node device N 7, times out. As a result, the node device N 4, as in step S105, and reselects another adjacent node device N 5 as the next LD, transmits the data frame to the node device N 5.
 ここで、ステップS104とS105でそれぞれ送信されるデータフレームは、FIDの値がFでありGSの値がNであるから、同一のデータフレームである。したがって、ステップS105でノード装置Nは、新たなエントリを作成するのではなく、既存のエントリEを更新する。 Here, the data frames transmitted at steps S104 and S105, the value of the value of FID is F a GS is N 1, the same data frame. Accordingly, the node apparatus N 4 in step S105, instead of creating a new entry, and updates the existing entry E 4.
 具体的には、ステップS105でノード装置Nは、エントリEにおいて、LDフィールドの値をNに上書きする。なお、GSの値がNでFIDの値がFである同じデータフレームをノード装置Nが何度送信しようとも、「ノード装置Nが当該データフレームを最初に受信したのはノード装置Nからである」という事実は変わらない。よって、エントリEのOLSフィールドの値は、書き換えられることはなく、Nのままである。 Specifically, the node apparatus N 4 in step S105, the entry E 4, overwrites the value of the LD field N 5. Incidentally, no matter the value is transmitted value F a same data frame node device N 4 is the FID is many times N 1 of GS, the "node apparatus N 4 has received the data frame to the first node apparatus The fact that “from N 3 ” does not change. Therefore, the value of the OLS field of the entry E 4 is not rewritten and remains N 3 .
 続いて、ステップS105でノード装置Nからデータフレームを受信したノード装置Nは、ステップS106でノード装置Nにデータフレームを送信するときにFID管理テーブル105-Nに新たなエントリEを作成する。そして、ノード装置NはエントリEにおいて、OLSフィールドにはNと設定し、LDフィールドにはNと設定する。 Subsequently, the node device N 5 that has received the data frame from the node device N 4 in step S105 transmits a new entry E 5 in the FID management table 105-N 5 when transmitting the data frame to the node device N 3 in step S106. Create The node device N 5 sets N 4 in the OLS field and N 3 in the LD field in the entry E 5 .
 そして、ステップS106でノード装置Nからデータフレームを受信したノード装置Nは、受信したデータフレームのGSとFIDの値をキーにしてFID管理テーブル105-Nを検索し、エントリEを見つける。エントリEが見つかったことから、ノード装置Nは、「ノード装置N自身がかつてステップS103で送信したのと同一のデータフレームをステップS106で受信した」と認識することができる。 Then, the node device N 3 that has received the data frame from the node device N 5 in step S106 searches the FID management table 105-N 3 using the GS and FID values of the received data frame as keys, and sets the entry E 3 locate. Since the entry E 3 is found, the node device N 3 can recognize that “the same data frame that the node device N 3 itself once transmitted in step S103 was received in step S106”.
 したがって、ノード装置Nは、次のステップS107でデータフレームをノード装置Nに送信するに際して、FID管理テーブル105-Nに新たなエントリを作成するのではなく、既存のエントリEを更新する。具体的には、ステップS107でノード装置Nは、エントリEにおいて、LDフィールドの値をNに上書きする。なお、エントリEのOLSフィールドの値は書き換えられることはなく、Nのままである。 Therefore, the node device N 3 updates the existing entry E 3 instead of creating a new entry in the FID management table 105-N 3 when transmitting the data frame to the node device N 5 in the next step S107. To do. Specifically, the node device N 3 in step S107, in the entry E 3, overwrites the value of the LD field N 5. The value of the OLS field of the entry E 3 is never rewritten, it remains N 2.
 すると、ステップS107でノード装置Nからデータフレームを受信したノード装置Nは、受信したデータフレームのGSとFIDの値をキーにしてFID管理テーブル105-Nを検索し、エントリEを見つける。エントリEが見つかったことから、ノード装置Nは、「ノード装置N自身がかつてステップS106で送信したのと同一のデータフレームをステップS107で受信した」と認識することができる。 Then, the node device N 5 that has received the data frame from the node device N 3 in step S107 searches the FID management table 105-N 5 using the GS and FID values of the received data frame as keys, and sets the entry E 5 locate. Since the entry E 5 is found, the node device N 5 can recognize that “the same data frame that the node device N 5 itself once transmitted in step S106 has been received in step S107”.
 したがって、ノード装置Nは、次のステップS108でデータフレームをノード装置Nに送信するに際して、FID管理テーブル105-Nに新たなエントリを作成するのではなく、既存のエントリEを更新する。具体的には、ステップS108でノード装置Nは、エントリEにおいて、LDフィールドの値をNに上書きする。なお、エントリEのOLSフィールドの値は書き換えられることはなく、Nのままである。 Therefore, the node device N 5 updates the existing entry E 5 instead of creating a new entry in the FID management table 105-N 5 when transmitting the data frame to the node device N 4 in the next step S108. To do. Specifically, the node device N 5 in step S108, in the entry E 5, overwrites the value of the LD field N 4. The value of the OLS field of the entry E 5 is never rewritten, it remains N 4.
 すると、ステップS108でノード装置Nからデータフレームを受信したノード装置Nは、受信したデータフレームのGSとFIDの値をキーにしてFID管理テーブル105-Nを検索し、エントリEを見つける。エントリEが見つかったことから、ノード装置Nは、「ノード装置N自身がかつてステップS105で送信したのと同一のデータフレームをステップS108で受信した」と認識することができる。 Then, the node device N 4 that has received the data frame from the node device N 5 in step S108 searches the FID management table 105-N 4 using the GS and FID values of the received data frame as keys, and sets the entry E 4 locate. Since the entry E 4 is found, the node device N 4 can recognize that “the same data frame that the node device N 4 itself once transmitted in step S105 has been received in step S108”.
 したがって、ノード装置Nは、次のステップS109でデータフレームをノード装置Nに送信するに際して、FID管理テーブル105-Nに新たなエントリを作成するのではなく、既存のエントリEを更新する。具体的には、ステップS109でノード装置Nは、エントリEにおいて、LDフィールドの値をNに上書きする。なお、エントリEのOLSフィールドの値は書き換えられることはなく、Nのままである。 Therefore, the node device N 4 updates the existing entry E 4 instead of creating a new entry in the FID management table 105-N 4 when transmitting the data frame to the node device N 3 in the next step S109. To do. Specifically, the node apparatus N 4 in step S109, in the entry E 4, overwrites the value of the LD field N 3. Note that the value of the OLS field of the entry E 4 is not rewritten and remains N 3 .
 すると、ステップS109でノード装置Nからデータフレームを受信したノード装置Nは、受信したデータフレームのGSとFIDの値をキーにしてFID管理テーブル105-Nを検索し、エントリEを見つける。エントリEが見つかったことから、ノード装置Nは、「ノード装置N自身がかつてステップS103で送信したのと同一のデータフレームをステップS109で受信した」と認識することができる。 Then, the node device N 3 that has received the data frame from the node device N 4 in step S109 searches the FID management table 105-N 3 using the GS and FID values of the received data frame as keys, and sets the entry E 3 locate. Since the entry E 3 is found, the node device N 3 can recognize that “the same data frame that the node device N 3 itself once transmitted in step S103 was received in step S109”.
 したがって、ノード装置Nは、次のステップS110でデータフレームをノード装置Nに送信するに際して、FID管理テーブル105-Nに新たなエントリを作成するのではなく、既存のエントリEを更新する。具体的には、ステップS110でノード装置Nは、エントリEにおいて、LDフィールドの値をNに上書きする。なお、エントリEのOLSフィールドの値は書き換えられることはなく、Nのままである。 Therefore, the node device N 3 updates the existing entry E 3 instead of creating a new entry in the FID management table 105-N 3 when transmitting the data frame to the node device N 2 in the next step S110. To do. Specifically, the node device N 3 in step S110, the entry E 3, overwrites the value of the LD field N 2. The value of the OLS field of the entry E 3 is never rewritten, it remains N 2.
 すると、ステップS110でノード装置Nからデータフレームを受信したノード装置Nは、受信したデータフレームのGSとFIDの値をキーにしてFID管理テーブル105-Nを検索し、エントリEを見つける。エントリEが見つかったことから、ノード装置Nは、「ノード装置N自身がかつてステップS102で送信したのと同一のデータフレームをステップS110で受信した」と認識することができる。 Then, the node device N 2 that has received the data frame from the node device N 3 in step S110 searches the FID management table 105-N 2 using the GS and FID values of the received data frame as keys, and enters the entry E 2 . locate. Since the entry E 2 is found, the node device N 2 can recognize that “the same data frame that the node device N 2 itself once transmitted in step S102 has been received in step S110”.
 したがって、ノード装置Nは、次のステップS111でデータフレームをノード装置Nに送信するに際して、FID管理テーブル105-Nに新たなエントリを作成するのではなく、既存のエントリEを更新する。具体的には、ステップS111でノード装置Nは、エントリEにおいて、LDフィールドの値をNに上書きする。なお、エントリEのOLSフィールドの値は書き換えられることはなく、Nのままである。 Therefore, the node device N 2 updates the existing entry E 2 instead of creating a new entry in the FID management table 105-N 2 when transmitting the data frame to the node device N 6 in the next step S111. To do. Specifically, the node device N 2 at step S111, in the entry E 2, overwrites the value of the LD field N 6. Note that the value of the OLS field of the entry E 2 is not rewritten and remains N 1 .
 そして、ステップS111でノード装置Nからデータフレームを受信したノード装置Nは、ステップS112でノード装置Nにデータフレームを送信するときにFID管理テーブル105-Nに新たなエントリEを作成する。そして、ノード装置NはエントリEにおいて、OLSフィールドにはNと設定し、LDフィールドにはNと設定する。 The node device N 6 that has received the data frame from the node device N 2 in step S111 adds a new entry E 6 to the FID management table 105-N 6 when transmitting the data frame to the node device N 7 in step S112. create. The node device N 6 sets N 2 in the OLS field and N 7 in the LD field in the entry E 6 .
 <バックトラック動作について>
 上述のように、実施形態のフレーム送信方法においては、ノード装置は、受信データフレームを最終宛先へ向かって転送する際に「転送不能」と判定したときは、その受信データフレームを送信元ノード装置に変装する。すなわち、上記ノード装置は、バックトラックを実行する。
<About backtracking>
As described above, in the frame transmission method of the embodiment, when the node device determines that “transfer is impossible” when transferring the received data frame toward the final destination, the node device transmits the received data frame. Disguise yourself. That is, the node device performs backtracking.
 例えば、図14に示す例では、ノード装置Xは、GD(最終宛先)としてノード装置Yが指定されたデータフレームを、まず、ノード装置aへ送信している。ここで、ノード装置bとノード装置Yとの間のリンクは切断されているものとする。そうすると、図6を参照しながら説明したように、ノード装置aからノード装置bへ送信されたデータフレームは、ノード装置cを経由してノード装置aに戻ってくる。これにより、ノード装置aは、ノード装置bへの送信が失敗したことを検出する。続いて、ノード装置は、上記データフレームをノード装置cへ送信する。しかし、このデータフレームは、ノード装置bを経由してノード装置aに戻ってくる。これにより、ノード装置aは、ノード装置bへの送信も失敗したことを検出する。したがって、ノード装置aは、「ノード装置YをGDとするデータフレームを転送することはできない」と判定し、バックトラックを実行する。すなわち、ノード装置aは、最初にノード装置Xから受信したデータフレームを、そのデータフレームのOLS(オリジナル送信元隣接ノード)であるノード装置Xへ送信する。 For example, in the example shown in FIG. 14, the node device X first transmits a data frame in which the node device Y is designated as a GD (final destination) to the node device a. Here, it is assumed that the link between the node device b and the node device Y is disconnected. Then, as described with reference to FIG. 6, the data frame transmitted from the node device a to the node device b returns to the node device a via the node device c. As a result, the node device a detects that transmission to the node device b has failed. Subsequently, the node device transmits the data frame to the node device c. However, this data frame returns to the node device a via the node device b. Thereby, the node device a detects that the transmission to the node device b has also failed. Therefore, the node device a determines that “a data frame having the node device Y as GD cannot be transferred” and performs backtracking. That is, the node device a transmits the data frame first received from the node device X to the node device X that is the OLS (original transmission source adjacent node) of the data frame.
 この後、ノード装置Xは、ノード装置aから受信したデータフレームを、他の隣接ノード(ここでは、ノードd)へ送信する。この結果、上記データフレームは、最終宛先であるノード装置Yへ到着する。 Thereafter, the node device X transmits the data frame received from the node device a to another adjacent node (here, the node d). As a result, the data frame arrives at the node device Y that is the final destination.
 図15は、図14に示すノード装置X、a間でバックトラックが発生したときのシーケンスを示す図である。すなわち、ノード装置Xは、まず、ノード装置aへデータフレームを送信する。このとき、ノード装置Xは、ノード装置aへ送信したデータフレームを、図3に示すバッファ部109に保持している。 FIG. 15 is a diagram showing a sequence when backtracking occurs between the node devices X and a shown in FIG. That is, the node device X first transmits a data frame to the node device a. At this time, the node device X holds the data frame transmitted to the node device a in the buffer unit 109 shown in FIG.
 ノード装置aは、時刻TEにおいて、ノード装置Xから送信されたデータフレームを受信する。そうすると、ノード装置aは、FID管理テーブル105に新たなエントリを作成し、受信データフレームに係わる情報を記録する。 The node device a receives the data frame transmitted from the node device X at time TE. Then, the node device a creates a new entry in the FID management table 105 and records information related to the received data frame.
 図16は、FID管理テーブル105の実施例である。FID管理テーブル105は、図12~図13を参照しながら説明したが、より具体的には、FIDおよびGSのペアに対して、LD、OLS、最終更新時刻だけでなく、さらにACK受信フラグ、空データ送信回数、通常データ送信回数、エントリ時刻を管理する。エントリ時刻は、ノード装置が隣接ノードからデータフレームを最初に受信した時刻、または、ノード装置が隣接ノード装置から受信したデータフレームを他の隣接ノード装置へ転送した時刻を表す。前者の場合、エントリ時刻は、受信開始時刻であってもよいし、受信終了時刻であってもよい。また、後者の場合、エントリ時刻は、転送開始時刻であってもよいし、転送終了時刻であってもよい。以下の説明では、特に限定されるものではないが、エントリ時刻は、データフレームを隣接ノード装置から最初に受信した時刻を表すものとする。なお、ACK受信フラグ、空データ送信回数、通常データ送信回数については、後で説明する。 FIG. 16 is an example of the FID management table 105. Although the FID management table 105 has been described with reference to FIGS. 12 to 13, more specifically, not only the LD, OLS, and last update time but also the ACK reception flag for the FID and GS pair, It manages the number of empty data transmissions, normal data transmissions, and entry time. The entry time represents the time when the node device first receives the data frame from the adjacent node, or the time when the node device transfers the data frame received from the adjacent node device to another adjacent node device. In the former case, the entry time may be a reception start time or a reception end time. In the latter case, the entry time may be a transfer start time or a transfer end time. In the following description, although not particularly limited, the entry time represents the time when the data frame is first received from the adjacent node device. The ACK reception flag, the number of empty data transmissions, and the number of normal data transmissions will be described later.
 ノード装置aは、ノード装置Xから送信されたデータフレームを時刻TEにおいて受信すると、図16に示すような新たなエントリを作成する。この例では、FIDフィールドには、GSであるノード装置Xにより生成された一意の値Fが記録される。GSフィールドには「ノードX」が記録される。LDフィールドには、この例では、データフレームはノード装置bへ送信されるので、「ノードb」が記録される。OLSフィールドには、「ノードX」が記録される。そして、エントリ時刻TEおよび最終更新時刻TFとして、ノード装置Xから送信されたデータフレームを受信した時刻が記録される。 When the node device a receives the data frame transmitted from the node device X at time TE, the node device a creates a new entry as shown in FIG. In this example, a unique value F X generated by the node device X that is a GS is recorded in the FID field. “Node X” is recorded in the GS field. In this example, since the data frame is transmitted to the node apparatus b, “node b” is recorded in the LD field. “Node X” is recorded in the OLS field. Then, the time at which the data frame transmitted from the node device X is received is recorded as the entry time TE and the last update time TF.
 ノード装置aは、ノード装置Xから送信されたデータフレームをノード装置bへ転送すると共に、ノード装置XへACKフレームを返送する。ノード装置Xは、ノード装置aからACKフレームを受信することで、送信したデータフレームがノード装置aに到着したことを認識する。ただし、ノード装置Xは、ACKフレームを受信しても、バッファ部109に格納されているデータフレーム廃棄することなく、ノード装置aへの送信時刻から所定の保持期間Gが経過するまでは、そのデータフレームを保持する。 The node device a transfers the data frame transmitted from the node device X to the node device b and returns an ACK frame to the node device X. The node apparatus X recognizes that the transmitted data frame has arrived at the node apparatus a by receiving the ACK frame from the node apparatus a. However, even if the node device X receives the ACK frame, the node device X does not discard the data frame stored in the buffer unit 109, and until the predetermined holding period G elapses from the transmission time to the node device a. Holds the data frame.
 一方、ノード装置aからノード装置bへ送信されたデータフレームは、図14に示すように、ノード装置aに戻ってくる。そうすると、ノード装置aは、「ノード装置YをGDとするデータフレームを転送できない」ことをノード装置Xに通知するために、バックトラックを実行する。このとき、ノード装置aは、例えば、図14を参照しながら説明したように、上記データフレームをノード装置Xに送信する。そうすると、ノード装置Xは、自分が先にノード装置aへ送信したデータフレームを検出するので、「ノード装置aは、ノード装置YをGDとするデータフレームを転送することはできない」と判定する。この結果、ノード装置Xは、上記データフレームを他の隣接ノード(この例では、ノードd)へ送信する。 On the other hand, the data frame transmitted from the node device a to the node device b returns to the node device a as shown in FIG. Then, the node device a performs backtracking to notify the node device X that “a data frame having the node device Y as GD cannot be transferred”. At this time, the node device a transmits the data frame to the node device X as described with reference to FIG. Then, since the node device X detects the data frame that it first transmitted to the node device a, it determines that “the node device a cannot transfer the data frame in which the node device Y is GD”. As a result, the node device X transmits the data frame to another adjacent node (node d in this example).
 しかし、ノード装置Xのバッファ部109は、ノード装置aへデータフレームを送信したときから保持期間Gが経過するまでは、そのデータフレームを保持する。すなわち、時刻Tg以前は、ノード装置Xからノード装置aへ先に送信されたデータフレームは、ノード装置Xのバッファ部109に保持されている。したがって、ノード装置aによるバックトラック動作が、時刻Tgよりも前に実行されるのであれば、ノード装置aは、上記データフレーム全体をノード装置Xへ送信する必要はなく、「指定されたGDへの転送はできない」ことをノード装置Xへ通知すればよい。この場合、ノード装置Xは、ノード装置aからの通知に応じて、バッファ部109に保持されているデータフレームを取り出してノード装置dへ送信することができる。 However, the buffer unit 109 of the node device X holds the data frame from when the data frame is transmitted to the node device a until the holding period G elapses. That is, before the time Tg, the data frame previously transmitted from the node device X to the node device a is held in the buffer unit 109 of the node device X. Therefore, if the backtracking operation by the node device a is executed before the time Tg, the node device a does not need to transmit the entire data frame to the node device X. It is only necessary to notify the node device X that “transfer cannot be performed”. In this case, the node device X can take out the data frame held in the buffer unit 109 and transmit it to the node device d in response to the notification from the node device a.
 上記動作を実現するために、ノード装置aは、バックトラック動作の実行時に、ノード装置Xからデータフレームを受信した時刻を表すエントリ時刻TEから現在時刻Tまでの経過時間を算出する。すなわち、経過時間「T-TE」が算出される。そして、この経過時間「T-TE」が保持期間Gよりも短ければ、ノード装置aは、ノード装置Xのバッファ部109にバックトラックに対応するデータフレームが保持されていると判定する。この場合、ノード装置aは、上記データフレーム全体を送信する代わりに、上記データフレームを識別するフレーム識別情報を通知するためのフレーム(以下、空データフレームと呼ぶ)をノード装置Xへ送信する。なお、保持期間Gは、この実施形態では、各ノード装置において同じであるものとする。 In order to realize the above operation, the node device a calculates the elapsed time from the entry time TE representing the time at which the data frame is received from the node device X to the current time T when executing the backtrack operation. That is, the elapsed time “T-TE” is calculated. If the elapsed time “T-TE” is shorter than the holding period G, the node device a determines that the data frame corresponding to the backtrack is held in the buffer unit 109 of the node device X. In this case, instead of transmitting the entire data frame, the node device a transmits a frame (hereinafter referred to as an empty data frame) for notifying frame identification information for identifying the data frame to the node device X. In this embodiment, the retention period G is the same for each node device.
 図17は、バックトラックで使用するフレームのフォーマットを示す図である。なお、データフレーム、ハローフレーム、ACKフレームのフォーマットの一例については、図7を参照して説明した。しかし、実施形態のノード装置によって送受信されるフレームのフォーマットは、所定のヘッダ情報が設定されている限りは、特に限定されるものではない。したがって、以下では、例えばデータフレームは、図17(a)に示すフォーマットを有しているものとする。 FIG. 17 is a diagram showing a frame format used for backtracking. An example of the format of the data frame, hello frame, and ACK frame has been described with reference to FIG. However, the format of the frame transmitted and received by the node device according to the embodiment is not particularly limited as long as predetermined header information is set. Therefore, in the following, for example, it is assumed that the data frame has the format shown in FIG.
 すなわち、データフレームは、アドホックヘッダおよびペイロードを有する。アドホックヘッダには、LD(ローカル宛先アドレス)、LS(ローカル差出アドレス)、フレームタイプ(タイプ)、フレームサイズ(長さ)が設定される。これらの各情報要素については、上述した通りである。また、ペイロード領域には、データヘッダおよび「データ」が格納される。データヘッダには、GS、GD、FIDが設定される。なお、この実施例では、データヘッダにはGS、GD、FIDのみが格納されるが、GS、GD、FIDに加えて他の情報が格納されるようにしてもよい。ペイロード領域に格納される「データ」は、GDに送信すべきデータである。 That is, the data frame has an ad hoc header and a payload. In the ad hoc header, LD (local destination address), LS (local source address), frame type (type), and frame size (length) are set. Each of these information elements is as described above. In the payload area, a data header and “data” are stored. In the data header, GS, GD, and FID are set. In this embodiment, only GS, GD, and FID are stored in the data header, but other information may be stored in addition to GS, GD, and FID. “Data” stored in the payload area is data to be transmitted to the GD.
 なお、ハローフレームおよびACKフレームのペイロードには、データヘッダは格納されるが、「データ」は格納されていない。また、ハローフレーム、データフレーム、ACKフレームは、フレームタイプにより識別される。特に限定されるものではないが、ハローフレーム、データフレーム、ACKフレームのフレームタイプには、この実施例では、例えば、それぞれ「0x0001」「0x0002」「0x0003」が割り当てられる。 In the payload of the hello frame and ACK frame, the data header is stored, but “data” is not stored. The hello frame, data frame, and ACK frame are identified by the frame type. Although not particularly limited, in this embodiment, for example, “0x0001”, “0x0002”, and “0x0003” are assigned to the frame types of the hello frame, the data frame, and the ACK frame, respectively.
 図17(b)は、バックトラック動作において送信される空データフレームのフォーマットを示す。空データフレームのアドホックヘッダには、図17(a)に示す通常のデータフレームと同様に、LD、LS、フレームタイプ、フレームサイズが設定される。例えば、図14に示す例において、ノード装置aからノード装置Xへのバックトラック時に作成される空データフレームの場合は、「LD=X」「LS=a」が設定される。また、空データフレームのフレームタイプには、この例では、「0x0004」が割り当てられる。さらに、フレームサイズは、ペイロードのデータサイズが設定される。 FIG. 17B shows a format of an empty data frame transmitted in the backtrack operation. In the ad hoc header of the empty data frame, LD, LS, frame type, and frame size are set as in the normal data frame shown in FIG. For example, in the example illustrated in FIG. 14, “LD = X” and “LS = a” are set in the case of an empty data frame created during backtracking from the node device a to the node device X. In this example, “0x0004” is assigned to the frame type of the empty data frame. Further, the data size of the payload is set as the frame size.
 空データフレームのペイロードには、データヘッダのみが格納され、最終宛先へ伝送すべきデータは格納されない。データヘッダには、上述したように、GS、GD、FIDが設定される。なお、データヘッダは、基本的に、各ノード装置により転送される過程で変更されることはなく、GSにおいて生成される情報がそのまま設定される。したがって、例えば、図14に示す例において、ノード装置aからノード装置Xへのバックトラック時に作成される空データフレームの場合は、「GS=X」「GD=Y」が設定され、FIDはノード装置Xで生成された値がそのまま設定される。 * Only the data header is stored in the payload of the empty data frame, and the data to be transmitted to the final destination is not stored. As described above, GS, GD, and FID are set in the data header. The data header is basically not changed in the process of being transferred by each node device, and information generated in the GS is set as it is. Therefore, for example, in the example shown in FIG. 14, in the case of an empty data frame created during backtracking from the node device a to the node device X, “GS = X” and “GD = Y” are set, and the FID is a node The value generated by the device X is set as it is.
 ノード装置aは、経過時間「T-TE」が保持期間Gよりも短ければ、バックトラック動作において、OLSであるノード装置Xへ空データフレームを送信する。この場合、ノード装置Xは、空データフレームのアドホックヘッダおよびデータヘッダを参照し、バッファ部109から対応するデータフレームを抽出する。そして、ノード装置Xは、バッファ部109から抽出したデータフレームを、他の隣接ノード(この例では、隣接ノードd)へ送信する。 If the elapsed time “T-TE” is shorter than the holding period G, the node device a transmits an empty data frame to the node device X that is the OLS in the backtrack operation. In this case, the node device X refers to the ad hoc header and data header of the empty data frame and extracts the corresponding data frame from the buffer unit 109. Then, the node device X transmits the data frame extracted from the buffer unit 109 to another adjacent node (adjacent node d in this example).
 なお、各ノード装置は、それぞれ自律的に、上述したバックトラック動作を実行することができる。例えば、図14に示す例では、ノード装置cは、ノード装置bに対するバックトラック動作において空データフレームを送信することができる。同様に、ノード装置bは、ノード装置aに対するバックトラック動作において空データフレームを送信することができる。 Each node device can autonomously execute the above-described backtrack operation. For example, in the example illustrated in FIG. 14, the node device c can transmit an empty data frame in a backtrack operation for the node device b. Similarly, the node device b can transmit an empty data frame in the backtrack operation for the node device a.
 このように、実施形態のノード装置は、データフレームを最初に受信したとき(エントリ時刻)からの経過時間が保持期間Gを超える前にバックトラック動作を行う場合には、データフレーム全体を送信することなく、そのデータフレームを識別するためのフレーム識別情報のみを送信する。したがって、バックトラック時に転送されるフレームのサイズが小さくなり、フレームの転送効率が改善する。 As described above, the node device according to the embodiment transmits the entire data frame when the backtrack operation is performed before the elapsed time from when the data frame is first received (entry time) exceeds the holding period G. Instead, only the frame identification information for identifying the data frame is transmitted. Therefore, the size of the frame transferred during backtracking is reduced, and the frame transfer efficiency is improved.
 ところで、サイズの大きなデータを送信する場合、そのデータは、複数のデータユニットに分割され、複数のデータフレームを利用して連続して伝送される。この場合、実施形態に係るネットワークにおいては、上述の複数の連続するデータフレームは、同じ経路で伝送される可能性が高い。そうすると、図14に示す例では、ノード装置aは、上述の複数の連続するデータフレームのそれぞれについて「GDへ転送不能」と判定することになる。この結果、ノード装置aは、複数のバックトラック動作を実行する必要がある。 By the way, when transmitting large data, the data is divided into a plurality of data units and continuously transmitted using a plurality of data frames. In this case, in the network according to the embodiment, there is a high possibility that the plurality of continuous data frames described above are transmitted through the same route. Then, in the example illustrated in FIG. 14, the node device a determines that “transfer to GD is impossible” for each of the plurality of continuous data frames described above. As a result, the node device a needs to perform a plurality of backtrack operations.
 そこで、実施形態のノード装置は、複数の空データフレームの送信先隣接ノードが同じときは、それら複数の空データフレームを集約して1つのフレームで送信する。図18に示す例では、4つのデータフレームが同じ経路で伝送され、いずれもノード装置aに戻ってきている。ここで、ノード装置aにとって、上記4つのデータフレームのOLSは、いずれもノード装置Xである。すなわち、ノード装置aは、ノード装置Xへ送信すべき4つの空データフレームを有している。この場合、ノード装置aは、これら4つの空データフレームを集約することにより生成される1つのフレームをノード装置Xへ送信する。以下では、複数の空データフレームを集約することで得られるフレームを「集約空データフレーム」と呼ぶことにする。 Therefore, when a plurality of empty data frames have the same destination adjacent node, the node device according to the embodiment aggregates these empty data frames and transmits them in one frame. In the example shown in FIG. 18, four data frames are transmitted through the same route, and all return to the node device a. Here, for the node apparatus a, the OLS of the four data frames is the node apparatus X. That is, the node device a has four empty data frames to be transmitted to the node device X. In this case, the node device a transmits one frame generated by aggregating these four empty data frames to the node device X. Hereinafter, a frame obtained by aggregating a plurality of empty data frames will be referred to as an “aggregated empty data frame”.
 集約空データフレームのフォーマットを図17(c)に示す。集約空データフレームのアドホックヘッダには、図17(a)に示す通常データフレームまたは図17(b)に示す空データフレームと同様に、LD、LS、フレームタイプ、フレームサイズが設定される。ここで、集約空データフレームのアドホックヘッダに設定されるLD、LSは、集約される各空データフレームのアドホックヘッダに設定されている値がそのまま使用される。したがって、図18に示す例において、ノード装置aからノード装置Xへ送信される集約空データフレームのアドホックヘッダには「LD=X」「LS=a」が設定される。なお、集約空データフレームのフレームタイプには、この例では、「0x0005」が割り当てられる。また、集約空データフレームのフレームサイズは、ペイロードに格納されるデータヘッダの個数に応じて決まる。 The format of the aggregated empty data frame is shown in FIG. In the ad hoc header of the aggregated empty data frame, LD, LS, frame type, and frame size are set as in the normal data frame shown in FIG. 17A or the empty data frame shown in FIG. Here, for LD and LS set in the ad hoc header of the aggregated empty data frame, values set in the ad hoc header of each aggregated empty data frame are used as they are. Accordingly, in the example illustrated in FIG. 18, “LD = X” and “LS = a” are set in the ad hoc header of the aggregated empty data frame transmitted from the node device a to the node device X. In this example, “0x0005” is assigned to the frame type of the aggregated empty data frame. The frame size of the aggregated empty data frame is determined according to the number of data headers stored in the payload.
 集約空データフレームのペイロードには、同じ隣接ノードへ送信される複数の空データフレームの「データヘッダ」が格納される。図17(c)に示す例では、1つの集約空データフレームのペイロードにn個のデータヘッダが格納されている。 In the payload of the aggregated empty data frame, “data headers” of a plurality of empty data frames transmitted to the same adjacent node are stored. In the example shown in FIG. 17C, n data headers are stored in the payload of one aggregated empty data frame.
 ノード装置Xは、集約空データフレームを受信すると、ペイロードから複数のデータヘッダを抽出する。そして、ノード装置Xは、バッファ部109から各データヘッダに対応するデータフレームを抽出し、それぞれ他の隣接ノード(この例では、隣接ノードd)へ送信する。 When receiving the aggregated empty data frame, the node device X extracts a plurality of data headers from the payload. Then, the node device X extracts the data frame corresponding to each data header from the buffer unit 109 and transmits it to each other adjacent node (in this example, the adjacent node d).
 なお、集約空データフレームは、同じLDが設定された複数の空データフレームを集約することで作成される。このとき、異なるGDが設定された複数の空データフレームから集約空データフレームを作成するようにしてもよい。この場合、集約空データフレームを受信したノード装置は、対応する複数のデータフレームを異なる隣接ノードに送信することがある。 Note that the aggregated empty data frame is created by aggregating a plurality of empty data frames in which the same LD is set. At this time, an aggregated empty data frame may be created from a plurality of empty data frames in which different GDs are set. In this case, the node device that has received the aggregated empty data frame may transmit a plurality of corresponding data frames to different adjacent nodes.
 このように、実施形態に係るネットワークでは、データフレームを最終宛先まで伝送するために、バックトラック動作が必要になることがある。このとき、実施形態のノード装置は、バックトラック時に送信するデータがバックトラックの送信先隣接ノードに保持されていると見込まれる場合には、空データフレームを送信する。これにより、バックトラックの送信先隣接ノードに保持されているデータを有効に利用でき、バックトラックに係わるデータ量を削減できる。また、集約空データフレームを利用して複数のデータヘッダを一括して送信する場合には、バックトラックに係わるデータ量をさらに削減できる。したがって、実施形態のフレーム送信方法によれば、フレームの転送効率が改善する。 As described above, in the network according to the embodiment, a backtrack operation may be required to transmit the data frame to the final destination. At this time, the node device according to the embodiment transmits an empty data frame when it is expected that data to be transmitted during backtracking is held in the backtrack destination adjacent node. As a result, the data held in the backtrack destination adjacent node can be used effectively, and the amount of data related to the backtrack can be reduced. In addition, when a plurality of data headers are transmitted collectively using an aggregated empty data frame, the amount of data related to backtracking can be further reduced. Therefore, according to the frame transmission method of the embodiment, the frame transfer efficiency is improved.
 なお、各ノード装置が搭載する電池の寿命を長くするためには、ビットレートの低い通信方式が採用されることが多い。この場合、一般に、フレームサイズが小さくなる。そうすると、サイズの大きなデータを送信する場合、多数のデータフレームを利用してデータが伝送される。したがって、実施形態に係る集約空データフレームを利用してバックトラックを行う構成を採用すれば、各ノード装置の消費電力を抑えることができ、各ノード装置が搭載する電池の寿命を長くすることができる。 Note that a communication method with a low bit rate is often adopted in order to extend the life of the battery installed in each node device. In this case, the frame size is generally reduced. Then, when transmitting large data, data is transmitted using a large number of data frames. Therefore, if the configuration of performing backtracking using the aggregated empty data frame according to the embodiment is adopted, the power consumption of each node device can be suppressed, and the life of the battery installed in each node device can be extended. it can.
 例えば、フレームサイズの最大値が128バイトであるネットワークにおいて、1500バイトのデータを送信するケースを考える。ここで、例えば、アドホックヘッダが20バイトであるものとする。また、図17では、データヘッダの要素がGS、DS、FIDのみであり、そのデータ長は18バイトであるが、ここではデータヘッダのデータ長が22バイトであるものとする。そうすると、各フレームについてデータを格納できる領域は86バイトであり、上記1500バイトのデータは、18個のデータフレームを利用して伝送されることになる。 For example, consider a case where 1500 bytes of data is transmitted in a network where the maximum frame size is 128 bytes. Here, for example, it is assumed that the ad hoc header is 20 bytes. In FIG. 17, the elements of the data header are only GS, DS, and FID, and the data length is 18 bytes. Here, it is assumed that the data length of the data header is 22 bytes. Then, the area where data can be stored for each frame is 86 bytes, and the 1500-byte data is transmitted using 18 data frames.
 ここで、仮に、上記18個のデータフレームが連続して送信され、その全てについてバックトラックが発生するものとする。そうすると、実施形態のフレーム送信方法を使用しないと、18個のバックトラックフレームが送信されることになる。これに対して、実施形態のフレーム送信方法による集約空データフレームを使用すれば、各フレームのペイロードに4個のデータヘッダを格納することができる。したがって、上記18個のデータフレームに応じてバックトラックで送信される集約空データフレームの数は、5個になる。このように、実施形態の方法によれば、バックトラック時に送信されるフレームの数が削減され、フレームの転送効率が向上する。 Here, it is assumed that the 18 data frames are continuously transmitted and backtracking occurs for all of them. Then, if the frame transmission method of the embodiment is not used, 18 backtrack frames are transmitted. On the other hand, if the aggregated empty data frame according to the frame transmission method of the embodiment is used, four data headers can be stored in the payload of each frame. Therefore, the number of aggregated empty data frames transmitted in backtrack according to the 18 data frames is 5. Thus, according to the method of the embodiment, the number of frames transmitted during backtracking is reduced, and the frame transfer efficiency is improved.
 図19は、バックトラックを実行するノード装置の動作を示すフローチャートである。このフローチャートの処理は、例えば、バックトラックが必要と判定されたときにデータフレーム処理部110により実行される。図14に示す例では、ノード装置aのデータフレーム処理部110は、ノード装置Xから受信したデータフレームを最終宛先へ伝送できないと判断したときに、図19に示すフローチャートの処理を開始する。なお、以下の説明では、バックトラック動作に係るデータフレームを「対象データフレーム」と呼ぶことがある。 FIG. 19 is a flowchart showing the operation of the node device that performs backtracking. The processing of this flowchart is executed by the data frame processing unit 110 when it is determined that backtracking is necessary, for example. In the example illustrated in FIG. 14, when the data frame processing unit 110 of the node device a determines that the data frame received from the node device X cannot be transmitted to the final destination, the processing of the flowchart illustrated in FIG. 19 is started. In the following description, a data frame related to the backtracking operation may be referred to as a “target data frame”.
 ステップS1において、データフレーム処理部110は、現在時刻Tを抽出する。各データ装置は、それぞれ時計を備えているものとする。この場合、各ノード装置が備える時計は、互いに同期していることが好ましい。 In step S1, the data frame processing unit 110 extracts the current time T. Each data device is assumed to have a clock. In this case, it is preferable that the clocks included in each node device are synchronized with each other.
 ステップS2において、データフレーム処理部110は、バッファ部109のエージング時間Gを抽出する。なお、バッファ部109のエージング時間Gは、図14~図18を参照した説明では「保持時間G」として記載したものである。また、バッファ部109のエージング時間Gは、この例では、各ノード装置において同じ値が使用される。そして、各ノード装置において、エージング時間Gは、予め決められたメモリ領域に記録されている。 In step S2, the data frame processing unit 110 extracts the aging time G of the buffer unit 109. Note that the aging time G of the buffer unit 109 is described as “holding time G” in the description with reference to FIGS. 14 to 18. In this example, the same value is used for the aging time G of the buffer unit 109 in each node device. In each node device, the aging time G is recorded in a predetermined memory area.
 バッファ部109のエージング時間Gは、ノード装置がデータフレームを送信したときから、そのデータフレームが隣接ノード装置のバックトラック動作によりそのノード装置に戻ってくるまでの時間に対して十分に長く設定される。よって、エージング時間Gは、ネットワークの構成にもよるが、例えば、30秒程度に設定される。 The aging time G of the buffer unit 109 is set to be sufficiently longer than the time from when a node device transmits a data frame until the data frame returns to the node device by the backtracking operation of the adjacent node device. The Therefore, the aging time G is set to about 30 seconds, for example, although it depends on the network configuration.
 ステップS3において、データフレーム処理部110は、対象データフレームのFIDおよびGSのペアでFID管理テーブル105を参照し、対応するエントリ時刻TEを抽出する。なお、図14に示す例では、ノード装置aは、ノード装置Xから対象データフレームを受信したときに、FID管理テーブル105にその対象データフレームに係るエントリを作成する。このとき、対象データフレームにFIDおよびGS等が記録される。そして、対象データフレームが最初に転送されたときに(すなわち、ノード装置bへ送信されたときに)、エントリ時刻TEが記録される。したがって、データフレーム処理部110は、上述のようにして記録されたエントリ時刻TEを抽出する。 In step S3, the data frame processing unit 110 refers to the FID management table 105 with the FID and GS pair of the target data frame, and extracts the corresponding entry time TE. In the example illustrated in FIG. 14, when the node device a receives the target data frame from the node device X, the node device a creates an entry related to the target data frame in the FID management table 105. At this time, FID, GS, and the like are recorded in the target data frame. Then, when the target data frame is first transferred (that is, when it is transmitted to the node device b), the entry time TE is recorded. Therefore, the data frame processing unit 110 extracts the entry time TE recorded as described above.
 ステップS4~S5において、データフレーム処理部110は、バックトラック動作の宛先ノード装置において、対象データフレームが保持されているか否かを判定する。ここで、バックトラック動作の宛先ノード装置は、対象データフレームのOLSであり、FID管理テーブル105に記録されている。以下では、バックトラック動作の宛先ノード装置を「OLSノード装置」と呼ぶことがある。そして、ステップS4~S5では、具体的には、対象データフレームのエントリ時刻TEから現在時刻Tまでの経過時間「T-TE」が、バッファ部109のエージング時間Gよりも短ければ、対象データフレームがバッファ部109に保持されていると判定される。 In steps S4 to S5, the data frame processing unit 110 determines whether or not the target data frame is held in the destination node device of the backtrack operation. Here, the destination node device of the backtrack operation is the OLS of the target data frame, and is recorded in the FID management table 105. Hereinafter, the destination node device for the backtrack operation may be referred to as an “OLS node device”. In steps S 4 to S 5, specifically, if the elapsed time “T-TE” from the entry time TE to the current time T of the target data frame is shorter than the aging time G of the buffer unit 109, the target data frame Is determined to be held in the buffer unit 109.
 このとき「G>T-TE」であれば(ステップS5:Yes)、データフレーム処理部110は、対象データフレームがOLSノード装置に保持されていると判定する。この場合、OLSノード装置は、対象データフレームを新たに受信しなくても、バッファ部109に保持されている対象データフレームを利用して送信処理を行うことができる。したがって、データフレーム処理部110は、ステップS6において、対象データフレームのフレーム識別情報を通知するための空データフレームを作成する。空データフレームは、図17(b)に示すように、アドホックヘッダおよびペイロードを有する。そして、ペイロードには、対象データフレームのデータヘッダのみが格納される。 At this time, if “G> T-TE” (step S5: Yes), the data frame processing unit 110 determines that the target data frame is held in the OLS node apparatus. In this case, the OLS node device can perform the transmission process using the target data frame held in the buffer unit 109 without newly receiving the target data frame. Therefore, in step S6, the data frame processing unit 110 creates an empty data frame for notifying frame identification information of the target data frame. As shown in FIG. 17B, the empty data frame has an ad hoc header and a payload. In the payload, only the data header of the target data frame is stored.
 図14に示す例では、ノード装置aにより作成される空データフレームのアドホックヘッダには「LD=X」「LS=a」「フレームタイプ=0x0004」「フレームサイズ=データヘッダのデータ長」が設定される。また、ペイロードに格納されるデータヘッダには、「GS=X」「GD=Y」「FID=ノード装置Xにより生成された値」が記録されている。 In the example shown in FIG. 14, “LD = X”, “LS = a”, “frame type = 0x0004”, and “frame size = data length of data header” are set in the ad hoc header of the empty data frame created by the node device a. Is done. In the data header stored in the payload, “GS = X”, “GD = Y”, and “FID = a value generated by the node device X” are recorded.
 一方、「G>T-TE」でなければ(ステップS5:No)、データフレーム処理部110は、対象データフレームがOLSノード装置に保持されていないと判定する。この場合、OLSノード装置は、最終宛先へデータを送信するために、対象データフレームを新たに受信しなければならない。したがって、データフレーム処理部110は、ステップS7において、通常のデータフレームを作成する。通常のデータフレームは、上述した空データフレームのペイロードにおいて、データヘッダに加えて、GSに伝送すべきデータが格納される。 On the other hand, if “G> T-TE” is not satisfied (step S5: No), the data frame processing unit 110 determines that the target data frame is not held in the OLS node device. In this case, the OLS node apparatus must newly receive the target data frame in order to transmit data to the final destination. Therefore, the data frame processing unit 110 creates a normal data frame in step S7. In the normal data frame, data to be transmitted to the GS is stored in addition to the data header in the payload of the above-described empty data frame.
 ステップS8において、データフレーム処理部110は、ステップS6またはS7で生成したフレームを利用してバックトラックを実行する。すなわち、データフレーム処理部110は、ステップS6またはS7で生成したフレームを送信キュー114に保存する。そうすると、送信部102は、例えば、定期的に送信キュー114に保存されているフレームを読み出して送信する。フレームの送信先は、アドホックヘッダに設定されているLDである。 In step S8, the data frame processing unit 110 performs backtracking using the frame generated in step S6 or S7. That is, the data frame processing unit 110 stores the frame generated in step S6 or S7 in the transmission queue 114. Then, for example, the transmission unit 102 periodically reads and transmits a frame stored in the transmission queue 114. The transmission destination of the frame is the LD set in the ad hoc header.
 図20は、送信キュー114の実施例である。送信キュー114には、ノード装置から送信されるフレームが格納される。すなわち、送信キュー114には、データフレーム処理部110により生成されるデータフレーム(空データフレームを含む)が格納される。また、送信キュー114には、ハローフレームおよびACKクレームも格納されるようにしてもよい。 FIG. 20 shows an example of the transmission queue 114. The transmission queue 114 stores a frame transmitted from the node device. That is, data frames (including empty data frames) generated by the data frame processing unit 110 are stored in the transmission queue 114. The transmission queue 114 may also store hello frames and ACK claims.
 送信キュー114に新たなフレームが保存されるときは、図20(a)に示すように、各フレームにエントリ番号が割り当てられる。そして、送信キュー114は、各エントリ番号に対して、LD、LS、フレームタイプ、ACK受信済みフラグ、ペイロードを保存する。ここで、LD、LS、フレームタイプは、送信フレームのアドホックヘッダに相当する。なお、図20(a)では示されていないが、LD、LS、フレームタイプに加えてフレームサイズも合わせて保存されるようにしてもよい。ACK受信済みフラグは、フレームが送信された後に、送信先ノード装置から対応するACKフレームを受信したか否かを表す。よって、各エントリのACK受信済みフラグは、送信キュー114に格納された時点では「未」が設定される。 When a new frame is stored in the transmission queue 114, an entry number is assigned to each frame as shown in FIG. The transmission queue 114 stores LD, LS, frame type, ACK received flag, and payload for each entry number. Here, LD, LS, and frame type correspond to the ad hoc header of the transmission frame. Although not shown in FIG. 20A, the frame size may be stored in addition to the LD, LS, and frame type. The ACK received flag indicates whether or not a corresponding ACK frame has been received from the transmission destination node apparatus after the frame has been transmitted. Therefore, the ACK received flag of each entry is set to “not yet” when stored in the transmission queue 114.
 送信キュー114のペイロード領域には、それぞれ、各フレームのペイロードデータが格納される。ただし、空データフレームのペイロードには、図17(b)に示すように、データヘッダのみが格納されている。したがって、送信キュー114に空データフレームが保存されるときは、ペイロード領域には1つのデータヘッダのみが保存される。 In the payload area of the transmission queue 114, the payload data of each frame is stored. However, only the data header is stored in the payload of the empty data frame as shown in FIG. Therefore, when an empty data frame is stored in the transmission queue 114, only one data header is stored in the payload area.
 例えば、図20(a)に示すエントリ0x0001には、図14においてノード装置aからバックトラック動作でノード装置Xへ送信される空データフレームが保存されている。すなわち、アドホックヘッダから得られる「LD=X」「LS=a」「フレームタイプ=0x0004」が保存されている。このとき、ACK受信済みフラグには「未」が設定される。また、このエントリのペイロード領域には、上記空データフレームのデータヘッダが保存される。 For example, an entry 0x0001 shown in FIG. 20A stores an empty data frame transmitted from the node device a to the node device X in the backtrack operation in FIG. That is, “LD = X”, “LS = a”, and “frame type = 0x0004” obtained from the ad hoc header are stored. At this time, “not yet” is set in the ACK received flag. The data header of the empty data frame is stored in the payload area of this entry.
 なお、ノード装置が図18に示す空データフレームの集約を行わない場合は、送信部102は、ステップS6またはS7で生成されたフレームを即座に送信してもよい。この場合、ノード装置は、送信キュー114を備えなくてもよい。すなわち、データフレーム処理部110は、作成したフレームを送信部102に渡し、送信部102は、そのフレームを即座に送信してもよい。 If the node device does not aggregate empty data frames shown in FIG. 18, the transmission unit 102 may immediately transmit the frame generated in step S6 or S7. In this case, the node device may not include the transmission queue 114. That is, the data frame processing unit 110 may pass the created frame to the transmission unit 102, and the transmission unit 102 may transmit the frame immediately.
 図21および図22は、バックトラック動作において空データフレームを集約する処理を示すフローチャートである。このフローチャートの処理は、所定の時間間隔でデータフレーム処理部110により繰り返し実行される。なお、ノード装置は、一定値が設定されるタイマを備える。このタイマは、クロック信号等によりカウントダウンし、ゼロになった時点でイベントを発生すると共に、再び上記一定値に戻る。そして、データフレーム処理部110は、このタイマにより生成されるイベントをトリガとして図21~図22に示すフローチャートの処理を開始する。 FIG. 21 and FIG. 22 are flowcharts showing processing for collecting empty data frames in the backtrack operation. The processing of this flowchart is repeatedly executed by the data frame processing unit 110 at predetermined time intervals. Note that the node device includes a timer in which a constant value is set. This timer counts down by a clock signal or the like, generates an event when it reaches zero, and returns to the constant value again. Then, the data frame processing unit 110 starts the processing of the flowcharts shown in FIGS. 21 to 22 using the event generated by this timer as a trigger.
 ステップS11において、データフレーム処理部110は、バックトラック動作に係わる変数を初期化する。例えば、FID管理テーブル105において、各エントリの空データ送信回数および通常データ送信回数が「ゼロ」に初期化される。また、送信キュー114の各エントリを順番に指定するための変数iは、「1」に初期化される。 In step S11, the data frame processing unit 110 initializes variables related to the backtrack operation. For example, in the FID management table 105, the number of empty data transmissions and the number of normal data transmissions for each entry are initialized to “zero”. Also, the variable i for designating each entry in the transmission queue 114 in order is initialized to “1”.
 ステップS12において、データフレーム処理部110は、送信キュー114をロックする。なお、送信キュー114がロックされている期間は、送信部102は、送信キュー114からフレームを読み出して送信することはできない。 In step S12, the data frame processing unit 110 locks the transmission queue 114. During the period when the transmission queue 114 is locked, the transmission unit 102 cannot read and transmit a frame from the transmission queue 114.
 ステップS13~S17において、データフレーム処理部110は、送信キュー114の各エントリにアクセスし、未処理状態の空データフレームを抽出する。すなわち、ステップS13~S14では、i番目のエントリにフレームが保存されているか否かがチェックされる。このとき、i番目のエントリにフレームが保存されていれば、ステップS15の処理が実行される。一方、送信キュー114に保存されているすべてのフレーム対してステップS15以降の処理が実行されたときは(ステップS14:No)、ステップS31の処理が実行される。 In steps S13 to S17, the data frame processing unit 110 accesses each entry in the transmission queue 114 and extracts an unprocessed empty data frame. That is, in steps S13 to S14, it is checked whether or not a frame is stored in the i-th entry. At this time, if a frame is stored in the i-th entry, the process of step S15 is executed. On the other hand, when the processes after step S15 are executed for all the frames stored in the transmission queue 114 (step S14: No), the process of step S31 is executed.
 ステップS15~S16において、データフレーム処理部110は、対象エントリに保存されているフレームのフレームタイプおよびACK受信済みフラグをチェックする。そして、対象エントリに未送信の集約されていない空データフレームが保存されていたときは、ステップS21に進む。この実施例では、ハローフレーム、通常データフレーム、ACKフレーム、空データフレーム(集約されていない空データフレーム)、集約空データフレームのフレームタイプは、それぞれ、0x0001、0x0002、0x0003、0x0004、0x0005である。したがって、対象エントリにおいて「フレームタイプ=0x0004」および「ACK受信済みフラグ=未」が検出されれば、ステップS21に進む。例えば、図20(a)に示す例では、エントリ0x0001に対してステップS15~S16を実行すると「Yes」と判定され、エントリ0x0002に対してステップS15~S16を実行すると「No」と判定される。 In steps S15 to S16, the data frame processing unit 110 checks the frame type and ACK received flag of the frame stored in the target entry. If an untransmitted non-aggregated empty data frame is stored in the target entry, the process proceeds to step S21. In this embodiment, the frame types of the hello frame, normal data frame, ACK frame, empty data frame (empty non-aggregated empty data frame), and aggregated empty data frame are 0x0001, 0x0002, 0x0003, 0x0004, and 0x0005, respectively. . Therefore, if “frame type = 0x0004” and “ACK received flag = not yet” are detected in the target entry, the process proceeds to step S21. For example, in the example shown in FIG. 20 (a), “Yes” is determined when steps S15 to S16 are executed for entry 0x0001, and “No” is determined when steps S15 to S16 are executed for entry 0x0002. .
 なお、対象エントリのフレームタイプが0x0004でなかった場合、或いは、ACK受信済みフラグが「済み」であったときは、ステップS17において変数iがインクリメントされる。この場合、ステップS13に戻って送信キュー114の次のエントリが選択される。 Note that if the frame type of the target entry is not 0x0004, or if the ACK received flag is “completed”, the variable i is incremented in step S17. In this case, returning to step S13, the next entry in the transmission queue 114 is selected.
 ステップS21~S22において、データフレーム処理部110は、作業領域に格納されている空データフレームを確認する。ここで、作業領域は、送信キュー114から取り出した空データフレームを一時的に格納するバッファメモリである。また、作業領域は、複数の空データフレームを集約するために使用される。そして、データフレーム処理部110は、対象エントリと同じLDが設定されている空データフレームが作業領域に存在するか否かをチェックする。 In steps S21 to S22, the data frame processing unit 110 confirms an empty data frame stored in the work area. Here, the work area is a buffer memory that temporarily stores empty data frames extracted from the transmission queue 114. The work area is used to aggregate a plurality of empty data frames. Then, the data frame processing unit 110 checks whether an empty data frame in which the same LD as the target entry is set exists in the work area.
 対象エントリの空データフレームと同じLDが設定されている空データフレームが作業領域に存在しないときは、データフレーム処理部110は、ステップS23において、対象エントリのACK受信済みフラグに「済み」を設定する。なお、ACK受信済みフラグが「済み」に設定されているエントリのフレームは、実際に送信される前であっても、図21~図22に示すフローチャートの中では、既に送信されて対応するACKフレームを受け取ったものとして扱われる。したがって、ACK受信済みフラグが「済み」に設定されているエントリのフレームは、空データフレームであっても、ステップS16で選択されることはない。 When no empty data frame in which the same LD as the empty data frame of the target entry is set exists in the work area, the data frame processing unit 110 sets “completed” in the ACK received flag of the target entry in step S23. To do. Note that the frame of the entry for which the ACK received flag is set to “completed” has already been transmitted and the corresponding ACK in the flowcharts shown in FIGS. 21 to 22 even before actual transmission. Treated as if the frame was received. Therefore, the frame of the entry whose ACK received flag is set to “completed” is not selected in step S16 even if it is an empty data frame.
 ステップS24において、データフレーム処理部110は、対象エントリの空データフレームを作業領域に保存する。以降、この空データフレームは、集約処理状態となる。そして、ステップS25において、データフレーム処理部110は、変数iをインクリメントしてステップS13に戻る。すなわち、次のエントリが選択される。 In step S24, the data frame processing unit 110 stores the empty data frame of the target entry in the work area. Thereafter, this empty data frame is in the aggregation processing state. In step S25, the data frame processing unit 110 increments the variable i and returns to step S13. That is, the next entry is selected.
 対象エントリの空データフレームと同じLDが設定されている空データフレームが作業領域に存在するときは(ステップS22:Yes)、ステップS26が実行される。ステップS26においては、データフレーム処理部110は、ステップS22において検出された作業領域内の空データフレームに、対象エントリの空データフレームを追加する。このとき、これらの2つの空データフレームのアドホックヘッダ(LD、LS、フレームタイプ)は互いに同じである。よって、ステップS26では、作業領域内の空データフレームに、対象エントリの空データフレームのペイロードが追加される。このとき、対象エントリのACK受信済みフラグに「済み」が設定される。 When an empty data frame in which the same LD as the empty data frame of the target entry is set exists in the work area (step S22: Yes), step S26 is executed. In step S26, the data frame processing unit 110 adds the empty data frame of the target entry to the empty data frame in the work area detected in step S22. At this time, the ad hoc headers (LD, LS, frame type) of these two empty data frames are the same. Therefore, in step S26, the payload of the empty data frame of the target entry is added to the empty data frame in the work area. At this time, “completed” is set in the ACK received flag of the target entry.
 ステップS27において、データフレーム処理部110は、ステップS26で得られる空データフレームのサイズが予め決められた閾値以下であるかをチェックする。この閾値は、作業領域に格納されている集約処理状態の空データフレームに、さらに他の空データフレームのペイロードを追加できるか否かを判断するために使用される。よって、この閾値は、例えば、実施形態に係るネットワークで規定される最大フレームサイズよりも、データヘッダ長だけ小さい値に決定される。そして、上記空データフレームのサイズが閾値以下であれば、上記集約処理状態の空データフレームにさらにデータヘッダを追加可能と判断される。この場合、ステップS25において変数iがインクリメントされた後、ステップS13に戻る。すなわち、次のエントリが選択される。 In step S27, the data frame processing unit 110 checks whether the size of the empty data frame obtained in step S26 is equal to or smaller than a predetermined threshold value. This threshold value is used to determine whether or not the payload of another empty data frame can be added to the empty data frame in the aggregation processing state stored in the work area. Therefore, for example, this threshold is determined to be a value smaller by the data header length than the maximum frame size defined by the network according to the embodiment. If the size of the empty data frame is equal to or smaller than the threshold value, it is determined that a data header can be further added to the empty data frame in the aggregation processing state. In this case, after the variable i is incremented in step S25, the process returns to step S13. That is, the next entry is selected.
 一方、上記空データフレームのサイズが閾値を超えていれば、データフレーム処理部110は、ステップS28において、上記空データフレームのフレームタイプに、集約空データフレームを表す値を設定する。この例では「0x0005」が設定される。すなわち、集約空データフレームが生成される。そして、データフレーム処理部110は、送信キュー114に新たなエントリを生成し、生成した集約空データフレームをそのエントリに保存する。このとき、このエントリのACK受信済みフラグには「未」が設定される。この後、ステップS25において変数iがインクリメントされた後、ステップS13に戻る。すなわち、次のエントリが選択される。 On the other hand, if the size of the empty data frame exceeds the threshold value, the data frame processing unit 110 sets a value representing the aggregated empty data frame to the frame type of the empty data frame in step S28. In this example, “0x0005” is set. That is, an aggregated empty data frame is generated. Then, the data frame processing unit 110 generates a new entry in the transmission queue 114 and stores the generated aggregated empty data frame in the entry. At this time, “not yet” is set in the ACK received flag of this entry. Thereafter, after the variable i is incremented in step S25, the process returns to step S13. That is, the next entry is selected.
 送信キュー114のすべてのエントリが選択されると(ステップS14:No)、データフレーム処理部110は、ステップS31の処理を実行する。ステップS31は、作業領域内の各空データフレームに対して実行されるが、基本的には、ステップS28と同じである。すなわち、ステップS31では、まず、作業領域内の各空データフレームのフレームタイプに、それぞれ集約空データフレームを表す値が設定される。これにより、集約空データフレームが生成される。続いて、各集約空データフレームは、送信キュー114に保存される。このとき、対応するACK受信済みフラグには「未」が設定される。 When all entries in the transmission queue 114 are selected (step S14: No), the data frame processing unit 110 executes the process of step S31. Step S31 is executed for each empty data frame in the work area, but is basically the same as step S28. That is, in step S31, first, a value representing an aggregated empty data frame is set in the frame type of each empty data frame in the work area. As a result, an aggregated empty data frame is generated. Subsequently, each aggregated empty data frame is stored in the transmission queue 114. At this time, “not yet” is set in the corresponding ACK received flag.
 ステップS32において、データフレーム処理部110は、送信キュー114のロックを解除する。したがって、以降、送信部102は、送信キュー114からフレームを読み出して送信することができる。 In step S32, the data frame processing unit 110 unlocks the transmission queue 114. Therefore, thereafter, the transmission unit 102 can read and transmit a frame from the transmission queue 114.
 次に、図21~図22に示す集約処理の実施例を説明する。以下では、集約処理の開始時に、送信キュー114は図20(a)に示す状態であるものとする。また、作業領域は初期化されているものとする。 Next, an embodiment of the aggregation process shown in FIGS. 21 to 22 will be described. In the following, it is assumed that the transmission queue 114 is in the state shown in FIG. It is assumed that the work area has been initialized.
 (1)送信キュー114のエントリ0x0001が選択される。このエントリには「フレームタイプ=0x0004(空データフレーム)」および「ACK受信済みフラグ=未」が設定されている。よって、ステップS16で「Yes」と判定され、ステップS21以降の処理が実行される。 (1) The entry 0x0001 of the transmission queue 114 is selected. In this entry, “frame type = 0x0004 (empty data frame)” and “ACK received flag = not yet” are set. Therefore, it is determined as “Yes” in Step S16, and the processing after Step S21 is executed.
 (2)この時点では、作業領域には空データフレームが格納されていないので、ステップS22で「No」と判定される。よって、ステップS23においてエントリ0x0001のACK受信済みフラグに「済み」が設定される。また、ステップS24において、エントリ0x0001の空データフレームが作業領域に保存される。なお、この空データフレームのペイロードには「データヘッダ1」が格納されているものとする。 (2) At this time, since no empty data frame is stored in the work area, it is determined as “No” in step S22. Therefore, “completed” is set in the ACK received flag of entry 0x0001 in step S23. In step S24, the empty data frame of entry 0x0001 is stored in the work area. It is assumed that “data header 1” is stored in the payload of this empty data frame.
 (3)エントリ0x0002~0x0009には、空データフレームは保存されていない。この場合、各エントリについてステップS16において「No」と判定されるので、ステップS21以降の処理は実行されない。 (3) No empty data frame is stored in entries 0x0002 to 0x0009. In this case, since “No” is determined in step S16 for each entry, the processing from step S21 onward is not executed.
 (4)エントリ0x0010が選択される。このエントリについては、エントリ0x0001と同様に、ステップS16で「Yes」と判定される。よって、ステップS21以降の処理が実行される。 (4) Entry 0x0010 is selected. This entry is determined as “Yes” in step S16 as in the case of entry 0x0001. Therefore, the process after step S21 is performed.
 (5)エントリ0x0010のLDは「X」である。また、作業領域には、エントリ0x0001から取り出された空データフレームが保存されている。すなわち、作業領域に保存されている空データフレームのLDも「X」である。よって、ステップS26において、作業領域に保存されている空データフレームに、エントリ0x0010から取り出した空データフレームが追加される。これにより、作業領域には、ペイロードに「データヘッダ1+データヘッダ2」が格納された集約空データフレームが保存されることになる。なお、この集約空データフレームのLDは「X」のままである。さらに、エントリ0x0010のACK受信済みフラグに「済み」が設定される。 (5) The LD of entry 0x0010 is “X”. In the work area, an empty data frame extracted from entry 0x0001 is stored. That is, the LD of the empty data frame stored in the work area is also “X”. Therefore, in step S26, the empty data frame extracted from the entry 0x0010 is added to the empty data frame stored in the work area. As a result, an aggregated empty data frame in which “data header 1 + data header 2” is stored in the payload is stored in the work area. Note that the LD of this aggregated empty data frame remains “X”. Furthermore, “completed” is set in the ACK received flag of entry 0x0010.
 (6)上記(5)で作成された集約空データフレームのサイズが閾値よりも小さいものとする。そうすると、次のエントリが選択される。しかし、エントリ0x0011には、空データフレームは保存されていない。よって、ステップS21以降の処理が実行されることなく、さらに次のエントリが選択される。 (6) Assume that the size of the aggregated empty data frame created in (5) above is smaller than the threshold value. Then, the next entry is selected. However, no empty data frame is stored in entry 0x0011. Therefore, the next entry is further selected without executing the processing after step S21.
 (7)エントリ0x0012が選択される。このエントリについては、エントリ0x0001またはエントリ0x0010と同様に、ステップS16で「Yes」と判定される。よって、ステップS21以降の処理が実行される。 (7) Entry 0x0012 is selected. This entry is determined as “Yes” in step S16 as in the case of entry 0x0001 or entry 0x0010. Therefore, the process after step S21 is performed.
 (8)エントリ0x0012のLDは「X」である。また、作業領域に保存されている集約空データフレームのLDも「X」である。したがって、ステップS26において、作業領域に保存されている集約空データフレームに、エントリ0x0012から取り出した空データフレームが追加される。これにより、作業領域には、ペイロードに「データヘッダ1+データヘッダ2+データヘッダ3」が格納された集約空データフレームが保存されることになる。なお、この集約空データフレームのLDも、「X」のままである。さらに、エントリ0x0012のACK受信済みフラグに「済み」が設定される。 (8) The LD of entry 0x0012 is “X”. The LD of the aggregated empty data frame stored in the work area is also “X”. Accordingly, in step S26, the empty data frame extracted from the entry 0x0012 is added to the aggregated empty data frame stored in the work area. As a result, an aggregated empty data frame in which “data header 1 + data header 2 + data header 3” is stored in the payload is stored in the work area. Note that the LD of this aggregated empty data frame also remains “X”. Furthermore, “completed” is set in the ACK received flag of entry 0x0012.
 (9)上記(8)で作成された集約空データフレームのサイズが閾値よりも小さいものとする。そうすると、次のエントリがサーチされる。しかし、この例では、未選択のエントリは残されていない。よって、ステップS31の処理が実行される。 (9) Assume that the size of the aggregated empty data frame created in (8) above is smaller than the threshold value. Then, the next entry is searched. However, in this example, no unselected entry is left. Therefore, the process of step S31 is performed.
 (10)送信キュー114に新たなエントリ0x0013が作成され、上記(8)で生成された集約空データフレームは、このエントリに保存される。このとき、フレームタイプには「0x0005」が設定される。また、ACK受信済みフラグには「未」が設定される。 (10) A new entry 0x0013 is created in the transmission queue 114, and the aggregated empty data frame generated in (8) above is stored in this entry. At this time, “0x0005” is set as the frame type. In addition, “not yet” is set in the ACK received flag.
 上記手順(1)~(10)により、送信キュー114は、図20(b)に示す状態に更新される。この後、送信キュー114のロックが解除されると、送信部102は、送信キュー114においてACK受信済みフラグに「未」が設定されているフレームを抽出して送信する。したがって、送信部102は、エントリ0x0013に保存されている集約空データフレームを送信する。このとき、集約空データフレームは、LDにより指定される隣接ノードに送信される。すなわち、図20(b)に示す例では、集約空データフレームは、ノード装置Xへ送信される。 The transmission queue 114 is updated to the state shown in FIG. 20B by the above procedures (1) to (10). Thereafter, when the lock of the transmission queue 114 is released, the transmission unit 102 extracts and transmits a frame in which “not received” is set in the ACK received flag in the transmission queue 114. Therefore, the transmitting unit 102 transmits the aggregated empty data frame stored in the entry 0x0013. At this time, the aggregated empty data frame is transmitted to the adjacent node specified by the LD. That is, in the example illustrated in FIG. 20B, the aggregated empty data frame is transmitted to the node device X.
 このように、実施形態のノード装置は、同じLDが指定された複数の空データフレームが送信キュー114に保存されているときは、それら複数の空データフレームを集約して送信する。したがって、バックトラック動作の回数が削減され、データ転送効率が改善される。 As described above, when a plurality of empty data frames in which the same LD is designated are stored in the transmission queue 114, the node device of the embodiment aggregates and transmits the plurality of empty data frames. Therefore, the number of backtrack operations is reduced and data transfer efficiency is improved.
 図23は、空データフレームの受信処理を示すフローチャートである。このフローチャートの処理は、ノード装置が隣接ノード装置から空データフレームまたは集約空データフレームを受信し、後述する図30のデータフレーム受信処理のステップS801aで、空データフレームまたは集約空データフレームと判定されたときに、データフレーム処理部110により実行される。ここで、空データフレームおよび集約空データフレームは、受信フレームのアドホックヘッダに設定されているフレームタイプの値により識別される。なお、このフローチャートの説明では、「空データフレーム」は、空データフレームおよび集約空データフレームの双方を含むものとする。 FIG. 23 is a flowchart showing an empty data frame reception process. In the process of this flowchart, the node apparatus receives an empty data frame or an aggregated empty data frame from an adjacent node apparatus, and is determined to be an empty data frame or an aggregated empty data frame in step S801a of the data frame reception process of FIG. Is executed by the data frame processing unit 110. Here, the empty data frame and the aggregated empty data frame are identified by the value of the frame type set in the ad hoc header of the received frame. In the description of this flowchart, it is assumed that “empty data frames” include both empty data frames and aggregated empty data frames.
 ステップS42において、データフレーム処理部110は、受信した空データフレームのペイロードに格納されているデータヘッダを切り出す。ここで、データヘッダのデータ長が予は決めされている。例えば、図17に示す例では、データヘッダには8バイトのGS、8バイトのGD、2バイトのFIDが格納されるので、データヘッダのデータ長は18バイトである。よって、この場合、受信した空データフレームのペイロードの先頭から18バイト単位でデータ(すなわち、各データヘッダ)が抽出される。 In step S42, the data frame processing unit 110 cuts out the data header stored in the payload of the received empty data frame. Here, the data length of the data header is predetermined. For example, in the example shown in FIG. 17, since the data header stores 8 bytes of GS, 8 bytes of GD, and 2 bytes of FID, the data length of the data header is 18 bytes. Therefore, in this case, data (that is, each data header) is extracted in units of 18 bytes from the beginning of the payload of the received empty data frame.
 ステップS43において、データフレーム処理部110は、受信した空データフレーム内に集約されているデータヘッダの数をカウントする。ここでは、集約されているデータヘッダの数は「N」で表わされている。このとき、変数iが「1」に初期化される。変数iは、このフローチャートでは、空データフレームから抽出された各データヘッダを識別する。 In step S43, the data frame processing unit 110 counts the number of data headers aggregated in the received empty data frame. Here, the number of aggregated data headers is represented by “N”. At this time, the variable i is initialized to “1”. The variable i identifies each data header extracted from the empty data frame in this flowchart.
 ステップS44~S49は、空データフレームから抽出された各データヘッダについてそれぞれ実行される。すなわち、データフレーム処理部110は、ステップS44においてi番目のデータヘッダを抽出し、ステップS45~S48の処理を実行する。 Steps S44 to S49 are executed for each data header extracted from the empty data frame. That is, the data frame processing unit 110 extracts the i-th data header in step S44, and executes the processes in steps S45 to S48.
 ステップS45~S46において、データフレーム処理部110は、i番目のデータヘッダのFIDおよびGSのペアに基づいて、FID管理テーブル105を検索する。ここで、FID管理テーブル105のエントリは、後で図29を参照しながら説明するが、最終更新時刻からエージング時間Gが経過した時点で削除される。換言すれば、FID管理テーブル105のエントリは、最終更新時刻からエージング時間Gが経過するまでの期間は存在している。なお、FID管理テーブル105のエージング時間Gは、図15に示す保持期間Gに相当する。 In steps S45 to S46, the data frame processing unit 110 searches the FID management table 105 based on the FID / GS pair of the i-th data header. Here, entries FID management table 105 is described with reference to FIG. 29 later, from the last update time aging time G f is deleted at the time of the lapse. In other words, the entry for the FID management table 105, period since the last update time to the aging time G f has elapsed is present. Incidentally, the aging time G f of FID management table 105 corresponds to a holding period G shown in FIG. 15.
 受信空データフレームに対応するエントリがFID管理テーブル105に存在するときは、データフレーム処理部110は、ステップS47において、上述したFIDおよびGSのペアで特定されるデータフレームをバッファ部109から抽出(復元)する。なお、後で図24を参照しながら説明するが、ノード装置は、隣接ノードからデータフレームを受信すると、そのデータフレームをバッファ部109に保持する。そして、この受信データフレームのFIDおよびGSのペアを利用してFID管理テーブル105のエントリが作成される。ここで、FID管理テーブル105にエントリが存在する期間は、対応するデータフレームはバッファ部109に保持される。すなわち、上述したFIDおよびGSのペアで特定されるエントリが存在している期間(最終更新時刻からエージング時間Gが経過するまでの期間)は、対応するデータフレームがバッファ部109により保持されている。 If there is an entry corresponding to the received empty data frame in the FID management table 105, the data frame processing unit 110 extracts from the buffer unit 109 the data frame specified by the above-mentioned FID / GS pair (step S47). Restore. As will be described later with reference to FIG. 24, when receiving a data frame from an adjacent node, the node device holds the data frame in the buffer unit 109. Then, an entry of the FID management table 105 is created using the FID and GS pair of the received data frame. Here, during a period in which an entry exists in the FID management table 105, the corresponding data frame is held in the buffer unit 109. That is, a period in the entry specified by the pair of the above-mentioned FID and GS are present (the period from the last update time until the aging time G f has elapsed), the corresponding data frame is held by the buffer unit 109 Yes.
 ステップS48において、データフレーム処理部110は、ステップS47で抽出したデータフレームに対応するACKフレームを生成し、ACKフレームの送信を送信部102に依頼する。そして、送信部102がACKフレームを、空データフレームの送信元ノード装置へ返送する。これにより、バックトラックを実行したノード装置は、バックトラックが成功したことを認識する。 In step S48, the data frame processing unit 110 generates an ACK frame corresponding to the data frame extracted in step S47, and requests the transmission unit 102 to transmit the ACK frame. Then, the transmission unit 102 returns the ACK frame to the transmission source node apparatus of the empty data frame. Thereby, the node device that has performed the backtracking recognizes that the backtracking has been successful.
 FID管理テーブル105に対応するエントリが存在しないときは(ステップS46:No)、データフレーム処理部110は、ステップS47~S48は実行されない。すなわち、この場合、空データフレームに対応する受信データフレームはないため、この受信データフレームに対応するACKフレームは、バックトラックを実行したノード装置に返送されない。 When there is no entry corresponding to the FID management table 105 (step S46: No), the data frame processing unit 110 does not execute steps S47 to S48. That is, in this case, since there is no received data frame corresponding to the empty data frame, the ACK frame corresponding to this received data frame is not returned to the node device that has performed backtracking.
 ステップS49において、データフレーム処理部110は、変数iがデータヘッダ数Nに達したか否かをチェックする。変数iがNよりも小さければ、未選択のデータヘッダが残っていると判断される。この場合、変数iがインクリメントされた後、ステップS44~S48が実行される。すなわち、集約空データフレームから抽出された次のデータヘッダに対してステップS44~S48の処理が実行される、一方、変数iがNに達していれば、このフローチャートの処理は終了する。 In step S49, the data frame processing unit 110 checks whether or not the variable i has reached the number N of data headers. If the variable i is smaller than N, it is determined that an unselected data header remains. In this case, after the variable i is incremented, steps S44 to S48 are executed. That is, the processing of steps S44 to S48 is executed for the next data header extracted from the aggregated empty data frame. On the other hand, if the variable i reaches N, the processing of this flowchart ends.
 なお、バックトラック動作に際して空データフレームの集約が行われない場合には、図23のフローチャートにおいて、ステップS43、S44、S49の処理は不要である。或いは、図23のフローチャートにおいて、「N=1」が与えられるようにしてもよい。 Note that if the aggregation of empty data frames is not performed during the backtrack operation, the processing of steps S43, S44, and S49 is not necessary in the flowchart of FIG. Alternatively, “N = 1” may be given in the flowchart of FIG.
 このように、実施形態のフレーム送信方法では、ノード装置(以下、バックトラック実行ノード装置)は、OLSノード装置から受信したデータフレームの転送が不可能と判定したときは、OLSノード装置へ通常のデータフレームまたは空データフレームを送信する。OLSノード装置は、バックトラック実行ノード装置から通常のデータフレームを受信したときは、そのデータフレームを他の隣接ノード装置へ転送する。また、OLSノード装置は、バックトラック実行ノード装置から空データフレームを受信したときは、その空データフレームに対応するデータフレームをバッファ部109から取り出して他の隣接ノード装置へ転送する。このとき、OLSノード装置は、いずれのケースでも、バックトラック実行ノード装置へACKフレームを返送する。そうすると、バックトラック実行ノード装置は、バックトラック動作を終了する。 As described above, in the frame transmission method according to the embodiment, when the node device (hereinafter referred to as the backtrack execution node device) determines that the transfer of the data frame received from the OLS node device is impossible, the normal transmission to the OLS node device is performed. Send data frame or empty data frame. When the OLS node device receives a normal data frame from the backtrack execution node device, the OLS node device transfers the data frame to another adjacent node device. When the OLS node device receives an empty data frame from the backtrack execution node device, the OLS node device extracts the data frame corresponding to the empty data frame from the buffer unit 109 and transfers it to another adjacent node device. At this time, the OLS node apparatus returns an ACK frame to the backtrack execution node apparatus in any case. Then, the backtrack execution node device ends the backtrack operation.
 ただし、OLSノード装置は、バックトラック実行ノード装置から受信した空データフレームに対応するデータフレームがバッファ部109に格納されていなかったときは、バックトラック実行ノード装置へACKフレームを返送しない。そうすると、バックトラック実行ノード装置は、所定時間経過後、通常のデータフレームをOLSノード装置へ送信する。或いは、バックトラック動作において空データフレームを繰り返し送信する構成においては、バックトラック実行ノード装置は、所定時間経過後、再度、空データフレームをOLSノード装置へ送信するようにしてもよい。そして、バックトラック実行ノード装置は、所定回数繰り返し空データフレームを送信したにもかかわらずACKフレームを受信できなかったときに、OLSノード装置へ通常のデータフレームを送信するようにしてもよい。 However, the OLS node device does not return the ACK frame to the backtrack execution node device when the data frame corresponding to the empty data frame received from the backtrack execution node device is not stored in the buffer unit 109. Then, the backtrack execution node device transmits a normal data frame to the OLS node device after a predetermined time has elapsed. Alternatively, in a configuration in which the empty data frame is repeatedly transmitted in the backtrack operation, the backtrack execution node device may transmit the empty data frame to the OLS node device again after a predetermined time has elapsed. Then, the backtrack execution node device may transmit a normal data frame to the OLS node device when the ACK frame cannot be received even though the empty data frame is repeatedly transmitted a predetermined number of times.
 なお、実施形態に係るネットワークは、空データフレームを処理可能なノード装置および空データフレームを処理できないノード装置が混在してもよい。例えば、図14に示す実施例において、ノード装置Xが空データフレームを処理できないものとする。そして、ノード装置aが、バックトラック動作において、ノード装置Xへ空データフレームを送信したものとする。この場合、ノード装置Xは、受信した空データフレームを処理できないので、ノード装置aへACKフレームを返送しない。そうすると、ノード装置aは、空データフレームを送信したときから所定時間経過後、通常のデータフレームをノード装置Xへ送信する。そして、ノード装置Xは、受信した通常のデータフレームをノード装置dへ転送する。このように、ネットワーク内に空データフレームを処理できないノード装置が設けられている場合であっても、データフレーム転送が遮断されることはない。 In the network according to the embodiment, node devices that can process empty data frames and node devices that cannot process empty data frames may coexist. For example, in the embodiment shown in FIG. 14, it is assumed that the node device X cannot process an empty data frame. Then, it is assumed that the node device a transmits an empty data frame to the node device X in the backtrack operation. In this case, since the node device X cannot process the received empty data frame, it does not return an ACK frame to the node device a. Then, the node device a transmits a normal data frame to the node device X after a predetermined time has elapsed since the empty data frame was transmitted. Then, the node device X transfers the received normal data frame to the node device d. Thus, even when a node device that cannot process an empty data frame is provided in the network, the data frame transfer is not blocked.
 また、実施形態のフレーム送信方法では、バックトラック実行ノード装置(図14~図15では、ノード装置a)は、対象データフレームのエントリ時刻からの経過時間が保持期間Gよりも短いときに空データフレームを送信する。一方、OLSノード装置(図14~図15では、ノード装置X)は、後で図32を参照しながら説明するが、対象データフレームをバックトラック実行ノード装置へ送信した時刻(最終更新時刻)からの経過時間が保持期間Gに達するまではその対象データフレームをバッファ部109に保持ししている。ここで、各ノード装置の時計が同期しているものとすると、バックトラック実行ノード装置におけるエントリ時刻は、OLSノード装置における最終更新時刻よりも必ず後になる。このため、バックトラック実行ノード装置におけるエントリ時刻から保持期間Gが経過する前であれば、OLSノード装置に対象データフレームが保持されている可能性は高い。したがって、上記条件下でバックトラック実行ノード装置から空データフレームが送信された場合、OLSノード装置においてバッファ部109に保持されている対象データフレームが有効に利用される可能性が高い。 Also, in the frame transmission method of the embodiment, the backtrack execution node device (node device a in FIGS. 14 to 15) is configured to send empty data when the elapsed time from the entry time of the target data frame is shorter than the holding period G Send a frame. On the other hand, the OLS node device (node device X in FIGS. 14 to 15) will be described later with reference to FIG. 32, but from the time (last update time) when the target data frame is transmitted to the backtrack execution node device. Until the elapsed time reaches the holding period G, the target data frame is held in the buffer unit 109. Here, assuming that the clocks of the node devices are synchronized, the entry time in the backtrack execution node device is always later than the last update time in the OLS node device. For this reason, if the retention period G has not elapsed since the entry time in the backtrack execution node device, there is a high possibility that the target data frame is retained in the OLS node device. Therefore, when an empty data frame is transmitted from the backtrack execution node device under the above conditions, there is a high possibility that the target data frame held in the buffer unit 109 in the OLS node device is effectively used.
 <各ノード装置の動作を示すフローチャート>
 続いて、図24~図41に示すフローチャートを参照して、ノード装置100の動作の詳細を説明する。
<Flowchart showing operation of each node device>
Next, details of the operation of the node device 100 will be described with reference to the flowcharts shown in FIGS.
 図24は、フレーム受信処理のフローチャートである。フレーム受信処理は、ノード装置100に電源が入れられると開始される。
 ステップS201で受信部101は、フレームを受信するまで待機する。つまり、受信部101は、フレームを受信していなければステップS201を繰り返す。フレームを受信すると、受信部101は受信したフレームをフレーム分岐処理部106に出力し、処理はステップS202に移行する。
FIG. 24 is a flowchart of the frame reception process. The frame reception process is started when the node device 100 is turned on.
In step S201, the reception unit 101 waits until a frame is received. That is, if the receiving unit 101 has not received a frame, step S201 is repeated. When receiving the frame, the receiving unit 101 outputs the received frame to the frame branching processing unit 106, and the process proceeds to step S202.
 ステップS202では、フレーム分岐処理部106が、ステップS201で受信部101が受信したフレームのタイプフィールドの値を参照し、フレームのタイプを判定する。受信したフレームのタイプがハローフレームの場合、処理はステップS203に移行し、データフレームの場合、処理はステップS204に移行し、ACKフレームの場合、処理はステップS206に移行する。なお、バックトラック動作において使用される空データフレームおよび集約空データフレームは、特に明記しない限りは、各ノード装置において通常のデータフレームと同様に処理される。したがって、図24~図41に係る説明において、特に明記しないときは、「データフレーム」は、空データフレームおよび集約空データフレームを含むものとする。 In step S202, the frame branching processing unit 106 refers to the value of the type field of the frame received by the receiving unit 101 in step S201, and determines the frame type. If the received frame type is a hello frame, the process proceeds to step S203. If the received frame type is a data frame, the process proceeds to step S204. If the received frame type is an ACK frame, the process proceeds to step S206. Note that the empty data frame and the aggregated empty data frame used in the backtrack operation are processed in the same manner as normal data frames in each node device unless otherwise specified. Therefore, in the description related to FIGS. 24 to 41, the “data frame” includes an empty data frame and an aggregated empty data frame unless otherwise specified.
 ステップS203では、受信されたハローフレームをフレーム分岐処理部106がリンク管理部108へ出力し、リンク管理部108が図25のハローフレーム受信処理を行う。そして処理はステップS201に戻る。もちろん、図4のMPU201が図3の各部に対応する複数のタスクを並行して実行するマルチタスク環境では、フレーム分岐処理部106がハローフレームを出力したら、ハローフレーム受信処理の終了を待たずに処理がステップS201に移行してもよい。 In step S203, the frame branch processing unit 106 outputs the received hello frame to the link management unit 108, and the link management unit 108 performs the hello frame reception process of FIG. Then, the process returns to step S201. Of course, in the multitasking environment in which the MPU 201 in FIG. 4 executes a plurality of tasks corresponding to the units in FIG. 3 in parallel, if the frame branch processing unit 106 outputs a hello frame, it does not wait for the end of the hello frame reception process. The process may move to step S201.
 また、ステップS204では、フレーム分岐処理部106が、ステップS201で受信されたデータフレームをバッファ部109に格納する。つまり、フレーム分岐処理部106は、バッファ部109内に新たなエントリの領域を確保し、確保した領域にステップS201で受信されたデータフレームを格納する。また、フレーム分岐処理部106は、次のステップS205のためにデータフレームからGSとFIDの値を取り出して記憶しておく。なお、図8のとおりバッファ部109はタイムアウト時刻フィールドを有するが、ステップS204の時点では、タイムアウト時刻はまだ設定されない。 In step S204, the frame branching processing unit 106 stores the data frame received in step S201 in the buffer unit 109. That is, the frame branching processing unit 106 reserves a new entry area in the buffer unit 109, and stores the data frame received in step S201 in the secured area. Further, the frame branching processing unit 106 extracts and stores the GS and FID values from the data frame for the next step S205. Although the buffer unit 109 has a timeout time field as shown in FIG. 8, the timeout time is not yet set at the time of step S204.
 そして、ステップS205でフレーム分岐処理部106は、データフレーム処理部110にデータフレーム受信処理を行うよう指示する。指示に際してフレーム分岐処理部106は、ステップS204で記憶しておいたデータフレームのGSとFIDの値をデータフレーム処理部110に通知する。 In step S205, the frame branching processing unit 106 instructs the data frame processing unit 110 to perform data frame reception processing. When instructed, the frame branching processing unit 106 notifies the data frame processing unit 110 of the GS and FID values of the data frame stored in step S204.
 なお、ノード装置100がGSとならないタイプの装置である場合(例えば、ノード装置100が中継専用装置である場合)、データフレーム受信処理は図30~図35のとおりである。他方、ノード装置100がGSにもなりうるタイプの装置である場合、データフレーム受信処理は、図30~図32、図41のとおりである。 When the node device 100 is a device that does not become a GS (for example, when the node device 100 is a relay-dedicated device), the data frame reception process is as shown in FIGS. On the other hand, when the node device 100 is a type of device that can also be a GS, the data frame reception process is as shown in FIGS. 30 to 32 and FIG.
 データフレーム処理部110が指示にしたがってデータフレーム受信処理を行うと、処理はステップS201に戻る。もちろん、マルチタスク環境では、フレーム分岐処理部106がデータフレーム処理部110にデータフレーム受信処理を行うよう指示したら、データフレーム受信処理の終了を待たずに処理がステップS201に移行してもよい。 When the data frame processing unit 110 performs the data frame reception process according to the instruction, the process returns to step S201. Of course, in the multitasking environment, if the frame branch processing unit 106 instructs the data frame processing unit 110 to perform the data frame reception process, the process may proceed to step S201 without waiting for the end of the data frame reception process.
 また、ステップS206では、受信されたACKフレームをフレーム分岐処理部106がACK処理部107へ出力し、ACK処理部107が図37のACKフレーム受信処理を行う。そして処理はステップS201に戻る。もちろん、マルチタスク環境では、フレーム分岐処理部106がACKフレームを出力したら、ACKフレーム受信処理の終了を待たずに処理がステップS201に移行してもよい。 In step S206, the frame branch processing unit 106 outputs the received ACK frame to the ACK processing unit 107, and the ACK processing unit 107 performs the ACK frame reception process of FIG. Then, the process returns to step S201. Of course, in the multitasking environment, when the frame branch processing unit 106 outputs an ACK frame, the process may proceed to step S201 without waiting for the end of the ACK frame reception process.
 図25は、図24のステップS203におけるハローフレーム受信処理のフローチャートである。図25の処理は、フレーム分岐処理部106からハローフレームがリンク管理部108に出力されると開始される。 FIG. 25 is a flowchart of the hello frame reception process in step S203 of FIG. The processing in FIG. 25 is started when a hello frame is output from the frame branching processing unit 106 to the link management unit 108.
 ステップS301でリンク管理部108は、受信したハローフレームのLSと同じ値をノードIDとして持つエントリが、隣接ノード管理テーブル103(図9参照)に存在するか否かを判断する。エントリが見つかれば処理はステップS302に移行し、エントリが見つからなければ処理はステップS303に移行する。 In step S301, the link management unit 108 determines whether or not an entry having the same value as the LS of the received hello frame as the node ID exists in the adjacent node management table 103 (see FIG. 9). If an entry is found, the process proceeds to step S302. If no entry is found, the process proceeds to step S303.
 なお、図25の説明における「受信したハローフレーム」とは、図24のステップS201で受信部101が受信したハローフレームである。つまり、図25の説明における「受信したハローフレーム」とは、ステップS202でフレーム分岐処理部106がリンク管理部108に出力して図25の処理の開始の契機となったハローフレームである。 Note that the “received hello frame” in the description of FIG. 25 is the hello frame received by the receiving unit 101 in step S201 of FIG. That is, the “received hello frame” in the description of FIG. 25 is a hello frame that is output from the frame branching processing unit 106 to the link management unit 108 in step S202 and triggers the start of the processing of FIG.
 ステップS302でリンク管理部108は、ステップS301で見つかったエントリの最終更新時刻として、現在時刻を設定する。そして、図25の処理は終了する。
 例えば、ノード装置NにおいてステップS302が実行された結果として、図9のように隣接ノード管理テーブル103-Nにおいて、NというノードIDに対応する最終更新時刻フィールドの値がTA2,1と更新される。その結果、ノード装置Nは「時刻TA2,1にはノード装置Nがノード装置Nを隣接ノード装置として認識可能な状況であった」と記憶しておくことができる。
In step S302, the link management unit 108 sets the current time as the last update time of the entry found in step S301. Then, the process of FIG. 25 ends.
For example, as a result of step S302 is executed in the node device N 2, in the adjacent node management table 103-N 2 as shown in FIG. 9, the value of the last update time field corresponding to the node ID of N 1 is TA 2,1 And updated. As a result, the node device N 2 can store “at the time TA 2,1 , the node device N 2 can recognize the node device N 1 as an adjacent node device”.
 他方、ステップS301でエントリが見つからない場合は、今まで隣接ノード装置として認識していなかった新たなノード装置からハローフレームが受信されたということである。よって、続くステップS303~S308において、当該新たなノード装置を隣接ノード装置として登録するための処理が行われる。 On the other hand, if no entry is found in step S301, it means that a hello frame has been received from a new node device that has not been recognized as an adjacent node device until now. Therefore, in the subsequent steps S303 to S308, processing for registering the new node device as an adjacent node device is performed.
 ステップS303でリンク管理部108は、隣接ノード管理テーブル103に新規エントリを追加する。また、ステップS304でリンク管理部108は、ステップS303で追加した新規エントリに、受信したハローフレームのLSの値と現在時刻を設定する。例えば、図7のハローフレーム312を初めて受信したとき、ノード装置Nは、新規エントリのノードIDフィールドに、ハローフレーム312のLSの値であるNを設定し、新規エントリの最終更新時刻フィールドに現在時刻を設定する。 In step S <b> 303, the link management unit 108 adds a new entry to the adjacent node management table 103. In step S304, the link management unit 108 sets the LS value of the received hello frame and the current time in the new entry added in step S303. For example, when the hello frame 312 of FIG. 7 is received for the first time, the node device N 2 sets N 3 which is the LS value of the hello frame 312 in the node ID field of the new entry, and the last update time field of the new entry Set the current time to.
 続いて、ステップS305でリンク管理部108は、重み付けテーブル104-1~104-M(図10と図11を参照)の中に、まだ注目していない重み付けテーブル104-i(1≦i≦M)があるか否かを判断する。既にすべての重み付けテーブル104-1~104-Mに注目し終わっていれば、図25の処理は終了し、まだ注目していない重み付けテーブル104-iがあれば、処理はステップS306に移行する。 Subsequently, in step S305, the link management unit 108 includes the weighting table 104-i (1 ≦ i ≦ M) that has not yet been focused on in the weighting tables 104-1 to 104-M (see FIGS. 10 and 11). ) Is determined. If all the weighting tables 104-1 to 104-M have already been focused on, the processing in FIG. 25 ends. If there is a weighting table 104-i that has not yet been focused on, the processing moves to step S306.
 ステップS306でリンク管理部108は、重み付けテーブル104-1~104-Mのうちでまだ注目していないものの中から、次の重み付けテーブルに注目する。以下では説明の便宜上、ステップS306では重み付けテーブル104-iが注目されたとする。 In step S306, the link management unit 108 pays attention to the next weighting table from among the weighting tables 104-1 to 104-M that have not been noticed yet. Hereinafter, for convenience of explanation, it is assumed that the weighting table 104-i is noted in step S306.
 ステップS307でリンク管理部108は、注目している重み付けテーブル104-iに新規エントリを追加する。さらに、ステップS308でリンク管理部108は、ステップS307で追加した新規エントリのLD、重み、最終更新時刻の各フィールドに、受信したハローフレームのLSの値と、初期重み付け値と、現在時刻を、それぞれ設定する。初期重み付け値は、実施形態に応じて任意に決められる定数である。 In step S307, the link management unit 108 adds a new entry to the weighting table 104-i of interest. Further, in step S308, the link management unit 108 sets the LS value, initial weight value, and current time of the received hello frame in the LD, weight, and last update time fields of the new entry added in step S307. Set each. The initial weight value is a constant arbitrarily determined according to the embodiment.
 第1実施形態では、上記のとおり重みの値は0以上1以下であり、1はLDとして選択不能なことを示す特別な値であるから、初期重み付け値は、0以上1未満の任意の値でよい。より具体的には、初期重み付け値は、例えば0.5でもよい。例えば、図11の1番上に示した重み付けテーブル104-1-Nの最初のエントリは、次のようにして作成されたものであってもよい(ただし、正確にはその場合、最初のエントリの最終更新時刻には、他の2つのエントリの最終更新時刻Tとは異なる値が設定され、図11とまったく同じとはならない)。 In the first embodiment, as described above, the weight value is 0 or more and 1 or less, and 1 is a special value indicating that the LD cannot be selected. Therefore, the initial weight value is an arbitrary value between 0 and 1 It's okay. More specifically, the initial weight value may be 0.5, for example. For example, the first entry of the weighting table 104-1-N 3 shown at the top of FIG. 11 may be created as follows (however, in that case, the first entry is the last update time of the entry, the last update time T a of the other two entries are set different values, not exactly the same as FIG. 11).
  ・GDとしてノード装置Nに対応付けられた重み付けテーブル104-1-Nが既に存在している。
  ・しかし、ノード装置Nは、ノード装置Nを隣接ノード装置として今まで認識していなかった。
Node device N 7 weighting table 104-1-N 3 associated with a GD already exists.
However, the node device N 3 has not recognized the node device N 2 as an adjacent node device until now.
  ・ノード装置Nは、ノード装置Nから初めてハローフレームを受信した。
  ・以上の状況において、ステップS306では重み付けテーブル104-1-Nが注目された。
The node device N 3 has received a hello frame from the node device N 2 for the first time.
In the above situation, the weighting table 104-1-N 3 was noted in step S306.
  ・よって、ステップS308では、新規エントリのLDフィールドに、受信したハローフレームのLSの値であるNが設定され、新規エントリの重みフィールドに、初期重み付け値である0.5が設定された。
 ステップS308の実行後、処理はステップS305に戻る。
Therefore, in step S308, N 2 that is the LS value of the received hello frame is set in the LD field of the new entry, and 0.5 that is the initial weight value is set in the weight field of the new entry.
After execution of step S308, the process returns to step S305.
 図26は、ハローフレーム送信処理のフローチャートである。図26の処理は、図24の処理とは独立して並行に、ハローフレーム生成部112により実行される。具体的には、ノード装置100に電源が入れられると、ハローフレーム生成部112が図26の処理を開始する。 FIG. 26 is a flowchart of the hello frame transmission process. The process of FIG. 26 is executed by the hello frame generation unit 112 in parallel with the process of FIG. Specifically, when the node device 100 is powered on, the hello frame generation unit 112 starts the process of FIG.
 ステップS401でハローフレーム生成部112は、現在時刻が送信予定時刻であるか否かを判断する。現在時刻が送信予定時刻であれば処理はステップS402に移行し、現在時刻が送信予定時刻でなければ処理はステップS401に戻る。つまり、ハローフレーム生成部112は送信予定時刻まで待機する。 In step S401, the hello frame generation unit 112 determines whether or not the current time is the scheduled transmission time. If the current time is the scheduled transmission time, the process proceeds to step S402. If the current time is not the scheduled transmission time, the process returns to step S401. That is, the hello frame generation unit 112 waits until the scheduled transmission time.
 例えば、基準時刻Trefとハローフレームの送信間隔ΔThelloが予め決められていてもよい。また、ハローフレーム生成部112は、例えば図4のMPU201のクロックに基づいて現在時刻Tnowを参照することができる。ハローフレーム生成部112は、式(4)のZが整数のときのみ、「現在時刻は送信予定時刻である」と判断してもよい。
 Z=(Tref-Tnow)/ΔThello (4)
 例えば、基準時刻Trefは予め決められた定数でもよいし、ノード装置100に電源が入れられた時刻でもよい。また、送信間隔ΔThelloは実施形態に応じて適宜決めることができ、例えば10秒などの比較的長い時間でもよい。
For example, the transmission time ΔT hello between the reference time T ref and the hello frame may be determined in advance. Further, the hello frame generation unit 112 can refer to the current time T now based on MPU201 clock of Figure 4, for example. The hello frame generation unit 112 may determine that “the current time is the scheduled transmission time” only when Z in Expression (4) is an integer.
Z = (T ref −T now ) / ΔT hello (4)
For example, the reference time T ref may be a predetermined constant or the time when the node device 100 is turned on. Further, the transmission interval ΔT hello can be appropriately determined according to the embodiment, and may be a relatively long time such as 10 seconds, for example.
 ステップS402では、ハローフレーム生成部112がFID生成部113に新たなFIDの生成を要求し、FID生成部113が新たなFIDを生成する。例えば、FIDはシーケンス番号でもよく、FID生成部113はカウンタ回路を使って実現されてもよい。もちろん、FID生成部113はMPU201がプログラムを実行することで実現されてもよい。 In step S402, the hello frame generation unit 112 requests the FID generation unit 113 to generate a new FID, and the FID generation unit 113 generates a new FID. For example, the FID may be a sequence number, and the FID generation unit 113 may be realized using a counter circuit. Of course, the FID generation unit 113 may be realized by the MPU 201 executing a program.
 ステップS402ではさらに、FID生成部113が生成したFIDを用いてハローフレーム生成部112がハローフレームを生成する。例えば、図7のハローフレーム312は、次のようにして生成される。すなわち、ノード装置NのFID生成部113-Nが、新たなFIDとしてFという値を生成する。すると、ノード装置Nのハローフレーム生成部112-Nは、新たなハローフレーム312を生成する。 In step S402, the hello frame generation unit 112 further generates a hello frame using the FID generated by the FID generation unit 113. For example, the hello frame 312 in FIG. 7 is generated as follows. That is, the FID generator 113-N 3 of the node device N 3, and generates a value of F b as a new FID. Then, the hello frame generation unit 112-N 3 of the node device N 3 generates a new hello frame 312.
 その際、ハローフレーム生成部112-Nは、ハローフレーム312において、LDに0xFFFFFFという所定の値を設定し、LSとGSに自ノードIDであるNを設定し、GDに0x000000という所定の値を設定する。また、ハローフレーム生成部112-Nは、ハローフレーム312において、FIDにはFID生成部113-Nにより生成された値Fを設定し、タイプには所定の値Hを設定する。 At that time, in the hello frame 312, the hello frame generation unit 112-N 3 sets a predetermined value of 0xFFFFFF in the LD, sets N 3 which is its own node ID in the LS and GS, and sets a predetermined value of 0x000000 in the GD. Set the value. Further, the hello frame generation unit 112-N 3, in the hello frame 312, the FID sets the value F b generated by the FID generator 113-N 3, the type sets a predetermined value H.
 以上のようにしてステップS402でハローフレームが生成されると、続いて、ステップS403においてハローフレーム生成部112は、生成したハローフレームの送信を送信部102に依頼し、送信部102がハローフレームを送信する。そして、処理はステップS401に戻る。 When the hello frame is generated in step S402 as described above, subsequently, in step S403, the hello frame generation unit 112 requests the transmission unit 102 to transmit the generated hello frame, and the transmission unit 102 transmits the hello frame. Send. Then, the process returns to step S401.
 続いて、各種テーブルのエージング処理について図27~図29を参照して説明する。各エージング処理は、例えば、図4のタイマIC203からの割り込み信号を契機として開始されてもよい。 Subsequently, aging processing of various tables will be described with reference to FIGS. Each aging process may be started, for example, in response to an interrupt signal from the timer IC 203 in FIG.
 図27は、隣接ノード管理テーブル103のエージング処理のフローチャートである。例えば、タイマIC203が所定の間隔Iで割り込み信号をリンク管理部108に出力し、割り込み信号を契機としてリンク管理部108が所定の間隔Iで図27の処理を行ってもよい。 FIG. 27 is a flowchart of the aging process of the adjacent node management table 103. For example, the timer IC203 outputs an interrupt signal at predetermined intervals I a link management unit 108, link management unit 108 the interrupt signal as a trigger may perform processing of FIG. 27 at a predetermined interval I a.
 ステップS501でリンク管理部108は、隣接ノード管理テーブル103(図9を参照)の1つ目のエントリに注目する。以下、図27に関する説明においては、リンク管理部108が注目している隣接ノード管理テーブル103のエントリを「注目エントリ」という。 In step S501, the link management unit 108 pays attention to the first entry in the adjacent node management table 103 (see FIG. 9). Hereinafter, in the description related to FIG. 27, the entry in the adjacent node management table 103 focused on by the link management unit 108 is referred to as “target entry”.
 続いてステップS502でリンク管理部108は、現在時刻と、注目エントリの最終更新時刻との差が、所定の値G以上か否かを判断する。なお、実施形態によって、G=Iでもよいし、G<Iでもよいし、G>Iでもよい。 In step S502, the link management unit 108 determines whether the difference between the current time and the last update time of the entry of interest is equal to or greater than a predetermined value Ga. Note that, depending on the embodiment, G a = I a may be satisfied, G a <I a may be satisfied, or G a > I a may be satisfied.
 現在時刻と、注目エントリの最終更新時刻との差が、所定の値G以上であれば、処理はステップS503に移行する。他方、現在時刻と、注目エントリの最終更新時刻との差が、所定の値G未満であれば、処理はステップS505に移行する。 If the difference between the current time and the last update time of the target entry is greater than or equal to a predetermined value Ga, the process proceeds to step S503. On the other hand, the current time, the difference between the last update time of the target entry, is less than the predetermined value G a, the process proceeds to step S505.
 ステップS503でリンク管理部108は、注目エントリのノードIDと同じ値をLDとして有するエントリを、重み付けテーブル104から削除する。例えば、注目エントリが、図9の隣接ノード管理テーブル103-Nの3番目のエントリである場合、注目エントリのノードIDの値はNである。したがって、ステップS503でリンク管理部108は、重み付けテーブル104-1-N~104-M-Nのそれぞれから、LDの値がNであるエントリを削除する。例えば、ステップS503では、図10の重み付けテーブル104-1-Nの3つ目のエントリと、重み付けテーブル104-2-Nの3つ目のエントリが削除される。 In step S503, the link management unit 108 deletes the entry having the same value as the node ID of the entry of interest as the LD from the weighting table 104. For example, interest entry, if a third entry of the adjacent node management table 103-N 3 in FIG. 9, the value of the node ID of the target entry is N 5. Accordingly, in step S503, the link management unit 108 deletes the entry whose LD value is N 5 from each of the weighting tables 104-1-N 3 to 104-MN 3 . For example, in step S503, the third entry in the weighting table 104-1-N 3 and the third entry in the weighting table 104-2-N 3 in FIG. 10 are deleted.
 そして、ステップS504でリンク管理部108は、注目エントリを隣接ノード管理テーブル103から削除する。そして処理はステップS505に移行する。
 ステップS505でリンク管理部108は、まだ注目していないエントリが隣接ノード管理テーブル103に残っているか否かを判断する。リンク管理部108が、隣接ノード管理テーブル103のすべてのエントリに注目し終わっていれば、図27の処理は終了する。他方、まだリンク管理部108が注目していないエントリが隣接ノード管理テーブル103に残っていれば、処理はステップS506に移行する。
In step S <b> 504, the link management unit 108 deletes the target entry from the adjacent node management table 103. Then, the process proceeds to step S505.
In step S <b> 505, the link management unit 108 determines whether an entry that has not been noticed still remains in the adjacent node management table 103. If the link management unit 108 finishes paying attention to all entries in the adjacent node management table 103, the processing in FIG. On the other hand, if an entry not yet noticed by the link management unit 108 remains in the adjacent node management table 103, the process proceeds to step S506.
 ステップS506でリンク管理部108は、隣接ノード管理テーブル103のまだ注目していないエントリの中で、次のエントリに注目する。そして処理はステップS502に戻る。 In step S506, the link management unit 108 pays attention to the next entry among the entries not yet noticed in the adjacent node management table 103. Then, the process returns to step S502.
 以上の図27のエージング処理により、ノード装置100は、今まで隣接ノード装置として認識していたノード装置からのハローフレームの受信が途絶えると、「当該ノード装置は、もはやノード装置100に隣接していない」と認識することができるようになる。つまり、図27の処理により、ノード装置100は、潜在的なLDの候補としての隣接ノード装置を、環境の変化に追従して適切に管理することができるようになる。 27, when the node device 100 stops receiving the hello frame from the node device that has been recognized as the adjacent node device until now, “the node device is no longer adjacent to the node device 100. It will be possible to recognize that there is no. That is, the processing in FIG. 27 allows the node device 100 to appropriately manage the adjacent node device as a potential LD candidate following the environmental change.
 なお、上記の所定の間隔Iおよび所定の値Gは、環境の変化しやすさなどに応じて、実施形態によって適宜決められることが望ましい。なお、第1実施形態では、ネットワーク内のすべてのノード装置に同じハローフレームの送信間隔ΔThelloが設定されており、隣接ノード管理テーブル103のエージング時間である上記の所定の値Gは、G>ΔThelloを満たす。 The predetermined interval I a and the predetermined value G a are desirably determined as appropriate according to the embodiment in accordance with the ease of change of the environment. In the first embodiment, the same hello frame transmission interval ΔT hello is set for all the node devices in the network, and the predetermined value G a which is the aging time of the adjacent node management table 103 is G a > ΔT hello is satisfied.
 図28は、重み付けテーブル104のエージング処理のフローチャートである。例えば、タイマIC203が所定の間隔Iで割り込み信号をデータフレーム処理部110に出力し、割り込み信号を契機としてデータフレーム処理部110が所定の間隔Iで図28の処理を行ってもよい。 FIG. 28 is a flowchart of the aging process of the weighting table 104. For example, the timer IC203 outputs an interrupt signal at predetermined intervals I w to the data frame processing unit 110, the data frame processing unit 110 the interrupt signal as a trigger may perform processing of FIG. 28 at a predetermined interval I w.
 ステップS601でデータフレーム処理部110は、重み付けテーブル104(図10と図11を参照)のうち1枚目の重み付けテーブル104-1に注目する。以下、図28に関する説明においては、データフレーム処理部110が注目している重み付けテーブルを、「104-i」という参照符号で表し(1≦i≦M)、「注目テーブル」という。ステップS601の実行直後はi=1である。 In step S601, the data frame processing unit 110 pays attention to the first weighting table 104-1 in the weighting table 104 (see FIGS. 10 and 11). Hereinafter, in the description related to FIG. 28, the weighting table focused by the data frame processing unit 110 is represented by the reference numeral “104-i” (1 ≦ i ≦ M) and is referred to as “target table”. Immediately after execution of step S601, i = 1.
 続いてステップS602でデータフレーム処理部110は、注目テーブル104-iの1つ目のエントリに注目する。以下、注目テーブルのうちでデータフレーム処理部110が注目しているエントリを「注目エントリ」という。 In step S602, the data frame processing unit 110 pays attention to the first entry of the attention table 104-i. Hereinafter, an entry that the data frame processing unit 110 pays attention to in the attention table is referred to as a “notice entry”.
 続いてステップS603でデータフレーム処理部110は、現在時刻と、注目エントリの最終更新時刻との差が、所定の値G以上か否かを判断する。なお、実施形態によって、G=Iでもよいし、G<Iでもよいし、G>Iでもよい。 Then the data frame processing unit 110 in step S603, the current time, the difference between the last update time of the target entry, it is determined whether more than a predetermined value G w. Depending on the embodiment, G w = I w , G w <I w , or G w > I w may be used.
 現在時刻と、注目エントリの最終更新時刻との差が、所定の値G以上であれば、処理はステップS604に移行する。他方、現在時刻と、注目エントリの最終更新時刻との差が、所定の値G未満であれば、処理はステップS605に移行する。 And the current time, the difference between the last update time of the target entry, equal to or greater than a predetermined value G w, the process proceeds to step S604. On the other hand, the current time, the difference between the last update time of the target entry, is less than the predetermined value G w, the process proceeds to step S605.
 ステップS604でデータフレーム処理部110は、注目テーブル104-iから注目エントリを削除する。そして処理はステップS605に移行する。
 ステップS605でデータフレーム処理部110は、注目テーブル104-iにまだ注目していないエントリが残っているか否かを判断する。データフレーム処理部110が注目テーブル104-iのすべてのエントリに注目し終わっていれば、処理はステップS607に移行する。他方、まだデータフレーム処理部110が注目していないエントリが注目テーブル104-iに残っていれば、処理はステップS606に移行する。
In step S604, the data frame processing unit 110 deletes the target entry from the target table 104-i. Then, the process proceeds to step S605.
In step S605, the data frame processing unit 110 determines whether or not there is an entry that has not been noticed yet in the attention table 104-i. If the data frame processing unit 110 has finished paying attention to all entries in the attention table 104-i, the process proceeds to step S607. On the other hand, if an entry not yet noticed by the data frame processing unit 110 remains in the attention table 104-i, the process proceeds to step S606.
 ステップS606でデータフレーム処理部110は、注目テーブル104-i内のまだ注目していないエントリの中で、次のエントリに注目する。そして処理はステップS603に戻る。 In step S606, the data frame processing unit 110 pays attention to the next entry among the entries not yet noticed in the attention table 104-i. Then, the process returns to step S603.
 ステップS607でデータフレーム処理部110は、注目テーブル104-iにエントリが存在するか否かを判断する。ステップS603~S606の繰り返しの結果、注目テーブル104-iにエントリがなくなった場合は、処理はステップS608に移行する。他方、注目テーブル104-iに1つ以上エントリが存在すれば、処理はステップS609に移行する。 In step S607, the data frame processing unit 110 determines whether there is an entry in the attention table 104-i. As a result of repeating steps S603 to S606, when there are no more entries in the attention table 104-i, the process proceeds to step S608. On the other hand, if one or more entries exist in the attention table 104-i, the process proceeds to step S609.
 ステップS608でデータフレーム処理部110は、エントリの存在しない注目テーブル104-iを削除する。そして、処理はステップS609に移行する。
 ステップS609でデータフレーム処理部110は、まだ注目していない重み付けテーブルが重み付けテーブル104の中に残っているか否かを判断する。データフレーム処理部110が、すべての重み付けテーブル104-1~104-Mに注目し終わっていれば、図28の処理は終了する。他方、まだデータフレーム処理部110が注目していない重み付けテーブル104-j(1≦j≦M)が重み付けテーブル104の中に残っていれば、処理はステップS610に移行する。
In step S608, the data frame processing unit 110 deletes the attention table 104-i in which no entry exists. Then, the process proceeds to step S609.
In step S609, the data frame processing unit 110 determines whether or not a weighting table that has not been noticed remains in the weighting table 104. If the data frame processing unit 110 has finished paying attention to all the weighting tables 104-1 to 104-M, the processing in FIG. 28 ends. On the other hand, if the weighting table 104-j (1 ≦ j ≦ M) not yet noticed by the data frame processing unit 110 remains in the weighting table 104, the process proceeds to step S610.
 ステップS610でデータフレーム処理部110は、重み付けテーブル104の中でまだ注目していない次の重み付けテーブル104-jに注目する(すなわち、重み付けテーブル104-jを注目テーブル104-iとして選ぶ)。そして処理はステップS602に戻る。 In step S610, the data frame processing unit 110 pays attention to the next weighting table 104-j that has not been noticed in the weighting table 104 (that is, selects the weighting table 104-j as the attention table 104-i). Then, the process returns to step S602.
 以上の図28のエージング処理により、ノード装置100は、「過去の障害の影響が累積されて、どの隣接ノード装置もLDとして選択することが不能となる」といった事態に陥らずに済む。 With the aging process of FIG. 28 described above, the node device 100 does not fall into a situation in which “the effects of past failures are accumulated and any adjacent node device cannot be selected as an LD”.
 例えば、図6の例において、ステップS112の後、ノード装置NとNの間のリンクに障害が発生し、ノード装置NとNの間のリンクが障害から復旧したという状況を想定する。もし図28のエージング処理が行われないと、実際には障害からの復旧により、例えば経路〈N,N,N,N,N〉でのデータフレームの送信が可能になっていても、自律分散協調の結果としてこの経路が選択されることがなくなってしまう。しかし、図28のエージング処理が行われれば、上記で想定した状況において、経路〈N,N,N,N,N〉が選択されうるようになる。
 なお、上記の所定の間隔Iおよび所定の値Gは、環境の変化しやすさなどに応じて、実施形態によって適宜決められることが望ましい。
 図29は、FID管理テーブル105のエージング処理のフローチャートである。例えば、タイマIC203が所定の間隔Iで割り込み信号をデータフレーム処理部110に出力し、割り込み信号を契機としてデータフレーム処理部110が所定の間隔Iで図29の処理を行ってもよい。
For example, in the example of FIG. 6, it is assumed that a failure occurs in the link between the node devices N 6 and N 7 after step S112, and the link between the node devices N 4 and N 7 is recovered from the failure. To do. If the aging process of FIG. 28 is not performed, the data frame can be transmitted through the path <N 1 , N 2 , N 3 , N 4 , N 7 >, for example, by actually recovering from the failure. However, this route will not be selected as a result of autonomous distributed cooperation. However, if the aging process of FIG. 28 is performed, the path <N 1 , N 2 , N 3 , N 4 , N 7 > can be selected in the situation assumed above.
The predetermined interval I w and a predetermined value G w above, in accordance with the change easiness environment, it is desirable to be appropriately determined depending on the embodiment.
FIG. 29 is a flowchart of the aging process of the FID management table 105. For example, the timer IC203 outputs an interrupt signal at predetermined intervals I f to the data frame processing unit 110, the data frame processing unit 110 may perform the process in FIG. 29 at a predetermined interval I f the interrupt signal as a trigger.
 ステップS701でデータフレーム処理部110は、FID管理テーブル105(図12と図13を参照)のうち1つ目のエントリに注目する。以下、図29に関する説明においては、データフレーム処理部110が注目しているエントリを「注目エントリ」という。 In step S701, the data frame processing unit 110 pays attention to the first entry in the FID management table 105 (see FIGS. 12 and 13). Hereinafter, in the description related to FIG. 29, the entry that the data frame processing unit 110 is paying attention to is referred to as a “target entry”.
 続いてステップS702でデータフレーム処理部110は、現在時刻と、注目エントリの最終更新時刻との差が、所定の値G以上か否かを判断する。なお、実施形態によって、G=Iでもよいし、G<Iでもよいし、G>Iでもよい。 Then the data frame processing unit 110 in step S702, the current time, the difference between the last update time of the target entry, it is determined whether more than a predetermined value G f. Depending on the embodiment, G f = I f , G f <I f , or G f > I f may be used.
 また、図31のステップS807に関して後述する理由から、第1実施形態では、重み付けテーブル104のエージング時間である所定の値Gと、FID管理テーブル105のエージング時間である所定の値Gは、G<Gを満たす。 Also, for reasons which will be described later with respect to step S807 of FIG. 31, in the first embodiment, the predetermined value G w is the aging time of the weighting table 104, a predetermined value G f is the aging time of the FID management table 105, G f <G w is satisfied.
 現在時刻と、注目エントリの最終更新時刻との差が、所定の値G以上であれば、処理はステップS703に移行する。他方、現在時刻と、注目エントリの最終更新時刻との差が、所定の値G未満であれば、処理はステップS704に移行する。 And the current time, the difference between the last update time of the target entry, equal to or greater than a predetermined value G f, the process proceeds to step S703. On the other hand, the current time, the difference between the last update time of the target entry, is less than the predetermined value G f, the process proceeds to step S704.
 ステップS703でデータフレーム処理部110は、注目エントリをFID管理テーブル105から削除する。そして処理はステップS704に移行する。
 そして、ステップS704でデータフレーム処理部110は、まだ注目していないエントリがFID管理テーブル105に残っているか否かを判断する。データフレーム処理部110がFID管理テーブル105のすべてのエントリに注目し終わっていれば、図29の処理は終了する。他方、まだデータフレーム処理部110が注目していないエントリがFID管理テーブル105に残っていれば、処理はステップS705に移行する。
In step S703, the data frame processing unit 110 deletes the entry of interest from the FID management table 105. Then, the process proceeds to step S704.
In step S <b> 704, the data frame processing unit 110 determines whether an entry that has not been noticed still remains in the FID management table 105. If the data frame processing unit 110 has finished paying attention to all entries in the FID management table 105, the processing in FIG. 29 ends. On the other hand, if an entry not yet noticed by the data frame processing unit 110 remains in the FID management table 105, the process proceeds to step S705.
 ステップS705でデータフレーム処理部110は、FID管理テーブル105のまだ注目していないエントリの中で、次のエントリに注目する。そして処理はステップS702に戻る。 In step S705, the data frame processing unit 110 pays attention to the next entry among the entries not yet noticed in the FID management table 105. Then, the process returns to step S702.
 以上の図29のエージング処理により、「FID管理テーブル105のエントリが増え続けて記憶領域を使い尽くしてしまう」といった事態を防ぐことができる。なお、上記の所定の値Gは、例えば、何度もバックトラックが生じる最悪ケースにおいてデータフレームがGSからGDに到達するのにかかると予測される時間の長さ以上になるよう、決められていてもよい。一般には、ネットワークの規模が大きいほど、所定の値Gも大きく設定しておくことが望ましい。 With the aging process of FIG. 29 described above, it is possible to prevent a situation such as “the number of entries in the FID management table 105 continues to increase and the storage area is exhausted”. Note that the predetermined value G f is determined so as to be equal to or longer than the length of time predicted for the data frame to reach the GD from the GS in the worst case in which backtracking occurs many times. It may be. In general, larger the network, it is desirable to set larger the predetermined value G f.
 図30~図35は、図24のステップS205におけるデータフレーム受信処理のフローチャートである。なお、説明の便宜上、まず、ノード装置100がGSとはならいタイプである場合のデータフレーム受信処理について、図30~図35を参照して説明する。ノード装置100がGSにもなりうるタイプの場合については、図34~図35の部分が後述の図41の処理に置き換わる。 30 to 35 are flowcharts of the data frame reception process in step S205 of FIG. For convenience of explanation, first, data frame reception processing when the node device 100 is of a type different from GS will be described with reference to FIGS. 30 to 35. FIG. In the case where the node device 100 is of a type that can also be a GS, the part of FIGS. 34 to 35 is replaced with the process of FIG. 41 described later.
 図24のステップS205でフレーム分岐処理部106からデータフレーム受信処理を行うよう指示されると、データフレーム処理部110は図30の処理を開始する。なお、前述のとおり、フレーム分岐処理部106からの指示は、受信したデータフレームのGSとFIDの値の通知をともなっている。 When instructed to perform the data frame reception processing from the frame branching processing unit 106 in step S205 of FIG. 24, the data frame processing unit 110 starts the processing of FIG. As described above, the instruction from the frame branch processing unit 106 is accompanied by notification of the GS and FID values of the received data frame.
 ステップS801でデータフレーム処理部110は、受信したデータフレームのLDの値が自ノードIDであるか否かを判断する。受信したデータフレームのLDの値が自ノードIDでなければ、処理はステップS802に移行し、受信したデータフレームのLDの値が自ノードIDであれば、処理はステップS801aに移行する。 In step S801, the data frame processing unit 110 determines whether the LD value of the received data frame is its own node ID. If the LD value of the received data frame is not the own node ID, the process proceeds to step S802. If the LD value of the received data frame is the own node ID, the process proceeds to step S801a.
 なお、データフレーム受信処理の説明において、「受信したデータフレーム」とは、図24のステップS201で受信部101が受信し、ステップS204でバッファ部109に格納され、図30の処理の開始の契機となったデータフレームのことである。 In the description of the data frame reception process, “received data frame” is received by the reception unit 101 in step S201 in FIG. 24, stored in the buffer unit 109 in step S204, and triggered by the start of the process in FIG. This is the data frame.
 また、フレーム分岐処理部106は、データフレーム受信処理の開始をデータフレーム処理部110に指示するとき、受信したデータフレームのGSとFIDの値をデータフレーム処理部110に通知している。よって、データフレーム処理部110は、通知されたGSとFIDの値をキーにしてバッファ部109を検索することで、受信したデータフレームを含むエントリを見つけることができる。したがって、データフレーム処理部110は、見つけたエントリから、受信したデータフレームのヘッダに含まれる各フィールドの値を読み出すことができる。 Further, when the frame branching processing unit 106 instructs the data frame processing unit 110 to start the data frame reception processing, the frame branching processing unit 106 notifies the data frame processing unit 110 of the GS and FID values of the received data frame. Therefore, the data frame processing unit 110 can find an entry including the received data frame by searching the buffer unit 109 using the notified GS and FID values as keys. Therefore, the data frame processing unit 110 can read the value of each field included in the header of the received data frame from the found entry.
 正確には、ステップS801では、データフレーム処理部110はまず、以上のようにして、受信したデータフレームのヘッダに含まれる各フィールドの値をバッファ部109から読み出して記憶する。そして、記憶したLDの値(すなわち受信したデータフレームのLDの値)を自ノードIDと比較する。なお、ノード装置100自身のノードIDである自ノードIDは、例えば、図4のフラッシュメモリ205に予め記録されているので、データフレーム処理部110は自ノードIDを参照することができる。 More precisely, in step S801, the data frame processing unit 110 first reads and stores the value of each field included in the header of the received data frame from the buffer unit 109 as described above. Then, the stored LD value (that is, the LD value of the received data frame) is compared with its own node ID. Note that the own node ID, which is the node ID of the node device 100 itself, is recorded in advance in, for example, the flash memory 205 of FIG. 4, so that the data frame processing unit 110 can refer to the own node ID.
 受信したデータフレームのLDの値が自ノードIDと異なるとき、ノード装置100はノード装置100自身には無関係なデータフレームを偶然受信したということである。よって、ステップS802でデータフレーム処理部110は、受信したデータフレームを破棄する。つまり、データフレーム処理部110は、ステップS801で見つけたバッファ部109のエントリを削除する。そして、データフレーム受信処理は終了する。 When the LD value of the received data frame is different from the own node ID, the node device 100 has received a data frame unrelated to the node device 100 by accident. Therefore, in step S802, the data frame processing unit 110 discards the received data frame. That is, the data frame processing unit 110 deletes the entry of the buffer unit 109 found in step S801. Then, the data frame reception process ends.
 他方、受信したデータフレームのLDの値が自ノードIDと等しい場合は、ステップS801aでデータフレーム処理部110は、受信したフレームのタイプフィールドの値を参照し、フレームのタイプが空データフレーム及び集約空データフレームのいずれかであるか否かを判定する。受信したフレームのタイプが空データフレーム及び集約空データフレームのいずれかであると判定した場合には、処理はステップS801bに移行する。 On the other hand, if the LD value of the received data frame is equal to its own node ID, the data frame processing unit 110 refers to the value of the type field of the received frame in step S801a, and the frame type is an empty data frame and an aggregation. It is determined whether it is any empty data frame. If it is determined that the type of the received frame is either an empty data frame or an aggregated empty data frame, the process proceeds to step S801b.
 ステップS801bにおいて、受信された空データフレームまたは集約空データフレームについて、データフレーム処理部110が、上述した図23の空データフレームの受信処理を実行する。そして処理はステップS801cに移行する。 In step S801b, for the received empty data frame or aggregated empty data frame, the data frame processing unit 110 executes the above-described empty data frame reception process of FIG. Then, the process proceeds to step S801c.
 ステップS801cにおいて、データフレーム処理部110は、空データフレームの受信処理でバッファ部109から抽出(復元)したデータフレームがあるか否かを判定する。バッファ部109から抽出(復元)したデータフレームがあると判定した場合には、処理はステップS804に移行する。なお、以降はこの抽出(復元)したデータフレームを受信データフレームとして扱う。また、抽出(復元)したデータフレームが複数ある場合には、それぞれのデータフレームについて、ステップS804以降のデータフレーム受信処理が実行される。 In step S801c, the data frame processing unit 110 determines whether there is a data frame extracted (restored) from the buffer unit 109 in the empty data frame reception process. If it is determined that there is a data frame extracted (restored) from the buffer unit 109, the process proceeds to step S804. Hereinafter, this extracted (restored) data frame is treated as a received data frame. If there are a plurality of extracted (restored) data frames, the data frame receiving process from step S804 onward is executed for each data frame.
 ステップS801cで、バッファ部109から抽出(復元)したデータフレームがないと判定した場合には、データフレーム受信処理は終了する。
 ステップS801aにおいて、受信したフレームのタイプが空データフレーム及び集約空データフレームのいずれかではないと判定した場合、すなわち、通常のデータフレームである場合には、ステップS803に移行する。
If it is determined in step S801c that there is no data frame extracted (restored) from the buffer unit 109, the data frame reception process ends.
If it is determined in step S801a that the type of the received frame is not one of the empty data frame and the aggregated empty data frame, that is, if it is a normal data frame, the process proceeds to step S803.
 ステップS803でデータフレーム処理部110は、ACKフレームを生成し、ACKフレームの送信を送信部102に依頼する。そして、送信部102がACKフレームを送信する。 In step S803, the data frame processing unit 110 generates an ACK frame and requests the transmission unit 102 to transmit the ACK frame. Then, the transmission unit 102 transmits an ACK frame.
 例えば、図7のデータフレーム303をノード装置Nが受信すると、ノード装置Nのデータフレーム処理部110-Nは、ステップS803において図7のACKフレーム322を生成する。そして、送信部102-NがACKフレーム322を送信する。 For example, when the node device N 3 receives the data frame 303 in FIG. 7, the data frame processing unit 110-N 3 of the node device N 3 generates the ACK frame 322 in FIG. 7 in step S803. Then, the transmission unit 102-N 3 transmits the ACK frame 322.
 具体的には、データフレーム処理部110-Nは、受信したデータフレーム303のLSの値であるNをACKフレーム322のLDに設定し、自ノードID(すなわちノード装置N自身のノードIDであるN)をACKフレーム322のLSに設定する。また、ACKフレーム322は、対応するデータフレーム303のLSであるノード装置N以外には無関係なので、データフレーム処理部110-Nは、ACKフレーム322のGDには、ヌルを表す特殊な値0x000000を設定する。 Specifically, the data frame processing unit 110-N 3 sets N 2 which is the LS value of the received data frame 303 to the LD of the ACK frame 322, and sets its own node ID (that is, the node of the node device N 3 itself) ID N 3 ) is set in LS of ACK frame 322. Further, since the ACK frame 322 is irrelevant except for the node device N 2 which is the LS of the corresponding data frame 303, the data frame processing unit 110-N 3 has a special value representing null in the GD of the ACK frame 322. Set 0x000000.
 また、データフレーム処理部110-Nは、ACKフレーム322を受信したノード装置Nが「ACKフレーム322はデータフレーム303に対するACKフレームである」と認識することができるように、ACKフレーム322のGSとFIDを設定する。すなわち、データフレーム処理部110-Nは、ACKフレーム322のGSとFIDに、それぞれ、受信したデータフレーム303のGSとFIDの値NとFを設定する。 Further, the data frame processing unit 110-N 3 receives the ACK frame 322 so that the node device N 2 that has received the ACK frame 322 can recognize that the “ACK frame 322 is an ACK frame for the data frame 303”. Set GS and FID. That is, the data frame processing unit 110-N 3 is the GS and FID of the ACK frame 322, respectively, to set the value N 1 and F a of GS and FID data frame 303 received.
 そして、データフレーム処理部110-Nは、ACKフレーム322のタイプとして、「ACKフレーム」を示す所定の値Aを設定する。ステップS803では、以上のようにしてデータフレーム処理部110-NがACKフレーム322を生成し、送信部102-NがACKフレーム322を送信する。 Then, the data frame processing unit 110-N 3 sets a predetermined value A indicating “ACK frame” as the type of the ACK frame 322. In step S803, the data frame processing unit 110-N 3 generates the ACK frame 322 as described above, and the transmission unit 102-N 3 transmits the ACK frame 322.
 続いて、ステップS804でデータフレーム処理部110は、受信したデータフレームのGDの値が自ノードIDであるか否かを判断する。受信したデータフレームのGDの値が自ノードIDであれば、処理はステップS805に移行する。他方、受信したデータフレームのGDの値が自ノードIDと異なれば、処理は図31のステップS806に移行する。 Subsequently, in step S804, the data frame processing unit 110 determines whether the GD value of the received data frame is the own node ID. If the GD value of the received data frame is the own node ID, the process proceeds to step S805. On the other hand, if the GD value of the received data frame is different from the own node ID, the process proceeds to step S806 in FIG.
 ステップS805でデータフレーム処理部110は、上位層処理部111に、受信したデータフレームのペイロードを渡し、データフレーム受信処理を終了する。具体的には、データフレーム処理部110は、ステップS801で見つけたバッファ部109のエントリからペイロードを取り出して上位層処理部111に出力し、当該エントリをバッファ部109から削除する。そしてデータフレーム受信処理は終了する。 In step S805, the data frame processing unit 110 passes the payload of the received data frame to the upper layer processing unit 111, and ends the data frame reception process. Specifically, the data frame processing unit 110 extracts the payload from the entry of the buffer unit 109 found in step S801, outputs the payload to the upper layer processing unit 111, and deletes the entry from the buffer unit 109. Then, the data frame reception process ends.
 例えば、図6のステップS112でデータフレームをノード装置Nから受信したノード装置Nでは、受信したデータフレームのペイロードは上位層処理部111-Nに出力され、上位層処理部111-Nにおいて処理される。 For example, in the node device N 7 receives the data frame from the node device N 6 at step S112 of FIG. 6, the payload of the received data frame is output to the upper layer processing section 111-N 7, upper layer processing section 111-N 7 is processed.
 図31のステップS806以降の処理は、受信したデータフレームのLDの値が自ノードIDと等しく、かつ受信したデータフレームのGDの値が自ノードIDと異なる場合に実行される。 The processing after step S806 in FIG. 31 is executed when the LD value of the received data frame is equal to the own node ID and the GD value of the received data frame is different from the own node ID.
 ステップS806でデータフレーム処理部110は、受信したデータフレームのFIDとGSの値を検索キーとして用いて、FID管理テーブル105を検索する。なお、上記のように、受信したデータフレームのFIDとGSの値は、図30の処理の開始時にフレーム分岐処理部106から通知されている。 In step S806, the data frame processing unit 110 searches the FID management table 105 using the FID and GS values of the received data frame as search keys. As described above, the FID and GS values of the received data frame are notified from the frame branch processing unit 106 at the start of the processing of FIG.
 続いて、ステップS807でデータフレーム処理部110は、ステップS806の検索の結果エントリがヒットしたか否かを判断する。エントリがヒットした場合、ノード装置100が以前送信したことのあるデータフレームと同じデータフレームが受信されたということなので、処理はステップS808に移行する。他方、エントリがヒットしなかった場合、ノード装置100が送信したことのないデータフレームが受信されたということなので、処理はステップS810に移行する。 Subsequently, in step S807, the data frame processing unit 110 determines whether or not the search result entry in step S806 has been hit. If the entry is hit, it means that the same data frame as the data frame that the node device 100 has transmitted before has been received, and therefore the process proceeds to step S808. On the other hand, if the entry is not hit, it means that a data frame that has not been transmitted by the node device 100 has been received, and the process moves to step S810.
 なお、正確には、「ノード装置100が以前送信したことのあるデータフレームと同じデータフレームが受信されたが、検索対象のエントリは既にエージングにより消滅してしまった」という場合も、エントリはヒットしない。このような場合が生じないように、ネットワーク内でバックトラックが繰り返される最悪の時間の見積もりなどに基づいて、適切にFID管理テーブル105のエージング時間Gが定められることが望ましい。 To be exact, even if “the same data frame as the data frame that the node device 100 has transmitted before has been received, but the entry to be searched has already disappeared due to aging”, the entry is a hit. do not do. Such as if does not occur, based on such worst time estimate that backtracking is repeated in the network, be suitably aging time for the FID management table 105 G f is defined desirable.
 ステップS808でデータフレーム処理部110は、ステップS806の検索でヒットしたFID管理テーブル105のエントリのLDとOLSの値を取り出し、例えば図4のDRAM204などの記憶領域に記憶する。 In step S808, the data frame processing unit 110 takes out the LD and OLS values of the entry in the FID management table 105 hit in the search in step S806, and stores them in a storage area such as the DRAM 204 in FIG.
 続いてステップS809でデータフレーム処理部110は、受信したデータフレームのGDの値に対応する重み付けテーブル(以下、図31~図35の説明においては「104-i」という参照符号で参照する)を次のように更新する。すなわち、データフレーム処理部110は、重み付けテーブル104-iにおいて、ステップS808で取り出したLDに対応する重みを、最大値に変更する。なお、第1実施形態では重みの最大値は1である。重みの変更後、処理はステップS817に移行する。 Subsequently, in step S809, the data frame processing unit 110 refers to a weighting table corresponding to the GD value of the received data frame (hereinafter referred to by the reference numeral “104-i” in the description of FIGS. 31 to 35). Update as follows: That is, the data frame processing unit 110 changes the weight corresponding to the LD extracted in step S808 to the maximum value in the weighting table 104-i. In the first embodiment, the maximum value of the weight is 1. After changing the weight, the process proceeds to step S817.
 なお、ステップS807、S808、S809と処理が進む場合、ステップS808で取り出したLDに対応するエントリが、受信したデータフレームのGDの値に対応する重み付けテーブル104-iに存在することが、ステップS809では保証されている。その理由は以下のとおりである。 When the processing proceeds to steps S807, S808, and S809, it is found that an entry corresponding to the LD extracted in step S808 exists in the weighting table 104-i corresponding to the GD value of the received data frame. Is guaranteed. The reason is as follows.
 図12と図13に関して説明したように、FID管理テーブル105のエントリにおいて最終更新時刻は、データフレームの送信時に設定される。また、図29に関して説明したように、FID管理テーブル105のエージング時間Gfは、例えば、最悪ケースで予測される時間以上に設定される。よって、ノード装置100が過去に送信したデータフレームがネットワーク内を巡ってノード装置100で受信されるとき、当該データフレームに対応するエントリは、まだFID管理テーブル105に残っていることが保証される。 As described with reference to FIGS. 12 and 13, the last update time in the entry of the FID management table 105 is set when the data frame is transmitted. In addition, as described with reference to FIG. 29, the aging time Gf of the FID management table 105 is set to be longer than the time predicted in the worst case, for example. Therefore, when the data frame transmitted in the past by the node device 100 is received by the node device 100 through the network, it is guaranteed that the entry corresponding to the data frame still remains in the FID management table 105. .
 そして、図11に関して説明したように、データフレームが送信されてACKフレームが返信されると、重みが更新され、重み付けテーブル104-1~101-M内の各エントリにおいては、重みが更新されるときに最終更新時刻も設定される。したがって、時系列を追うと下記(E1)~(E5)の順となる。 Then, as described with reference to FIG. 11, when the data frame is transmitted and the ACK frame is returned, the weight is updated, and the weight is updated in each entry in the weighting tables 104-1 to 101-M. Sometimes the last update time is also set. Therefore, the following (E1) to (E5) are obtained in time series.
  (E1)GDの値がNGDで、GSの値がNGSで、LDの値がNLDで、FIDの値がFのデータフレームがノード装置100から送信される。このとき、FID管理テーブル105において最終更新時刻が設定される。例えば、図6のノード装置Nにおいて、ステップS103で図12のエントリEに最終更新時刻T103が設定される。 (E1) A data frame in which the GD value is N GD , the GS value is N GS , the LD value is N LD , and the FID value is F c is transmitted from the node device 100. At this time, the last update time is set in the FID management table 105. For example, in the node device N 3 in FIG. 6, the last update time T 103 is set in the entry E 3 in FIG. 12 in step S103.
  (E2)上記データフレームに対するACKフレームが受信されると、ノード装置NGDに対応する重み付けテーブル104-iにおいて、LDフィールドの値がNLDであるエントリの重みが更新される。このとき、当該エントリの最終更新時刻が設定される。例えば、ノード装置Nにおいて、図11に示すようにステップS103aで重み付けテーブル104-1-Nの、LDフィールドの値がNであるエントリの最終更新時刻がTに設定される。 (E2) When the ACK frame for the data frame is received, the weight of the entry whose LD field value is N LD is updated in the weighting table 104-i corresponding to the node device NGD . At this time, the last update time of the entry is set. For example, in the node device N 3 , as shown in FIG. 11, the last update time of the entry whose LD field value is N 4 in the weighting table 104-1 -N 3 is set to T b in step S103a.
  (E3)GSの値がNGSで、FIDの値がFの同じデータフレームが、ノード装置100で受信される。例えば、図6のステップS106でノード装置Nがデータフレームを受信する。なお、データフレームのGDの値は中継に際して書きかえられることはないので、(E3)で受信されるデータフレームのGDの値は、上記(E1)より当然、NGDである。 (E3) the value of GS is in N GS, the value of FID is the same data frame F c, it is received by the node device 100. For example, the node device N 3 in step S106 in FIG. 6 receives the data frame. Since there is no possibility that the value of GD of the data frame is rewritten when the relay, the value of GD of the data frame received by (E3), of course from the (E1), a N GD.
  (E4)上記(E1)の時点から、FID管理テーブル105のエージング時間Gが経過する。
  (E5)上記(E2)の時点から、重み付けテーブル104のエージング時間Gが経過する。
(E4) from the time of the (E1), aging time G f of FID management table 105 has elapsed.
(E5) from the time of the (E2), aging time G w of the weighting table 104 has elapsed.
 以上のとおり、(E3)の時点は(E5)の時点より前である。よって、(E3)の時点では、ノード装置NGDに対応する重み付けテーブル104-iにおいて、LDフィールドの値がNLDであるエントリの存在が保証される。例えば、上記の例では、重み付けテーブル104-1-Nの、LDフィールドの値がNであるエントリの存在が、図6のステップS106の時点保証されている。なお、ここでの「ステップS106の時点」とは、より詳しくは、ステップS106での受信を契機とするデータフレーム受信処理に含まれるステップS809の処理を、ノード装置Nが実行する時点のことである。 As described above, the time point (E3) is before the time point (E5). Therefore, at the time of (E3), the existence of an entry whose LD field value is N LD is guaranteed in the weighting table 104-i corresponding to the node device N GD . For example, in the above example, the existence of an entry in the weighting table 104-1-N 3 whose LD field value is N 4 is guaranteed at the time of step S106 in FIG. Here, "time of step S106" is more particularly that at the time when the process of step S809 in the data frame reception processing triggered by the reception in step S106, the node device N 3 executes It is.
 したがって、図31のステップS806の検索でFID管理テーブル105にエントリが見つかった場合、ステップS809では必ず、ステップS808で取り出したLDに対応するエントリが、重み付けテーブル104-iに存在する。よって、ステップS809でデータフレーム処理部110は、存在が保証されているエントリにおいて、重みの値を最大値に設定している。 Therefore, when an entry is found in the FID management table 105 by the search in step S806 in FIG. 31, in step S809, an entry corresponding to the LD extracted in step S808 always exists in the weighting table 104-i. Therefore, in step S809, the data frame processing unit 110 sets the weight value to the maximum value in the entry whose existence is guaranteed.
 逆に、ステップS806の検索でエントリが見つからなかった場合、ステップS810でデータフレーム処理部110は、受信したデータフレームのLSの値を、例えば図4のDRAM204などの記憶領域に、OLSとして記憶する。そして、ステップS811でデータフレーム処理部110は、受信したデータフレームのGDの値を検索キーとして用いて、重み付けテーブル104を検索する。 On the other hand, if no entry is found in step S806, in step S810, the data frame processing unit 110 stores the LS value of the received data frame as an OLS in a storage area such as the DRAM 204 in FIG. . In step S811, the data frame processing unit 110 searches the weighting table 104 using the GD value of the received data frame as a search key.
 続いて、ステップS812でデータフレーム処理部110は、ステップS811の検索の結果、テーブルがヒットしたか否かを判断する。
 受信したデータフレームのGDの値に対応する重み付けテーブルが重み付けテーブル104の中に存在すれば、処理はステップS812aに移行する。なお、ステップS809で導入した「104-i」という参照符号は、受信したデータフレームのGDの値に対応する重み付けテーブルを指すので、ステップS811の検索の結果ヒットしたテーブルも、「重み付けテーブル104-i」である。
Subsequently, in step S812, the data frame processing unit 110 determines whether the table is hit as a result of the search in step S811.
If a weighting table corresponding to the GD value of the received data frame exists in the weighting table 104, the process proceeds to step S812a. Note that the reference sign “104-i” introduced in step S809 indicates the weighting table corresponding to the GD value of the received data frame, and thus the table hit as a result of the search in step S811 is also “weighting table 104- i ".
 他方、受信したデータフレームのGDの値に対応する重み付けテーブルが重み付けテーブル104の中に存在しなければ、処理はステップS813に移行する。
 ステップS812aでデータフレーム処理部110は、ステップS811の検索でヒットした重み付けテーブル104-iを調整する。ステップS812aの重み付けテーブル調整処理は、詳しくは図36とともに後述するが、エージング処理の副作用を中和する処理である。
On the other hand, if the weighting table corresponding to the GD value of the received data frame does not exist in the weighting table 104, the process proceeds to step S813.
In step S812a, the data frame processing unit 110 adjusts the weighting table 104-i hit in the search in step S811. The weighting table adjustment process in step S812a is a process for neutralizing the side effects of the aging process, which will be described later in detail with reference to FIG.
 ステップS812aの結果、隣接ノード管理テーブル103で管理されているすべての隣接ノード装置に対応するエントリが重み付けテーブル104-iに存在することが保証される。そして、処理はステップS817に移行する。 As a result of step S812a, it is guaranteed that entries corresponding to all adjacent node devices managed in the adjacent node management table 103 exist in the weighting table 104-i. Then, the process proceeds to step S817.
 ステップS813でデータフレーム処理部110は、受信したデータフレームのGDの値に対応する新規重み付けテーブルを追加する。なお、ステップS813で追加されるテーブルも、「重み付けテーブル104-i」である。 In step S813, the data frame processing unit 110 adds a new weighting table corresponding to the GD value of the received data frame. Note that the table added in step S813 is also the “weighting table 104-i”.
 そして、ステップS814でデータフレーム処理部110は、新規重み付けテーブル104-iにおいて、受信したデータフレームのGDの値を、重み付けテーブル104-iのGDとして設定する。 In step S814, the data frame processing unit 110 sets the GD value of the received data frame as the GD of the weighting table 104-i in the new weighting table 104-i.
 さらに、ステップS815でデータフレーム処理部110は、隣接ノード管理テーブル103のエントリ数と同数の新規エントリを、新規重み付けテーブル104-iに作成する。 Further, in step S815, the data frame processing unit 110 creates as many new entries as the number of entries in the adjacent node management table 103 in the new weighting table 104-i.
 そして、ステップS816でデータフレーム処理部110は、ステップS815で作成した各エントリに、それぞれ、隣接ノード管理テーブル103の各エントリのノードIDと、初期重み付け値と、現在時刻を設定する。 In step S816, the data frame processing unit 110 sets the node ID, initial weight value, and current time of each entry in the adjacent node management table 103 in each entry created in step S815.
 なお、以上のステップS811~S816の具体例を挙げれば、以下のとおりである。
 例えば、図6のステップS102でノード装置Nから図7のデータフレーム303を受信したとき、ノード装置Nの重み付けテーブル104-Nには、図11の重み付けテーブル104-1-Nが存在しなかったとする。すると、ノード装置Nが受信したデータフレーム303のGDの値であるNを検索キーにしてノード装置Nのデータフレーム処理部110-NがステップS811で重み付けテーブル104-Nを検索しても、テーブルはヒットしない。
A specific example of the above steps S811 to S816 is as follows.
For example, when receiving the data frame 303 of FIG. 7 in step S102 in FIG. 6 from the node device N 2, the weighting table 104-N 3 of the node device N 3 are weighting table 104-1-N 3 in FIG. 11 Suppose that it did not exist. Then, the data frame processing unit 110-N 3 of the node device N 3 searches the weighting table 104-N 3 in step S811 using N 7 which is the GD value of the data frame 303 received by the node device N 3 as a search key. Even so, the table does not hit.
 そこで、データフレーム処理部110-Nは、ステップS813で新たに重み付けテーブル104-1-Nを作成し、ステップS814で重み付けテーブル104-1-NのGDにNを設定する。そして、データフレーム処理部110-Nは、ステップS815で、図9の隣接ノード管理テーブル103-Nと同数の(すなわち3つの)新規エントリを重み付けテーブル104-1-Nに作成する。 Therefore, the data frame processing unit 110-N 3 newly creates the weighting table 104-1-N 3 in step S813, and sets N 7 to the GD of the weighting table 104-1-N 3 in step S814. In step S815, the data frame processing unit 110-N 3 creates the same number (ie, three) new entries as the adjacent node management table 103-N 3 in FIG. 9 in the weighting table 104-1-N 3 .
 ここで、隣接ノード管理テーブル103-Nの各エントリのノードIDは、図10のとおり、NとNとNである。よって、ステップS816でデータフレーム処理部110-Nは、ステップS815で作成した3つのエントリそれぞれに、LDとしてNとNとNを設定する。また、データフレーム処理部110-Nは、これら3つのエントリの重みフィールドに、いずれも0.5という初期重み付け値を設定し、これら3つのエントリの最終更新時刻フィールドに、いずれも現在時刻を設定する。 Here, the node ID of each entry of the adjacent node management table 103-N 3 is N 2 , N 4 and N 5 as shown in FIG. Therefore, in step S816, the data frame processing unit 110-N 3 sets N 2 , N 4, and N 5 as LDs in each of the three entries created in step S815. The data frame processing unit 110-N 3 sets an initial weight value of 0.5 in the weight fields of these three entries, and sets the current time in the last update time fields of these three entries. Set.
 以上のステップS813~S816の結果として、図11の1段目のような重み付けテーブル104-1-Nが重み付けテーブル104-Nの中に追加される。
 ここで、具体例の説明から図31の処理一般の説明に戻る。ステップS817が実行されるのは、ステップS809の実行後、ステップS816の実行後、またはステップS811の検索においてテーブルがヒットしたとステップS812で判断された後である。よって、ステップS817の実行時には、受信したデータフレームのGDの値に対応する重み付けテーブル104-iの存在が保証されている。
As a result of the above steps S813 ~ S 816, the weighting table 104-1-N 3, such as the first stage of FIG. 11 is added in the weighting table 104-N 3.
Here, the description returns to the general processing of FIG. 31 from the description of the specific example. Step S817 is executed after step S809 is executed, after step S816 is executed, or after it is determined in step S812 that the table is hit in the search of step S811. Therefore, when step S817 is executed, the existence of the weighting table 104-i corresponding to the GD value of the received data frame is guaranteed.
 そこで、ステップS817においてデータフレーム処理部110は、受信したデータフレームのGDの値に対応する重み付けテーブル104-iにおいて、OLSとは異なるLDのうちで最小の重みと対応付けられているLDの値を取得する。 Therefore, in step S817, the data frame processing unit 110, in the weighting table 104-i corresponding to the GD value of the received data frame, the LD value associated with the minimum weight among the LDs different from the OLS. To get.
 つまり、データフレーム処理部110は、重み付けテーブル104-iにおいて、ステップS808またはS810で記憶したOLSの値とは異なる値をLDとして有するエントリの中から、重みの値が最小のものを選択する。そして、データフレーム処理部110は、選択したエントリのLDと重みの値を、例えば図4のDRAM204などの記憶領域に記憶する。 That is, the data frame processing unit 110 selects, in the weighting table 104-i, the entry having the smallest weight value from the entries having as the LD a value different from the OLS value stored in step S808 or S810. Then, the data frame processing unit 110 stores the LD and weight values of the selected entry in a storage area such as the DRAM 204 in FIG.
 続いて、ステップS818でデータフレーム処理部110は、下記の2つの条件(F1)と(F2)のいずれかが成立するか否かを判断する。
  (F1)ステップS817(または後述のS829)で取得したLDの値に対応する重みが、重みの最大値(第1実施形態では1.0)である。
Subsequently, in step S818, the data frame processing unit 110 determines whether one of the following two conditions (F1) and (F2) is satisfied.
(F1) The weight corresponding to the LD value acquired in step S817 (or S829 described later) is the maximum weight value (1.0 in the first embodiment).
  (F2)ステップS808またはS810で記憶したOLSの値とは異なるLDへのデータフレームの転送がすべて失敗した(ただし、重み付けテーブル104-iにおけるLDが、もともとOLSしか存在しなかった場合も含む)。 (F2) All data frame transfers to LDs different from the OLS value stored in step S808 or S810 have failed (including the case where the LD in the weighting table 104-i originally has only OLS). .
 条件(F1)または(F2)が成立する場合、もはやLDとして選択可能な隣接ノード装置は残っていないので、処理は図34のステップS830に移行する。この場合、バックトラック動作が実行される。 When the condition (F1) or (F2) is satisfied, there is no longer any adjacent node device that can be selected as the LD, so the process moves to step S830 in FIG. In this case, a backtrack operation is performed.
 他方、条件(F1)と(F2)のいずれも成立しない場合、まだLDとして選択可能な隣接ノード装置が残っている。換言すれば、(G1)~(G4)のいずれにも該当しない隣接ノード装置が、少なくとも1つは存在する。そして、LDとして選択可能な隣接ノード装置のノードIDが、ステップS817(または後述のS829)で取得されている。 On the other hand, when neither of the conditions (F1) and (F2) is satisfied, there are still adjacent node devices that can be selected as the LD. In other words, there is at least one adjacent node device that does not correspond to any of (G1) to (G4). Then, the node ID of the adjacent node device that can be selected as the LD is acquired in step S817 (or S829 described later).
  (G1)当該隣接ノード装置から先の経路が袋小路またはループになっている、と判断されたため、当該隣接ノード装置は最大値の重みと対応付けられている。
  (G2)過去に当該隣接ノード装置への同一GD宛てのデータフレームの送信に失敗した結果が累積したため、当該隣接ノード装置は最大値の重みと対応付けられている。
(G1) Since it is determined that the path ahead from the adjacent node device is a dead path or a loop, the adjacent node device is associated with the maximum weight.
(G2) Since the results of the failure to transmit data frames addressed to the same GD to the adjacent node device have accumulated in the past, the adjacent node device is associated with the maximum weight.
  (G3)今回のデータフレーム受信処理において当該隣接ノード装置へのデータフレームの送信を試した結果として、「送信失敗」と判明した。すなわち、データフレームを送信した隣接ノード装置から、所定時間が経っても、ACKフレームを受信することができなかった。 (G3) As a result of trying to transmit a data frame to the adjacent node device in this data frame reception process, it was determined that the transmission failed. That is, the ACK frame cannot be received from the adjacent node device that transmitted the data frame even after a predetermined time.
  (G4)当該隣接ノード装置はOLSである。
 そこで、ステップS818で条件(F1)と(F2)のいずれも成立しないと判断されると、処理はステップS819に移行する。ステップS819以降の処理は、取得済みのLDの値で識別される隣接ノード装置へのデータフレームの転送を試みる処理である。
(G4) The adjacent node device is OLS.
Therefore, if it is determined in step S818 that neither of the conditions (F1) and (F2) is satisfied, the process proceeds to step S819. The processing after step S819 is processing for attempting to transfer the data frame to the adjacent node device identified by the acquired LD value.
 ステップS819でデータフレーム処理部110は、以下のようにして新たなデータフレームを作成して送信部102に出力し、作成されたデータフレームを送信部102が送信する。 In step S819, the data frame processing unit 110 creates a new data frame and outputs it to the transmission unit 102 as follows, and the transmission unit 102 transmits the created data frame.
 具体的には、データフレーム処理部110は、ステップS817(または後述のS829)で取得したLDの値を新たなデータフレームのLDに指定し、自ノードIDを新たなデータフレームのLSに指定する。また、データフレーム処理部110は、受信したデータフレームからGD、GS、FID、タイプ、長さの各フィールドの値と、ペイロードを、新たなデータフレームにコピーする。なお、「受信したデータフレーム」とは、上記のとおり、ステップS801で見つかったバッファ部109内のエントリに格納されているデータフレーム、または、図23のステップS47でバッファ部109から抽出(復元)されたデータフレームである。 Specifically, the data frame processing unit 110 designates the LD value acquired in step S817 (or S829 described later) as the LD of the new data frame, and designates its own node ID as the LS of the new data frame. . In addition, the data frame processing unit 110 copies the values of the GD, GS, FID, type, and length fields and the payload from the received data frame to a new data frame. As described above, the “received data frame” is the data frame stored in the entry in the buffer unit 109 found in step S801 or extracted (restored) from the buffer unit 109 in step S47 of FIG. Data frame.
 ステップS819での送信後、処理はステップS820に移行し、データフレーム処理部110がバッファ部109のタイムアウト時刻を更新する。すなわち、データフレーム処理部110は、バッファ部109において、受信したデータフレームを格納しているエントリのタイムアウト時刻に、式(5)の時刻Ttimeoutを設定する。
 Ttimeout=Tnow+Twait (5)
 なお、式(5)において時刻Tnowは現在時刻であり、時間TwaitはACKフレーム待ち時間である。
After the transmission in step S819, the process proceeds to step S820, and the data frame processing unit 110 updates the timeout time of the buffer unit 109. That is, in the buffer unit 109, the data frame processing unit 110 sets the time T timeout of Expression (5) as the timeout time of the entry storing the received data frame.
T timeout = T now + T wait (5)
In Equation (5), time Tnow is the current time, and time Twait is the ACK frame waiting time.
 そして、ステップS821でデータフレーム処理部110は、ステップS806のFID管理テーブル105の検索においてエントリがヒットしているか、または、後述するステップS823およびステップS824で、FID管理テーブル105に新規エントリを追加して値を設定しているか否かを確認する。つまり、受信したデータフレームのGSとFIDの値に等しい値を、GSおよびFIDとして有するエントリが、FID管理テーブル105に存在するか否かを、データフレーム処理部110は確認する。 In step S821, the data frame processing unit 110 adds an entry to the FID management table 105 in steps S823 and S824, which will be described later, in the search of the FID management table 105 in step S806. Check whether the value is set. That is, the data frame processing unit 110 confirms whether or not an entry having GS and FID having values equal to the GS and FID values of the received data frame exists in the FID management table 105.
 ステップS806の検索でエントリがヒットしているか、ステップS823およびステップS824でFID管理テーブル105に新規エントリを追加して値を設定していれば、今回のデータフレーム受信処理は、過去にノード装置100自身が送信したのと同じデータフレームの受信を契機とする処理である。よって、データフレーム処理部110は続いてステップS822を実行する。他方、ステップS806の検索でエントリがヒットしておらず、かつ、ステップS823およびステップS824でFID管理テーブル105に新規エントリを追加して値を設定していなければ、ノード装置100は、初めて受信するデータフレームの初めての転送を試みているところである。よって、処理はステップS823に移行する。 If the entry is hit in the search in step S806, or if a value is set by adding a new entry to the FID management table 105 in steps S823 and S824, the current data frame reception process has been executed in the past. This is a process triggered by reception of the same data frame as that transmitted by itself. Therefore, the data frame processing unit 110 subsequently executes step S822. On the other hand, if the entry is not hit in the search in step S806, and if a value is not set by adding a new entry to the FID management table 105 in steps S823 and S824, the node device 100 receives for the first time. The first transfer of data frames is being attempted. Therefore, the process proceeds to step S823.
 ステップS822でデータフレーム処理部110は、ステップS806の検索でヒットしたエントリを更新する。具体的には、データフレーム処理部110は、ステップS806の検索でヒットしたエントリにおいて、LDフィールドには、ステップS819で送信したデータフレームのLDの値を設定し、最終更新時刻フィールドには、現在時刻を設定する。そして、処理はステップS825に移行する。 In step S822, the data frame processing unit 110 updates the entry hit in the search in step S806. Specifically, the data frame processing unit 110 sets the LD value of the data frame transmitted in step S819 in the LD field in the entry hit in the search in step S806, and sets the current value in the last update time field. Set the time. Then, the process proceeds to step S825.
 なお、ステップS822は、ステップS821で「Yes」と判定されたときに実行される。ここで、ステップS821で「Yes」と判定される状況は、ステップS819で送信されるデータフレームが過去に別の隣接ノード装置に送信されており、その隣接ノード装置から対応するACKフレームを受信しているときに生じる。すなわち、ステップS822が実行される時点では、FID管理テーブル105の当該エントリのACK受信フラグには「済み」が設定されているはずである。したがって、データフレーム処理部110は、ステップS819でデータフレームを送信すると、ステップS822でACK受信フラグを「NULL」に更新する。 Note that step S822 is executed when it is determined “Yes” in step S821. Here, the situation determined as “Yes” in step S821 is that the data frame transmitted in step S819 has been transmitted to another adjacent node device in the past, and the corresponding ACK frame is received from the adjacent node device. It happens when you are. That is, at the time when step S822 is executed, “already” should be set in the ACK reception flag of the entry in the FID management table 105. Therefore, when the data frame processing unit 110 transmits the data frame in step S819, the data frame processing unit 110 updates the ACK reception flag to “NULL” in step S822.
 一方、ステップS823では、データフレーム処理部110は、FID管理テーブル105に新規エントリを追加する。そして、次のステップS824でデータフレーム処理部110は、新規エントリに値を設定する。具体的には、データフレーム処理部110は、図16に示すFID管理テーブル105に作成した新規エントリにおいて、FIDフィールド、GSフィールド、LDフィールドには、それぞれステップS819で送信したデータフレームの値をコピーする。また、データフレーム処理部110は、新規エントリにおいて、エントリ時刻フィールドおよび最終更新時刻フィールドに現在時刻を設定すると共に、OLSフィールドには、ステップS810で記憶したOLSの値をコピーする。そして、処理はステップS825に移行する。なお、ACK受信フラグには「NULL」が設定され、空データ送信回数フィールドおよび通常データ送信回数フィールドには「ゼロ」が設定される。 On the other hand, in step S823, the data frame processing unit 110 adds a new entry to the FID management table 105. In step S824, the data frame processing unit 110 sets a value for the new entry. Specifically, the data frame processing unit 110 copies the value of the data frame transmitted in step S819 to the FID field, GS field, and LD field in the new entry created in the FID management table 105 shown in FIG. To do. In addition, in the new entry, the data frame processing unit 110 sets the current time in the entry time field and the last update time field, and copies the OLS value stored in step S810 to the OLS field. Then, the process proceeds to step S825. Note that “NULL” is set in the ACK reception flag, and “zero” is set in the empty data transmission count field and the normal data transmission count field.
 なお、このとき記録されるエントリ時刻は、バックトラック動作において、通常データフレームを送信するか空データフレームを送信するのかを判断するために使用される。例えば、図15に示すシーケンス図および図19に示すフローチャートでは、このエントリ時刻は「時刻TE」として使用されている。 Note that the entry time recorded at this time is used to determine whether to transmit a normal data frame or an empty data frame in the backtrack operation. For example, in the sequence diagram shown in FIG. 15 and the flowchart shown in FIG. 19, this entry time is used as “time TE”.
 ステップS825でデータフレーム処理部110は、ステップS819における送信の成否の通知を待つ。例えば、データフレーム処理部110が、所定のプログラムのスレッドを実行する図4のMPU201により実現される場合、ステップS825ではスレッドがスリープしてもよい。その場合、「送信成功」または「送信失敗」の通知は、スレッドを起こす処理である。 In step S825, the data frame processing unit 110 waits for notification of the success or failure of transmission in step S819. For example, when the data frame processing unit 110 is realized by the MPU 201 of FIG. 4 that executes a thread of a predetermined program, the thread may sleep in step S825. In this case, the notification of “success in transmission” or “transmission failure” is a process for causing a thread.
 ステップS819における送信が成功した場合は、ステップS819で送信したデータフレームにおいてLDとして指定されている隣接ノード装置からACKフレームが返信される。そして、ACK処理部107が後述の図37の処理を行い、データフレーム処理部110に「送信成功」を通知する。これにより、FID管理テーブル105の対応するエントリのACKフラグは「済み」に更新される。 If the transmission in step S819 is successful, an ACK frame is returned from the adjacent node device designated as the LD in the data frame transmitted in step S819. Then, the ACK processing unit 107 performs the process of FIG. 37 described later, and notifies the data frame processing unit 110 of “successful transmission”. As a result, the ACK flag of the corresponding entry in the FID management table 105 is updated to “completed”.
 また、ステップS819における送信の失敗とは、ステップS819で送信したデータフレームにおいてLDとして指定されている隣接ノード装置からのACKフレームが、式(5)の時刻Ttimeoutになってもノード装置100で受信されないことである。ACKフレームの受信は、ACK処理部107による後述の図38の処理により監視されており、ACKフレームがタイムアウト時刻Ttimeoutになっても受信されないと、ACK処理部107がデータフレーム処理部110に「送信失敗」を通知する。この場合、FID管理テーブル105の対応するエントリのACKフラグは「NULL」のまま保持される。 Further, the transmission failure in step S819 means that the node device 100 does not receive an ACK frame from the adjacent node device designated as LD in the data frame transmitted in step S819 even when the time T timeout in Expression (5) is reached. It is not received. The reception of the ACK frame is monitored by the processing of FIG. 38 described later by the ACK processing unit 107. If the ACK frame is not received even when the timeout time T timeout is reached, the ACK processing unit 107 notifies the data frame processing unit 110 that “ "Send failed". In this case, the ACK flag of the corresponding entry in the FID management table 105 is held as “NULL”.
 データフレーム処理部110が、ステップS825での待機の後、ACK処理部107から「送信成功」または「送信失敗」の通知を受けると、処理はステップS826に移行する。 When the data frame processing unit 110 receives a “transmission success” or “transmission failure” notification from the ACK processing unit 107 after waiting in step S825, the process proceeds to step S826.
 ステップS826でデータフレーム処理部110は、ACK処理部107から受けた通知に基づいて、ステップS819の送信が成功したか否かを判断する。送信が成功した場合、処理はステップS827に移行し、送信が失敗した場合、処理はステップS828に移行する。 In step S826, based on the notification received from the ACK processing unit 107, the data frame processing unit 110 determines whether the transmission in step S819 is successful. If the transmission is successful, the process proceeds to step S827. If the transmission fails, the process proceeds to step S828.
 送信が成功した場合、ステップS827でデータフレーム処理部110は、重み付けテーブル104において、ステップS819で送信したデータフレームのGDとLDの組に対応する重みを小さくする。ここで、データフレームのGDは転送によって書き換えられないことに注意して換言すれば、ステップS827でデータフレーム処理部110は、受信したデータフレームのGDに対応する重み付けテーブル104-iにおいて、重みの更新を行う。 If the transmission is successful, in step S827, the data frame processing unit 110 decreases the weight corresponding to the pair of GD and LD of the data frame transmitted in step S819 in the weighting table 104. Here, it should be noted that the GD of the data frame is not rewritten by the transfer. In other words, in step S827, the data frame processing unit 110 performs weighting in the weighting table 104-i corresponding to the GD of the received data frame. Update.
 つまり、データフレーム処理部110は、ステップS817(または後述のステップS829)で取得したLDの値をLDとして有するエントリを重み付けテーブル104-iで探し、見つかったエントリの重みの値を小さくする。重みの値を小さくすることは、対応するLDの優先度を上げることである。 That is, the data frame processing unit 110 searches the weighting table 104-i for an entry having the LD value acquired in step S817 (or step S829 described later) as an LD, and decreases the weight value of the found entry. Decreasing the weight value means increasing the priority of the corresponding LD.
 ここで、見つかったエントリの現在の重みの値をWcurrentとすると、ステップS827でデータフレーム処理部110は、見つかったエントリの重みの値を例えば式(6)のWrevisedに更新してもよい。
 Wrevised=max(Wmin
   Wcurrent-ΔWsuccess)  (6)
 なお、式(6)において、Wminは重みの最小値であり、第1実施形態ではWmin=0である。また、ΔWsuccessは、送信が成功したときに重みを減らす所定の量であり、実施形態に応じて適宜値を決めることができる。例えば、ΔWsuccess=0.1でもよい。
Here, assuming that the current weight value of the found entry is W current , the data frame processing unit 110 may update the weight value of the found entry to, for example, W revised in Expression (6) in step S827. .
W revised = max (W min ,
W current -ΔW success ) (6)
In Equation (6), W min is the minimum value of weight, and W min = 0 in the first embodiment. Further, ΔW success is a predetermined amount to reduce the weight when transmission is successful, and can be appropriately determined according to the embodiment. For example, ΔW success = 0.1 may be used.
 さらに、データフレーム処理部110はステップS827で、ステップS817(または後述のステップS829)で取得したLDの値をLDとして有する重み付けテーブル104-iのエントリにおいて、最終更新時刻に現在時刻を設定する。そして、データフレーム受信処理は終了する。 Further, in step S827, the data frame processing unit 110 sets the current time as the last update time in the entry of the weighting table 104-i having the LD value acquired in step S817 (or step S829 described later) as the LD. Then, the data frame reception process ends.
 他方、送信が失敗した場合、ステップS828でデータフレーム処理部110は、重み付けテーブル104において、ステップS819で送信したデータフレームのGDとLDの組に対応する重みを大きくする。つまり、ステップS828でデータフレーム処理部110は、ステップS817(または後述のステップS829)で取得したLDの値をLDとして有するエントリを重み付けテーブル104-iで探し、見つかったエントリの重みの値を大きくする。重みの値を大きくすることは、対応するLDの優先度を下げることである。 On the other hand, if the transmission fails, in step S828, the data frame processing unit 110 increases the weight corresponding to the pair of GD and LD of the data frame transmitted in step S819 in the weighting table 104. That is, in step S828, the data frame processing unit 110 searches the weighting table 104-i for an entry having the LD value acquired in step S817 (or later-described step S829) as an LD, and increases the weight value of the found entry. To do. Increasing the weight value means lowering the priority of the corresponding LD.
 例えば、ステップS828でデータフレーム処理部110は、見つかったエントリの重みの値を式(7)のWrevisedに更新してもよい。
 Wrevised=min(Wmax
   Wcurrent+ΔWfailure)  (7)
 なお、式(7)において、Wmaxは重みの最大値であり、第1実施形態ではWmax=1である。また、ΔWfailureは、送信が失敗したときに重みを増やす所定の量であり、実施形態に応じて適宜値を決めることができる。例えば、ΔWfailure=0.1でもよい。もちろん、ΔWfailure≠ΔWsuccessでもよい。
For example, in step S828, the data frame processing unit 110 may update the weight value of the found entry to W revised in Expression (7).
W revised = min (W max ,
W current + ΔW failure ) (7)
In Equation (7), W max is the maximum weight value, and W max = 1 in the first embodiment. Further, ΔW failure is a predetermined amount to increase the weight when transmission fails, and can be appropriately determined according to the embodiment. For example, ΔW failure = 0.1 may be used. Of course, ΔW failure ≠ ΔW success may be satisfied.
 なお、データフレーム処理部110はステップS828で、ステップS817(または後述のステップS829)で取得したLDの値を、例えば図4のDRAM204などのワークエリアに「転送に失敗したLD」として記憶する。例えば、データフレーム処理部110は、DRAM204上の線形リストをステップS817で空に初期化し、ステップS828の実行のたびに、ステップS817(または後述のステップS829)で取得したLDの値を保持する要素を線形リストに追加してもよい。もちろん、「転送に失敗したLD」の記憶のために配列など他のデータ構造が使われてもよい。 In step S828, the data frame processing unit 110 stores the LD value acquired in step S817 (or later-described step S829) as “LD failed in transfer” in a work area such as the DRAM 204 in FIG. For example, the data frame processing unit 110 initializes the linear list on the DRAM 204 to be empty in step S817, and holds the LD value acquired in step S817 (or step S829 described later) each time step S828 is executed. May be added to the linear list. Of course, other data structures such as an array may be used for storing “LD failed to transfer”.
 さらに、データフレーム処理部110はステップS828で、ステップS817(または後述のステップS829)で取得したLDの値をLDとして有する重み付けテーブル104-iのエントリにおいて、最終更新時刻に現在時刻を設定する。そして処理はステップS829に移行する。 Further, in step S828, the data frame processing unit 110 sets the current time as the last update time in the entry of the weighting table 104-i having the LD value acquired in step S817 (or step S829 described later) as the LD. Then, the process proceeds to step S829.
 ステップS829でデータフレーム処理部110は、今までにLDとして試していない他の選択可能な隣接ノード装置を探す。具体的には、データフレーム処理部110は、受信したデータフレームのGDの値に対応する重み付けテーブル104-iにおいて、転送に失敗したLD以外で、かつOLSとは異なるLDのうちで、最小の重みと対応付けられているLDの値を取得する。なお、転送に失敗したLDは、ステップS828において例えば図4のDRAM204などのワークエリアに、例えば線形リストなどの形で、記憶されている。 In step S829, the data frame processing unit 110 searches for other selectable adjacent node devices that have not been tried as LDs so far. Specifically, the data frame processing unit 110, in the weighting table 104-i corresponding to the GD value of the received data frame, is the smallest among the LDs other than the LD that failed to transfer and different from the OLS. The LD value associated with the weight is acquired. Note that the LD that failed to be transferred is stored in a work area such as the DRAM 204 in FIG. 4 in step S828, for example, in the form of a linear list.
 つまり、データフレーム処理部110は、重み付けテーブル104-iにおいて、(H1)かつ(H2)である値をLDとして有するエントリの中から、重みの値が最小のものを選択する。そして、データフレーム処理部110は、選択したエントリのLDと重みの値を、例えば図4のDRAM204などの記憶領域に記憶する。 That is, the data frame processing unit 110 selects the entry having the smallest weight value from the entries having the values (H1) and (H2) as LDs in the weighting table 104-i. Then, the data frame processing unit 110 stores the LD and weight values of the selected entry in a storage area such as the DRAM 204 in FIG.
  (H1)過去にステップS817またはS829で取得したLDの値とは異なる値
  (H2)ステップS808またはS810で記憶したOLSの値とは異なる値
 したがって、例えば、ステップS828で0.2に更新された重みと対応付けられた隣接ノード装置は、ステップS829でLDとして選択されず、ステップS829では0.2より大きな、0.8などの重みの隣接ノード装置が選択されることもありうる。
(H1) A value different from the LD value acquired in the previous step S817 or S829 (H2) A value different from the OLS value stored in the step S808 or S810 Therefore, for example, updated to 0.2 in step S828 The adjacent node device associated with the weight is not selected as an LD in step S829, and an adjacent node device having a weight such as 0.8, which is greater than 0.2, may be selected in step S829.
 以上のステップS817~S829の具体例を挙げれば、以下のとおりである。例えば、図6のノード装置Nには、ノード装置N、N、およびNが隣接している。そして、図12のとおり、ノード装置NのFID管理テーブル105-NのエントリE4のOLSの値は、Nである。 Specific examples of the above steps S817 to S829 are as follows. For example, node devices N 3 , N 5 , and N 7 are adjacent to the node device N 4 in FIG. Then, as shown in Figure 12, the value of the OLS of FID management table 105-N 4 entries E4 node device N 4 is N 3.
 図6の例では、ノード装置Nのデータフレーム処理部110-Nが、最初にステップS817でLDの値Nを取得するので、ステップS104のようにノード装置Nへのデータフレームの送信が行われる。しかし、図6に示すとおりステップS104の送信は失敗するので、データフレーム処理部110-NはステップS826で「送信失敗」と判断する。 In the example of FIG. 6, since the data frame processing unit 110-N 4 of the node device N 4 first acquires the LD value N 7 in step S817, the data frame to the node device N 7 as in step S104. Transmission is performed. However, since the transmission in step S104 fails as shown in FIG. 6, the data frame processing unit 110-N 4 determines “transmission failure” in step S826.
 すると、データフレーム処理部110-NがステップS829を実行する時点で、転送に失敗したLD(すなわちN)以外で、かつOLS(すなわちN)とは異なるLDの値は、Nのみである。よって、ステップS829ではLDの値Nが取得される。 Then, when the data frame processing unit 110-N 4 executes step S829, the LD value other than the LD that failed to transfer (ie, N 7 ) and different from the OLS (ie, N 3 ) is only N 5. It is. Therefore, the value N 5 of the LD in step S829 is acquired.
 こうしてステップS829でLDの値が取得されると、処理はステップS829からステップS818へ戻る。よって、上記のノード装置Nの例では、ステップS829の後、再度ステップS818~S826が実行される。そして、図6にステップS105として示すように、今度はステップS826で「送信成功」と判断され、ステップS827が実行されて、データフレーム受信処理が終了する。 When the LD value is acquired in step S829, the process returns from step S829 to step S818. Therefore, in the above example of the node device N 4, after step S829, it is executed steps S818 ~ S826 again. Then, as shown in FIG. 6 as step S105, it is determined that transmission is successful in step S826, step S827 is executed, and the data frame reception process ends.
 なお、ステップS828で、例えば式(7)のように重みを更新することの影響について具体例を挙げて説明すれば、以下のとおりである。
 例えば、図2のネットワーク2において、ノード装置N106が隣接ノード装置N108から、ノード装置N118をGDとして指定する第1のデータフレームを時刻Trcv1に受信したとする。そして、時刻Trcv1にノード装置N106には、ノード装置N118に対応する重み付けテーブル104-g106-N106が存在したとする。また、時刻Trcv1の重み付けテーブル104-g106-N106においては、ノード装置N102には重み0.4が、ノード装置N103には重み0.7が、ノード装置N107には重み0.1が、ノード装置N108には重み0.5が、それぞれ対応付けられていたとする。
In addition, it will be as follows if the influence of updating a weight like Formula (7), for example with a specific example is demonstrated at step S828.
For example, in the network 2 of FIG. 2, it is assumed that the node device N 106 receives a first data frame specifying the node device N 118 as GD from the adjacent node device N 108 at time T rcv1 . Then, it is assumed that the weighting table 104-g 106 -N 106 corresponding to the node device N 118 exists in the node device N 106 at time T rcv1 . In the weighting table 104-g 106 -N 106 time T Rcv1, the node device weight 0.4 to N 102 is, weight 0.7 to the node device N 103 is the weight 0 to the node device N 107 .1, is assumed that the weight 0.5 is associated with the node apparatus N 108 , respectively.
 すると、ステップS817では、最小の重み0.1と対応付けられているノード装置N107がLDとして選択される。ところが、ステップS819でデータフレームが送信されるとき、偶然、ノード装置N106とN107の間に遮蔽物が置かれるなどの理由で、一時的に、ノード装置N106とN107の無線リンクが通信不能になったとする。 Then, in step S817, the node device N 107 associated with the minimum weight 0.1 is selected as the LD. However, when the data frame is transmitted at step S819, chance, for reasons such as shield between the node device N 106 and N 107 are placed, temporarily, the wireless link of the node device N 106 and N 107 Suppose that communication is lost.
 すると、ACKフレームが返信されないので、ステップS828では、ノード装置N107の重みが0.1から0.2に更新される。そして、ステップS829では、重み0.4と対応付けられているノード装置N102がLDとして選択される。ここで、ステップS819におけるデータフレームの送信が成功し、ノード装置N102からACKフレームが返信されたとする。すると、ステップS827でノード装置N102の重みが0.4から0.3に更新され、データフレーム受信処理が終了する。 Then, since no ACK frame is returned, the weight of the node device N 107 is updated from 0.1 to 0.2 in step S828. In step S829, the node device N 102 associated with the weight 0.4 is selected as the LD. Here, the transmission of the data frame is successful in step S819, the ACK frame from the node device N 102 is returned. Then, the weight of the node device N 102 in step S827 is updated from 0.4 to 0.3, the data frame reception process ends.
 ここで、ノード装置N106からノード装置N102へ送信された第1のデータフレームは、ノード装置N106にバックトラックすることなく、ノード装置N118に到達したとする。つまり、重み付けテーブル104-g106-N106においては、第1のデータフレームの転送にともなって重みが1に更新されるエントリはなかったとする。 Here, it is assumed that the first data frame transmitted from the node device N 106 to the node device N 102 reaches the node device N 118 without backtracking to the node device N 106 . That is, in the weighting table 104-g 106 -N 106 , it is assumed that there is no entry whose weight is updated to 1 with the transfer of the first data frame.
 すると、ノード装置N106が、その後の時刻Trcv2に、同じくノード装置N118をGDとして指定する第2のデータフレームを今度はノード装置N103から受信したとき、重み付けテーブル104-g106-N106の内容は次のとおりである。すなわち、ノード装置N102には重み0.3が、ノード装置N103には重み0.7が、ノード装置N107には重み0.2が、ノード装置N108には重み0.5が、それぞれ対応付けられている。 Then, when the node device N 106 receives a second data frame from the node device N 103 at this time T rcv2 , which similarly designates the node device N 118 as GD, the weighting table 104-g 106 -N. The contents of 106 are as follows. That is, node device N 102 has weight 0.3, node device N 103 has weight 0.7, node device N 107 has weight 0.2, node device N 108 has weight 0.5, Each is associated.
 よって、ステップS817では、第1のデータフレームの転送に失敗したとはいえ、なお最小の重みと対応付けられているノード装置N107が、LDとして選択される。そして、もし時刻Trcv2にノード装置N106とN107の間の無線リンクの通信品質が好転しており、ステップS819での第2のデータフレームの送信が成功すれば、ステップS827でノード装置N107の重みは再度0.1に戻る。 Therefore, in step S817, the node device N 107 still associated with the minimum weight is selected as the LD even though the transfer of the first data frame has failed. If the communication quality of the radio link between the node devices N 106 and N 107 is improved at time T rcv2 and the transmission of the second data frame in step S819 is successful, the node device N in step S827. The weight of 107 returns to 0.1 again.
 ここで、第2のデータフレームのノード装置N107への転送の結果、バックトラックが生じないものとすると、ノード装置N107の重みは0.1のままである。よって、さらにその後の時刻Trcv3に、同じくノード装置N118をGDとして指定する第3のデータフレームを、ノード装置N107以外の隣接ノード装置からノード装置N106が受信すれば、LDとして最も優先的に選択されるのは、やはりノード装置N107である。 Here, assuming that no backtracking occurs as a result of the transfer of the second data frame to the node device N 107 , the weight of the node device N 107 remains 0.1. Therefore, when the node device N 106 receives a third data frame that similarly designates the node device N 118 as GD from the adjacent node device other than the node device N 107 at the subsequent time T rcv3 , the highest priority is given to the LD. The node device N 107 is still selected.
 このように、ステップS829で重みを急激に最大値に設定するのではなく少しだけ大きくすると、重み付けテーブル104が通信環境の変化に過剰に反応することはない。よって、同じノード装置をGDとして指定する複数のデータフレームを次々とノード装置N106が受信しているうちに、一時的に障害の生じていたリンクが障害から回復すれば、環境の好転に追従して、過去の学習結果が再びLDの選択に活かされるようになる。つまり、上記の例では、LDとして適切だと過去に学習済みのノード装置N107が、再びLDとして優先的に選択されるようになる。 As described above, if the weight is not set to the maximum value abruptly in step S829 but is slightly increased, the weighting table 104 does not react excessively to changes in the communication environment. Therefore, while the node device N 106 receives a plurality of data frames designating the same node device as the GD one after another, if the link in which the failure has occurred temporarily recovers from the failure, the environment will be improved. Thus, the past learning result is again utilized for the selection of the LD. In other words, in the above example, the node device N 107 that has been learned in the past when it is appropriate as the LD is again preferentially selected as the LD.
 あるいは、時刻Trcv2においてノード装置N106とN107の間の無線リンクが障害から復旧していない場合もありうる。その場合、第2のデータフレームの送信時のLDとして、一旦は重み0.2のノード装置N107が選択されるが、ACKフレームが受信されないために、ノード装置N107の重みは0.3に更新される。そして、最終的には重み0.3と対応付けられたノード装置N102がLDとして選択され、送信が成功して重みが0,2に更新されることもありうる。 Alternatively, there may be a case where the radio link between the node devices N 106 and N 107 has not recovered from the failure at the time T rcv2 . In this case, the node device N 107 having a weight of 0.2 is selected as the LD at the time of transmitting the second data frame. However, since the ACK frame is not received, the weight of the node device N 107 is 0.3. Updated to Finally, the node device N 102 associated with the weight 0.3 may be selected as the LD, the transmission may be successful, and the weight may be updated to 0 and 2.
 すると、時刻Trcv3に、例えばノード装置N103から、ノード装置N106が第3のデータフレームを受信すると、重み0.2に対応付けられたノード装置N102がLDとして選択され、また送信が成功し、ノード装置N102の重みが0.1になるかもしれない。そして、その後しばらくは、ノード装置N118をGDとして指定するデータフレームのLDとして、ノード装置N106はノード装置N102を選択し続けるかもしれない。 Then, at the time T rcv3 , for example, when the node device N 106 receives the third data frame from the node device N 103 , the node device N 102 associated with the weight 0.2 is selected as the LD, and transmission is performed. Successful, node device N 102 may have a weight of 0.1. Then, for a while, the node device N 106 may continue to select the node device N 102 as the LD of the data frame designating the node device N 118 as GD.
 しかし、さらにその後、ノード装置N106とN102の間の無線リンクに障害が生じたとすると、ノード装置N102からはACKフレームが返信されてこない。するとステップS829でLDの再選択が行われる。 However, after that, if a failure occurs in the radio link between the node equipments N 106 and N 102, an ACK frame is not returned from the node equipment N 102 . In step S829, the LD is reselected.
 その場合、時刻Trcv1以前にLDとして好適であると学習されていたノード装置N107が、重み0.5や0.7と対応付けられており相対的にLDとしてあまり適切ではないノード装置N108やN103よりも、優先的にLDとして選ばれる。その理由は、第1と第2のデータフレームの送信時の重みの学習は、ステップS828に示すように重みをなだらかに変化させるものであり、ノード装置N107の重みは、なおノード装置N108やN103の重みよりも小さいからである。 In that case, the node device N 107 that has been learned to be suitable as the LD before the time T rcv1 is associated with the weights 0.5 and 0.7 and is relatively unsuitable as the LD. than 108 and N 103, are preferentially selected as LD. The reason is that learning of the weights at the time of transmission of the first and second data frames changes the weights gently as shown in step S828, and the weight of the node device N 107 is still the node device N 108. This is because less than the weight of the or N 103.
 そして、この時点でノード装置N106とN107の間の無線リンクが障害から復旧していれば、再度、ノード装置N107の重み0.2に減らされる。このように、多少復旧に時間がかかっても、一時的な環境の変化が過剰に重み付けテーブル104に反映されないため、過去の学習の成果が緩やかに反映される。したがって、適切なLDが選択される蓋然性も高まる。 At this time, if the wireless link between the node devices N 106 and N 107 is recovered from the failure, the weight is again reduced to 0.2 for the node device N 107 . In this way, even if it takes some time for recovery, the temporary environment change is not reflected excessively in the weighting table 104, so that past learning results are gradually reflected. Therefore, the probability that an appropriate LD is selected increases.
 以上のとおり、一時的な障害の影響を過剰に受けないようにするため、ステップS828では、少しだけ重みが調整されるのである。
 なお、図32に示す手順は、図33に示す手順に置き換えられてもよい。図33に示す手順は、図32に示すステップS822およびS824を、それぞれステップS822aおよびS824aに置き換えることにより実現される。
As described above, the weight is slightly adjusted in step S828 so as not to be excessively affected by the temporary failure.
Note that the procedure shown in FIG. 32 may be replaced with the procedure shown in FIG. The procedure shown in FIG. 33 is realized by replacing steps S822 and S824 shown in FIG. 32 with steps S822a and S824a, respectively.
 図33に示す手順は、例えば、FID管理テーブル105がエントリ時刻を管理しない構成に適用される。このような構成においては、データフレーム処理部110は、ステップS824aにおいて、最終更新時刻フィールドに現在時刻を記録する。また、データフレーム処理部110は、ステップS822aにおいては、最終時刻フィールドを更新しない。この手順によれば、「最終更新時刻」は、データフレームを最初に隣接ノード装置へ送信した時刻を表すことになる。すなわち、この場合、「最終更新時刻」は、図16に示すエントリ時刻に相当する。そうすると、データフレーム処理部110は、バックトラック動作において通常データフレームまたは空データフレームのどちらを送信するのかの判断において、最終更新時刻を使用することができる。 33 is applied to a configuration in which the FID management table 105 does not manage entry times, for example. In such a configuration, the data frame processing unit 110 records the current time in the last update time field in step S824a. Further, the data frame processing unit 110 does not update the final time field in step S822a. According to this procedure, the “last update time” represents the time when the data frame is first transmitted to the adjacent node device. That is, in this case, the “last update time” corresponds to the entry time shown in FIG. Then, the data frame processing unit 110 can use the last update time in determining whether to transmit a normal data frame or an empty data frame in the backtrack operation.
 上記構成によれば、FID管理テーブル105を実現するために消費されるメモリ量が削減される。ただし、この構成においては、図32に示す手順が実行される場合と比較して、FID管理テーブル105の各エントリがエージングにより削除されるタイミングが早まることがある。 According to the above configuration, the amount of memory consumed to realize the FID management table 105 is reduced. However, in this configuration, the timing at which each entry in the FID management table 105 is deleted by aging may be earlier than when the procedure shown in FIG. 32 is executed.
 ステップS818の分岐の説明に戻る。ステップS818で2つの条件(F1)と(F2)のいずれかが成立すると判断されると、もはやLDとして選択可能な隣接ノード装置は残っていないので、処理は図34のステップS830に移行する。すなわち、バックトラック動作が実行される。 Returning to the description of the branch in step S818. If it is determined in step S818 that one of the two conditions (F1) and (F2) is satisfied, there is no longer an adjacent node device that can be selected as an LD, and the process proceeds to step S830 in FIG. That is, the backtrack operation is executed.
 ステップS830~S831において、データフレーム処理部110は、受信したデータフレームのFIDおよびGSの値を検索キーとして用いてFID管理テーブル105を検索する。そして、データフレーム処理部110は、上記検索の結果、対応するエントリがヒットしたか否かを判断する。対応するエントリがヒットしていれば、処理はステップS832に移行し、対応するエントリがヒットしていなければ、処理はステップS849に移行する。以下では、ステップS830においてFID管理テーブル105から検索されたエントリを「対象エントリ」と呼ぶことがある。 In steps S830 to S831, the data frame processing unit 110 searches the FID management table 105 using the FID and GS values of the received data frame as search keys. Then, the data frame processing unit 110 determines whether or not the corresponding entry is hit as a result of the search. If the corresponding entry is hit, the process proceeds to step S832, and if the corresponding entry is not hit, the process proceeds to step S849. Hereinafter, the entry retrieved from the FID management table 105 in step S830 may be referred to as a “target entry”.
 なお、ステップS807で「エントリがヒットした」と判断されている場合に、ステップS830の検索により見つかるエントリは、ステップS806の検索により見つかったエントリである。また、ステップS807で「エントリがヒットしない」と判定され、かつステップS823において新規エントリが作成された場合は、ステップS830の検索により、ステップS823で作成された新規エントリが見つかる。 If it is determined in step S807 that “an entry has been hit”, the entry found by the search in step S830 is the entry found by the search in step S806. If it is determined in step S807 that “the entry does not hit” and a new entry is created in step S823, the new entry created in step S823 is found by the search in step S830.
 ステップS831で「エントリがヒットしない」と判断されるのは、(I1)かつ(I2)の場合であり、換言すれば、(J1)かつ(J2)の場合である。
  (I1)ステップS807で「エントリがヒットしない」と判断された。
  (I2)1回目にステップS818が実行された直後に、ステップS830に処理が移行した。
In step S831, “entry does not hit” is determined in the cases (I1) and (I2), in other words, in the cases (J1) and (J2).
(I1) In step S807, it is determined that “entry does not hit”.
(I2) Immediately after step S818 is executed for the first time, the process proceeds to step S830.
  (J1)ノード装置100が今までに受信したことのないデータフレームが受信された。
  (J2)受信したデータフレームのGSの値に対応する重み付けテーブル104-iでは、すべてのLDに最大値の重みが対応付けられている。
 ステップS832において、データフレーム処理部110は、バックトラック動作に係わる変数を初期化する。具体的には、FID管理テーブル105において、受信フレームのFIDおよびGDのペアにより特定されるエントリの空データ送信回数および通常データ送信回数が「ゼロ」に初期化される。
(J1) A data frame that has never been received by the node device 100 has been received.
(J2) In the weighting table 104-i corresponding to the GS value of the received data frame, the maximum value weight is associated with all the LDs.
In step S832, the data frame processing unit 110 initializes variables related to the backtrack operation. Specifically, in the FID management table 105, the number of empty data transmissions and the number of normal data transmissions of the entry specified by the FID / GD pair of the received frame are initialized to “zero”.
 ステップS833~S834において、データフレーム処理部110は、対象エントリの空データ送信回数が、予め決められた上限回数以内であるかチェックする。空データ送信回数の上限回数は、特に限定されるものではないが、例えば「3」である。そして、空データ送信回数が上限回数以内であれば、処理はステップS835に移行する。一方、空データ送信回数が上限回数を超えていれば、処理はステップS840に移行する。 In steps S833 to S834, the data frame processing unit 110 checks whether the empty data transmission count of the target entry is within a predetermined upper limit count. The upper limit number of empty data transmission times is not particularly limited, but is “3”, for example. If the number of empty data transmissions is within the upper limit, the process proceeds to step S835. On the other hand, if the number of empty data transmissions exceeds the upper limit number, the process proceeds to step S840.
 ステップS835において、データフレーム処理部110は、FID管理テーブル105の対応するエントリからエントリ時刻TEを抽出する。なお、エントリ時刻TEは、S824において記録された時刻を表す。すなわち、エントリ時刻TEは、この実施例では、ノード装置が隣接ノード装置から受信したデータフレームを最初に他の隣接ノード装置へ転送した時刻を表している。 In step S835, the data frame processing unit 110 extracts the entry time TE from the corresponding entry in the FID management table 105. The entry time TE represents the time recorded in S824. That is, in this embodiment, the entry time TE represents the time when the node device first transferred the data frame received from the adjacent node device to another adjacent node device.
 ステップS836~S837において、データフレーム処理部110は、ステップS201で受信したデータフレームがOLSノード装置に保持されているか否かを判断する。具体的には、「T-TE」とバッファ部109の保持時間Gとが比較される。「T」は現在時刻である。TEは、上述したエントリ時刻である。すなわち、「T-TE」は、エントリ時刻から現在時刻までの経過時間を表す。また、Gは、各ノード装置においてデータフレームがバッファ部109に保持されている期間を表し、各ノード装置において共通である。 In steps S836 to S837, the data frame processing unit 110 determines whether the data frame received in step S201 is held in the OLS node apparatus. Specifically, “T-TE” and the holding time G of the buffer unit 109 are compared. “T” is the current time. TE is the entry time described above. That is, “T-TE” represents the elapsed time from the entry time to the current time. G represents a period during which a data frame is held in the buffer unit 109 in each node device, and is common to each node device.
 「T-TE」が保存時間Gよりも短いときは、ステップS201で受信したデータフレームがOLSノード装置に保持されていると判断される。この場合、処理はステップS838に移行する。一方、「T-TE」が保存時間G以上であるときは、ステップS201で受信したデータフレームがOLSノード装置に保持されていないと判断される。この場合、処理はステップS840に移行する。 When “T-TE” is shorter than the storage time G, it is determined that the data frame received in step S201 is held in the OLS node apparatus. In this case, the process proceeds to step S838. On the other hand, when “T-TE” is equal to or longer than the storage time G, it is determined that the data frame received in step S201 is not held in the OLS node apparatus. In this case, the process proceeds to step S840.
 ステップS838において、データフレーム処理部110は、OLSノード装置へ送信する空データフレームを作成し、送信キュー114に保存する。このとき、この空データフレームのLDには、FID管理テーブル105の対象エントリに記録されているOLSが設定される。また、この空データフレームのペイロードには、ステップS201で受信したデータフレームのデータヘッダのみが格納される。さらに、データフレーム処理部110は、FID管理テーブル105の対象エントリの最終更新時刻に、現在時刻を書き込む。 In step S838, the data frame processing unit 110 creates an empty data frame to be transmitted to the OLS node device and stores it in the transmission queue 114. At this time, the OLS recorded in the target entry of the FID management table 105 is set in the LD of this empty data frame. Further, only the data header of the data frame received in step S201 is stored in the payload of this empty data frame. Further, the data frame processing unit 110 writes the current time at the last update time of the target entry in the FID management table 105.
 ステップS839において、データフレーム処理部110は、FID管理テーブル105の対象エントリの空データ送信回数をインクリメントする。このように、データフレーム処理部110は、空データ送信回数が上限回数以下であり、且つ、エントリ時刻TEからの経過時間が保持時間Gよりも短いときに、空データフレームを作成して送信キュー114に保存する。 In step S839, the data frame processing unit 110 increments the number of empty data transmissions of the target entry in the FID management table 105. In this way, the data frame processing unit 110 creates an empty data frame and generates a transmission queue when the number of empty data transmissions is less than or equal to the upper limit number and the elapsed time from the entry time TE is shorter than the holding time G. Save to 114.
 空データ送信回数が上限回数を超えている場合、或いは、エントリ時刻TEからの経過時間が保持時間G以上である場合は、ステップS840の処理が実行される。ステップS840において、データフレーム処理部110は、データフレーム処理部110は、OLSノード装置へ送信する通常データフレームを作成し、送信キュー114に保存する。このとき、この通常データフレームのLDには、FID管理テーブル105の対象エントリに記録されているOLSが設定される。また、この通常データフレームのペイロードは、ステップS201で受信したデータフレームのペイロードと同じである。さらに、データフレーム処理部110は、FID管理テーブル105の対象エントリの最終更新時刻に、現在時刻を書き込む。 When the number of empty data transmission times exceeds the upper limit number, or when the elapsed time from the entry time TE is equal to or longer than the holding time G, the process of step S840 is executed. In step S840, the data frame processing unit 110 creates a normal data frame to be transmitted to the OLS node apparatus and stores it in the transmission queue 114. At this time, the OLS recorded in the target entry of the FID management table 105 is set in the LD of the normal data frame. Also, the payload of this normal data frame is the same as the payload of the data frame received in step S201. Further, the data frame processing unit 110 writes the current time at the last update time of the target entry in the FID management table 105.
 ステップS841において、データフレーム処理部110は、FID管理テーブル105の対象エントリの通常データ送信回数をインクリメントする。このように、データフレーム処理部110は、空データ送信回数が上限回数を超えているとき、或いは、エントリ時刻TEからの経過時間が保持時間G以上であるときは、通常データフレームを作成して送信キュー114に保存する。 In step S841, the data frame processing unit 110 increments the normal data transmission count of the target entry in the FID management table 105. Thus, the data frame processing unit 110 creates a normal data frame when the number of empty data transmission times exceeds the upper limit number, or when the elapsed time from the entry time TE is equal to or longer than the holding time G. Save in the transmission queue 114.
 この結果、送信キュー114には、送信待ちのフレーム(通常データフレーム、空データフレームを含む)が保存される。このとき、データフレーム処理部110は、ステップS205のデータフレーム受信処理とは独立して、例えば定期的に、図21~図22に示す空データフレーム集約処理を実行する。したがって、送信キュー114には、集約空データフレームが保存されていることもある。 As a result, frames waiting for transmission (including normal data frames and empty data frames) are stored in the transmission queue 114. At this time, the data frame processing unit 110 executes the empty data frame aggregation processing shown in FIGS. 21 to 22, for example, periodically, independently of the data frame reception processing in step S205. Therefore, an aggregated empty data frame may be stored in the transmission queue 114.
 送信キュー114に保存されているフレームは、送信部102により定期的に読み出されて送信される。或いは、送信部102は、他の契機に応じて送信キュー114に保存されているフレームを送信するようにしてもよい。ただし、送信部102は、図21~図22に示す空データフレームの集約処理が実行されている期間は、送信キュー114にアクセスできない。 The frames stored in the transmission queue 114 are periodically read out by the transmission unit 102 and transmitted. Alternatively, the transmission unit 102 may transmit a frame stored in the transmission queue 114 according to another trigger. However, the transmission unit 102 cannot access the transmission queue 114 during the period during which the empty data frame aggregation processing shown in FIGS.
 送信部102は、送信キュー114に保存されているフレームを、そのフレームのアドホックヘッダに設定されているLDへ送信する。そして、隣接ノード装置は、このフレームを受信すると、ACKフレームを返送する。 The transmission unit 102 transmits the frame stored in the transmission queue 114 to the LD set in the ad hoc header of the frame. When the adjacent node device receives this frame, it returns an ACK frame.
 データフレーム処理部110は、ステップS842~S843において、送信部102によるフレーム送信の成否を確認する。すなわち、データフレーム処理部110は、所定時間内に、ステップS838で作成した空データフレームまたはステップS840で作成した通常データフレームに対応するACKフレームをOLSノード装置から受信するか否かをチェックする。なお、この「所定時間」は、バッファ部109の保持時間Gと比較して十分に短いものとする。 The data frame processing unit 110 confirms the success or failure of frame transmission by the transmission unit 102 in steps S842 to S843. That is, the data frame processing unit 110 checks whether or not an ACK frame corresponding to the empty data frame created in step S838 or the normal data frame created in step S840 is received from the OLS node apparatus within a predetermined time. The “predetermined time” is sufficiently shorter than the holding time G of the buffer unit 109.
 データフレーム処理部110は、上記ACKフレームを受信すると、フレーム送信が成功したものと判定する。この場合、処理はステップS844に移行する。一方、データフレーム処理部110は、所定時間内に上記ACKフレームを受信できなかったときは、フレーム送信が失敗したものと判定する。この場合、処理はステップS846に移行する。 When receiving the ACK frame, the data frame processing unit 110 determines that the frame transmission is successful. In this case, the process proceeds to step S844. On the other hand, when the data frame processing unit 110 fails to receive the ACK frame within a predetermined time, the data frame processing unit 110 determines that the frame transmission has failed. In this case, the process proceeds to step S846.
 ステップS844において、データフレーム処理部110は、重み付けテーブル104において、ステップS838で作成した空データフレームまたはステップS840で作成した通常データフレームのGDおよびLDの値の組に対応する重みを小さくする。換言すれば、データフレーム処理部110は、受信したデータフレームのGDに対応する重み付けテーブル104-iにおいて、送信したデータフレームのLD(つまりステップS808またはS810で記憶したOLS)に対応する重みを更新する。 In step S844, the data frame processing unit 110 reduces the weight corresponding to the pair of GD and LD values of the empty data frame created in step S838 or the normal data frame created in step S840 in the weighting table 104. In other words, the data frame processing unit 110 updates the weight corresponding to the LD of the transmitted data frame (that is, the OLS stored in step S808 or S810) in the weighting table 104-i corresponding to the GD of the received data frame. To do.
 ステップS844の詳細はステップS827と同様なので詳しい説明は省略するが、データフレーム処理部110は、例えば式(6)を使って重みを更新してもよい。また、データフレーム処理部110は、重み付けテーブル104-iの、重みを更新したエントリにおいて、最終更新時刻に現在時刻を設定する。そして、データフレーム受信処理は終了する。 The details of step S844 are the same as step S827, and detailed description thereof is omitted. However, the data frame processing unit 110 may update the weight using, for example, equation (6). Further, the data frame processing unit 110 sets the current time as the last update time in the entry in which the weight is updated in the weighting table 104-i. Then, the data frame reception process ends.
 ステップS838またはS840で作成したフレームの送信に失敗した場合(ステップS843:No)、ステップS846およびS847の処理が実行される。すなわち、データフレーム処理部110は、FID管理テーブル105の対象エントリの通常データ送信回数が、予め決められた上限回数以上か否かをチェックする。ここで、通常データ送信回数の上限回数は、特に限定されるものではないが、例えば「3」である。 If the transmission of the frame created in step S838 or S840 has failed (step S843: No), the processing in steps S846 and S847 is executed. That is, the data frame processing unit 110 checks whether the number of normal data transmissions of the target entry in the FID management table 105 is equal to or greater than a predetermined upper limit number. Here, the upper limit number of times of normal data transmission is not particularly limited, but is “3”, for example.
 対象エントリの通常データ送信回数が上限回数に達していれば、データフレーム処理部110は、ステップS848において、ステップS201で受信したデータフレームをバッファ部109から削除する。この場合、バックトラック動作は終了する。 If the normal data transmission count of the target entry has reached the upper limit count, the data frame processing unit 110 deletes the data frame received in step S201 from the buffer unit 109 in step S848. In this case, the backtrack operation ends.
 対象エントリの通常データ送信回数が上限回数に達していなければ、処理はステップS833に戻る。すなわち、ステップS838またはS840で作成したフレームの送信に失敗すると、ステップS833以降の処理が、再度、実行される。 If the normal data transmission count of the target entry has not reached the upper limit count, the process returns to step S833. That is, if transmission of the frame created in step S838 or S840 fails, the processes in and after step S833 are executed again.
 このように、実施形態のノード装置は、エントリ時刻TEからの経過時間がバッファ部109の保持時間Gに達するまでは、バックトラック動作において、OLSノード装置へ空データフレームを送信する。このとき、空データフレームの送信は、上限回数に達するまで繰り返し実行される。ただし、OLSノード装置により空データフレームが受信されことが検出されると、バックトラック動作は終了する。また、実施形態のノード装置は、エントリ時刻TEからの経過時間がバッファ部109の保持時間Gを超えた後、或いは、空データフレームの送信回数が上限回数に達した後は、バックトラック動作において、OLSノード装置へ通常データフレームを送信する。このとき、通常データフレームの送信は、上限回数に達するまで繰り返し実行される。ただし、OLSノード装置により通常データフレームが受信されたことが検出されると、バックトラック動作は終了する。 As described above, the node device according to the embodiment transmits an empty data frame to the OLS node device in the backtrack operation until the elapsed time from the entry time TE reaches the holding time G of the buffer unit 109. At this time, the transmission of the empty data frame is repeatedly executed until the upper limit number is reached. However, when it is detected that the empty data frame is received by the OLS node apparatus, the backtracking operation ends. The node device according to the embodiment performs the backtrack operation after the elapsed time from the entry time TE exceeds the holding time G of the buffer unit 109 or after the number of empty data frame transmissions reaches the upper limit number. The normal data frame is transmitted to the OLS node device. At this time, transmission of the normal data frame is repeatedly executed until the upper limit number is reached. However, when it is detected that the normal data frame is received by the OLS node apparatus, the backtrack operation is finished.
 FID管理テーブル105に対象エントリが存在しないときは(ステップS831:No)、データフレーム処理部110は、ステップS849において、OLSが存在しないと判断する。すなわち、通信路がループを形成していると判定される。そして、データフレーム処理部110は、ステップS850において、ステップS201で受信したデータフレームをバッファ部109から削除する。この場合、バックトラック動作は終了する。 When there is no target entry in the FID management table 105 (step S831: No), the data frame processing unit 110 determines in step S849 that there is no OLS. That is, it is determined that the communication path forms a loop. In step S850, the data frame processing unit 110 deletes the data frame received in step S201 from the buffer unit 109. In this case, the backtrack operation ends.
 続いて、図36を参照して、図31のステップS812aの重み付けテーブル調整処理の詳細を説明する。なお、図36の重み付けテーブル調整処理は、後述の図39のステップS1108aでも呼び出される。図36の説明において「ヒットした重み付けテーブル104-i」とは、図31のステップS811の検索または図39のステップS1107の検索でヒットしたテーブルを意味する。 Subsequently, with reference to FIG. 36, details of the weighting table adjustment processing in step S812a of FIG. 31 will be described. Note that the weighting table adjustment process in FIG. 36 is also called in step S1108a in FIG. In the description of FIG. 36, “hit weighting table 104-i” means a table hit in the search in step S811 in FIG. 31 or the search in step S1107 in FIG.
 ステップS861でデータフレーム処理部110は、隣接ノード管理テーブル103(図9参照)の1つ目のエントリに注目する。なお、以下の図36の説明において、データフレーム処理部110が注目している隣接ノード管理テーブル103のエントリを「注目エントリ」という。 In step S861, the data frame processing unit 110 pays attention to the first entry of the adjacent node management table 103 (see FIG. 9). In the following description of FIG. 36, the entry in the adjacent node management table 103 focused on by the data frame processing unit 110 is referred to as a “target entry”.
 次に、ステップS862では、ヒットした重み付けテーブル104-iに注目エントリのノードIDの値をLDとして含むエントリがあるか否かを、データフレーム処理部110が判断する。ヒットした重み付けテーブル104-iに、注目エントリのノードIDの値をLDとして含むエントリがあれば、処理はステップS865に移行する。逆に、ヒットした重み付けテーブル104-iに、注目エントリのノードIDの値をLDとして含むエントリがなければ、処理はステップS863に移行する。 Next, in step S862, the data frame processing unit 110 determines whether there is an entry including the value of the node ID of the entry of interest as LD in the hit weighting table 104-i. If there is an entry including the value of the node ID of the entry of interest as LD in the hit weighting table 104-i, the process proceeds to step S865. On the other hand, if there is no entry in the hit weighting table 104-i that includes the value of the node ID of the entry of interest as LD, the process proceeds to step S863.
 ステップS863でデータフレーム処理部110は、ヒットした重み付けテーブル104-iに新規エントリを追加する。続いて、ステップS864でデータフレーム処理部110は、ステップS863で重み付けテーブル104-iに追加した新規エントリに値を設定する。つまり、データフレーム処理部110は、新規エントリにおいて、隣接ノード管理テーブル103の注目エントリのノードIDの値をLDフィールドに、初期重み付け値を重みフィールドに、現在時刻を最終更新時刻フィールドに、それぞれ設定する。 In step S863, the data frame processing unit 110 adds a new entry to the hit weighting table 104-i. Subsequently, in step S864, the data frame processing unit 110 sets a value for the new entry added to the weighting table 104-i in step S863. That is, in the new entry, the data frame processing unit 110 sets the node ID value of the entry of interest in the adjacent node management table 103 as the LD field, the initial weight value as the weight field, and the current time as the last update time field. To do.
 なお、ステップS864における初期重み付け値は、図25のステップS308における初期重み付け値とは異なる。具体的には、ステップS864での初期重み付け値は、ヒットした重み付けテーブル104-iの重みフィールドにおいて、1未満の重みのうちの最大値である。 The initial weight value in step S864 is different from the initial weight value in step S308 in FIG. Specifically, the initial weight value in step S864 is the maximum value of weights less than 1 in the weight field of the hit weight table 104-i.
 例えば、ヒットした重み付けテーブル104-iの重みフィールドに4つのエントリが存在し、それぞれの重みフィールドの値が0.4、0.7、1、および0.5であれば、ステップS864での初期重み付け値は、0.7である。なお、ヒットした重み付けテーブル104-iの重みフィールドの値が、全エントリで1の場合は、ステップS864での初期重み付け値は、1未満の任意の値であり、例えば図25のステップS308での初期重み付け値と同様に0.5でもよい。 For example, if there are four entries in the weight field of the hit weighting table 104-i and the values of the respective weight fields are 0.4, 0.7, 1, and 0.5, the initial value in step S864 is set. The weighting value is 0.7. When the weight field value of the hit weighting table 104-i is 1 in all entries, the initial weighting value in step S864 is an arbitrary value less than 1, for example, in step S308 of FIG. 0.5 may be used similarly to the initial weighting value.
 以上のような初期重み付け値をステップS864で用いることにより、重み付けテーブル104-iの既存のエントリに反映されている学習結果が優先的に考慮される。その結果、経路が必要以上に変動することがなくなり、換言すれば、経路が安定する。 By using the initial weighting values as described above in step S864, the learning result reflected in the existing entries in the weighting table 104-i is preferentially considered. As a result, the route does not fluctuate more than necessary, in other words, the route becomes stable.
 例えば、4つのエントリの重みフィールドの値がそれぞれ0.4、0.7、1、および0.5である上記の例において、ステップS864で初期重み付け値として図25のステップS308と同様に0.5が使われるとする。すると、重みが何も学習されていない隣接ノード装置(すなわちステップS863で追加された新規エントリにLDとしてノードIDが記録されている隣接ノード装置)が、重みが0.7の隣接ノード装置よりも優先的にLDとして選択されてしまう。つまり、今までの学習の蓄積としての重み0.7が無視されてしまう。 For example, in the above example where the values of the weight fields of the four entries are 0.4, 0.7, 1, and 0.5, respectively, the initial weighting value in step S864 is 0. 0 as in step S308 in FIG. Suppose that 5 is used. Then, an adjacent node device in which no weight has been learned (that is, an adjacent node device in which the node ID is recorded as an LD in the new entry added in step S863) is greater than an adjacent node device having a weight of 0.7. The LD is preferentially selected. That is, the weight 0.7 as the accumulated learning so far is ignored.
 そこで、第1実施形態では、重みが何も学習されていない隣接ノード装置が、重みが学習済みの隣接ノード装置よりも優先的にLDとして選択されることを防ぎ、今までの学習結果を優先的に考慮するために、上記のように定義される初期重み付け値が利用される。 Therefore, in the first embodiment, it is possible to prevent an adjacent node device in which no weight has been learned from being selected as an LD preferentially over an adjacent node device in which a weight has already been learned, and prioritize learning results thus far. For the sake of consideration, the initial weight values defined above are used.
 ステップS865でデータフレーム処理部110は、隣接ノード管理テーブル103にまだ注目していないエントリが残っているか否かを判断する。データフレーム処理部110が隣接ノード管理テーブル103のすべてのエントリに注目し終えていれば、図36の処理は終了する。他方、まだデータフレーム処理部110が注目していないエントリが隣接ノード管理テーブル103に残っていれば、処理はステップS866に移行する。 In step S865, the data frame processing unit 110 determines whether there are any entries that have not yet been noted in the adjacent node management table 103. If the data frame processing unit 110 has finished paying attention to all entries in the adjacent node management table 103, the processing in FIG. On the other hand, if an entry not yet noticed by the data frame processing unit 110 remains in the adjacent node management table 103, the process proceeds to step S866.
 そして、ステップS866でデータフレーム処理部110は、隣接ノード管理テーブル103のまだ注目していないエントリのうち、次のエントリに注目する。そして処理はステップS862に戻る。 Then, in step S866, the data frame processing unit 110 pays attention to the next entry among the entries not yet noticed in the adjacent node management table 103. Then, the process returns to step S862.
 なお、図36の処理の意義は以下のとおりである。
 重み付けテーブル104-iにおけるエントリごとのエージング処理の副作用として、図36の処理の直前には、次のような状況の可能性もある。すなわち、隣接ノード管理テーブル103に登録されているある隣接ノード装置のノードIDを、LDとして有するエントリが、重み付けテーブル104-iに存在しない可能性がある。
The significance of the processing of FIG. 36 is as follows.
As a side effect of the aging process for each entry in the weighting table 104-i, there is a possibility of the following situation immediately before the process of FIG. That is, there is a possibility that an entry having the node ID of an adjacent node device registered in the adjacent node management table 103 as LD does not exist in the weighting table 104-i.
 ここで、ノード装置100の隣接ノード装置は、データフレームを送信する際にデータフレーム処理部110が選択するLDの潜在的な候補である。よって、ヒットした重み付けテーブル104-iのLDフィールドにおいて全隣接ノード装置が網羅されるようにすることが、ノード装置100の適切な動作のためには望ましい。 Here, the adjacent node device of the node device 100 is a potential candidate for the LD selected by the data frame processing unit 110 when transmitting the data frame. Therefore, it is desirable for proper operation of the node device 100 to cover all adjacent node devices in the LD field of the hit weighting table 104-i.
 以上の図36の重み付けテーブル調整処理によれば、エージング処理の副作用として生じる可能性のある上記のような状況が解消される。つまり、隣接ノード管理テーブル103に登録されているすべてのノードIDが、ヒットした重み付けテーブル104-iにLDとして登録されていることが、保証される。 According to the weighting table adjustment process of FIG. 36 described above, the above-described situation that may occur as a side effect of the aging process is solved. That is, it is guaranteed that all node IDs registered in the adjacent node management table 103 are registered as LDs in the hit weighting table 104-i.
 以上、図30~図36を参照して、図24のステップS205におけるデータフレーム受信処理について詳しく説明した。続いて、データフレーム受信処理のステップS826およびS843における送信成否の通知に関連する処理について、図37および図38を参照して説明する。 The data frame reception process in step S205 of FIG. 24 has been described in detail above with reference to FIGS. Next, processing related to notification of success or failure of transmission in steps S826 and S843 of the data frame reception processing will be described with reference to FIGS.
 図37は、図24のステップS206におけるACKフレーム受信処理のフローチャートである。図37の処理は、フレーム分岐処理部106からACKフレームがACK処理部107に出力されると開始される。 FIG. 37 is a flowchart of the ACK frame reception process in step S206 of FIG. The processing in FIG. 37 is started when an ACK frame is output from the frame branching processing unit 106 to the ACK processing unit 107.
 ステップS901でACK処理部107は、フレーム分岐処理部106から受け取ったACKフレームのLDの値が自ノードIDと等しいか否かを判断する。ACKフレームのLDの値が自ノードIDと等しければ、処理はステップS902に移行し、ACKフレームのLDの値が自ノードIDと異なれば、図37の処理は終了する。ACK処理部107も、例えばフラッシュメモリ205などに予め格納された自ノードIDを参照することができる。 In step S901, the ACK processing unit 107 determines whether the LD value of the ACK frame received from the frame branching processing unit 106 is equal to the own node ID. If the LD value of the ACK frame is equal to the own node ID, the process proceeds to step S902. If the LD value of the ACK frame is different from the own node ID, the process of FIG. The ACK processing unit 107 can also refer to its own node ID stored in advance in the flash memory 205, for example.
 例えば、図6のステップS105でノード装置Nが送信したデータフレームに対するACKフレームを、図42にステップS105aとして示すようにノード装置Nが送信すると、無関係なノード装置NもACKフレームを受信する。なぜなら、ノード装置Nはノード装置Nに隣接しているからである。 For example, when the node device N 5 transmits an ACK frame for the data frame transmitted by the node device N 4 in step S105 of FIG. 6 as shown in FIG. 42 as step S105a, the irrelevant node device N 3 also receives the ACK frame. To do. This is because the node device N 3 is adjacent to the node device N 5 .
 しかし、ノード装置NのACK処理部107-Nは、ステップS901の判断の結果、直ちに図37の処理を終了するので、ノード装置Nは、ノード装置Nと無関係なACKフレームによる副作用を受けることはない。 However, since the ACK processing unit 107-N 3 of the node device N 3 immediately ends the process of FIG. 37 as a result of the determination in step S901, the node device N 3 has a side effect due to the ACK frame unrelated to the node device N 3. Not receive.
 ステップS902でACK処理部107は、ACKフレームのGSとFIDの値から、ACKフレームに対応する送信済みのデータフレームを特定する。
 例えば、図6のステップS102でノード装置Nがノード装置Nへ送信する図7のデータフレーム303に対して、ノード装置Nは図7のACKフレーム322をノード装置Nに返信する。ここで、ACKフレーム322の受信を契機にノード装置NのACK処理部107-Nが図37の処理を行う場合について詳しく説明すると、以下のとおりである。
In step S902, the ACK processing unit 107 specifies a transmitted data frame corresponding to the ACK frame from the GS and FID values of the ACK frame.
For example, in response to the data frame 303 in FIG. 7 transmitted from the node device N 2 to the node device N 3 in step S102 in FIG. 6, the node device N 3 returns the ACK frame 322 in FIG. 7 to the node device N 2 . Here, the ACK processor 107-N 2 of the node device N 2 receives the response to the ACK frame 322 will be described in detail for the case of performing the process in FIG. 37, as follows.
 ACK処理部107-Nは、ステップS902において、ACKフレーム322のGSとFIDの値(すなわちNとF)を取り出す。また、バッファ部109-Nは、図8と同様の形式であるから、バッファ部109-Nには、ノード装置Nから送信済みのデータフレーム303が格納されている。よって、ACK処理部107-Nは、取り出したGSとFIDの値(すなわちNとF)をキーにしてバッファ部109-Nのエントリを検索し、データフレーム303を含むエントリを特定する。 In step S902, the ACK processing unit 107-N 2 extracts GS and FID values (that is, N 1 and F a ) of the ACK frame 322. Further, since the buffer unit 109-N 2 has the same format as that in FIG. 8, the buffer unit 109-N 2 stores the data frame 303 that has been transmitted from the node device N 2 . Therefore, the ACK processing unit 107-N 2 searches the entry of the buffer unit 109-N 2 using the extracted GS and FID values (ie, N 1 and F a ) as keys, and identifies the entry including the data frame 303. To do.
 ステップS903においてACK処理部107は、ステップS902で特定した送信済みのデータフレームに関して、データフレーム処理部110に「送信成功」を通知する。そして、図37の処理は終了する。 In step S903, the ACK processing unit 107 notifies the data frame processing unit 110 of “successful transmission” regarding the transmitted data frame specified in step S902. Then, the process of FIG. 37 ends.
 例えば、データフレーム処理部110は、図4のMPU201がプログラムを実行することにより実現されていてもよい。その場合、MPU201をデータフレーム処理部110として機能させるスレッドは、データフレームの送信後、ACKフレームを受信するまでスリープしていてもよい。ステップS903における「送信成功」の通知は、スリープしているスレッドを起こす処理である。 For example, the data frame processing unit 110 may be realized by the MPU 201 in FIG. 4 executing a program. In that case, the thread that causes the MPU 201 to function as the data frame processing unit 110 may sleep until the ACK frame is received after the data frame is transmitted. The notification of “successful transmission” in step S903 is a process for waking up a sleeping thread.
 また、ステップS903の通知は、ステップS902で特定したデータフレームのGSとFIDの値の通知をともなう。例えば上記の例においては、ACK処理部107-Nは、データフレーム303を識別するためのGSとFIDの値(すなわちNとF)も、データフレーム処理部110に通知する。 The notification in step S903 is accompanied by notification of the GS and FID values of the data frame specified in step S902. For example, in the above example, the ACK processing unit 107-N 2 also notifies the data frame processing unit 110 of the GS and FID values (ie, N 1 and F a ) for identifying the data frame 303.
 なお、ステップS902において特定されたデータフレームは、バッファ部109から削除可能な状態にされる。ただし、バッファ部109において、データフレームは、対応するACKフレームの受信時に即座に削除可能な状態にされるのではなく、FID管理テーブル105の対応するエントリが削除された後に、削除可能な状態にされる。「削除可能」とは、他のデータにより上書きされることを許容する状態を意味する。 It should be noted that the data frame specified in step S902 is set in a state where it can be deleted from the buffer unit 109. However, in the buffer unit 109, the data frame is not in a state that can be immediately deleted when the corresponding ACK frame is received, but in a state in which the data frame can be deleted after the corresponding entry in the FID management table 105 is deleted. Is done. “Deletable” means a state in which overwriting with other data is allowed.
 図38は、ACKフレームがタイムアウト時刻までに受信されない場合の処理を示すフローチャートである。図38の処理は、例えば、図4のタイマIC203が所定の間隔で発生させる割り込み信号を契機として、定期的に行われる。 FIG. 38 is a flowchart showing processing when an ACK frame is not received before the timeout time. The processing in FIG. 38 is periodically performed, for example, triggered by an interrupt signal generated by the timer IC 203 in FIG. 4 at a predetermined interval.
 ステップS1001でACK処理部107は、バッファ部109(図8を参照)の1つ目のエントリに注目する。以下、図38に関する説明においては、ACK処理部107が注目しているバッファ部109のエントリを「注目エントリ」という。 In step S1001, the ACK processing unit 107 pays attention to the first entry of the buffer unit 109 (see FIG. 8). Hereinafter, in the description related to FIG. 38, the entry in the buffer unit 109 that is being watched by the ACK processing unit 107 is referred to as a “target entry”.
 続いてステップS1002でACK処理部107は、現在時刻と注目エントリのタイムアウト時刻フィールドの値を比較する。そして、現在時刻がタイムアウト時刻以降であれば、処理はステップS1003に移行する。他方、現在時刻がまだタイムアウト時刻に達していなければ、処理はステップS1005に移行する。 Subsequently, in step S1002, the ACK processing unit 107 compares the current time with the value of the timeout time field of the entry of interest. If the current time is after the timeout time, the process proceeds to step S1003. On the other hand, if the current time has not yet reached the timeout time, the process proceeds to step S1005.
 ステップS1003でACK処理部107は、バッファ部109の注目エントリに格納されているデータフレームに関して、「送信失敗」をデータフレーム処理部110に通知する。ステップS1003の通知は、図37のステップS903の通知と同様に、具体的には、例えばスリープしているスレッドを起こす処理であってもよい。 In step S1003, the ACK processing unit 107 notifies the data frame processing unit 110 of “transmission failure” regarding the data frame stored in the entry of interest in the buffer unit 109. The notification in step S1003 may be, for example, a process for waking up a sleeping thread, for example, similarly to the notification in step S903 in FIG.
 また、ステップS903の通知と同様に、ステップS1003の通知も、データフレームのGSとFIDの値の通知をともなう。具体的には、ACK処理部107は、注目エントリに格納されているデータフレームのGSとFIDの値を読み取り、読み取ったGSとFIDの値によりデータフレームを特定して、特定したデータフレームの「送信失敗」をデータフレーム処理部110に通知する。 Similarly to the notification in step S903, the notification in step S1003 is also accompanied by notification of the GS and FID values of the data frame. Specifically, the ACK processing unit 107 reads the GS and FID values of the data frame stored in the entry of interest, identifies the data frame based on the read GS and FID values, and identifies “ “Transmission failure” is notified to the data frame processing unit 110.
 なお、送信失敗の場合、データフレーム処理部110が今までLDとして試していない隣接ノード装置を新たなLDとして選択してデータフレームの再送を試みることがある。よって、ステップS1003の時点では、注目エントリはバッファ部109から削除されない。 In the case of transmission failure, the data frame processing unit 110 may select an adjacent node device that has not been tried as an LD as a new LD and try to retransmit the data frame. Accordingly, the entry of interest is not deleted from the buffer unit 109 at the time of step S1003.
 続いてステップS1004でACK処理部107は、注目エントリのタイムアウト時刻に、式(5)の時刻Ttimeoutを設定する。そして、処理はステップS1005に移行する。 Subsequently, in step S1004, the ACK processing unit 107 sets the time T timeout of Expression (5) as the timeout time of the entry of interest. Then, the process proceeds to step S1005.
 ステップS1005では、まだ注目していないエントリがバッファ部109に残っているか否かをACK処理部107が判断する。ACK処理部107が、バッファ部109のすべてのエントリに注目し終わっていれば、図38の処理は終了する。他方、まだACK処理部107が注目していないエントリがバッファ部109に残っていれば、処理はステップS1006に移行する。 In step S1005, the ACK processing unit 107 determines whether or not an entry that has not been noticed still remains in the buffer unit 109. If the ACK processing unit 107 finishes paying attention to all entries in the buffer unit 109, the processing in FIG. On the other hand, if an entry not yet noticed by the ACK processing unit 107 remains in the buffer unit 109, the process proceeds to step S1006.
 ステップS1006でACK処理部107は、バッファ部109の中でまだ注目していない次のエントリに注目する。そして処理はステップS1002に戻る。
 ところで、図30~図35を参照して説明したデータフレーム受信処理は、上記のとおり、ノード装置100がGSとならないタイプのノード装置である場合の例である。以下では、図39~図41を参照して、GSとなりうるタイプのノード装置に特有の処理について説明する。
In step S1006, the ACK processing unit 107 pays attention to the next entry in the buffer unit 109 that has not been noticed yet. Then, the process returns to step S1002.
Incidentally, the data frame reception processing described with reference to FIGS. 30 to 35 is an example in the case where the node device 100 is a node device of a type that does not become a GS as described above. In the following, with reference to FIGS. 39 to 41, processing unique to a type of node device that can be a GS will be described.
 図39および図40は、ノード装置100がGSとなってデータフレームを送信する場合の送信処理のフローチャートである。図39の処理は、上位層処理部111からデータフレーム処理部110への要求を契機として開始される。 FIG. 39 and FIG. 40 are flowcharts of the transmission process when the node device 100 becomes a GS and transmits a data frame. The processing in FIG. 39 is started when a request from the upper layer processing unit 111 to the data frame processing unit 110 is triggered.
 ステップS1101でデータフレーム処理部110は、上位層処理部111から、上位層処理部111における上位層のプロトコルの処理の結果として、データフレームのGDの値とペイロードを取得する。 In step S1101, the data frame processing unit 110 acquires the GD value and payload of the data frame from the upper layer processing unit 111 as a result of the upper layer protocol processing in the upper layer processing unit 111.
 例えば、「上位層のプロトコル」がイーサネットプロトコルであってもよい。その場合、上位層処理部111は、第1実施形態で定義されるデータフレームのペイロードとして、イーサネットフレームをデータフレーム処理部110に出力する。また、上位層処理部111は、第1実施形態におけるデータフレームのGDに設定する値を、データフレーム処理部110に通知する。 For example, the “upper layer protocol” may be an Ethernet protocol. In that case, the upper layer processing unit 111 outputs an Ethernet frame to the data frame processing unit 110 as a payload of the data frame defined in the first embodiment. Further, the upper layer processing unit 111 notifies the data frame processing unit 110 of the value set in the GD of the data frame in the first embodiment.
 そして、データフレーム処理部110は、上位層処理部111から取得したペイロードを含む新たなデータフレームを作成し、作成したデータフレームのGDに、上位層処理部111から取得した値を設定する。例えば、図6の例では、ノード装置Nのデータフレーム処理部110-Nは、上位層処理部111-NからGDの値としてNを取得し、データフレームのGDにNと設定する。 Then, the data frame processing unit 110 creates a new data frame including the payload acquired from the upper layer processing unit 111, and sets the value acquired from the upper layer processing unit 111 in the GD of the generated data frame. For example, in the example of FIG. 6, the data frame processing unit 110-N 1 node device N 1 from the upper layer processing section 111-N 1 to N 7 was obtained as the value of GD, and N 7 to the GD of the data frame Set.
 続いて、ステップS1102でデータフレーム処理部110は、ステップS1101で取得したペイロードの長さを求め、作成したデータフレームの長さフィールドに設定する。例えば、図6の例では、図7のデータフレーム302と303に例示するように、ペイロードの長さはPであるから、ノード装置Nのデータフレーム処理部110-Nは、作成したデータフレームの長さフィールドにPと設定する。 Subsequently, in step S1102, the data frame processing unit 110 obtains the length of the payload acquired in step S1101, and sets it in the length field of the created data frame. For example, in the example of FIG. 6, as shown in data frames 302 and 303 in FIG. 7, since the length of the payload is P a, the data frame processing unit 110-N 1 node device N 1 was prepared It is set to P a length field of the data frame.
 そして、ステップS1103でデータフレーム処理部110は、作成したデータフレームのGSとLSに自ノードIDを設定する。例えば、図6の例では、ノード装置Nのデータフレーム処理部110-Nは、作成したデータフレームのGSとLSにそれぞれNと設定する。 In step S1103, the data frame processing unit 110 sets its own node ID in the GS and LS of the created data frame. For example, in the example of FIG. 6, the data frame processing unit 110-N 1 of the node device N 1 sets N 1 to GS and LS of the created data frame.
 そして、ステップS1104でデータフレーム処理部110は、FID生成部113に新たなFIDの生成を要求する。するとFID生成部113が新たなFIDを生成してデータフレーム処理部110に出力するので、データフレーム処理部110は、生成されたFIDを作成したデータフレームのFIDフィールドに設定する。 In step S1104, the data frame processing unit 110 requests the FID generation unit 113 to generate a new FID. Then, since the FID generation unit 113 generates a new FID and outputs it to the data frame processing unit 110, the data frame processing unit 110 sets the generated FID in the FID field of the created data frame.
 さらに、ステップS1105でデータフレーム処理部110は、「データフレーム」を示す所定の値D(図7を参照)を、作成したデータフレームのタイプフィールドに設定する。なお、以上のステップS1102~S1105の実行順序は順不同である。 Furthermore, in step S1105, the data frame processing unit 110 sets a predetermined value D (see FIG. 7) indicating “data frame” in the type field of the created data frame. Note that the execution order of the above steps S1102 to S1105 is in no particular order.
 以上のようにして、送信するデータフレームを作成し終わると、ステップS1106でデータフレーム処理部110は、作成したデータフレームをバッファ部109に格納する。すなわち、データフレーム処理部110は、バッファ部109内に新たなエントリの領域を確保し、確保した領域に、作成したデータフレームを格納する。なお、図8に示すようにバッファ部109にはタイムアウト時刻フィールドがあるが、この時点ではタイムアウト時刻は設定されない。 When the creation of the data frame to be transmitted is completed as described above, the data frame processing unit 110 stores the created data frame in the buffer unit 109 in step S1106. In other words, the data frame processing unit 110 secures a new entry area in the buffer unit 109 and stores the created data frame in the secured area. As shown in FIG. 8, the buffer unit 109 has a timeout time field, but at this time, the timeout time is not set.
 続いてステップS1107でデータフレーム処理部110は、ステップS1101で上位層処理部111から指定されたGDの値を用いて重み付けテーブル104を検索する。
 そしてステップS1108でデータフレーム処理部110は、指定されたGDの値に対応する重み付けテーブルが、ステップS1107の検索の結果としてヒットしたか否かを判断する。指定されたGDの値に対応する重み付けテーブルがヒットした場合、処理はステップS1108aに移行し、指定されたGDの値に対応する重み付けテーブルが存在しない場合、処理はステップS1009に移行する。
Subsequently, in step S1107, the data frame processing unit 110 searches the weighting table 104 using the value of GD designated by the upper layer processing unit 111 in step S1101.
In step S1108, the data frame processing unit 110 determines whether the weighting table corresponding to the designated GD value has been hit as a result of the search in step S1107. If the weighting table corresponding to the designated GD value hits, the process proceeds to step S1108a. If the weighting table corresponding to the designated GD value does not exist, the process proceeds to step S1009.
 ステップS1108aでデータフレーム処理部110は、図36の重み付けテーブル調整処理を行い、エージング処理の副作用を中和する。そして、処理はステップS1110に移行する。 In step S1108a, the data frame processing unit 110 performs the weighting table adjustment process of FIG. 36 to neutralize the side effects of the aging process. Then, the process proceeds to step S1110.
 ステップS1109でデータフレーム処理部110は、ステップS1101で指定されたGDの値に対応する新規重み付けテーブルを重み付けテーブル104の中に追加する。具体的には、データフレーム処理部110は、ステップS1109において、図31のステップS813~S816と類似の処理を行う。 In step S1109, the data frame processing unit 110 adds a new weighting table corresponding to the GD value designated in step S1101 to the weighting table 104. Specifically, in step S1109, the data frame processing unit 110 performs processing similar to steps S813 to S816 in FIG.
 すなわち、データフレーム処理部110はステップS1109で、上位層処理部111から指定されたGDの値に対応する新規重み付けテーブルを追加し、新規重み付けテーブルにおいて、上位層処理部111から指定されたGDの値をGDとして設定する。さらに、データフレーム処理部110は、隣接ノード管理テーブル103と同数の新規エントリを新規重み付けテーブル内に作成する。そして、データフレーム処理部110は、作成した各エントリに、それぞれ、隣接ノード管理テーブル103の各エントリのノードIDと初期重み付け値と現在時刻を設定する。 That is, in step S1109, the data frame processing unit 110 adds a new weighting table corresponding to the GD value designated by the upper layer processing unit 111, and the GD of the GD designated by the upper layer processing unit 111 in the new weighting table. Set the value as GD. Further, the data frame processing unit 110 creates the same number of new entries as the adjacent node management table 103 in the new weighting table. Then, the data frame processing unit 110 sets the node ID, the initial weight value, and the current time of each entry in the adjacent node management table 103 for each created entry.
 なお、以下では説明の便宜上、ステップS1101で指定されたGDの値に対応する重み付けテーブルを、「104-i」という参照符号で参照する。すなわち、重み付けテーブル104-iは、ステップS1107の検索でヒットしたテーブルまたはステップS1109で追加されたテーブルである。 In the following, for convenience of explanation, the weighting table corresponding to the value of GD designated in step S1101 is referred to by the reference numeral “104-i”. That is, the weighting table 104-i is a table that has been hit by the search in step S1107 or a table that has been added in step S1109.
 以上のようにして、重み付けテーブル104-iがヒットしたとステップS1108で判断された後、またはステップS1109で重み付けテーブル104-iが作成された後、処理はステップS1110に移行する。 As described above, after it is determined in step S1108 that the weighting table 104-i is hit or after the weighting table 104-i is created in step S1109, the process proceeds to step S1110.
 そして、ステップS1110でデータフレーム処理部110は、上位層処理部111から指定されたGDの値に対応する重み付けテーブル104-iにおいて、最小の重みと対応付けられているLDの値を取得する。なお、図11に例示するように、重み付けテーブル104-iにおいて複数のエントリが同じ最小の重みを有する場合もありうる。その場合、データフレーム処理部110は、最小の重みと対応付けられている複数のLDの値のうち任意の1つをステップS1110で選択して取得する。データフレーム処理部110は、取得したLDの値および対応する重みの値を、例えば図4のDRAM204などの記憶領域に記憶する。 In step S 1110, the data frame processing unit 110 acquires the LD value associated with the minimum weight in the weighting table 104-i corresponding to the GD value designated by the upper layer processing unit 111. As illustrated in FIG. 11, a plurality of entries in the weighting table 104-i may have the same minimum weight. In that case, the data frame processing unit 110 selects and acquires any one of a plurality of LD values associated with the minimum weight in step S1110. The data frame processing unit 110 stores the acquired LD value and the corresponding weight value in a storage area such as the DRAM 204 of FIG.
 続いて、処理は図40のステップS1111に移行し、ステップS1111でデータフレーム処理部110は、下記の2つの条件(K1)と(K2)のいずれかが成立するか否かを判断する。 Subsequently, the process proceeds to step S1111 in FIG. 40. In step S1111, the data frame processing unit 110 determines whether one of the following two conditions (K1) and (K2) is satisfied.
  (K1)ステップS1110で取得したLDの値に対応する重みが、重みの最大値(第1実施形態では、具体的には1.0)である。
  (K2)重み付けテーブル104-iに登録されているすべてのLDへの送信が、いずれも失敗した。
(K1) The weight corresponding to the LD value acquired in step S1110 is the maximum weight value (specifically, 1.0 in the first embodiment).
(K2) Transmission to all LDs registered in the weighting table 104-i has failed.
 条件(K1)または(K2)が成立する場合、もはやLDとして選択可能な隣接ノード装置は残っていないので、処理はステップS1112に移行する。
 他方、条件(K1)と(K2)のいずれも成立しない場合、まだLDとして選択可能な隣接ノード装置が残っている。換言すれば、データフレーム受信処理のステップS818に関して説明した(G1)~(G3)のいずれにも該当しない隣接ノード装置が、少なくとも1つは存在する。そして、LDとして選択可能な隣接ノード装置のノードIDが、ステップS1110(または後述のステップS1125)で取得されている。そこで、ステップS1111で条件(K1)と(K2)のいずれも成立しないと判断されると、処理はステップS1114に移行する。
If the condition (K1) or (K2) is satisfied, there is no longer any adjacent node device that can be selected as an LD, and the process moves to step S1112.
On the other hand, if neither of the conditions (K1) and (K2) is satisfied, there are still adjacent node devices that can be selected as the LD. In other words, there is at least one adjacent node device that does not correspond to any of (G1) to (G3) described for step S818 of the data frame reception process. Then, the node ID of the adjacent node device that can be selected as the LD is acquired in step S1110 (or step S1125 described later). Therefore, if it is determined in step S1111 that neither condition (K1) nor (K2) is satisfied, the process proceeds to step S1114.
 条件(K1)または(K2)が成立する場合、ステップS1112でデータフレーム処理部110は、データフレームを破棄する。つまり、データフレーム処理部110は、ステップS1106で新たに作成してデータフレームを格納したエントリを、バッファ部109から削除する。 If the condition (K1) or (K2) is satisfied, the data frame processing unit 110 discards the data frame in step S1112. That is, the data frame processing unit 110 deletes the entry newly created in step S1106 and storing the data frame from the buffer unit 109.
 そして、続くステップS1113でデータフレーム処理部110は、上位層処理部111に「送信失敗」を通知する。つまり、データフレーム処理部110は、どの隣接ノード装置にもデータフレームを成功裡に送信することはできなかったことを、上位層処理部111に通知する。そして図39~図40の処理が終了する。 In step S1113, the data frame processing unit 110 notifies the upper layer processing unit 111 of “transmission failure”. That is, the data frame processing unit 110 notifies the upper layer processing unit 111 that the data frame has not been successfully transmitted to any adjacent node device. Then, the processes in FIGS. 39 to 40 are completed.
 他方、ステップS1111において、条件(K1)と(K2)のいずれも成立しないと判断されると、取得済みのLDの値で識別される隣接ノード装置へのデータフレームの転送を試みる処理が、ステップS1114~S1125で行われる。 On the other hand, if it is determined in step S1111 that neither of the conditions (K1) and (K2) is satisfied, the process of attempting to transfer the data frame to the adjacent node device identified by the acquired LD value is performed in step S1111. This is performed in S1114 to S1125.
 ステップS1114では、データフレーム処理部110が、ステップS1106でバッファ部109に格納したデータフレームのLDに、ステップS1110または後述のステップS1125で取得したLDの値を設定する。そして、データフレーム処理部110は、LDの値を設定したデータフレームの送信を、送信部102に依頼する。すると、送信部102がデータフレームを送信する。 In step S1114, the data frame processing unit 110 sets the LD value acquired in step S1110 or step S1125 described later to the LD of the data frame stored in the buffer unit 109 in step S1106. Then, the data frame processing unit 110 requests the transmission unit 102 to transmit a data frame in which the LD value is set. Then, the transmission part 102 transmits a data frame.
 続いてステップS1115でデータフレーム処理部110は、ステップS1106でデータフレームを格納したバッファ部109内のエントリのタイムアウト時刻に、式(5)の時刻Ttimeoutを設定する。 Subsequently, in step S1115, the data frame processing unit 110 sets the time T timeout of Expression (5) as the timeout time of the entry in the buffer unit 109 that stores the data frame in step S1106.
 そして、ステップS1116でデータフレーム処理部110は、自ノードIDと、ステップS1104でFID生成部113が生成したFIDを使ってFID管理テーブル105を検索する。 In step S1116, the data frame processing unit 110 searches the FID management table 105 using the own node ID and the FID generated by the FID generation unit 113 in step S1104.
 次にステップS1117でデータフレーム処理部110は、ステップS1116のFID管理テーブル105の検索においてエントリがヒットしたか否かを判断する。なお、ステップS1117が1回目に実行される場合には「エントリがヒットしなかった」と判断され、ステップS1117が2回目以降に実行されるときは「エントリがヒットした」と判断される。 Next, in step S1117, the data frame processing unit 110 determines whether an entry has been hit in the search of the FID management table 105 in step S1116. When step S1117 is executed for the first time, it is determined that “the entry has not been hit”, and when step S1117 is executed for the second time or later, it is determined that “the entry has been hit”.
 ステップS1116の検索でエントリがヒットしていれば、処理はステップS1118に移行する。他方、ステップS1116の検索でエントリがヒットしていなければ、処理はステップS1119に移行する。 If the entry is hit in the search in step S1116, the process proceeds to step S1118. On the other hand, if the entry is not hit in the search of step S1116, the process proceeds to step S1119.
 ステップS1118でデータフレーム処理部110は、ステップS1116の検索でヒットしたエントリを更新する。具体的には、データフレーム処理部110は、ステップS1116の検索でヒットしたエントリにおいて、LDフィールドには、ステップS1114で送信したデータフレームのLDの値を設定し、最終更新時刻フィールドには、現在時刻を設定する。そして、処理はステップS1121に移行する。 In step S1118, the data frame processing unit 110 updates the entry hit in the search in step S1116. Specifically, the data frame processing unit 110 sets the LD value of the data frame transmitted in step S1114 in the LD field in the entry hit in the search in step S1116, and sets the current value in the last update time field. Set the time. Then, the process proceeds to step S1121.
 また、ステップS1119でデータフレーム処理部110は、FID管理テーブル105に新規エントリを追加する。そして、次のステップS1120でデータフレーム処理部110は、新規エントリに値を設定する。具体的には、データフレーム処理部110は、新規エントリにおいて、FIDとGSとLDの各フィールドには、それぞれステップS1114で送信したデータフレームの値をコピーする。また、データフレーム処理部110は、新規エントリにおいて、最終更新時刻フィールドには現在時刻を設定し、OLSフィールドには、自ノードIDをコピーする。 In step S 1119, the data frame processing unit 110 adds a new entry to the FID management table 105. In step S1120, the data frame processing unit 110 sets a value for the new entry. Specifically, in the new entry, the data frame processing unit 110 copies the value of the data frame transmitted in step S1114 to each field of FID, GS, and LD. In addition, in the new entry, the data frame processing unit 110 sets the current time in the last update time field, and copies its own node ID in the OLS field.
 例えば、図12に示した、ノード装置NのFID管理テーブル105-NのエントリE1は、ノード装置Nのデータフレーム処理部110-Nが以上の処理により作成したものである。 For example, as shown in FIG. 12, the node FID management table 105-N 1 entry E1 devices N 1 is for the data frame processing unit 110-N 1 node device N 1 created by the above processing.
 ステップS1121でデータフレーム処理部110は、ステップS1114における送信の成否の通知を待つ。ステップS1121の詳細は、図32のステップS825と同様である。データフレーム処理部110が、ステップS1121での待機の後、ACK処理部107から「送信成功」または「送信失敗」の通知を受けると、処理はステップS1122に移行する。 In step S1121, the data frame processing unit 110 waits for notification of the success or failure of transmission in step S1114. Details of step S1121 are the same as step S825 of FIG. When the data frame processing unit 110 receives a notification of “transmission success” or “transmission failure” from the ACK processing unit 107 after waiting in step S1121, the process proceeds to step S1122.
 ステップS1122でデータフレーム処理部110は、ACK処理部107から受けた通知に基づいて、ステップS1114の送信が成功したか否かを判断する。送信が成功した場合、処理はステップS1123に移行し、送信が失敗した場合、処理はステップS1124に移行する。 In step S1122, the data frame processing unit 110 determines whether or not the transmission in step S1114 is successful based on the notification received from the ACK processing unit 107. If the transmission is successful, the process proceeds to step S1123. If the transmission fails, the process proceeds to step S1124.
 送信が成功した場合、ステップS1123でデータフレーム処理部110は、重み付けテーブル104において、ステップS1114で送信したデータフレームのGDとLDの組に対応する重みを小さくする。 If the transmission is successful, in step S1123, the data frame processing unit 110 decreases the weight corresponding to the combination of GD and LD of the data frame transmitted in step S1114 in the weighting table 104.
 つまり、データフレーム処理部110は、上位層処理部111から指定されたGDの値に対応する重み付けテーブル104-iにおいて、送信したデータフレームのLDに対応する重みを、例えば式(6)を使って更新する。データフレーム処理部110はさらに、重み付けテーブル104-iの、重みを更新したエントリにおいて、最終更新時刻に現在時刻を設定する。そして、図39~図40の処理は終了する。 That is, the data frame processing unit 110 uses the weight corresponding to the LD of the transmitted data frame in the weighting table 104-i corresponding to the value of GD designated from the higher layer processing unit 111, for example, using Equation (6). Update. Further, the data frame processing unit 110 sets the current time as the last update time in the entry whose weight is updated in the weighting table 104-i. Then, the processes in FIGS. 39 to 40 are finished.
 逆に、送信が失敗した場合、ステップS1124でデータフレーム処理部110は、重み付けテーブル104において、ステップS1114で送信したデータフレームのGDとLDの組に対応する重みを大きくする。 Conversely, if the transmission fails, in step S1124, the data frame processing unit 110 increases the weight corresponding to the combination of GD and LD of the data frame transmitted in step S1114 in the weighting table 104.
 つまり、データフレーム処理部110は、上位層処理部111から指定されたGDの値に対応する重み付けテーブル104-iにおいて、送信したデータフレームのLDに対応する重みを、例えば式(7)を使って更新する。 In other words, the data frame processing unit 110 uses the weight corresponding to the LD of the transmitted data frame in the weighting table 104-i corresponding to the GD value designated by the upper layer processing unit 111, for example, using Equation (7). Update.
 なお、データフレーム処理部110はステップS1124でさらに、送信したデータフレームのLDの値を、例えば図4のDRAM204などのワークエリアに「送信に失敗したLD」として記憶する。図32のステップS828と同様に、「送信に失敗したLD」の記憶のためには、線形リストや配列などのデータ構造が利用されてもよい。 In step S 1124, the data frame processing unit 110 further stores the LD value of the transmitted data frame as “LD failed in transmission” in a work area such as the DRAM 204 in FIG. Similarly to step S828 in FIG. 32, a data structure such as a linear list or an array may be used for storing “LD failed to transmit”.
 また、データフレーム処理部110はステップS1124でさらに、重み付けテーブル104-iの、重みを更新したエントリにおいて、最終更新時刻に現在時刻を設定する。そして、処理はステップS1125に移行する。 Further, in step S1124, the data frame processing unit 110 further sets the current time as the last update time in the entry whose weight is updated in the weighting table 104-i. Then, the process proceeds to step S1125.
 ステップS1125でデータフレーム処理部110は、今までにLDとして試していない他の選択可能な隣接ノード装置を探す。具体的には、データフレーム処理部110は、上位層処理部111から指定されたGDの値に対応する重み付けテーブル104-iにおいて、送信に失敗したLD以外のLDのうちで、最小の重みと対応付けられているLDの値を取得する。ここで、送信に失敗したLDは、ステップS1124において例えば図4のDRAM204などのワークエリアに、例えば線形リストや配列の形で記憶されている。 In step S1125, the data frame processing unit 110 searches for other selectable adjacent node devices that have not been tried as LDs so far. Specifically, the data frame processing unit 110 uses the minimum weight among the LDs other than the LD that failed to transmit in the weighting table 104-i corresponding to the GD value designated by the higher layer processing unit 111. The associated LD value is acquired. Here, the LDs that failed to be transmitted are stored in a work area such as the DRAM 204 of FIG. 4 in step S1124, for example, in the form of a linear list or an array.
 つまり、データフレーム処理部110は、重み付けテーブル104-iにおいて、過去にステップS1110またはS1125で取得されていないLDの値のうちで、最小の重みと対応付けられているものを取得する。データフレーム処理部110は、取得したLDの値および対応する重みの値を、例えば図4のDRAM204などの記憶領域に記憶する。そして、処理はステップS1111に戻る。 That is, the data frame processing unit 110 acquires, in the weighting table 104-i, an LD value that has not been acquired in step S1110 or S1125 in the past and that is associated with the minimum weight. The data frame processing unit 110 stores the acquired LD value and the corresponding weight value in a storage area such as the DRAM 204 of FIG. Then, the process returns to step S1111.
 図41は、GSにもなりうるノード装置100が、データフレーム受信処理の一部として図34~図35の処理の代わりに行う処理のフローチャートである。
 ノード装置100がGSにもなりうるノード装置である場合、データフレーム受信処理におけるステップS801~S829は、ノード装置100がGSにはならない場合と同様であり、図30~図32に示したとおりである。しかし、ノード装置100がGSにもなりうるノード装置の場合は、図32のステップS818においてデータフレーム処理部110が「条件(F1)と(F2)のいずれかが成立する」と判断すると、処理は図41のステップS871に移行する。
FIG. 41 is a flowchart of a process performed by the node device 100 that can be a GS instead of the processes of FIGS. 34 to 35 as part of the data frame reception process.
When the node device 100 is a node device that can also be a GS, steps S801 to S829 in the data frame reception process are the same as those in the case where the node device 100 does not become a GS, as shown in FIGS. 30 to 32. is there. However, if the node device 100 is a node device that can also be a GS, if the data frame processing unit 110 determines that “one of the conditions (F1) and (F2) is satisfied” in step S818 in FIG. Shifts to step S871 of FIG.
 ステップS871において、データフレーム処理部110は、受信したデータフレームのGSの値が自ノードIDであるか否かを判断する。受信したデータフレームのGSの値が自ノードIDに一致すれば、処理はステップS872に移行する。一方、受信したデータフレームのGSの値が自ノードIDと異なっていれば、処理はステップS874に移行する。なお、ステップS874は、実施形態のフレーム送信方法によるバックトラック動作であり、基本的に、図34~図35に示すステップS830~S850と同じである。よって、ステップS874の処理は省略する。 In step S871, the data frame processing unit 110 determines whether or not the GS value of the received data frame is its own node ID. If the GS value of the received data frame matches the own node ID, the process proceeds to step S872. On the other hand, if the GS value of the received data frame is different from the own node ID, the process proceeds to step S874. Note that step S874 is a backtrack operation by the frame transmission method of the embodiment, and is basically the same as steps S830 to S850 shown in FIGS. Therefore, the process of step S874 is omitted.
 ステップS872においてデータフレーム処理部110は、上位層処理部111に「送信失敗」を通知する。通知にあたって、データフレーム処理部110は、例えば受信したデータフレームからペイロードを取り出し、ペイロードまたはペイロードの一部を上位層処理部111に出力してもよい。すると、上位層処理部111は、どのデータの送信に失敗したのかを、データフレーム処理部110から受け取ったペイロードの内容に基づいて認識することができる。 In step S872, the data frame processing unit 110 notifies the upper layer processing unit 111 of “transmission failure”. For the notification, the data frame processing unit 110 may extract a payload from the received data frame, for example, and output the payload or a part of the payload to the upper layer processing unit 111. Then, the upper layer processing unit 111 can recognize which data has failed to be transmitted based on the content of the payload received from the data frame processing unit 110.
 ステップS873において、データフレーム処理部110は、受信したデータフレームを破棄する。すなわち、データフレーム処理部110は、ステップS801で見つけたエントリをバッファ部109から削除する。なお、ステップS873は、下記の(L1)または(L2)において実行される。 In step S873, the data frame processing unit 110 discards the received data frame. That is, the data frame processing unit 110 deletes the entry found in step S801 from the buffer unit 109. Note that step S873 is executed in the following (L1) or (L2).
  (L1)ノード装置100自身がGSとなって送信したデータフレームがバックトラックによりノード装置100に戻ってきて受信されたのであり、かつ、ノード装置100の隣接ノード装置はすべて(L1-1)または(L1-2)である。 (L1) The data frame transmitted by the node device 100 itself as GS is returned to the node device 100 by the backtrack and received, and all the adjacent node devices of the node device 100 are (L1-1) or (L1-2).
   (L1-1)最大値の重みと対応付けられている。
   (L1-2)LDとして指定してデータフレームを送信すると、送信に失敗する。
  (L2)受信したデータフレームのGSは、ノード装置100以外の他のノード装置であり、かつ、OLS以外のすべての隣接ノード装置が(L2-1)または(L2-2)であり、かつ、OLSへのデータフレームの送信は失敗した。
   (L2-1)最大値の重みと対応付けられている。
   (L2-2)LDとして指定してデータフレームを送信すると、送信に失敗する。
(L1-1) Corresponds to the weight of the maximum value.
(L1-2) If a data frame is transmitted by designating as LD, transmission fails.
(L2) The GS of the received data frame is a node device other than the node device 100, and all adjacent node devices other than the OLS are (L2-1) or (L2-2), and Transmission of the data frame to the OLS failed.
(L2-1) Corresponds to the maximum value weight.
(L2-2) When a data frame is transmitted by designating as LD, transmission fails.
 図42は、ハローフレームの送受信による隣接ノードの認識および図6の経路選択を示すタイミングチャートである。 FIG. 42 is a timing chart showing the recognition of adjacent nodes by the transmission / reception of a hello frame and the route selection of FIG.
 図1のネットワーク1において、各ノード装置N~Nは、独立してそれぞれ図26のハローフレーム送信処理を行う。どのノード装置が先にハローフレームを送信するかは任意であるが、図42の例では、まずステップS1201でノード装置Nが図26のステップS403を実行し、ハローフレームを送信する。すると、ハローフレームはノード装置Nに隣接するノード装置N、N、およびNでそれぞれ受信される。そして、ノード装置N、N、およびNは、それぞれ図24のステップS203で図25のハローフレーム受信処理を呼び出して実行し、ノード装置Nを隣接ノード装置として認識する。 In the network 1 of FIG. 1, each of the node devices N 1 to N 7 independently performs the hello frame transmission process of FIG. Which node is device is arbitrary to send a hello frame to the above, in the example of FIG. 42, first, the node device N 2 executes the step S403 of FIG. 26 in step S1201, transmits a hello frame. Then, the hello frame is received by the node devices N 1 , N 3 , and N 6 adjacent to the node device N 2 , respectively. Then, each of the node devices N 1 , N 3 , and N 6 calls and executes the hello frame reception process of FIG. 25 in step S203 of FIG. 24, and recognizes the node device N 2 as an adjacent node device.
 また、図42の例では、続いてステップS1202で、ノード装置Nが図26のステップS403を実行し、ハローフレームを送信する。すると、ハローフレームはノード装置Nに隣接するノード装置N、N、およびNでそれぞれ受信される。そして、ノード装置N、N、およびNは、それぞれ図24のステップS203で図25のハローフレーム受信処理を呼び出して実行し、ノード装置Nを隣接ノード装置として認識する。 In the example of FIG. 42, followed by step S1202, the node device N 4 executes the step S403 in FIG. 26, and transmits the hello frame. Then, the hello frame is received by the node devices N 3 , N 5 , and N 7 adjacent to the node device N 4 , respectively. Then, each of the node devices N 3 , N 5 , and N 7 calls and executes the hello frame reception process of FIG. 25 in step S203 of FIG. 24, and recognizes the node device N 4 as an adjacent node device.
 さらに、ステップS1203では、ノード装置Nが図26のステップS403を実行し、図7のハローフレーム312を送信する。すると、ハローフレーム312はノード装置Nに隣接するノード装置N、N、およびNでそれぞれ受信される。そして、ノード装置N、N、およびNは、それぞれ図24のステップS203で図25のハローフレーム受信処理を呼び出して実行し、ノード装置Nを隣接ノード装置として認識する。 Further, in step S1203, the node device N 3 executes step S403 in FIG. 26, and transmits a hello frame 312 of FIG. Then, the hello frame 312 are respectively received by the node device N 2, N 4, and N 5 adjacent to the node device N 3. Then, each of the node devices N 2 , N 4 , and N 5 calls and executes the hello frame reception process of FIG. 25 in step S203 of FIG. 24, and recognizes the node device N 3 as an adjacent node device.
 また、ステップS1204では、ノード装置Nが図26のステップS403を実行し、ハローフレームを送信する。なお、ステップS1204の時点では、ノード装置NとNの間のリンクには障害がまだ生じていないものとする。よって、ハローフレームはノード装置Nに隣接するノード装置NとNでそれぞれ受信される。そして、ノード装置NとNは、それぞれ図24のステップS203で図25のハローフレーム受信処理を呼び出して実行し、ノード装置Nを隣接ノード装置として認識する。 In step S1204, the node device N 7 executes the step S403 in FIG. 26, and transmits the hello frame. In the time of step S1204, the link between the node device N 4 and N 7 is that a fault has not occurred yet. Therefore, the hello frame is received by the node devices N 4 and N 6 adjacent to the node device N 7 , respectively. Then, each of the node devices N 4 and N 6 calls and executes the hello frame reception process of FIG. 25 in step S203 of FIG. 24, and recognizes the node device N 7 as an adjacent node device.
 また、ステップS1205では、ノード装置Nが図26のステップS403を実行し、ハローフレームを送信する。すると、ハローフレームはノード装置Nに隣接するノード装置Nで受信される。そして、ノード装置Nは、図24のステップS203で図25のハローフレーム受信処理を呼び出して実行し、ノード装置Nを隣接ノード装置として認識する。 In step S1205, the node device N 1 executes the step S403 in FIG. 26, and transmits the hello frame. Then, the hello frame is received by the node device N 2 adjacent to the node device N 1 . Then, the node device N 2 executes call the hello frame reception process in FIG. 25 in step S203 of FIG. 24, it recognizes the node device N 1 as an adjacent node device.
 さらに、ステップS1206では、ノード装置Nが図26のステップS403を実行し、ハローフレームを送信する。すると、ハローフレームはノード装置Nに隣接するノード装置NとNでそれぞれ受信される。そして、ノード装置NとNは、それぞれ図24のステップS203で図25のハローフレーム受信処理を呼び出して実行し、ノード装置Nを隣接ノード装置として認識する。 Further, in step S1206, the node device N 6 executes the step S403 in FIG. 26, and transmits the hello frame. Then, the hello frame is received by the node devices N 2 and N 7 adjacent to the node device N 6 , respectively. Then, the node devices N 2 and N 7 call and execute the hello frame reception process of FIG. 25 in step S203 of FIG. 24, respectively, and recognize the node device N 6 as an adjacent node device.
 そして、ステップS1207では、ノード装置Nが図26のステップS403を実行し、ハローフレームを送信する。すると、ハローフレームはノード装置Nに隣接するノード装置NとNでそれぞれ受信される。そして、ノード装置NとNは、それぞれ図24のステップS203で図25のハローフレーム受信処理を呼び出して実行し、ノード装置Nを隣接ノード装置として認識する。 In step S1207, the node device N 5 executes the step S403 in FIG. 26, and transmits the hello frame. Then, the hello frame is received by the node devices N 3 and N 4 adjacent to the node device N 5 , respectively. Then, the node devices N 3 and N 4 call and execute the hello frame reception process of FIG. 25 in step S203 of FIG. 24, respectively, and recognize the node device N 5 as an adjacent node device.
 以上のステップS1201~S1207により、図1および図6に示すネットワーク1内のノード装置N~Nは、それぞれ隣接ノード装置を認識し、隣接ノード管理テーブル103-N~103-Nを更新する。また、図25に示すように、ノード装置N~Nは、ハローフレームの受信を契機として、場合によっては重み付けテーブル104-N~104-N)を更新することもある。 Through the above steps S1201 to S1207, the node devices N 1 to N 7 in the network 1 shown in FIGS. 1 and 6 recognize the adjacent node devices, respectively, and store the adjacent node management tables 103-N 1 to 103-N 7 respectively . Update. Further, as shown in FIG. 25, the node devices N 1 to N 7 may update the weighting tables 104-N 1 to 104-N 7 ) in response to the reception of the hello frame.
 その後、ステップS1208でノード装置NとNの間のリンクに障害が発生するものとする。また、上記障害の発生とは関係なく、ステップS101でノード装置Nが、ノード装置NをGDとして指定するデータフレームを、ノード装置NをLDとして指定して送信する。つまり、ステップS101でノード装置Nは、図39~図40に示すフレーム送信処理を行う。 Then, it is assumed that a failure occurs in the link between the node device N 4 and N 7 in step S1208. Further, regardless of the occurrence of the fault, the node device N 1 in step S101, the data frame specifying a node device N 7 as GD, and transmits the specified node device N 2 as LD. In other words, the node device N 1 in step S101, performs the frame transmission processing shown in FIGS. 39 to 40.
 すると、データフレームを受信したノード装置Nは、図24のステップS205から図30~図35の処理を呼び出して実行する。図30のステップS803でノード装置NがACKフレームを送信することが、図42ではステップS101aとして表現されている。 Then, the node device N 2 that has received the data frame calls and executes the processes of FIGS. 30 to 35 from step S 205 of FIG. The node device N 2 at step S803 of FIG. 30 transmits the ACK frame, is represented as step S101a in FIG. 42.
 他方、ノード装置Nは、図40のステップS1121でACKフレームの受信を待っている。そして、ノード装置Nは、ステップS101aで送信されるACKフレームを受信すると、図24のステップS206から図37の処理を呼び出して実行し、その結果、ステップS1121の待機を終え、ステップS1122とS1123を実行し、図40の処理を終える。 On the other hand, the node device N 1 is waiting to receive an ACK frame at step S1121 in FIG. 40. When the node device N 1 receives the ACK frame transmitted in step S101a, the node device N 1 calls and executes the processing of FIG. 37 from step S206 of FIG. 24. As a result, the standby of step S1121 ends, and steps S1122 and S1123 To finish the process of FIG.
 また、ステップS101aに示すように図30のステップS803でACKフレームを送信したノード装置Nは、ステップS804以降の処理を続行し、図32のステップS819で、LDとしてノード装置Nを指定してデータフレームを送信する。ステップS819での送信が、図42のステップS102に相当する。なお、図7には、ステップS102で送信されるデータフレーム303が例示されている。 Also, the node device N 2 that transmitted the ACK frame in step S803 of FIG. 30, as shown in step S101a, the step S804 to continue the subsequent processing, at step S819 of FIG. 32, specifies the node device N 3 as LD Send a data frame. The transmission in step S819 corresponds to step S102 in FIG. FIG. 7 illustrates the data frame 303 transmitted in step S102.
 すると、データフレームを受信したノード装置Nは、図24のステップS205から図30~図35の処理を呼び出して実行する。図30のステップS803でノード装置NがACKフレームを送信することが、図42ではステップS102aとして表現されている。なお、図7には、ステップS102aで送信されるACKフレーム322が例示されている。 Then, the node device N 3 that has received the data frame calls and executes the processes of FIGS. 30 to 35 from step S 205 of FIG. The node device N 3 in step S803 in FIG. 30 transmits the ACK frame, is represented as step S102a in FIG. 42. FIG. 7 illustrates the ACK frame 322 transmitted in step S102a.
 他方、ノード装置Nは、図32のステップS825でACKフレームの受信を待っている。そして、ノード装置Nは、ステップS102aで送信されるACKフレームを受信すると、図24のステップS206から図37の処理を呼び出して実行し、その結果、ステップS825の待機を終え、ステップS826とS827を実行し、図32の処理を終える。 On the other hand, the node device N 2 is waiting to receive an ACK frame at step S825 in FIG. 32. When the node device N 2 receives the ACK frame transmitted in step S102a, the node device N 2 calls and executes the processing in FIG. 37 from step S206 in FIG. 24. As a result, the node device N 2 finishes waiting in step S825, and steps S826 and S827. To finish the process of FIG.
 また、ステップS102aに示すように図30のステップS803でACKフレームを送信したノード装置Nは、ステップS804以降の処理を続行し、図32のステップS819で、LDとしてノード装置Nを指定してデータフレームを送信する。ステップS819での送信が、図42のステップS103に相当する。なお、図7には、ステップS103で送信されるデータフレーム304が例示されている。 Also, the node device N 3 that transmitted the ACK frame in step S803 of FIG. 30, as shown in step S102a, the step S804 to continue the subsequent processing, at step S819 of FIG. 32, specifies the node device N 4 as LD Send a data frame. The transmission in step S819 corresponds to step S103 in FIG. FIG. 7 illustrates the data frame 304 transmitted in step S103.
 すると、データフレームを受信したノード装置Nは、図24のステップS205から図30~図35の処理を呼び出して実行する。図30のステップS803でノード装置NがACKフレームを送信することが、図42ではステップS103aとして表現されている。 Then, the node device N 4 that has received the data frame calls and executes the processes of FIGS. 30 to 35 from step S 205 of FIG. The node device N 4 in step S803 of FIG. 30 transmits the ACK frame, is represented as step S103a in FIG. 42.
 他方、ノード装置Nは、図32のステップS825でACKフレームの受信を待っている。そして、ノード装置Nは、ステップS103aで送信されるACKフレームを受信すると、図24のステップS206から図37の処理を呼び出して実行し、その結果、ステップS825の待機を終え、ステップS826とS827を実行し、図32の処理を終える。 On the other hand, the node device N 3 is waiting to receive an ACK frame at step S825 in FIG. 32. When the node device N 3 receives the ACK frame transmitted in step S103a, the node device N 3 calls and executes the processing in FIG. 37 from step S206 in FIG. 24. As a result, the node device N 3 finishes waiting in step S825, and steps S826 and S827. To finish the process of FIG.
 また、ステップS103aに示すように図30のステップS803でACKフレームを送信したノード装置Nは、ステップS804以降の処理を続行し、図32のステップS819で、LDとしてノード装置Nを指定してデータフレームを送信する。ステップS819での送信が、図42のステップS104に相当する。 Further, as shown in step S103a, the node device N 4 that has transmitted the ACK frame in step S803 in FIG. 30 continues the processing from step S804, and specifies the node device N 7 as the LD in step S819 in FIG. Send a data frame. The transmission in step S819 corresponds to step S104 in FIG.
 しかし、ステップS1208でノード装置NとNの間のリンクには障害が発生しており、データフレームはノード装置Nに到達しない。そのため、図42ではステップS104の矢印は、途中から破線になっている。 However, the link between the node device N 4 and N 7 in step S1208 is failure, the data frame does not reach the node device N 7. Therefore, in FIG. 42, the arrow in step S104 is a broken line from the middle.
 ノード装置Nは、図32のステップS825でACKフレームの受信を待っている。しかし、ノード装置NからACKフレームが受信されないため、ノード装置Nは、定期的に実行している図38の処理のステップS1003において、ノード装置Nへのデータフレームの送信が失敗したと認識する。 Node device N 4 is waiting to receive an ACK frame at step S825 in FIG. 32. However, since the ACK frame is not received from the node device N 7 , the node device N 4 determines that transmission of the data frame to the node device N 7 has failed in step S1003 of the processing of FIG. 38 that is periodically executed. recognize.
 その結果、ノード装置Nは、ステップS825の待機を終え、ステップS826、S828、S829、S818の処理を順に実行する。そして、ノード装置Nは、続くステップS819において、LDとしてノード装置Nを指定してデータフレームを送信する。ステップS819での送信が、図42のステップS105に相当する。 As a result, the node device N 4 is finished standby step S825, step S826, S828, S829, executes the processing of S818 in this order. Then, the node device N 4 is in the following step S819, transmits the data frame by specifying a node device N 5 as LD. The transmission in step S819 corresponds to step S105 in FIG.
 すると、データフレームを受信したノード装置Nは、図24のステップS205から図30~図35の処理を呼び出して実行する。図30のステップS803でノード装置NがACKフレームを送信することが、図42ではステップS105aとして表現されている。 Then, the node device N 5 that has received the data frame calls and executes the processing of FIGS. 30 to 35 from step S205 of FIG. The node device N 5 in step S803 of FIG. 30 transmits the ACK frame, is represented as step S105a in FIG. 42.
 他方、ノード装置Nは、図32のステップS825でACKフレームの受信を待っている。そして、ノード装置Nは、ステップS105aで送信されるACKフレームを受信すると、図24のステップS206から図37の処理を呼び出して実行し、その結果、ステップS825の待機を終え、ステップS826とS827を実行し、図32の処理を終える。 On the other hand, the node device N 4 is waiting to receive an ACK frame at step S825 in FIG. 32. When the node device N 4 receives the ACK frame transmitted in step S105a, the node device N 4 calls and executes the processing in FIG. 37 from step S206 in FIG. 24. As a result, the node device N 4 finishes waiting in step S825, and steps S826 and S827. To finish the process of FIG.
 また、ステップS105aに示すように図30のステップS803でACKフレームを送信したノード装置Nは、ステップS804以降の処理を続行し、図32のステップS819で、LDとしてノード装置Nを指定してデータフレームを送信する。ステップS819での送信が、図42のステップS106に相当する。 Also, ACK frame node has transmitted the device N 5 in step S803 of FIG. 30, as shown in step S105a, step S804 to continue the subsequent processing, at step S819 of FIG. 32, specifies the node device N 3 as LD Send a data frame. The transmission in step S819 corresponds to step S106 in FIG.
 すると、データフレームを受信したノード装置Nは、図24のステップS205から図30~図35の処理を呼び出して実行する。図30のステップS803でノード装置NがACKフレームを送信することが、図42ではステップS106aとして表現されている。 Then, the node device N 3 that has received the data frame calls and executes the processes of FIGS. 30 to 35 from step S 205 of FIG. The node device N 3 in step S803 in FIG. 30 transmits the ACK frame, is represented as step S106a in FIG. 42.
 他方、ノード装置Nは、図32のステップS825でACKフレームの受信を待っている。そして、ノード装置Nは、ステップS106aで送信されるACKフレームを受信すると、図24のステップS206から図37の処理を呼び出して実行し、その結果、ステップS825の待機を終え、ステップS826とS827を実行し、図32の処理を終える。 On the other hand, the node device N 5 is waiting to receive an ACK frame at step S825 in FIG. 32. Then, the node device N 5 receives the ACK frame transmitted in step S 106 a, invokes and executes the processing of FIG. 37 from step S206 in FIG. 24, as a result, after a wait in step S825, and step S826 S827 To finish the process of FIG.
 また、ステップS106aに示すように図30のステップS803でACKフレームを送信したノード装置Nは、ステップS804以降の処理を続行し、図32のステップS819で、LDとしてノード装置Nを指定してデータフレームを送信する。ステップS819での送信が、図42のステップS107に相当する。 Also, the node device N 3 that transmitted the ACK frame in step S803 of FIG. 30, as shown in step S106a, the step S804 to continue the subsequent processing, at step S819 of FIG. 32, specifies the node device N 5 as LD Send a data frame. The transmission in step S819 corresponds to step S107 in FIG.
 すると、データフレームを受信したノード装置Nは、図24のステップS205から図30~図35の処理を呼び出して実行する。図30のステップS803でノード装置NがACKフレームを送信することが、図42ではステップS107aとして表現されている。 Then, the node device N 5 that has received the data frame calls and executes the processing of FIGS. 30 to 35 from step S205 of FIG. The node device N 5 in step S803 of FIG. 30 transmits the ACK frame, is represented as step S107a in FIG. 42.
 他方、ノード装置Nは、図32のステップS825でACKフレームの受信を待っている。そして、ノード装置Nは、ステップS107aで送信されるACKフレームを受信すると、図24のステップS206から図37の処理を呼び出して実行し、その結果、ステップS825の待機を終え、ステップS826とS827を実行し、図32の処理を終える。 On the other hand, the node device N 3 is waiting to receive an ACK frame at step S825 in FIG. 32. When the node device N 3 receives the ACK frame transmitted in step S107a, the node device N 3 calls and executes the processing in FIG. 37 from step S206 in FIG. 24. As a result, the node device N 3 finishes waiting in step S825, and steps S826 and S827. To finish the process of FIG.
 また、ステップS107aに示すように図30のステップS803でACKフレームを送信したノード装置Nは、ステップS804以降の処理を続行する。具体的には、処理が図32のステップS818から図34のステップS830へと進み、ノード装置Nは、OLSであるノード装置NをLDとして指定してデータフレームを送信する。このフレーム送信が、図42のステップS108に相当する。このとき、ノード装置Nにデータフレームが保存されていると見込まれるときは、ノード装置Nは、通常のデータフレームの代わりに空データフレームを送信する。このように、ノード装置Nは、バックトラック動作により、ノード装置Nへ通常のデータフレームまたは空データフレームを送信する。 Also, the node device N 5 that has transmitted an ACK frame in step S803 of FIG. 30, as shown in step S107a continues the step S804 and subsequent steps. Specifically, the process proceeds to step S830 of FIG. 34 from step S818 in FIG. 32, the node device N 5 transmits a data frame by specifying a node device N 4 is OLS as LD. This frame transmission corresponds to step S108 in FIG. At this time, when the data frame to the node device N 4 is expected to be conserved, the node device N 5 transmits an empty data frame instead of the normal data frames. Thus, the node device N 5 is the backtracking operation, transmits the normal data frames or null data frame to the node apparatus N 4.
 すると、データフレームを受信したノード装置Nは、図24のステップS205から図30~図35の処理を呼び出して実行する。このとき、ノード装置Nは、空データフレームを受信したときは、対応するデータフレームをバッファ部109から抽出する。図30のステップS803でノード装置NがACKフレームを送信することが、図42ではステップS108aとして表現されている。 Then, the node device N 4 that has received the data frame calls and executes the processes of FIGS. 30 to 35 from step S 205 of FIG. At this time, when receiving an empty data frame, the node device N 4 extracts the corresponding data frame from the buffer unit 109. The node device N 4 in step S803 of FIG. 30 transmits the ACK frame, is represented as step S108a in FIG. 42.
 他方、ノード装置Nは、図35のステップS842でACKフレームの受信を待っている。そして、ノード装置Nは、ステップS108aで送信されるACKフレームを受信すると、図24のステップS206から図37の処理を呼び出して実行し、その結果、ステップS842の待機を終え、ステップS844を実行し、図34~図35の処理を終える。 On the other hand, the node device N 5 is waiting to receive an ACK frame at step S842 in FIG. 35. Then, the node device N 5 receives the ACK frame transmitted in step S108a, invokes and executes the processing of FIG. 37 from step S206 in FIG. 24, as a result, after a wait in step S842, executes Step S844 Then, the processing in FIGS. 34 to 35 is completed.
 また、ステップS108aに示すように図30のステップS803でACKフレームを送信したノード装置Nは、ステップS804以降の処理を続行する。具体的には、処理が図32のステップS818から図34のステップS830へと進み、ノード装置Nは、OLSであるノード装置NをLDとして指定してデータフレームを送信する。このフレーム送信が、図42のステップS109に相当する。このとき、ノード装置Nにデータフレームが保存されていると見込まれるときは、ノード装置Nは、通常のデータフレームの代わりに空データフレームを送信する。このように、ノード装置Nは、バックトラック動作により、ノード装置Nへ通常のデータフレームまたは空データフレームを送信する。 Also, the node device N 4 which has transmitted the ACK frame in step S803 of FIG. 30, as shown in step S108a continues the step S804 and subsequent steps. Specifically, the process proceeds to step S830 of FIG. 34 from step S818 in FIG. 32, the node apparatus N 4 transmits the data frame by specifying a node device N 3 is OLS as LD. This frame transmission corresponds to step S109 in FIG. At this time, when it is expected that the data frame is stored in the node device N 3 , the node device N 4 transmits an empty data frame instead of the normal data frame. Thus, the node device N 4 transmits a normal data frame or an empty data frame to the node device N 3 by the backtrack operation.
 すると、データフレームを受信したノード装置Nは、図24のステップS205から図30~図35の処理を呼び出して実行する。このとき、ノード装置Nは、空データフレームを受信したときは、対応するデータフレームをバッファ部109から抽出する。図30のステップS803でノード装置NがACKフレームを送信することが、図42ではステップS109aとして表現されている。 Then, the node device N 3 that has received the data frame calls and executes the processes of FIGS. 30 to 35 from step S 205 of FIG. At this time, when receiving an empty data frame, the node device N 3 extracts the corresponding data frame from the buffer unit 109. The node device N 3 in step S803 in FIG. 30 transmits the ACK frame, is represented as step S109a in FIG. 42.
 他方、ノード装置Nは、図35のステップS842でACKフレームの受信を待っている。そして、ノード装置Nは、ステップS109aで送信されるACKフレームを受信すると、図24のステップS206から図37の処理を呼び出して実行し、その結果、ステップS842の待機を終え、ステップS844を実行し、図34~図35の処理を終える。 On the other hand, the node device N 4 is waiting to receive an ACK frame at step S842 in FIG. 35. When the node device N 4 receives the ACK frame transmitted in step S109a, the node device N 4 invokes and executes the processing in FIG. 37 from step S206 in FIG. 24. As a result, the node device N 4 finishes waiting in step S842 and executes step S844. Then, the processing in FIGS. 34 to 35 is completed.
 また、ステップS109aに示すように図30のステップS803でACKフレームを送信したノード装置Nは、ステップS804以降の処理を続行する。具体的には、処理が図32のステップS818から図34のステップS830へと進み、ノード装置Nは、OLSであるノード装置NをLDとして指定してデータフレームを送信する。このフレーム送信が、図42のステップS110に相当する。このとき、ノード装置Nにデータフレームが保存されていると見込まれるときは、ノード装置Nは、通常のデータフレームの代わりに空データフレームを送信する。このように、ノード装置Nは、バックトラック動作により、ノード装置Nへ通常のデータフレームまたは空データフレームを送信する。 Also, the node device N 3 that transmitted the ACK frame in step S803 of FIG. 30, as shown in step S109a continues the step S804 and subsequent steps. Specifically, the process proceeds to step S830 of FIG. 34 from step S818 in FIG. 32, the node device N 3 transmits a data frame by specifying a node device N 2 is OLS as LD. This frame transmission corresponds to step S110 in FIG. At this time, when the data frame to the node device N 2 is expected to be conserved, the node device N 3 transmits an empty data frame instead of the normal data frames. Thus, the node device N 3 is the backtracking operation, transmits the normal data frames or null data frame to the node apparatus N 2.
 すると、データフレームを受信したノード装置Nは、図24のステップS205から図30~図35の処理を呼び出して実行する。このとき、ノード装置Nは、空データフレームを受信したときは、対応するデータフレームをバッファ部109から抽出する。図30のステップS803でノード装置NがACKフレームを送信することが、図42ではステップS110aとして表現されている。 Then, the node device N 2 that has received the data frame calls and executes the processes of FIGS. 30 to 35 from step S 205 of FIG. At this time, when receiving the empty data frame, the node device N 2 extracts the corresponding data frame from the buffer unit 109. The node device N 2 at step S803 of FIG. 30 transmits the ACK frame, is represented as step S110a in FIG. 42.
 他方、ノード装置Nは、図35のステップS842でACKフレームの受信を待っている。そして、ノード装置Nは、ステップS110aで送信されるACKフレームを受信すると、図24のステップS206から図37の処理を呼び出して実行し、その結果、ステップS842の待機を終え、ステップS844を実行し、図34~図35の処理を終える。 On the other hand, the node device N 3 is waiting to receive an ACK frame at step S842 in FIG. 35. Then, the node device N 3 receives the ACK frame transmitted in step S110a, invokes and executes the processing of FIG. 37 from step S206 in FIG. 24, as a result, after a wait in step S842, executes Step S844 Then, the processing in FIGS. 34 to 35 is completed.
 また、ステップS110aに示すように図30のステップS803でACKフレームを送信したノード装置Nは、ステップS804以降の処理を続行し、図32のステップS819で、LDとしてノード装置Nを指定してデータフレームを送信する。ステップS819での送信が、図42のステップS111に相当する。 Also, the node device N 2 that transmitted the ACK frame in step S803 of FIG. 30, as shown in step S110a, the step S804 to continue the subsequent processing, at step S819 of FIG. 32, specifies the node device N 6 as LD Send a data frame. The transmission in step S819 corresponds to step S111 in FIG.
 すると、データフレームを受信したノード装置Nは、図24のステップS205から図30~図35の処理を呼び出して実行する。図30のステップS803でノード装置NがACKフレームを送信することが、図42ではステップS111aとして表現されている。 Then, the node device N 6 that has received the data frame calls and executes the processing of FIGS. 30 to 35 from step S205 of FIG. Node device N 6 at step S803 of FIG. 30 that transmits the ACK frame, and is represented as step S111a in FIG. 42.
 他方、ノード装置Nは、図32のステップS825でACKフレームの受信を待っている。そして、ノード装置Nは、ステップS111aで送信されるACKフレームを受信すると、図24のステップS206から図37の処理を呼び出して実行し、その結果、ステップS825の待機を終え、ステップS826とS827を実行し、図32の処理を終える。 On the other hand, the node device N 2 is waiting to receive an ACK frame at step S825 in FIG. 32. When the node device N 2 receives the ACK frame transmitted in step S111a, the node device N 2 calls and executes the processing in FIG. 37 from step S206 in FIG. 24. As a result, the node device N 2 finishes waiting in step S825, and steps S826 and S827. To finish the process of FIG.
 また、ステップS111aに示すように図30のステップS803でACKフレームを送信したノード装置Nは、ステップS804以降の処理を続行し、図32のステップS819で、LDとしてノード装置Nを指定してデータフレームを送信する。ステップS819での送信が、図42のステップS112に相当する。 Further, as shown in step S111a, the node device N 6 that has transmitted the ACK frame in step S803 in FIG. 30 continues the processing from step S804, and specifies the node device N 7 as the LD in step S819 in FIG. Send a data frame. The transmission in step S819 corresponds to step S112 in FIG.
 すると、データフレームを受信したノード装置Nは、図24のステップS205から図30~図35の処理を呼び出して実行する。図30のステップS803でノード装置NがACKフレームを送信することが、図42ではステップS112aとして表現されている。 Then, the node device N 7 that has received the data frame calls and executes the processing of FIGS. 30 to 35 from step S205 of FIG. Node device N 7 in the step S803 of FIG. 30 that transmits the ACK frame, and is represented as step S112a in FIG. 42.
 以上説明した一連の処理により、ネットワーク1全体では、たとえステップS1208で障害が発生しようとも、ノード装置N~Nの自律分散協調の結果として、動的に経路〈N,N,N,N〉が選択され、学習される。すなわち、以上の一連の処理によりノード装置N~Nでは重み付けテーブル104-N~104-Nが更新されている。 Through the series of processes described above, in the entire network 1, even if a failure occurs in step S1208, as a result of the autonomous distributed cooperation of the node devices N 1 to N 7 , the route <N 1 , N 2 , N 6 , N 7 > is selected and learned. That is, the weighting tables 104-N 1 to 104-N 6 are updated in the node devices N 1 to N 6 by the series of processes described above.
 したがって、ステップS112aの後には、学習の結果として、ノード装置NをGDとして指定するデータフレームは、図6のようにネットワーク1内で試行錯誤的にバックトラックしながら転送される代わりに、初めから効率よく転送される。 Thus, after step S112a, as a result of learning, the node device N 7 data frame specified as GD, instead of being trial and error transfer while backtracking in the network 1 as shown in FIG. 6, initially Is transferred efficiently.
 続いて、第2実施形態について説明する。第2実施形態では、ノード装置間が有線接続されている。
 第1実施形態では、図3の受信部101と送信部102が図4の無線モジュール206により実現され、ノード装置間は無線リンクにより接続される。すなわち、第1実施形態は、無線アドホックネットワークを想定している。これに対して、第2実施形態では、例えば図1または図2に示すネットワークのノード装置間が有線リンクで接続される。すなわち、第2実施形態は、有線アドホックネットワークを想定している。以下、第2実施形態の具体例について、図43~図44を参照して説明する。
Next, the second embodiment will be described. In the second embodiment, the node devices are wired.
In the first embodiment, the reception unit 101 and the transmission unit 102 in FIG. 3 are realized by the wireless module 206 in FIG. 4, and the node devices are connected by a wireless link. That is, the first embodiment assumes a wireless ad hoc network. On the other hand, in the second embodiment, for example, the node devices of the network shown in FIG. 1 or FIG. 2 are connected by a wired link. That is, the second embodiment assumes a wired ad hoc network. A specific example of the second embodiment will be described below with reference to FIGS. 43 to 44. FIG.
 図43は、第2実施形態が適用される有線ネットワークの例を示す図である。図43のネットワーク4は、複数のノード装置100a~100iを含み、有線アドホックネットワークの一例である。まず、ノード装置100aの構成の概略を説明する。 FIG. 43 is a diagram illustrating an example of a wired network to which the second embodiment is applied. The network 4 in FIG. 43 includes a plurality of node devices 100a to 100i and is an example of a wired ad hoc network. First, an outline of the configuration of the node device 100a will be described.
 なお、ノード装置100a~100iの構成は同様である。互いに同様のコンポーネントには、「211a-1」、「211a-2」、「211b-1」などのように、添え字を除いて同じ参照符号を割り当て、詳しい説明を省略することがある。 The configuration of the node devices 100a to 100i is the same. Components that are similar to each other may be assigned the same reference numerals except for subscripts, such as “211a-1”, “211a-2”, “211b-1”, and the detailed description thereof may be omitted.
 ノード装置100a~100iは、無線モジュール206により実現される図3の受信部101および送信部102の代わりに、有線通信のための物理ポート(以下単に「ポート」という)とPHYチップにより実現される不図示の受信部および送信部を有する。図43の例では、ノード装置100aは、4つのポート211a-1~211a-4を備えるが、ポートの数は実施形態に応じて任意である。 The node devices 100a to 100i are realized by physical ports (hereinafter simply referred to as “ports”) for wired communication and PHY chips instead of the reception unit 101 and the transmission unit 102 of FIG. A reception unit and a transmission unit (not shown) are included. In the example of FIG. 43, the node device 100a includes four ports 211a-1 to 211a-4, but the number of ports is arbitrary according to the embodiment.
 なお、ポート211a-1~211a-4は、第2実施形態によるフレームの通信を行うためのポートである。つまり、図7に示す第1実施形態と同様のデータフレームが、ポート211a-1~211a-4を介して送受信される。換言すれば、ポート211a-1~211a-4は、ノード装置100aが隣接ノード装置と有線接続するためのポートである。 Note that the ports 211a-1 to 211a-4 are ports for performing frame communication according to the second embodiment. That is, the same data frame as in the first embodiment shown in FIG. 7 is transmitted / received via the ports 211a-1 to 211a-4. In other words, the ports 211a-1 to 211a-4 are ports for the node device 100a to make a wired connection with the adjacent node device.
 以下では説明の便宜上、1つのポートに対応して1つのPHYチップがあるものと仮定するが、物理的には1つのPHYチップが複数のポートの入出力処理を行うことも可能である。 Hereinafter, for convenience of explanation, it is assumed that there is one PHY chip corresponding to one port. However, physically, one PHY chip can perform input / output processing of a plurality of ports.
 また、第2実施形態では、ACKフレームとハローフレームが使われない。よって、ノード装置100aは、図3のACK処理部107とハローフレーム生成部112を含まない。また、第2実施形態では、フレーム分岐処理部106、リンク管理部108、データフレーム処理部110の動作の一部が、第1実施形態とは異なる。さらに、第2実施形態では、図9に示す第1実施形態の隣接ノード管理テーブル103の代わりに、図44に示す隣接ノード管理テーブル103aが使われる。第2実施形態では、隣接ノード管理テーブル103aにより、隣接ノード装置との接続に使用されるポートを識別するポートIDも管理される。 In the second embodiment, neither an ACK frame nor a hello frame is used. Therefore, the node device 100a does not include the ACK processing unit 107 and the hello frame generation unit 112 in FIG. In the second embodiment, some of the operations of the frame branch processing unit 106, the link management unit 108, and the data frame processing unit 110 are different from those in the first embodiment. Further, in the second embodiment, an adjacent node management table 103a shown in FIG. 44 is used instead of the adjacent node management table 103 of the first embodiment shown in FIG. In the second embodiment, the adjacent node management table 103a also manages port IDs that identify ports used for connection with adjacent node devices.
 ところで、第1実施形態では、外部ネットワークとの接続のためにノード装置100が図4のPHYチップ202を備えている場合を例示した。第2実施形態のノード装置100aも同様に、外部ネットワークとの接続のため、汎用LANポート212aを備えている。 By the way, in the first embodiment, a case where the node device 100 includes the PHY chip 202 of FIG. 4 for connection to an external network is illustrated. Similarly, the node device 100a according to the second embodiment includes a general-purpose LAN port 212a for connection to an external network.
 汎用LANポート212aは、例えばイーサネット規格にのっとった有線接続用の物理ポートであり、不図示のPHYチップと接続されている。図43では、汎用LANポート212a~212iを斜線で示して、ポート211a-1~211i-4とは区別してある。なお、本実施形態における汎用LANポート212a~212iは有線LANポートであるが、実施形態によっては無線LANインタフェイスを代わりに用いることもできる。 The general-purpose LAN port 212a is a physical port for wired connection according to the Ethernet standard, for example, and is connected to a PHY chip (not shown). In FIG. 43, the general-purpose LAN ports 212a to 212i are indicated by hatching to distinguish them from the ports 211a-1 to 211i-4. The general-purpose LAN ports 212a to 212i in this embodiment are wired LAN ports, but a wireless LAN interface can be used instead depending on the embodiment.
 そして、上記のごとき構成を有する各ノード装置100a~100iは、ネットワーク4において、ケーブル(例えば、銅ケーブルなどの金属線ケーブル、または光ファイバケーブル)により、物理的にはメッシュ状(換言すれば格子状)に接続されている。もちろん、ネットワークにおける物理的な接続トポロジは、実施形態に応じて任意であり、必ずしもメッシュ状でなくてもよい。 Each of the node devices 100a to 100i having the configuration as described above is physically meshed (in other words, a lattice in a network 4) by a cable (for example, a metal wire cable such as a copper cable or an optical fiber cable). Connected). Of course, the physical connection topology in the network is arbitrary depending on the embodiment, and does not necessarily have to be a mesh.
 図43に示すメッシュ状の物理的なトポロジは、この実施例では、次の(M1)~(M12)のようなケーブル配線により実現されている。
  (M1)ノード装置100aと100dは、ポート211a-1と211d-1の間のリンク515により接続されている。
In this embodiment, the mesh-like physical topology shown in FIG. 43 is realized by the following cable wirings (M1) to (M12).
(M1) The node devices 100a and 100d are connected by a link 515 between the ports 211a-1 and 211d-1.
  (M2)ノード装置100aと100bは、ポート211a-4と211b-1の間のリンク516により接続されている。
  (M3)ノード装置100bと100eは、ポート211b-2と211e-2の間のリンク517により接続されている。
(M2) The node devices 100a and 100b are connected by a link 516 between the ports 211a-4 and 211b-1.
(M3) The node devices 100b and 100e are connected by a link 517 between the ports 211b-2 and 211e-2.
  (M4)ノード装置100bと100cは、ポート211b-4と211c-1の間のリンク518により接続されている。
  (M5)ノード装置100cと100fは、ポート211c-3と211f-3の間のリンク519により接続されている。
(M4) The node devices 100b and 100c are connected by a link 518 between the ports 211b-4 and 211c-1.
(M5) The node devices 100c and 100f are connected by a link 519 between the ports 211c-3 and 211f-3.
  (M6)ノード装置100dと100gは、ポート211d-2と211g-2の間のリンク521により接続されている。
  (M7)ノード装置100dと100eは、ポート211d-4と211e-1の間のリンク522により接続されている。
(M6) The node devices 100d and 100g are connected by a link 521 between the ports 211d-2 and 211g-2.
(M7) The node devices 100d and 100e are connected by a link 522 between the ports 211d-4 and 211e-1.
  (M8)ノード装置100eと100hは、ポート211e-3と211h-3の間のリンク523により接続されている。
  (M9)ノード装置100eと100fは、ポート211e-4と211f-1の間のリンク524により接続されている。
(M8) The node devices 100e and 100h are connected by a link 523 between the ports 211e-3 and 211h-3.
(M9) The node devices 100e and 100f are connected by a link 524 between the ports 211e-4 and 211f-1.
  (M10)ノード装置100fと100iは、ポート211f-4と211i-4の間のリンク525により接続されている。
  (M11)ノード装置100gと100hは、ポート211g-4と211h-1の間のリンク526により接続されている。
(M10) The node devices 100f and 100i are connected by a link 525 between the ports 211f-4 and 211i-4.
(M11) The node devices 100g and 100h are connected by a link 526 between the ports 211g-4 and 211h-1.
  (M12)ノード装置100hと100iは、ポート211h-4と211i-1の間のリンク527により接続されている。
 もちろん、実施形態に応じて、図43に例示した以外の組み合せのポート間をケーブルで接続することで図43と等価なメッシュトポロジを実現することも可能である。
(M12) The node devices 100h and 100i are connected by a link 527 between the ports 211h-4 and 211i-1.
Of course, according to the embodiment, it is also possible to realize a mesh topology equivalent to that of FIG. 43 by connecting ports of combinations other than those illustrated in FIG. 43 with cables.
 ところで、図43の例では、ネットワーク4は孤立したネットワークではなく、LANやWAN(Wide Area Network)などの外部ネットワークとも接続される。例えば、図43の例では、ネットワーク4は、次のようにして外部ネットワークと接続される。すなわち、リンク511を介してPC(Personal Computer)501と接続されたL2SW(Layer 2 Switch)502が、ノード装置100aと100bそれぞれの汎用LANポート212aと212bに、それぞれリンク512と513を介して接続されている。また、PC503、505、506が、ノード装置100c、100g、100hそれぞれの汎用LANポート212c、212g、212hに、それぞれリンク514、528、529を介して接続されている。 Incidentally, in the example of FIG. 43, the network 4 is not an isolated network, but is also connected to an external network such as a LAN or a WAN (Wide Area Network). For example, in the example of FIG. 43, the network 4 is connected to the external network as follows. That is, an L2SW (Layer 2 Switch) 502 connected to a PC (Personal Computer) 501 via a link 511 is connected to general-purpose LAN ports 212a and 212b of the node devices 100a and 100b via links 512 and 513, respectively. Has been. The PCs 503, 505, and 506 are connected to the general- purpose LAN ports 212c, 212g, and 212h of the node devices 100c, 100g, and 100h via links 514, 528, and 529, respectively.
 なお、L2SW502は、不図示のルータや、不図示の他のPCとさらに接続されていてもよい。また、PC503、505、および506も、不図示の他の外部ネットワークに接続されていてもよい。 Note that the L2SW 502 may be further connected to a router (not shown) or another PC (not shown). The PCs 503, 505, and 506 may also be connected to another external network (not shown).
 また、説明の便宜上、図43には9個のノード装置100a~100iを含むネットワーク4を例示したが、実施形態によっては、例えば数千個~数十万個といった多数のノード装置を有線アドホックネットワークが含んでいてもよい。例えば、いたる所に配置された多数のセンサから様々な情報を収集するためのネットワークであるセンサネットワークに、本実施形態の有線アドホックネットワークが適用されてもよい。その場合、多数のセンサに対応して、有線アドホックネットワークは、数千個~数十万個のオーダの、多数のノード装置を含んでもよい。センサネットワークでは、例えば、画像センサ、温度センサ、湿度センサ、圧力センサ、加速度センサなど、任意の種類のセンサが利用される。 For convenience of explanation, FIG. 43 illustrates the network 4 including nine node devices 100a to 100i. However, depending on the embodiment, a large number of node devices such as thousands to hundreds of thousands may be connected to the wired ad hoc network. May be included. For example, the wired ad hoc network of this embodiment may be applied to a sensor network that is a network for collecting various information from a large number of sensors arranged everywhere. In that case, in correspondence with a large number of sensors, the wired ad hoc network may include a large number of node devices on the order of thousands to hundreds of thousands. In the sensor network, for example, any type of sensor such as an image sensor, a temperature sensor, a humidity sensor, a pressure sensor, and an acceleration sensor is used.
 図43も、本実施形態による有線アドホックネットワークの、センサネットワークへの適用例の1つを示している。すなわち、図43においてノード装置100eと100iそれぞれの汎用LANポート212eと212iには、LANインタフェイスを備えたセンサ504と507が、それぞれリンク520と530を介して接続されている。センサ504と507は、感知した結果を示すデータを、LANインタフェイスを介してイーサネットフレームとして出力する。これらのセンサ504と507の種類は任意である。 FIG. 43 also shows one example of application of the wired ad hoc network according to the present embodiment to the sensor network. That is, in FIG. 43, sensors 504 and 507 having a LAN interface are connected to general- purpose LAN ports 212e and 212i of the node devices 100e and 100i via links 520 and 530, respectively. The sensors 504 and 507 output data indicating the sensed result as an Ethernet frame via the LAN interface. The types of these sensors 504 and 507 are arbitrary.
 このように、第2実施形態は、ノード装置間が有線リンクで接続されたネットワークを前提とする。このため、第2実施形態のノード装置の動作は、上述した第1実施形態とは異なるところもあるが、基本的には同じである。そして、第2実施形態においても、第1実施形態と同様に、バックトラック動作において空データフレームまたは集約空データフレームを使用することで、フレームの転送効率が向上する。さらに、特に図示しないが、無線リンクおよび有線リンクが混在するネットワークにおいても、第1または第2実施形態と同様に、フレームの転送効率が向上する。 Thus, the second embodiment is premised on a network in which node devices are connected by a wired link. For this reason, the operation of the node device of the second embodiment is basically the same, although there are some differences from the first embodiment described above. Also in the second embodiment, similarly to the first embodiment, frame transfer efficiency is improved by using empty data frames or aggregated empty data frames in the backtrack operation. Further, although not particularly illustrated, even in a network in which wireless links and wired links are mixed, the frame transfer efficiency is improved as in the first or second embodiment.
 <その他>
 実施形態のノード装置は、複数の隣接ノード装置のうち任意の1つからフレームを受信する受信手段として、例えば図3の受信部101、図4の無線モジュール206、図43のポート211a-1~211a-4とそこに接続されたPHYチップなどを備える。
<Others>
The node device according to the embodiment is, for example, the reception unit 101 in FIG. 3, the wireless module 206 in FIG. 4, and the ports 211a-1 to 211a in FIG. 211a-4 and a PHY chip connected thereto.
 また、図3のFID管理テーブル105は、例えば、図4のDRAM20またはフラッシュメモリ205により実現され、図12、図13、図16に示す情報を格納している。このFID管理テーブル105は、以下の(N1)~(N3)の各情報を対応付けて記憶する記憶手段の一例である。 3 is realized by, for example, the DRAM 20 or the flash memory 205 of FIG. 4, and stores the information shown in FIGS. 12, 13, and 16. The FID management table 105 is an example of a storage unit that stores the following pieces of information (N1) to (N3) in association with each other.
  (N1)送信対象フレームを識別するフレーム識別情報
  (N2)複数の隣接ノード装置のうちで、送信対象フレームの送信先である送信先隣接ノード装置を識別する送信先隣接ノード識別情報
  (N3)送信対象フレームを最初に送信してきた隣接ノード装置を識別する起源ノード識別情報
 なお、上記(N1)の送信対象フレームは、例えば、図17に示すデータフレーム、空データフレーム、集約空データフレームである。そして、フレーム識別情報の例は、GSフィールドの値とFIDフィールドの値の組み合わせである。
(N1) Frame identification information for identifying a transmission target frame (N2) Transmission destination adjacent node identification information for identifying a transmission destination adjacent node device that is a transmission destination of the transmission target frame among a plurality of adjacent node devices (N3) transmission Origin Node Identification Information for Identifying Adjacent Node Device that Transmits Target Frame First The transmission target frame in (N1) is, for example, a data frame, an empty data frame, and an aggregated empty data frame shown in FIG. An example of the frame identification information is a combination of the value of the GS field and the value of the FID field.
 また、上記(N2)の送信先隣接ノード識別情報の具体例は、FID管理テーブル105のLDフィールドに格納される、隣接ノード装置のノードIDである。
 そして、上記(N3)の起源ノード識別情報の具体例は、FID管理テーブル105のOLSフィールドに格納されるノードIDである。
A specific example of the destination adjacent node identification information (N2) is the node ID of the adjacent node device stored in the LD field of the FID management table 105.
A specific example of the origin node identification information (N3) is a node ID stored in the OLS field of the FID management table 105.
 上記のとおり、ノード装置100がデータフレームを中継する場合には、ノード装置100が最初に当該データフレームを受信したときの当該データフレームのLSフィールドの値が、FID管理テーブル105のOLSフィールドに格納される。つまり、送信対象フレームを最初に送信してきた隣接ノード装置のノードIDが、OLSフィールドに格納される。 As described above, when the node device 100 relays the data frame, the value of the LS field of the data frame when the node device 100 first receives the data frame is stored in the OLS field of the FID management table 105. Is done. That is, the node ID of the adjacent node device that has transmitted the transmission target frame first is stored in the OLS field.
 また、図3の重み付けテーブル104は、図4のDRAM204やフラッシュメモリ205により実現され、図10~図11に示す情報を格納している。この重み付けテーブル104は、データフレームの最終宛先であるGDに対応付けて、複数の隣接ノード装置それぞれへの送信可能性を表す送信可能性情報を記憶する記憶手段の一例である。 Further, the weighting table 104 in FIG. 3 is realized by the DRAM 204 and the flash memory 205 in FIG. 4 and stores the information shown in FIGS. The weighting table 104 is an example of a storage unit that stores transmission possibility information indicating transmission possibility to each of a plurality of adjacent node apparatuses in association with the GD that is the final destination of the data frame.
 なお、送信可能性情報は、上記実施形態では、具体的にはLDフィールドのノードIDと重みの値との組をそれぞれ含む、1つまたは複数のエントリで表されている。そして、送信可能性は、例えば「重みの値が1ならば送信不能であり、重みの値が1未満ならば送信可能である」というように表される。 In the above embodiment, the transmission possibility information is specifically represented by one or a plurality of entries each including a set of a node ID and a weight value of the LD field. The transmission possibility is expressed as, for example, “If the weight value is 1, transmission is impossible, and if the weight value is less than 1, transmission is possible”.
 また、図3のデータフレーム処理部110は、例えば図4のMPU201とDRAM204により実現され、送信可能性情報を更新する更新手段の一例である。受信部101などの受信手段が受信した受信フレームを識別する受信フレーム識別情報が、FID管理テーブル105などの記憶手段に(N1)のフレーム識別情報として記憶されている場合、更新手段としてのデータフレーム処理部110は、送信可能性情報を更新する。 Further, the data frame processing unit 110 in FIG. 3 is realized by the MPU 201 and the DRAM 204 in FIG. 4, for example, and is an example of an updating unit that updates transmission possibility information. When received frame identification information for identifying a received frame received by a receiving unit such as the receiving unit 101 is stored as (N1) frame identification information in a storage unit such as the FID management table 105, a data frame as an updating unit The processing unit 110 updates the transmission possibility information.
 また、データフレーム処理部110および送信部102は、協働して、複数の隣接ノード装置の中から、フレームを送信可能な第2の隣接ノード装置を選択し、第2の隣接ノード装置へ受信フレームを送信する送信手段として機能する。送信手段の一部としてのデータフレーム処理部110は、受信フレーム宛先に対応付けられて重み付けテーブル104などの記憶手段に記憶されている送信可能性情報に基づいて、第2の隣接ノード装置を選択する。 The data frame processing unit 110 and the transmission unit 102 cooperate to select a second adjacent node device that can transmit a frame from a plurality of adjacent node devices, and receive the second adjacent node device. It functions as a transmission means for transmitting a frame. The data frame processing unit 110 as a part of the transmission unit selects the second adjacent node apparatus based on the transmission possibility information associated with the reception frame destination and stored in the storage unit such as the weighting table 104. To do.
 また、データフレーム処理部110および送信部102は、協働してバックトラック手段としても機能する。バックトラック手段としてのデータフレーム処理部110および送信部102は、重み付けテーブル104などの記憶手段の送信可能性情報において、複数の隣接ノード装置の中に送信可能なものがなく、かつ受信フレーム識別情報がFID管理テーブル105などの記憶手段に(N1)のフレーム識別情報として記憶されている場合に、起源ノード識別情報により識別される第3の隣接ノード装置へ受信フレームの少なくとも一部を送信する。 Also, the data frame processing unit 110 and the transmission unit 102 cooperate to function as backtracking means. The data frame processing unit 110 and the transmission unit 102 serving as backtracking units have no transmission capability information among the plurality of adjacent node devices in the transmission possibility information of the storage unit such as the weighting table 104, and the received frame identification information Is stored as frame identification information (N1) in the storage means such as the FID management table 105, at least a part of the received frame is transmitted to the third adjacent node device identified by the origin node identification information.
 バックトラックを実行するノード装置は、受信フレームが第3の隣接ノード装置に保持されていると見込まれるときは、受信フレームの一部であるフレーム識別情報を第3の隣接ノードへ送信する。「受信フレームが第3の隣接ノード装置に保持されていると見込まれるとき」とは、例えば、「受信フレームを受信したときからの経過時間が、各ノード装置において処理フレームが保持される期間よりも短いとき」、或いは、「受信フレームを第2の隣接ノード装置へ送信したときからの経過時間が、各ノード装置において処理フレームが保持される期間よりも短いとき」に相当する。ここで、「受信フレームを受信したとき」または「受信フレームを第2の隣接ノード装置へ送信したとき」は、上述の実施例では、FID管理テーブル105に記録されるエントリ時刻に相当する。また、フレーム識別情報は、上述の実施例では、データヘッダに含まれるFIDおよびGDに相当する。そして、フレーム識別情報は、上述の実施例では、空データフレームにより送信される。 When the received frame is expected to be held in the third adjacent node device, the node device that performs backtracking transmits frame identification information that is a part of the received frame to the third adjacent node. “When the received frame is expected to be held by the third adjacent node device” means, for example, “the elapsed time from when the received frame is received is longer than the period during which the processing frame is held in each node device. Or “when the elapsed time from when the received frame is transmitted to the second adjacent node device is shorter than the period during which the processing frame is held in each node device”. Here, “when a received frame is received” or “when a received frame is transmitted to the second adjacent node device” corresponds to an entry time recorded in the FID management table 105 in the above-described embodiment. The frame identification information corresponds to the FID and GD included in the data header in the above-described embodiment. The frame identification information is transmitted by an empty data frame in the above-described embodiment.
 第3の隣接ノード装置へ送信するフレーム識別情報が複数あるときは、それら複数のフレーム識別情報は1つのフレームに格納して送信される。複数のフレーム識別情報を格納するフレームは、上述の実施例では、集約空データフレームに相当する。 When there are a plurality of pieces of frame identification information to be transmitted to the third adjacent node device, the plurality of pieces of frame identification information are stored and transmitted in one frame. A frame that stores a plurality of frame identification information corresponds to an aggregated empty data frame in the above-described embodiment.
 また、ノード装置は、フレーム保持手段として、第2の隣接ノード装置へ送信した受信フレームを保持する送信キューを備える。送信キューは、例えば、受信フレームを第2の隣接ノード装置へ送信したときから少なくとも予め決められた保持期間が経過するまで、その受信フレームを保持する。この保持時間は、上述の実施例では、例えば、FID管理テーブル105において各エントリを保持するエージング時間に相当する。 Also, the node device includes a transmission queue that holds a received frame transmitted to the second adjacent node device as a frame holding unit. For example, the transmission queue holds the received frame from when the received frame is transmitted to the second adjacent node apparatus until at least a predetermined holding period elapses. In the embodiment described above, this holding time corresponds to, for example, an aging time for holding each entry in the FID management table 105.
 さらに、ノード装置は、上述した第2の隣接ノード装置からフレーム識別情報が通知されると、その通知されたフレーム識別情報に対応するフレームをフレーム保持手段としての送信キューから抽出する。そして、ノード装置は、送信可能性情報基としての重み値に基づいて決まる隣接ノード装置へ抽出したフレームを送信する。 Furthermore, when the frame identification information is notified from the second adjacent node device described above, the node device extracts a frame corresponding to the notified frame identification information from the transmission queue as the frame holding means. Then, the node device transmits the extracted frame to the adjacent node device determined based on the weight value as the transmission possibility information base.

Claims (8)

  1.  複数の隣接ノード装置のうちの1つからデータを受信する受信手段と、
     送信対象データを識別するデータ識別情報と、前記複数の隣接ノード装置のうちで前記送信対象データの送信先である送信先隣接ノード装置を識別する送信先隣接ノード識別情報と、前記送信対象データを最初に送信してきた隣接ノード装置である起源隣接ノード装置を識別する起源ノード識別情報とを対応付けて記憶する第1の記憶手段と、
     データの最終宛先に対応付けて、前記複数の隣接ノード識別情報毎に該最終宛先へのデータの送信可能性を表す送信可能性情報を記憶する第2の記憶手段と、
     前記受信手段が受信したデータを識別するデータ識別情報が、前記第1の記憶手段に前記データ識別情報として記憶されていることに基づいて、該データ識別情報に対応づけられた送信先隣接ノード識別情報を特定し、前記第2の記憶手段において、該受信データに設定される最終宛先に対応づけられた隣接ノードの前記送信可能性情報のうち、特定した該隣接ノード識別情報の送信可能性を送信不能に更新する更新手段と、
     前記第2の記憶手段において前記受信データの最終宛先に対応付けられた送信先隣接ノード識別情報の前記送信可能性情報に基づいて、送信可能な隣接ノード装置を選択し、該選択した隣接ノード装置に前記受信データを送信する送信手段と、
     前記第2の記憶手段において前記受信データの最終宛先に対応付けられた送信先隣接ノード識別情報の前記送信可能性情報が全て送信不能であることに基づき、前記第1の記憶手段において前記受信データ識別情報に対応付けられた前記起源隣接ノード装置に対して、少なくとも該受信データのデータ識別情報を含む前記受信データの一部を送信するバッ
    クトラック手段、
     を備えることを特徴とするノード装置。
    Receiving means for receiving data from one of a plurality of adjacent node devices;
    Data identification information for identifying transmission target data, transmission destination adjacent node identification information for identifying a transmission destination adjacent node device that is a transmission destination of the transmission target data among the plurality of adjacent node devices, and the transmission target data. First storage means for storing the source node identification information for identifying the source adjacent node device, which is the adjacent node device that has transmitted first, in association with each other;
    Second storage means for storing transmission possibility information indicating the transmission possibility of data to the final destination for each of the plurality of adjacent node identification information in association with the final destination of data;
    Based on the fact that the data identification information for identifying the data received by the receiving means is stored as the data identification information in the first storage means, the destination adjacent node identification associated with the data identification information Information is specified, and in the second storage means, the transmission possibility of the specified adjacent node identification information among the transmission possibility information of the adjacent node associated with the final destination set in the reception data is determined. An updating means for updating the transmission to impossible,
    Based on the transmission possibility information of the transmission destination adjacent node identification information associated with the final destination of the received data in the second storage means, the adjacent node device capable of transmission is selected, and the selected adjacent node device Transmitting means for transmitting the received data to:
    Based on the fact that all the transmission possibility information of the destination adjacent node identification information associated with the final destination of the reception data in the second storage means cannot be transmitted, the reception data in the first storage means Backtrack means for transmitting a part of the received data including at least the data identification information of the received data to the origin adjacent node device associated with the identification information;
    A node device comprising:
  2.  請求項1に記載のノード装置であって、
     前記バックトラック手段は、前記受信手段が前記受信データを受信したときからの経過時間、または前記送信手段が前記受信データを前記送信先隣接ノード装置へ送信したときからの経過時間が、前記起源隣接ノード装置においてデータが保持される期間よりも短いときは、前記受信データの一部を前記起源ノード識別情報が示す隣接ノード装置へ送信する
     ことを特徴とするノード装置。
    The node device according to claim 1,
    The backtrack means is configured such that an elapsed time from when the receiving means receives the received data or an elapsed time from when the transmitting means transmits the received data to the destination adjacent node device When the data is shorter than a period in which data is held in the node device, a part of the received data is transmitted to an adjacent node device indicated by the origin node identification information.
  3.  請求項1に記載のノード装置であって、
     前記バックトラック手段は、前記起源隣接ノード装置へ送信するデータ識別情報が複数あるときは、それら複数のデータ識別情報を1つの送信単位データに格納して送信する
     ことを特徴とするノード装置。
    The node device according to claim 1,
    When there are a plurality of pieces of data identification information to be transmitted to the origin adjacent node device, the backtrack means stores the plurality of data identification information in one transmission unit data and transmits the data identification information.
  4.  請求項1に記載のノード装置であって、
     前記バックトラック手段は、前記受信手段が前記受信データを受信したときからの経過時間、または前記送信手段が前記受信データを前記送信先隣接ノード装置へ送信したときからの経過時間が、前記起源隣接ノード装置において処理データが保持される期間以上であれば、前記受信データを該起源隣接ノード装置へ送信する
     ことを特徴とするノード装置。
    The node device according to claim 1,
    The backtrack means is configured such that an elapsed time from when the receiving means receives the received data or an elapsed time from when the transmitting means transmits the received data to the destination adjacent node device The node device, wherein the received data is transmitted to the origin adjacent node device if it is longer than a period in which the processing data is held in the node device.
  5.  複数の隣接ノード装置のうちの1つからデータを受信する受信手段と、
     送信対象データを識別するデータ識別情報と、前記複数の隣接ノード装置のうちで前記送信対象データの送信先である送信先隣接ノード装置を識別する送信先隣接ノード識別情報と、前記送信対象データを最初に送信してきた隣接ノード装置である起源隣接ノード装置を識別する起源ノード識別情報とを対応付けて記憶する第1の記憶手段と、
     データの最終宛先に対応付けて、前記複数の隣接ノード装置それぞれへの送信可能性を表す送信可能性情報を記憶する第2の記憶手段と、
     前記受信手段が受信した受信データを識別する受信データ識別情報が、前記第1の記憶手段に前記データ識別情報として記憶されている場合に、該データ識別情報に対応づけられた送信先隣接ノード識別情報を特定し、前記第2の記憶手段において、該受信データに設定される最終宛先に対応づけられた隣接ノードの前記送信可能性情報のうち、特定した該隣接ノード識別情報の送信可能性を送信不能に更新する更新手段と、
     前記第2の記憶手段において前記受信データの最終宛先に対応付けられた送信先隣接ノード識別情報の前記送信可能性情報に基づいて、送信可能な隣接ノード装置を選択し、該選択した隣接ノード装置にデータを送信する送信手段と、
     前記送信手段が前記隣接ノード装置へ送信したデータ識別情報を含むデータを保持するデータ保持手段、
    を備え、
     前記送信手段は、前記受信手段が前記送信先隣接ノード装置から少なくとも自ノード装置が前記送信したデータのデータ識別情報を含むデータの一部を受信したことに基づき、前記データ保持手段からデータを抽出して、該データを送信する
     ことを特徴とするノード装置。
    Receiving means for receiving data from one of a plurality of adjacent node devices;
    Data identification information for identifying transmission target data, transmission destination adjacent node identification information for identifying a transmission destination adjacent node device that is a transmission destination of the transmission target data among the plurality of adjacent node devices, and the transmission target data. First storage means for storing the source node identification information for identifying the source adjacent node device, which is the adjacent node device that has transmitted first, in association with each other;
    Second storage means for storing transmission possibility information representing the transmission possibility to each of the plurality of adjacent node devices in association with the final destination of the data;
    When reception data identification information for identifying reception data received by the reception means is stored as the data identification information in the first storage means, a transmission destination adjacent node identification associated with the data identification information Information is specified, and in the second storage means, the transmission possibility of the specified adjacent node identification information among the transmission possibility information of the adjacent node associated with the final destination set in the reception data is determined. An updating means for updating the transmission to impossible,
    Based on the transmission possibility information of the transmission destination adjacent node identification information associated with the final destination of the received data in the second storage means, the adjacent node device capable of transmission is selected, and the selected adjacent node device A transmission means for transmitting data to
    Data holding means for holding data including data identification information transmitted by the transmission means to the adjacent node device;
    With
    The transmission means extracts data from the data holding means based on the reception means receiving at least a part of data including the data identification information of the data transmitted by the own node apparatus from the transmission destination adjacent node apparatus. And transmitting the data.
  6.  請求項5に記載のノード装置であって、
     前記受信手段が前記送信先隣接ノード装置から複数のデータ識別情報を格納するデータを受信したことに基づき、前記送信手段は、前記複数のデータ識別情報に対応する複数のデータを前記データ保持手段から抽出し、抽出した複数の該データをそれぞれ送信する
     ことを特徴とするノード装置。
    The node device according to claim 5, wherein
    Based on the reception unit receiving data storing a plurality of data identification information from the destination adjacent node device, the transmission unit receives a plurality of data corresponding to the plurality of data identification information from the data holding unit. A node device characterized by extracting and transmitting a plurality of the extracted data.
  7.  複数の隣接ノード装置が存在するノード装置により使用されるデータ送信方法であって、
     前記ノード装置が、
     前記複数の隣接ノード装置のうちの1つから受信したデータから、該データを識別するデータ識別情報を抽出する抽出ステップと、
     送信対象データを識別するデータ識別情報と、前記複数の隣接ノード装置のうちで前記送信対象データの送信先である送信先隣接ノード装置を識別する送信先隣接ノード識別情報と、該送信対象データを最初に送信してきた前記隣接ノード装置である起源隣接ノードを識別する起源ノード識別情報とを対応付けて記憶する第1の記憶手段を参照して、前記抽出ステップにて抽出した前記データ識別情報が第1の記憶手段に記憶されているか否か判断する判断ステップと、
     前記データ識別情報が前記第1の記憶手段に記憶されている場合、該データ識別情報に対応づけられた送信隣接ノード識別情報を特定した上で、データの最終宛先に対応付けて前記複数の隣接ノード識別情報毎に該最終宛先へのデータの送信可能性を表す送信可能性情報を記憶する第2の記憶手段を参照し、該第2の記憶手段において、該受信データに設定される最終宛先に対応づけられた隣接ノードの前記送信可能性情報のうち、特定した該隣接ノード識別情報の送信可能性を送信不能に更新する更新ステップと、
     前記第2の記憶手段において前記受信データの最終宛先に対応付けられた送信先隣接ノード識別情報の前記送信可能性情報に基づいて、送信可能な隣接ノード装置を選択し、該選択した隣接ノード装置に前記受信データを送信する送信ステップと、
     前記第2の記憶手段において前記受信データの最終宛先に対応付けられた送信先隣接ノード識別情報の前記送信可能性情報が全て送信不能であることに基づき、前記第1の記憶手段において前記受信データ識別情報に対応付けられた前記起源隣接ノード装置に対して、少なくとも該受信データのデータ識別情報を含む前記受信データの一部を送信するバックトラックステップ
     を備えることを特徴とするノード装置のデータ送信方法。
    A data transmission method used by a node device having a plurality of adjacent node devices,
    The node device is
    An extraction step of extracting data identification information for identifying the data from data received from one of the plurality of adjacent node devices;
    Data identification information for identifying transmission target data, transmission destination adjacent node identification information for identifying a transmission destination adjacent node device that is a transmission destination of the transmission target data among the plurality of adjacent node devices, and the transmission target data The data identification information extracted in the extraction step is referred to by referring to a first storage means that stores the source node identification information that identifies the source adjacent node that is the neighboring node device that has been transmitted first. A determination step of determining whether or not the data is stored in the first storage means;
    When the data identification information is stored in the first storage means, the transmission neighboring node identification information associated with the data identification information is specified, and then the plurality of neighbors are associated with the final destination of the data. Reference is made to second storage means for storing transmission possibility information indicating the transmission possibility of data to the final destination for each node identification information, and the final destination set in the received data in the second storage means An update step of updating the transmission possibility of the identified adjacent node identification information among the transmission possibility information of the adjacent nodes associated with
    Based on the transmission possibility information of the transmission destination adjacent node identification information associated with the final destination of the received data in the second storage means, the adjacent node device capable of transmission is selected, and the selected adjacent node device Transmitting the received data to:
    Based on the fact that all the transmission possibility information of the destination adjacent node identification information associated with the final destination of the reception data in the second storage means cannot be transmitted, the reception data in the first storage means A backtrack step of transmitting at least a part of the received data including at least the data identification information of the received data to the origin adjacent node device associated with the identification information. Method.
  8.  複数の隣接ノード装置が存在するノード装置のデータ送信方法であって、
    前記ノード装置が、
     前記複数の隣接ノード装置のうちの1つから受信したデータから、該データを識別するデータ識別情報を抽出する抽出ステップと、
     送信対象データを識別するデータ識別情報と、前記複数の隣接ノード装置のうちで前記送信対象データの送信先である送信先隣接ノード装置を識別する送信先隣接ノード識別情報と、該送信対象データを最初に送信してきた前記隣接ノード装置である起源隣接ノード装置を識別する起源ノード識別情報とを対応付けて記憶する第1の記憶手段に、前記抽出したデータ識別情報が記憶されているか否か判断する判断ステップと、
     前記データ識別情報が前記第1の記憶手段に記憶されている場合、該データ識別情報に対応づけられた送信先隣接ノード識別情報を特定した上で、データの最終宛先に対応付けて前記複数の隣接ノード識別情報毎の該最終宛先へのデータの送信可能性を表す送信可能性情報を記憶する第2の記憶手段を参照し、該第2の記憶手段において、該受信データに設定される最終宛先に対応づけられた隣接ノードの前記送信可能性情報のうち、特定した該隣接ノード識別情報の送信可能性を送信不能に更新する更新ステップと、
     前記第2の記憶手段において前記受信データの最終宛先に対応付けられた送信先隣接ノード識別情報の前記送信可能性情報に基づいて、送信可能な隣接ノード装置を選択し、該選択した隣接ノード装置に前記受信データを送信する送信ステップと、
     前記送信先隣接ノード装置へ送信された、データ識別情報を含むデータをデータ保持手段に保持する保持ステップ、
    を備え、
     前記送信ステップでは、前記受信ステップで前記送信先隣接ノード装置から少なくとも自ノード装置が送信したデータ識別情報を含むデータの一部を受信したことに基づき、前記データ保持ステップからデータを抽出して、該データを送信する
     を有することを特徴とするデータ送信方法。
    A data transmission method for a node device having a plurality of adjacent node devices,
    The node device is
    An extraction step of extracting data identification information for identifying the data from data received from one of the plurality of adjacent node devices;
    Data identification information for identifying transmission target data, transmission destination adjacent node identification information for identifying a transmission destination adjacent node device that is a transmission destination of the transmission target data among the plurality of adjacent node devices, and the transmission target data Judgment whether or not the extracted data identification information is stored in the first storage means that stores the origin node identification information that identifies the origin adjacent node device that is the neighboring node device that has been transmitted first in association with each other A decision step to
    When the data identification information is stored in the first storage means, the destination adjacent node identification information associated with the data identification information is specified, and then the plurality of data are associated with the final destination of the data. Reference is made to second storage means for storing transmission possibility information representing the possibility of transmission of data to the final destination for each adjacent node identification information, and the final set in the received data in the second storage means An update step of updating the transmission possibility of the specified adjacent node identification information among the transmission possibility information of the adjacent nodes associated with the destination to be non-transmissible;
    Based on the transmission possibility information of the transmission destination adjacent node identification information associated with the final destination of the received data in the second storage means, the adjacent node device capable of transmission is selected, and the selected adjacent node device Transmitting the received data to:
    A holding step of holding data including data identification information transmitted to the destination adjacent node device in a data holding unit;
    With
    In the transmission step, based on receiving a part of data including at least the data identification information transmitted by the own node device from the transmission destination adjacent node device in the reception step, the data is extracted from the data holding step, A data transmission method comprising: transmitting the data.
PCT/JP2010/002396 2010-03-31 2010-03-31 Node device and data transmission method WO2011121672A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2010/002396 WO2011121672A1 (en) 2010-03-31 2010-03-31 Node device and data transmission method
JP2012507915A JP5477462B2 (en) 2010-03-31 2010-03-31 Node device and data transmission method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/002396 WO2011121672A1 (en) 2010-03-31 2010-03-31 Node device and data transmission method

Publications (1)

Publication Number Publication Date
WO2011121672A1 true WO2011121672A1 (en) 2011-10-06

Family

ID=44711469

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/002396 WO2011121672A1 (en) 2010-03-31 2010-03-31 Node device and data transmission method

Country Status (2)

Country Link
JP (1) JP5477462B2 (en)
WO (1) WO2011121672A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014204437A (en) * 2013-04-02 2014-10-27 富士通株式会社 Acquisition of downlink routing, maintenance method, and device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008109717A (en) * 2008-01-21 2008-05-08 Fujitsu Ltd Apparatus for providing electronic bulletin board, method for posting message, method for searching posted message, and program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006121207A (en) * 2004-10-19 2006-05-11 Ntt Docomo Inc Communication node and communication method
JP4480568B2 (en) * 2004-12-21 2010-06-16 株式会社エヌ・ティ・ティ・ドコモ Control device, mobile terminal, and communication control method
BRPI0911155A2 (en) * 2008-04-25 2015-10-06 Fujitsu Ltd node device and program
KR101301885B1 (en) * 2009-07-27 2013-08-29 후지쯔 가부시끼가이샤 Node device, storage medium, and method for transmitting frame

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008109717A (en) * 2008-01-21 2008-05-08 Fujitsu Ltd Apparatus for providing electronic bulletin board, method for posting message, method for searching posted message, and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014204437A (en) * 2013-04-02 2014-10-27 富士通株式会社 Acquisition of downlink routing, maintenance method, and device

Also Published As

Publication number Publication date
JP5477462B2 (en) 2014-04-23
JPWO2011121672A1 (en) 2013-07-04

Similar Documents

Publication Publication Date Title
JP4820464B2 (en) Node device, storage medium, and frame transmission method
JP5408337B2 (en) Node device and detour route investigation method
JP4732972B2 (en) Ad hoc network, node, route control method, and route control program
JP5542028B2 (en) Node station and redundant path control method
JP4668823B2 (en) Wireless communication device
CN101534520B (en) Reliable routing method of mobile Ad hoc network
EP3222084B1 (en) Information processing apparatus, information processing method and non-transitory computer-readable medium
US20140198770A1 (en) Node device, communication method, and storage medium
JP5477462B2 (en) Node device and data transmission method
JP5500246B2 (en) Data communication apparatus and method
WO2011119351A2 (en) A mobile ad hoc network configured as a virtual internet protocol network
EP1655895B1 (en) Radio communication method, radio communication terminal accommodating apparatus, and radio communication terminal
JP6345560B2 (en) Communication device system and program
KR101420187B1 (en) Ad-hoc wireless communication method using sector antenna, recovery method in ad-hoc wireless communication and ad-hoc wireless communication system
JP7234503B2 (en) Communications equipment, network systems and programs
JP2006094313A (en) Routing recovery system
JP4687292B2 (en) Communication device and method for disconnecting unnecessary wireless link in network
JP2006345334A (en) Communication apparatus
JP2009005183A (en) Path determination method, communication device, and ad-hoc network
CN104255081A (en) Radio communication system, radio communication apparatus and radio communication method
CN107612828A (en) A kind of improved method of DSR Routing Protocols
ITTO20070661A1 (en) ROUTING OF A COMMUNICATION IN A WIRELESS TELECOMMUNICATIONS NETWORK
Wei et al. One Kind of Routing Algorithm Modified in Wireless Sensor Network
Chen et al. An enhanced probabilistic scheme for data transmission in large-scale sensor networks
JP2015065513A (en) Communication system, monitoring control device and routing table creation method

Legal Events

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

Ref document number: 10848854

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012507915

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10848854

Country of ref document: EP

Kind code of ref document: A1