WO2012039040A1 - ネットワークにおけるルーティング方法及びノード装置 - Google Patents

ネットワークにおけるルーティング方法及びノード装置 Download PDF

Info

Publication number
WO2012039040A1
WO2012039040A1 PCT/JP2010/066441 JP2010066441W WO2012039040A1 WO 2012039040 A1 WO2012039040 A1 WO 2012039040A1 JP 2010066441 W JP2010066441 W JP 2010066441W WO 2012039040 A1 WO2012039040 A1 WO 2012039040A1
Authority
WO
WIPO (PCT)
Prior art keywords
frame
waitno
node
relay node
weight number
Prior art date
Application number
PCT/JP2010/066441
Other languages
English (en)
French (fr)
Inventor
下川良信
寿福義幸
黒木裕嗣
川本真嗣
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to JP2012534858A priority Critical patent/JP5310956B2/ja
Priority to PCT/JP2010/066441 priority patent/WO2012039040A1/ja
Publication of WO2012039040A1 publication Critical patent/WO2012039040A1/ja
Priority to US13/778,224 priority patent/US9210096B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/122Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/18Loop-free operations

Definitions

  • the present invention relates to a sensor network using a wired ad hoc routing protocol, and more particularly to a routing method and a node device.
  • An ad hoc network is known as an autonomous distributed network.
  • a large-scale network is formed autonomously, and communication is maintained even when a failure occurs.
  • Ad hoc networks can be applied to various communication media, whether wired or wireless.
  • Ad hoc networks are applied to sensor networks, for example.
  • each node device is connected to a plurality of node devices by wire, and data communication and power supply are performed by wire.
  • Advantages of the wired system include that the sensor can be embedded in the soil, underwater, or a structure, and that cutting or the like can be detected.
  • each communication node of the ad hoc network has a function as a sensor node and a function as a relay node.
  • Each node performs routing processing based on adjacent node information, destination address, source address, and frame sequence number.
  • the node that has received the frame compares the received frame with the contents of the destination table held by itself, and selects and transmits a transmission port that is different from the reception port. At this time, if there are a plurality of communication ports that can be used for transmission, the selection is made according to conditions such as the order of the smallest number or the largest.
  • an object of one aspect of the present invention is to enable determination of the shortest route when a route is determined.
  • a routing method in a network including a plurality of node devices, wherein when the node device receives a first frame including a weight number, the weight number in the received first frame is incremented.
  • the node device receives the second frame including the weight number, the node device transmits the first frame including the own weight number. If the weight number in the second frame is larger than the own weight number, the second frame is sent to the destination having a weight number larger than the own weight number. If there is no destination with the large weight number, the second frame is looped. If the wait number in the second frame is smaller than the own wait number, the second frame is sent to the destination having a weight number smaller than the own wait number. When there is no transmission destination of the small weight number, a routing method is provided, wherein the second frame is returned to the transmission source node device as a loop.
  • the loop can be avoided and the shortest route can be determined, so the transmission time can be reduced.
  • 1 is a system configuration diagram of an ad hoc network. It is a figure explaining the relationship between a path
  • WaitNo. It is a functional block diagram of the sensor relay node 103 in this embodiment.
  • WaitNo. It is a data block diagram of a table. It is a data structure figure of the frame in the routing system of this embodiment. 5 is a flowchart showing overall control at the time of frame reception in each sensor relay node 103.
  • FIG. 1 is a system configuration diagram of an ad hoc network.
  • the sensor relay node group 100 constitutes an ad hoc network in which sensor relay nodes 103 as node devices are connected to each other by a wired communication line directly or via other nodes.
  • the sensor relay node 103 is, for example, a temperature sensor, a wind speed sensor, or the like installed at various locations in the data center.
  • the sensor relay node 103 includes, for example, an illuminance sensor, a temperature sensor, and a human sensor that detect a room state. Such as a sensor.
  • the sensor relay node 103 is, for example, a meter-reading meter.
  • the sensor relay node 103 includes, for example, an acceleration sensor that detects the state of the structure, a strain Sensors, surveillance cameras, etc.
  • FIG. 1 to No. A configuration in which up to 20 sensor relay nodes 103 are connected to each other is shown.
  • the sensor relay nodes 103 perform autonomous communication according to the communication method of the wired ad hoc routing protocol.
  • the two sensor relay nodes 103 are “adjacent”. Further, another sensor relay node 103 adjacent to one sensor relay node 103 may be referred to as an “adjacent node”. The sensor relay node 103 itself may be referred to as “own node”.
  • the core relay node 102 functions as a gateway device that relays the sensor information collected by each sensor relay node 103 to a monitoring / control server 101 connected via, for example, a LAN (local area network). Also, various control information notified from the monitoring / control server 101 to each sensor relay node 103 or itself is relayed to each sensor relay node 103 or itself.
  • the sensor relay node 103 has a function of converting between a LAN communication protocol and a wired ad hoc routing protocol.
  • the monitoring / control server 101 has a function of monitoring the sensor information collected by each sensor relay node 103 and displaying the sensor information or detecting an abnormality in the sensor information and displaying an alarm.
  • the monitoring / control server 101 has a function of controlling each sensor relay node 103.
  • sensor information collected by each sensor relay node 103 connected by wire is collected by the monitoring / control server 101 via the core relay node 102 and is centrally monitored or controlled. This makes it possible to efficiently collect and monitor sensor information.
  • a technique for preparing for the occurrence of a failure in the sensor relay node 103 and the communication line and a technique for performing optimum communication are required.
  • each sensor relay node 103 autonomously selects an optimal communication path, and a failure occurs.
  • route control that autonomously changes and repairs routes is important.
  • a frame as communication data is transmitted from the target sensor relay node 103 to the core relay node 102 (or its frame).
  • the number of sensor relay nodes 103 relayed during transfer may be minimized.
  • the number of relays of the sensor relay node 103 when the frame is transferred to the target relay node is called the hop number. If the number of hops is small, the time required for transfer is reduced, and the traffic of the communication line used is also reduced.
  • Figure 2 shows the target node as No. In the case of 20 sensor relay nodes 103, the basic relay node 102 No. It is a figure explaining the relationship between the path
  • the frame transmitted from the trunk relay node 102 is the trunk relay node 102 ⁇ No. 1 ⁇ No. 5 ⁇ No. 9 ⁇ No. 13 ⁇ No. 14 ⁇ No. 18 ⁇ No. 19 ⁇ No. 15 ⁇ No. 11 ⁇ No. 10 ⁇ No. 6 ⁇ No. 2 ⁇ No. 3 ⁇ No. 4 ⁇ No. 8 ⁇ No. 12 ⁇ No. 16 ⁇ No.
  • the route indicated by the broken line is a route with a redundant number of hops.
  • the frame transmitted from the trunk relay node 102 is the trunk relay node 102 ⁇ No. 1 ⁇ No. 5 ⁇ No. 6 ⁇ No. 10 ⁇ No. 11 ⁇ No. 15 ⁇ No. 16 ⁇ No. It is transferred in the order of 20, and the number of hops is 8. Therefore, the route indicated by the solid line is a route with an optimal number of hops.
  • Each sensor relay node 103 does not have position information of all nodes configured in the network.
  • Each sensor relay node 103 uses / not uses each port based on the information of the adjacent sensor relay node 103, the destination address, the source address, and the frame identification ID (FID: Frame IDentification).
  • FID Frame IDentification
  • the frame shown in FIG. 3 the PS (Port Status) table (destination table) shown in FIG. 4, the FID (Frame ID) table (loop monitoring table) shown in FIG. It is done.
  • a wired communication line connecting the sensor relay nodes 103 in FIG. 1 or between the sensor relay node 103 and the backbone relay node 102 is configured as a physical line based on, for example, the Ethernet protocol.
  • Ethernet is a registered trademark.
  • the configuration shown in FIG. 3 is adopted as the data configuration of the frame.
  • an Ethernet frame is formed by the MAC header 301, the MAC data 302, and the FCS (Frame Check Sequence) 303 for both the normal frame and the health frame.
  • an ad hoc header 302-1 and data 302-2 are set in the MAC data 302 portion of the Ethernet frame.
  • These two pieces of data form an ad hoc frame. That is, an ad hoc frame is set in the MAC data 302 portion of the Ethernet frame.
  • the sensor relay nodes 103 are interconnected by a conventional physical line of the Ethernet protocol, so that an ad hoc frame for ad hoc communication can be transmitted using the Ethernet line.
  • the MAC header 301, the ad hoc header 302-1 and the FCS 303 have the same data configuration in the normal frame in FIG. 3A and the health frame in FIG. 3B.
  • the normal frame is a frame for transmitting normal communication data and control data.
  • the health frame is a simultaneous broadcast for each sensor relay node 103 or backbone relay node 102 in FIG. 1 to inform the surrounding sensor relay node 103 or backbone relay node 102 that it is operating normally. This is a frame to be broadcast.
  • the MAC header 301 includes a DST ID (DeSTation ID) field, an SRC ID (Source ID) field, and a TYPE field.
  • DST ID a 6-byte MAC (Media Access Control) address corresponding to the destination node number of the destination sensor relay node 103 is set.
  • SRC ID a 6-byte MAC address corresponding to the transmission source node number of the transmission source sensor relay node 103 is set.
  • TYPE field a 2-byte upper protocol identification number is set, and a value of 0x8847 is currently set. “0x” indicates that the subsequent numerical value is a hexadecimal number.
  • the ad hoc header 302-1 includes a KIND field, an FID field, a TTL field, and a Length field.
  • KIND field 2-byte data representing the type of ad hoc frame is set.
  • 0x0000 indicates an IPv6 frame. This value is not used in this embodiment.
  • 0x0001 indicates a health frame.
  • 0x0002 indicates a health frame request frame indicating that the frame requests a health frame.
  • 0x0003 indicates a route search frame indicating that the frame is for searching for a route.
  • 0x0004 indicates a command with a response to the route search frame.
  • 0x0006 indicates a time synchronization command. This command is transmitted by broadcast.
  • 0x0104 indicates a no response command.
  • 0x0105 represents an independent message. This message has a response (ACK) only when it is a DI notification.
  • FID Frae ID
  • a 2-byte frame identification ID which is a sequential number is set.
  • TTL Time To Live
  • 2-byte data indicating an upper limit time during which an ad hoc frame can exist in the ad hoc network is set. This field value is set at the source node of the ad hoc frame and is reduced by the sensor relay node 103 (FIG. 1) on all hops on the route to the destination node.
  • the ad hoc frame is discarded. This field is to avoid situations where undeliverable ad hoc frames continue to circulate through the ad hoc network and ultimately the system congestion due to such immortal frames.
  • a 2-byte value indicating the data length of the subsequent data 302-2 is set.
  • the data 302-2 has a variable data length from 7 bytes to 1500 bytes.
  • the ad hoc frame is a health frame
  • only the object (Object) ID that is the MAC address of the local node that is the transmission source node is set in the data 302-2.
  • the MAC address of the own node is set in the SRC ID field of the ad hoc header 302-1, and an all “0” value indicating broadcast (broadcast) is set in the DST ID field.
  • the FCS 303 is a redundant code for detecting and correcting errors in the data of the MAC header 301 and the MAC data 302.
  • FIG. 4 is a data configuration diagram of a PS table (destination table) managed by each sensor relay node 103 or the core relay node 102 of FIG. 1 in a normally considered routing method.
  • each entry in the PS table is composed of a DST ID field, fields P1, P2, and P3, and a timer field.
  • DST ID field a 6-byte DST ID (destination ID) that is the MAC address set in the DST ID field (FIG. 3) in the MAC header 301 of the frame relayed by the own node is set.
  • timer field 8-bit data indicating the remaining time or the elapsed time for storing the entry of the DST ID including the timer field is set.
  • the port that transmits the received frame is selected by referring to the entry having the same DST ID as the DST ID of the received frame on the PS table. To do.
  • FIG. 5 is a data configuration diagram of an FID table managed by each sensor relay node 103 or the core relay node 102 of FIG. 1 in a normally considered routing method. This table functions as a loop monitoring table.
  • each entry in the FID table includes an SRC ID field, an FID field, an RxPort field, fields P1, P2, and P3, and a timer field.
  • SRC ID field a 6-byte SRC ID (source ID) that is the MAC address set in the SRC ID field (FIG. 3) in the MAC header 301 of the frame relayed by the own node is set.
  • the FID is a 2-byte frame identification ID that is uniquely assigned to a frame to be transmitted by the transmission source trunk relay node 102 or the sensor relay node 103.
  • the FID may be a sequential number, for example.
  • 2-bit data indicating a reception port (reception port) from which a frame corresponding to the entry including the RxPort field is first received is set.
  • 2-bit data setting and setting indicating each port state of the first, second, and third wired ad hoc network ports of the own node is set.
  • this 2-bit data value is “00”, it indicates an untransmitted port state (state “E”: Empty), and when it is “01”, it indicates a transmitting port state (state “U”: Used).
  • “10” indicates a loop port state (state “L”: Loop).
  • “11” is a reservation state (state “R”: Reserve) value.
  • the “U” state set to Pi (i is one of 1, 2, and 3) occurs when the following two conditions are satisfied. (1) The node has once relayed a frame to which a set of SRC ID and FID is assigned. (2) At the time of the relay, the i-th port corresponding to Pi was used as the transmission destination port in the own node.
  • E state set to Pi (i is one of 1, 2, 3) has the following meaning. That is, if the destination port is not the i-th port when the local node once relayed a frame to which a set of SRC ID and FID is assigned, the state of Pi is “E”.
  • the “L” state set to Pi (i is one of 1, 2, and 3) is a loop state that occurs when the following two conditions are satisfied. (1) The own node has once relayed a frame to which a set of SRC ID and FID is assigned with the i-th port as a destination port. (2) The frame is received again by the own node after relaying.
  • the “U” state and the “E” state are common in the sense of “transmittable”, that is, “selectable as a destination port”. However, in the FID table, the “U” state and the “E” state are distinguished as follows.
  • the “U” state in the FID table indicates an object to be changed to the “L” state meaning “transmission impossible” if a loop is detected in the future.
  • the “E” state in the FID table indicates that even if a loop is detected in the future, it can still be selected as a destination port at the time of detection of the loop.
  • timer field 8-bit data indicating the remaining time or the elapsed time for storing the entry of the SRC ID including the timer field is set.
  • the sensor relay node 103 that has received the frame compares the received frame with the registered contents of the PS table, and transmits and relays the received frame to a port different from the reception port. At this time, if there are a plurality of usable ports, that is, “unused” ports, corresponding to the DST ID field value set in the MAC header 301 of the frame, it has a young or old number. A transmission port is determined in order from the port.
  • the frame transmitted from the core relay node 102 includes a DST ID (destination address): 192.168.16.20, an SRC ID (source address): 192.168.1.64, and an FID: 0x001.
  • a broken line indicates a route from the core relay node 102 to the sensor relay node 103 (No. 20).
  • the frame transmitted from the trunk relay node 102 is transmitted with the No. connected to the trunk relay node 102. 1 to the sensor relay node 103.
  • No. One sensor relay node 103 is connected to the core relay node 102 at the first port. Therefore, the frame transmitted from the trunk relay node 102 is No.
  • One sensor relay node 103 receives the signal at the first port.
  • the first sensor relay node 103 outputs to the second numbered port among the “unused” ports other than the first receiving port (S1 in the figure).
  • the frame is No. No. 1 connected to the second port of the sensor relay node 103 of No. 1 5 is received at the first port of the sensor relay node 103.
  • the sensor relay node 103 of No. 5 outputs to the second port of the young number among the “unused” ports other than the first reception port (S2 in the figure).
  • the frame is No. No. 5 connected to the second port of the sensor relay node 103 of FIG. 9 is received at the first port of the sensor relay node 103.
  • the sensor relay node 103 of No. 9 outputs to the second port of the young number among the “unused” ports other than the first reception port (S3 in the figure).
  • the frame is No. No. 9 connected to the second port of the sensor relay node 103 of No. 9. It is received at the first port of 13 sensor relay nodes 103. No. The 13 sensor relay nodes 103 output to the second port of the young number among the “unused” ports other than the first reception port (S4 in the figure).
  • the sensor relay nodes 103 of 1, 5, 9, and 13 perform the following operations when receiving a frame. That is, each sensor relay node 103 generates an entry in which the DST ID (FIG. 3A) set in the received frame is set. In the entry, the state of the field corresponding to the output port number among P1, P2, and P3 is set to “used state”, and a predetermined timeout value is set in the timer field (FIG. 4 above).
  • the sensor relay nodes 103 of 1, 5, 9, and 13 perform the following operations when receiving a frame. That is, each sensor relay node 103 generates an entry in which the SRC ID and FID (FIG.
  • each sensor relay node 103 monitors the presence or absence of a return frame using this FID table. That is, each sensor relay node 103 sets the port where the frame has returned within the timeout time set in the timer field and the port that has performed the operation of sending back to the receiving port itself as a “loop port” state, Control to disable. In the state transition from S1 to S4 described above, No. In any of the sensor relay nodes 103 of 1, 5, 9, and 13, there is no port in the “loop port” state.
  • the frame transmitted from the No. 2 port of the sensor relay node 103 of No. 13 is the No. 1 connected to the No. 2 port. It is received at the first port of the 17 sensor relay nodes 103.
  • the 17 sensor relay nodes 103 recognize that the second and third ports other than the first reception port are in a link-disconnected state. As a result, no.
  • the 17 sensor relay nodes 103 generate an entry in which the same DST ID as the received frame is registered in the PS table, and set “loop state” in the P1 field corresponding to the first port which is the receiving port in the entry. To do. No.
  • the sensor relay node 103 of 17 generates an entry in which the same SRC ID and FID as the received frame are registered in the FID table, and displays “loop port” in the P1 field corresponding to the first port which is the receiving port in the entry. Set the state. And No. The sensor relay node 103 of 17 returns the frame received at the first port as it is to the first port for transmission (S5 in the figure).
  • the frame is no. No. 17 connected to the first port of the sensor relay node 103 of FIG. It is received at the second port of the 13 sensor relay nodes 103.
  • the sensor relay node 103 of 13 is an entry in which the same SRC ID and FID as the received frame of the FID table are registered, and the frame is transmitted from the second port in the “transmission port” state among P1, P2, and P3. Recognize that it has been received.
  • the thirteen sensor relay nodes 103 set “loop port state” in the P2 field corresponding to the second port in the entry of the FID table.
  • the 13 sensor relay nodes 103 are entries in which the same DST ID as the received frame of the PS table is registered, and set the “loop state” in the P2 field corresponding to the second port. And No. The thirteen sensor relay nodes 103 select a port other than the first receiving port set in the RxPort field of the entry in the FID table and the second port corresponding to the P2 field in the “loop port” state. In addition, in the above entry on the PS table, the third port corresponding to P3 which is “unused” is selected. And No. The thirteen sensor relay nodes 103 output the received frame to the third port (S6 in the figure). As a result, the frame is no. No. 13 connected to the third port of the sensor relay node 103 of FIG. It is received at the third port of the 14 sensor relay nodes 103.
  • each sensor relay node 103 sequentially outputs the received frames to the youngest ports among the “unused” ports other than the respective reception ports (state transition from S7 to S19 in the figure).
  • a solid line determination path in FIG. A route to the 20 sensor relay nodes 103 is determined.
  • FIG. 9 is a diagram showing a state transition table of the PS table and the FID table in each sensor relay node 103 in the control operations from FIG. 6 to FIG.
  • entry S1 When “entry S1” is described, No. at the left end of the table of FIG. A line whose field value is “S1” is shown. The same applies to the entries S2 to S19.
  • the P1, P2, and P3 fields of the PS table illustrated in FIG. 4 and the FID table illustrated in FIG. 5 are represented as “Port 1”, “Port 2”, and “Port 3” in FIG.
  • entries S1, S2, and S3 are registered in the PS tables (FIG. 4) of the sensor relay nodes 103 of 1, 5, and 9, respectively. That is, in each entry S1, S2, S3 of the PS table, the No. extracted from the DST ID field (FIG. 3A) of the received frame is added to the DST ID field. The destination addresses of the 20 sensor relay nodes 103 are registered. In each entry S1, S2, S3 of the PS table, “use” is registered in the P2 (Port2) field corresponding to the second port which is the output port in each sensor relay node 103. Furthermore, no.
  • each entry S1, S2, S3 of the FID table the port number Port1 corresponding to the first port which is the reception port in each sensor relay node 103 is registered in the RxPort field. Also, in each entry S1, S2, S3 of the FID table, “sending” is registered in the P2 (Port2) field corresponding to the second port which is the output port in each sensor relay node 103. Furthermore, no. In each of the sensor relay nodes 103 of 1, 5, “not transmitted” is registered in the P1 (Port1) and P3 (Port3) fields of the entries S1, S2 of the FID table. No. In the sensor relay node 103 of No. 9, “not transmitted” is registered in the P1 (Port1) field of the entry S3 of the FID table, and no other node is connected to the P3 (Port3) field. “Resere” is registered.
  • the following entry S5 is registered in the PS table of the 17 sensor relay nodes 103 (FIG. 4). That is, in the PS table entry S5, in the DST ID field, the No. extracted from the DST ID field (FIG. 3A) of the received frame is displayed. The destination addresses of the 20 sensor relay nodes 103 are registered. In addition, in the PS table entry S5, since no other node is connected to the second and third ports (FIG. 7), “link break” is registered in the P2 (Port2) and P3 (Port3) fields. The In the entry S5 of the PS table, the “loop” state is set in the P1 field corresponding to the first port which is the reception port.
  • the following entry S5 is registered in the FID table (FIG. 5) of the 17 sensor relay nodes 103. That is, in the entry S5 of the FID table, the source address of the trunk relay node 102 extracted from the SRC ID field (FIG. 3A) of the received frame is registered in the SRC ID field. Further, in entry S5 of the FID table, the FID: 0x0001 extracted from the FID field of the received frame (FIG. 3A) is registered in the FID field. In the entry S5 of the FID table, No. is set in the RxPort field. The port number Port1 corresponding to the first port which is the reception port in the 17 sensor relay nodes 103 is registered.
  • entry S6 entry S4 in which the same SRC ID and FID as the received frame of the FID table are registered, a loop is detected in the second port, so the state of the P2 (Port2) field is in the “sending” state To "loop port” status. Further, since the third port is a new output port, the state of the P3 (Port3) field is updated from the “untransmitted” state to the “sending” state.
  • each sensor relay node 103 basically selects the unused port (or old port) sequentially while detecting the link break or loop state. I will do it. As a result, a route from the core relay node 102 to the target sensor relay node 103 is autonomously determined.
  • a frame transmitted from the core relay node 102 toward the same target sensor relay node 103 is transferred along the determined same route. It will be done.
  • a DST ID corresponding to the same sensor relay node 103 is set, and a value sequentially incremented from 0x0001 is set as an FID that is a sequential number of transmission (FIG. 3A).
  • Each sensor relay node 103 that has received this frame detects that an entry corresponding to the DST ID set in the DST ID field of the received frame exists in the PS table (FIG. 4).
  • the sensor relay node 103 outputs the received frame to the port corresponding to the field in which the “use state” is set among the P1, P2, and P3 fields of the entry of the PS table.
  • a new entry is generated in the FID table (FIG. 5) for each SRC ID and FID set in the received frame, and the loop monitoring control described above is performed.
  • the determined same route is used in the communication from the core relay node 102 to the target sensor relay node 103.
  • the hop number of the route indicated by the broken line in FIG. 2 finally determined is 18, which is considered to be the optimum hop.
  • the path is considerably redundant.
  • No. 2 in FIG. In the sensor relay node 103 of No. 5, the third port is selected as the output port instead of the second port. It is ideal to relay to the six sensor relay nodes 103, but such a control cannot be performed in the usual routing method.
  • a weight number is used as information corresponding to the number of relays or the number of hops from a node device serving as a reference for each sensor relay node 103 (in this embodiment, the core relay node 102 which is a gateway). (Hereinafter referred to as “WaitNo.”) And routing is performed using this to solve the problem of redundant routes.
  • FIG. 10 is a block diagram of the sensor relay node 103 in the present embodiment.
  • the wired ad hoc network port 1016 of a plurality of P1 to Pn (for example, three ports of P1, P2, and P3) is an Ethernet frame that encapsulates an ad hoc frame transmitted / received to / from another sensor relay node 103 or the core relay node 102. Data is terminated and transmission / reception frames are encoded or decoded.
  • the wired ad hoc network port 1017 includes a buffer memory that temporarily holds a transmission frame.
  • the term “port” or “reception port” simply means the wired ad hoc network port 1016 according to the present embodiment.
  • the general-purpose port 1017 is a port that terminates a LAN (local area network), for example.
  • the ad hoc routing control device 1001 is configured as, for example, an FPGA (Field Programmable Gate Array).
  • Reference numeral 1001 denotes a reception frame control unit 1010, a transmission frame control unit 1011, a routing control unit 1003 (including a WaitNo. Control unit 1004), a PS table 1005, an FID table 1006, a frame processing unit 1009, a CPU interface 1007 (register 1008).
  • the routing control unit 1003 waits for WaitNo. Functions as a weight number control unit for controlling the WaitNo. It also has a function as a wait number transmission unit for transferring a control frame including the message to the adjacent node device.
  • the reception frame control unit 1010 in the ad hoc routing control device 1001 executes processing for receiving frame data received at the wired ad hoc network port 1016.
  • the sensor control information extracted from the received frame by the received frame control unit 1010 is held in the register 1008 in the CPU interface 1007, and then the CPU The data is transferred from the interface 1007 to a CPU (Central Processing Unit) 1002.
  • a CPU Central Processing Unit
  • the frame data received by the reception frame control unit 1010 is delivered to the routing control unit 1003.
  • the routing control unit 1003 selects a transmission-side port for the frame data received by the reception frame control unit 1010 and delivers it to the transmission frame control unit 1011. At this time, the routing control unit 1003 displays the port status on the PS table 1005, the FID on the FID table 1006, and the WaitNo. WaitNo. Managed by the control unit 1004. Based on the above, routing is performed on the received frame and an output port is selected.
  • the control unit 1004 transmits the WaitNo. And WaitNo. Of the adjacent sensor relay node 103 connected to each port of the own sensor relay node 103. Determine and hold.
  • the frame processing unit 1009 delivers the frame that the routing control unit 1003 has received from the reception frame control unit 1010 and executed the routing process to the transmission frame control unit 1011. At this time, the frame processing unit 1009 determines the WaitNo. In the frame as necessary based on the routing processing result in the routing control unit 1003. Rewrite. The frame processing unit 1009 generates a transmission frame based on the sensor information delivered from the CPU interface 1007 and delivers it to the transmission frame control unit 1011.
  • the transmission frame control unit 1011 outputs and transmits the frame delivered from the frame processing unit 1009 to the wired ad hoc network port 1016 designated by the routing control unit 1003.
  • the CPU 1002 controls sensor information of its own node, and includes an FPGA interface 1013, a DI / DO interface 1014, and a sensor interface 1015.
  • the FPGA interface 1013 transmits and receives sensor information and sensor control information to and from the CPU interface 1007 in the ad hoc routing control device 1001.
  • Each sensor connection port 1019 to which a plurality of sensor devices are connected is connected to the sensor interface 1015 to receive or transmit sensor information and sensor control information.
  • a temperature sensor, a wind speed sensor, an illuminance sensor, a human sensor, a power meter, an acceleration sensor, a strain sensor, a surveillance camera, and the like are connected.
  • the sensor interface 1015 is also connected to an EEPROM (Electrically Erasable and Programmable Read Only Memory) 1018 for storing various sensor information and sensor control information.
  • the DI / DO interface 1014 is connected to a DI / DO terminal that is a data input / data output terminal.
  • Various sensor information detected by the sensor device connected to the sensor connection port 1019 is sent from the sensor connection port 1019 to the sensor interface 1015 in the CPU 1002.
  • the sensor information is processed by the CPU 1002 and then transmitted from the FPGA interface 1013 to the CPU interface 1007 in the ad hoc routing control device 1001.
  • the CPU interface 1007 outputs the received sensor information to the frame processing unit 1009 while performing storage or the like in the register 1008 as needed.
  • sensor control information received by the reception frame control unit 1010 in the ad hoc routing control device 1001 is transmitted to the FPGA interface 1013 in the CPU 1002 while being stored in the register 1008 in the CPU interface 1007.
  • the CPU 1002 controls the designated sensor device via the sensor interface 1015 and the sensor connection port 1019 based on the sensor control information received by the FPGA interface 1013.
  • WaitNo. which is routing information corresponding to the number of hops from the trunk relay node 102 or the number of relays.
  • a routing method that enables detection and construction of an optimized route is provided.
  • this WaitNo is provided.
  • FIG. 11 shows WaitNo. In the routing control unit 1003 of FIG. WaitNo. Managed by the control unit 1004. It is a data block diagram of a table. WaitNo. Of each sensor relay node 103 shown in FIG.
  • the control unit 1004 receives a WaitNo. As a table, WaitNo. Own node WaitNo. Hold. WaitNo.
  • the control unit 1004 receives a WaitNo. As a table, the own node WaitNo.
  • the master port indicating the port number to which the sensor relay node 103 that has determined is connected is held. WaitNo.
  • the control unit 1004 receives a WaitNo. As a table, the connection destination weight number P1 WaitNo. , The weight number P2 WaitNo. , Port P3 connection destination weight number P3 WaitNo. Hold.
  • WaitNo. Is the WaitNo. Notified from the adjacent sensor relay node 103 connected to each of the ports P1, P2, and P3 of the wired ad hoc network port 1016 in FIG. It is. That is, it has a meaning as a weight number corresponding to the communication port. Furthermore, WaitNo.
  • the control unit 1004 receives a WaitNo. As a table, P1 WaitNo. , P2 WaitNo. , P3WaitNo. Each WaitNo. Each timer value corresponding to is held. These timer values are set in order to monitor whether or not each of the ports P1, P2, and P3 can periodically receive the synchronization request frame or the health frame (step S3802 in FIG. 38 described later).
  • FIG. 12 is a data structure diagram of a frame in the routing method of this embodiment.
  • the same reference numerals are assigned to the same data components as those in the frame data configuration in the normally considered routing method shown in FIG.
  • FIG. 12C shows the data structure of the synchronization request frame used in this embodiment.
  • (D) of FIG. 12 shows data of a synchronization request response frame returned from the sensor relay node 103 in response to the synchronization request frame and data of a local node state notification frame transmitted by each sensor relay node 103 to notify the state of the local node.
  • the configuration is shown.
  • FIG. 12E is a diagram showing another embodiment of the normal frame of FIG. In other words, as the normal frame of FIG. 12, the destination Wait No. as a part of the DST ID (destination). As a part of another normal frame SRC ID (source). May be allocated. *
  • FIGS. 3 (a) and 3 (b) are different from the data structure of FIGS. 3 (a) and 3 (b) in addition to the ad hoc header 302-1 and data 302-2 as part of the MAC data 302.
  • 2-byte WaitNo. A field 1201 is provided and transmitted.
  • the synchronization request response frame of FIG. A field 1201 is provided.
  • the synchronization request response frame in FIG. 12D In the normal frame in FIG. 12A, the synchronization request response frame in FIG. 12D, and the own node state notification frame, WaitNo. In the field 1201, the destination WaitNo. Is set and transmitted.
  • the source WaitNo. Is set and transmitted.
  • the health frame in FIG. 12B and the synchronization request frame in FIG. 12C are frames for performing broadcast (broadcast), and the DST ID field has an all “0” value indicating broadcast (broadcast). Is set.
  • WaitNo instead of providing the field 1201, as shown in FIG. 12E, the DST ID field in the MAC header 301 is reduced from 6 bytes to 4 bytes, and the remaining 2 bytes are replaced with the destination WaitNo. 1202 may be assigned. Similarly, the SRC ID field in the MAC header 301 is reduced from 6 bytes to 4 bytes, and the remaining 2 bytes are replaced with the source WaitNo. 1202 may be assigned.
  • the value set in the KIND field in the ad hoc header 302-1 is WaitNo. It is determined whether the frame is a grant frame, and each sensor relay node 103 determines whether the WaitNo.
  • the update process can be executed. By adopting such a configuration, WaitNo.
  • the conventional frame as shown in FIG. 3A or FIG. It is an effective method for avoiding network congestion (reducing processing).
  • the routing control unit 1003 (FIG. 10) of each sensor relay node 103 executes the following routing processing according to the data structure of the table and the frame of FIG.
  • the routing control unit 1003 sets the WaitNo. Is received, the received WaitNo. To increment its own node WaitNo. And WaitNo. Illustrated in FIG. Hold on the table.
  • the sensor relay node group 100 of FIG. There can be a plurality of sensor relay nodes 103 having.
  • Each sensor relay node 103 transmits its frame WaitNo. Is also attached as information.
  • the sensor relay node 103 that has received the frame receives the WaitNo. And its own node WaitNo. And compare.
  • the own node WaitNo. Is the WaitNo. Is larger than the local node WaitNo. Is larger than WaitNo.
  • the frame is transmitted to the sensor relay node 103 having The own node WaitNo. Is larger than WaitNo. If there is no sensor relay node 103 having “”, the loop state is returned to the sensor relay node 103 of the reception source.
  • the own node WaitNo. Is the WaitNo. Is smaller than the local node WaitNo. Smaller than WaitNo.
  • the frame is transmitted to the sensor relay node 103 having The own node WaitNo. Smaller than WaitNo. If there is no sensor relay node 103 having “”, the loop state is returned to the sensor relay node 103 of the reception source.
  • WaitNo. are numbered by weighting with time synchronization information included in the frame.
  • WaitNo. The initial value of can be specified by the user.
  • WaitNo. Is transmitted in association with the periodic transmission of the synchronization request frame (FIG. 12C) or the periodic transmission of the health frame (FIG. 12B). If each sensor relay node 103 does not receive the synchronization request frame or the health frame within the set monitoring time, each sensor relay node 103 receives its own node WaitNo. Is returned to the initial value, and a synchronization request frame or a health frame from another port is followed.
  • FIG. 13 is a flowchart showing overall control at the time of frame reception in each sensor relay node 103. This flowchart is implemented as a processing function of the FPGA configured as the ad hoc routing control device 1001 of FIG. Alternatively, when the ad hoc routing control device 1001 is configured as a processor including a central processing unit and a memory, the central processing unit is implemented as an operation for executing a control program stored in the memory.
  • the ad hoc routing control device 1001 in FIG. 10 checks the value of the KIND field in the ad hoc header 302-1 of the received frame when detecting the frame reception by the received frame control unit 1010 (step S1301).
  • the value of the KIND field can take the value described in FIG.
  • the received frame is a synchronization request frame, a health frame, a deletion notification frame, or a frame addressed to the own node.
  • step S1302 If the received frame is a synchronization request frame, the determination in step S1302 is YES, and the routing control unit 1003 in FIG. Update processing is executed. Details of this processing will be described later with reference to the flowchart of FIG. 14 and explanatory diagrams of FIGS.
  • step S1302 If the received frame is a health frame, the determination in step S1302 is NO and the determination in S1303 is YES. As a result, the routing control unit 1003 in FIG. Update processing is executed. Details of this processing will be described later with reference to the flowchart of FIG. 33 and explanatory diagrams of FIGS.
  • the determinations in steps S1302, S1303, and S1304 are NO, and the determination in S1305 is YES.
  • normal frame reception processing is executed by the ad hoc routing control device 1001 in FIG.
  • the sensor control information extracted from the frame data received by the reception frame control unit 1010 in the ad hoc routing control device 1001 in FIG. 10 is held in the register 1008 in the CPU interface 1007.
  • the CPU 1002 controls the designated sensor device via the sensor interface 1015 and the sensor connection port 1019 based on the sensor control information received by the FPGA interface 1013 and the like.
  • the routing process is executed by the routing control unit 1003 of FIG. Details of this processing will be described later with reference to a data configuration diagram of the FID table 1006 in FIG. 24, flowcharts in FIGS. 25 and 26, and explanatory diagrams in FIGS.
  • the ad hoc routing control device 1001 When the reception frame control unit 1010 in FIG. 10 detects reception of frames from a plurality of wired ad hoc network ports 1016, the ad hoc routing control device 1001 performs the frame reception process shown in FIG. Process in order.
  • Each WaitNo. Executed when each determination in steps S1302, S1303, and S1304 in FIG. The update process may be simultaneously implemented in the routing control unit 1003 of FIG. 10, or any one or more WaitNo. An update process may be selectively implemented.
  • FIG. 14 shows WaitNo.
  • the synchronization request executed when it is determined in step S1302 in FIG. 12 that the received frame is a synchronization request frame.
  • This flowchart is implemented as a processing function of the FPGA configured as the ad hoc routing control device 1001 of FIG. 10 as in the case of FIG.
  • the central processing unit is implemented as an operation for executing a control program stored in the memory.
  • the processing of this flowchart will be described.
  • WaitNo. (1201 in FIG. 12C) is updated (step S1401).
  • the routing control unit 1003 displays the WaitNo. In the table, WaitNo.
  • the timer value corresponding to the updated port is restarted (step S1402).
  • the corresponding port is monitored whether or not a new synchronization request frame is received for the time corresponding to the newly set timer value (step S3802 in FIG. 38 described later). .
  • the routing control unit 1003 determines whether or not the received frame is a frame that has already been received (step S1403). In this determination, as in the conventional case, the routing control unit 1003 has an entry having the same SRC ID and FID as the SRC ID and FID set in the received frame (FIG. 12C). It is performed as a process for determining whether or not it is registered.
  • the configuration of the FID table 1006 in the routing method of this embodiment will be described later (FIG. 24), but the configuration including the SRC ID and FID is the same as the conventional one.
  • step S1403 determines whether the received frame is already received and the determination in step S1403 is YES. If the received frame is already received and the determination in step S1403 is YES, the routing control unit 1003 discards the received frame because it is not necessary to process the same synchronization request frame redundantly (step S1411). Then, the routing control unit 1003 waits for the WaitNo. The update process is ended, and the process returns to the frame reception detection process by the ad hoc routing control device 1001.
  • step S1403 determines that the source WaitNo. It is determined whether or not the value (1201 in FIG. 12C) is equal to the initial value (0xFF) (step S1404).
  • step S1404 determines that the WaitNo.
  • the own node WaitNo. (FIG. 11) is updated to the initial value (0xFF) (step S1405). Thereafter, the routing control unit 1003 proceeds to the process of step S1409 described later.
  • step S1404 determines whether or not the value is larger than 1 plus (step S1406).
  • step S1411 the routing control unit 1003 proceeds to the process in step S1411 and discards the synchronization request frame as it is.
  • This state corresponds to, for example, a case where the synchronization request frame transmitted by the own node is incremented by 1 at the next sensor relay node 103 and returned to the own node again. In such a case, the own node does not need to process the synchronization request frame. The table is discarded without being updated.
  • step S1406 determines whether the routing control unit 1003 is a Local node WaitNo. Of the transmission source WaitNo. If greater than +1 and the determination in step S1406 is YES, the routing control unit 1003 executes the following process. That is, the routing control unit 1003 waits for WaitNo. The own node WaitNo. The value of (FIG. 11) is set to the transmission source WaitNo. Is updated to a value incremented by 1 (step S1407).
  • the routing control unit 1003 is configured with WaitNo.
  • the value of the master port (FIG. 11) in the table is updated to the port number of the wired ad hoc network port 1016 from which the received frame has been received (step S1408).
  • step S1408 or S1405 WaitNo.
  • the frame processing unit 1009 causes the transmission source WaitNo. The value of WaitNo. The own node WaitNo. Replace with the value of. Then, the frame processing unit 1009 controls the transmission frame control unit 1011 to transmit the synchronization request frame from all the wired ad hoc network ports 1016 (step S1409).
  • the frame processing unit 1009 controls the transmission frame control unit 1011 by the control from the routing control unit 1003 to transmit the synchronization request response frame to the backbone relay node 102 (step S1410).
  • the synchronization request response frame has a data format shown in FIG.
  • DST In the ID the address of the core relay node 102 is set.
  • the address of the own node is set in the SRC ID.
  • the transmission source WaitNo. Is the destination WaitNo. 1201 is set.
  • the WaitNo. The own node WaitNo. Is a 2-byte sender WaitNo. Set as In the PS table 1005 of FIG.
  • the routing control unit 1003 sets “usage state” (FIG. 4) among the P1, P2, and P3 fields in the entry in which the DST ID of the trunk relay node 102 is set as the DST ID. Detects the field that is being used. Then, the routing control unit 1003 instructs the transmission frame control unit 1011 in FIG. 10 to output a synchronization request response frame to the wired ad hoc network port 1016 corresponding to the detected field.
  • the core relay node 102 in FIG. 1 receives the synchronization request response frame from each sensor relay node 103, and thus wait No. 1 of each sensor relay node 103.
  • the own node WaitNo. Can be grasped.
  • the basic relay node 102 stores the own node WaitNo. Of each sensor relay node 103 in a table (not shown). To manage.
  • the routing controller 1003 waits for the WaitNo.
  • the update process is ended, and the process returns to the frame reception detection process by the ad hoc routing control device 1001.
  • each sensor relay node 103 in FIG. 1 substantially has a WaitNo. Corresponding to the number of hops from the core relay node 102.
  • the value is the own node WaitNo. Set as
  • FIG. 23 show the WaitNo. It is explanatory drawing which shows the specific example of an update process. Hereinafter, using these explanatory diagrams, WaitNo. A specific process of the update process will be described.
  • the core relay node 102 transmits the source WaitNo.
  • This synchronization request frame has a data format shown in FIG. All “0” is set in the DST ID, and the address of the core relay node 102 is set in the SRC ID.
  • a value 0x0006 indicating a synchronization request command (time synchronization command) is set (FIG. 3). Then, the transmission source WaitNo. Is set to the above value 0x00.
  • the WaitNo. Of the sensor relay node 103 with ID 1. WaitNo.
  • the control unit 1004 FIG. 10
  • the own node WaitNo. As the source WaitNo. Set in the synchronization request frame.
  • step S1401 in FIG. 14 is executed to receive the synchronization request frame.
  • the WaitNo. Of the sensor relay node 103 with ID 1.
  • the own node WaitNo. Set to the adjacent trunk relay node 102 in the direction in which the number of hops decreases. WaitNo. It can be grasped on the table.
  • a synchronization request response frame having (FIG. 12 (d)) is returned. This process is performed in step S1410 of FIG.
  • the source WaitNo. Transmitted from each port of the sensor relay node 103 with ID 1.
  • the control unit 1004 FIG. 10
  • step S1406 in FIG. 14 the determination in step S1406 in FIG. 14 is NO, and the synchronization request frame is discarded in step S1411.
  • step S1401 in FIG. 14 is executed when each synchronization request frame is received. Thereby, WaitNo. WaitNo. Of P1, P2 and P3 in the table (FIG. 11). Among these, WaitNo.
  • the WaitNo. is set to the sensor relay node 103 adjacent to the adjacent sensor relay node 103 in the increasing direction. WaitNo. Can be detected on the table.
  • Step S1401 in FIG. Is set to the adjacent sensor relay node 103 in the direction of decreasing WaitNo. WaitNo. Of the corresponding port in the table. Can be detected.
  • step S1401 in FIG. Of the own node WaitNo. Set in each sensor relay node 103 adjacent to each other in the increasing direction. WaitNo. WaitNo. Of the corresponding port in the table. Can be detected.
  • Step S1401 in FIG. Is set to the adjacent sensor relay node 103 in the direction of decreasing WaitNo. WaitNo. Of the corresponding port in the table. Can be detected.
  • step S1401 in FIG. Of the own node WaitNo. Set in each sensor relay node 103 adjacent to each other in the increasing direction. WaitNo. WaitNo. Of the corresponding port in the table. Can be detected.
  • Value 0x05 is newly set as the transmission source WaitNo.
  • the own node WaitNo. As the source WaitNo. Set in the synchronization request frame.
  • Step S1401 in FIG. Is set to the adjacent sensor relay node 103 in the direction of decreasing WaitNo. WaitNo. Of the corresponding port in the table. Get as.
  • step S1401 in FIG. Of the own node WaitNo. Set in each sensor relay node 103 adjacent to each other in the increasing direction. WaitNo. WaitNo. Of the corresponding port in the table. Can be grasped as.
  • Step S1401 in FIG. Is set to the adjacent sensor relay node 103 in the direction of decreasing WaitNo. WaitNo. Of the corresponding port in the table. Get as.
  • step S1401 in FIG. Of the own node WaitNo. Set in each sensor relay node 103 adjacent to each other in the increasing direction. WaitNo. WaitNo. Of the corresponding port in the table. Can be grasped as.
  • the WaitNo. In the table, the own node WaitNo. As the source WaitNo. Set in the synchronization request frame.
  • Step S1401 in FIG. Is set to the adjacent sensor relay node 103 in the direction of decreasing WaitNo. WaitNo. Of the corresponding port in the table. Get as.
  • step S1401 in FIG. Of the own node WaitNo. Set in each sensor relay node 103 adjacent to each other in the increasing direction. WaitNo. WaitNo. Of the corresponding port in the table. Can be detected.
  • the transmission source WaitNo. Transmitted from each port of the sensor relay node 103 with ID 20.
  • step S1401 of FIG. 14 is executed.
  • the transmission source WaitNo. The value (1201 in FIG. 12C) is incremented by +1.
  • the increased WaitNo. WaitNo. Shown in FIG. WaitNo.
  • the own node WaitNo. Set as Further, the increased WaitNo. Is transferred to the adjacent sensor relay node 103.
  • the WaitNo In the table (FIG. 11), the WaitNo. Corresponding to the shortest hop number from the trunk relay node 102 is substantially included. The value is the own node WaitNo. Set as
  • Step 1401 of FIG. 14 for each wired ad hoc network port 1016 of each sensor relay node 103, the own node WaitNo. Set in the adjacent sensor relay node 103 to which they are connected. Can be detected. Then, the adjacent node WaitNo. , The WaitNo. Of each sensor relay node 103. It is managed by a table (FIG. 11).
  • the routing process will be described. If the received frame is neither a synchronization request frame, a health frame, a deletion notification frame, nor a frame addressed to the own node, the determinations in steps S1302, S1303, S1304, and S1305 in FIG. 13 are NO. As a result, the routing process is executed by the routing control unit 1003 of FIG. This processing will be described with reference to the data configuration diagram of the FID table 1006 in FIG. 24, the flowcharts in FIGS. 25 and 26, and the explanatory diagrams in FIGS.
  • FIG. 24 is a data configuration diagram of the FID table 1006 (FIG. 10) in the routing method of the present embodiment.
  • the same numbers are assigned to the same data components as in the FID table in the normally considered routing method shown in FIG.
  • This Loop flag is a flag indicating that the destination address of the entry including the Loop flag does not exist at the connection destination of the own node.
  • this flag indicates the “ON” state, it indicates that the route to which this entry is the destination does not exist at the connection destination of the own node.
  • this flag indicates the “OFF” state, it indicates that there is a possibility that the route to which this entry is the destination exists at the connection destination of the own node.
  • the above-mentioned Loop flag is a WaitNo. In combination with the routing control according to, it is used to execute the routing process so that the route with the shortest hop count is selected.
  • step S1305 of FIG. 13 being NO, that is, the WaitNo. Granting is completed and the WaitNo. 5 is a flowchart showing a process of routing while avoiding a loop based on the above.
  • This flowchart is implemented as a processing function of the FPGA performed as the ad hoc routing control device 1001 of FIG. 10 as in the case of FIG.
  • the central processing unit is implemented as an operation for executing a control program stored in the memory.
  • this flowchart will be described.
  • the routing control unit 1003 extracts the SRC ID and FID from the received frame (FIG. 12 (a)). Then, the routing control unit 1003 searches the FID table 1006 (FIGS. 10 and 24) using the SRC ID and the FID. Accordingly, the routing control unit 1003 performs the above SRC on the FID table 1006. It is determined whether or not an entry whose ID and FID match is registered (step S2501).
  • the routing control unit 1003 searches the PS table 1005. More specifically, the routing control unit 1003 first extracts the DST ID from the received frame (FIG. 12 (a)). Then, the routing control unit 1003 searches the PS table 1005 (FIGS. 10 and 4) using the DST ID. Thereby, the routing control unit 1003 determines whether or not an entry with the same DST ID is registered on the PS table 1005 (step S2502).
  • the routing control unit 1003 executes the following processing. That is, the routing control unit 1003 extracts the SRC ID and FID from the received frame. Then, the routing control unit 1003 generates an entry including the SRC ID and FID on the FID table 1006. In addition, the routing control unit 1003 extracts the port number in which “use state” is registered from the P1, P2, and P3 fields from the corresponding entry on the PS table 1005. Then, the routing control unit 1003 sets the “transmission port” state in the field corresponding to the port number among the P1, P2, and P3 fields of the entry generated on the FID table 1006 (step S2512).
  • the routing control unit 1003 instructs the transmission frame control unit 1011 in FIG. 10 to transmit to the wired ad hoc network port 1016 corresponding to the port number.
  • the routing control unit 1003 delivers the received frame to the frame processing unit 1009 in FIG.
  • the frame processing unit 1009 controls the transmission frame control unit 1011 to output the received frame to the wired ad hoc network port 1016 (step S2513).
  • the routing control unit 1003 executes the following process. That is, the routing control unit 1003 inquires of the transmission frame control unit 1011 and determines whether there is a wired ad hoc network port 1016 that is not disconnected other than the port that received the received frame (step S2508). .
  • step S2508 determines that the routing control unit 1003 determines that the destination WaitNo. It is determined whether (1201 in FIG. 12A) is the initial value (0xFF) (step S2509).
  • the routing control unit 1003 executes the processing of the flowchart of FIG. This process will be described later.
  • the routing control unit 1003 determines that the WaitNo.
  • the routing processing that is normally considered is executed without executing the routing processing using the. That is, when there are a plurality of ports determined in step S2508, the routing control unit 1003 selects a young number (or a condition that unifies conditions with the old number) (step S2510).
  • the routing control unit 1003 first extracts the DST ID (FIG. 12A) from the received frame. Subsequently, an entry in which the DST ID is set is generated on the PS table 1005 of FIG.
  • the routing control unit 1003 sets “in use” in the field corresponding to one port selected in steps S2508 and S2510 among the P1, P2, and P3 fields of the entry (step S2511). Further, the routing control unit 1003 extracts the SRC ID and FID from the received frame. Then, the routing control unit 1003 generates an entry including the SRC ID and FID on the FID table 1006. Also, the routing control unit 1003 sets the “transmission port” state in the field corresponding to the selected port among the P1, P2, and P3 fields of the entry generated on the FID table 1006 (step S2512).
  • step S2508 If there is no port that is not disconnected and the determination in step S2508 is NO, the routing control unit 1003 sends the received frame back to the port where it was received (step S2514).
  • the routing control unit 1003 sets the “loop port” state in the field in the “transmission port” state among the P1, P2, and P3 fields in the corresponding entry on the FID table 1006 (step S2502). (FIG. 24).
  • the routing control unit 1003 extracts the DST ID (FIG. 12A) from the received frame.
  • the routing control unit 1003 searches the PS table 1005 for an entry in which the same DST ID as the DST ID is registered. Then, the routing control unit 1003 sets the “loop state” in the field that is “used” among the P1, P2, and P3 fields of the entry (step S2503) (FIG. 4).
  • the routing control unit 1003 searches for a corresponding entry on the PS table 1005, so that there is an unused port corresponding to a field in which “unused state” is set among the P1, P2, and P3 fields. It is determined whether or not (step S2504).
  • step S2504 If there is an unused port and the determination in step S2504 is YES, the routing control unit 1003 selects the unused port to perform transmission processing, and the steps S2509 to S2512 described above are performed as necessary. The process of the flowchart of 26 is performed.
  • the routing control unit 1003 executes the following control. That is, the routing control unit 1003 matches the SRC ID (FIG. 12A) of the received frame from the FID table 1006. The RxPort (reception port) (FIG. 24) of the entry having the ID is detected (step S2505). Then, the routing control unit 1003 transmits the received frame back to the extracted first reception port (step S2506).
  • FIG. 26 shows that when a new port is selected and the received frame is relayed including the case of the loop state, the transmission frame WaitNo.
  • FIG. 12 is a flowchart showing control when a value other than the initial value (0xFF) is set as (1201 in FIG. 12A).
  • the core relay node 102 sends a WaitNo. To each sensor relay node 103 as illustrated in FIG. 23 based on the flowchart of FIG.
  • the following control operation is executed. That is, when the basic relay node 102 transmits data to the target sensor relay node 103 in the sensor relay node group 100, the main relay node 102 is notified of the WaitNo. Recognize Then, the trunk relay node 102 sends the WaitNo. Is the destination WaitNo. (1201 in FIG. 12A), and a frame in which the address of the target sensor relay node 103 is set as the DST ID is generated and transmitted.
  • step S2509 in FIG. 25 is NO.
  • the control process of the flowchart of FIG. 26 is executed.
  • the routing processing algorithm in the flowchart of FIG. 26 is as follows.
  • the own node WaitNo. WaitNo. Select an unused port that is set to transmit the received frame. If there is no corresponding port, set the Loop flag in the FID table 1006 and return it to the receiving port.
  • the routing control unit 1003 transmits the destination WaitNo. WaitNo. WaitNo. The own node WaitNo. It is determined whether it is larger than (FIG. 11) (step S2601). This corresponds to the condition determination of (1) described above.
  • step S2601 determines that the WaitNo. WaitNo. Extract from the table (FIG. 11).
  • the routing control unit 1003 waits for a WaitNo. Has its own node WaitNo. It is determined whether it is larger than (step S2602).
  • step S2602 determines whether the determination in step S2602 is YES. If the determination in step S2602 is YES, the routing control unit 1003 executes the following control. That is, the routing control unit 1003 determines that its own node WaitNo. WaitNo. The above-described processing of steps S2510 to S2512 of FIG. 25 for performing the transmission processing by selecting the unused port for which is set is executed. If the determination in step S2602 is NO, the routing control unit 1003 determines whether the Loop flag in the FID table 1006 is “ON” (step S2605).
  • step S2605 If the Loop flag is “ON” and the determination in step S2605 is YES, the sensor relay node 103 to which the received frame is to be transmitted does not exist at the connection destination of the own node. For this reason, the routing control unit 1003 returns the received frame to the port where it is received (step S2606).
  • the routing control unit 1003 sets the Loop flag in the FID table 1006 to “ON” (step S2607). Thereafter, the routing control unit 1003 detects from the FID table 1006 the RxPort (reception port) (FIG. 24) of the entry having the SRC ID that matches the SRC ID of the received frame (FIG. 12 (a)) (step S2608). . The routing control unit 1003 returns the received frame to the extracted first reception port and transmits it (step S2608).
  • step S2601 determines whether the determination in step S2601 is NO.
  • the routing control unit 1003 transmits the destination WaitNo. WaitNo.
  • the own node WaitNo. It is determined whether it is smaller than (FIG. 11) (step S2603). This corresponds to the condition determination of (2) above.
  • step S2603 determines that the WaitNo. WaitNo. Extract from the table (FIG. 11).
  • the routing control unit 1003 waits for a WaitNo. Has its own node WaitNo. It is determined whether it is smaller than (step S2604).
  • step S2604 determines whether the determination in step S2604 is YES. That is, the routing control unit 1003 determines that its own node WaitNo. Young No. WaitNo.
  • the above-described processing of steps S2510 to S2512 of FIG. 25 for performing the transmission processing by selecting the unused port for which is set is executed.
  • step S2604 determines the Loop flag in the FID table 1006 and then executes the processing in steps S2605 to S2609 for returning the received frame to the corresponding reception port. To do.
  • step S2603 determines the Loop flag in the FID table 1006 and then executes the processes of steps S2605 to S2609 for returning the received frame to the corresponding reception port.
  • the routing control unit 1003 executes the following control by the routing process shown in the flowcharts of FIGS. 25 and 26 described above. In other words, the routing control unit 1003 transmits the destination WaitNo. And the WaitNo. The own node WaitNo. And WaitNo. Of the connection destination node for each port. Based on the above, it is possible to select a route with the shortest number of hops.
  • FIGS. 27 to 29 are explanatory diagrams of specific examples of the above-described routing processing.
  • the configuration shown in FIGS. 27 to 29 is based on the system configuration shown in FIG.
  • the core relay node 102 sets the WaitNo. (Step S1410 in FIG. 14).
  • 0x08 indicates WaitNo.
  • the WaitNo. It is.
  • the numbers in parentheses, [1], [2], [3], etc. displayed on the input part or output part of the communication line connected to each sensor relay node 103 indicate the port number in each sensor relay node 103.
  • the numbers 01 to 08 displayed alongside the respective port numbers indicate WaitNo. WaitNo. Of the port indicated by each port number registered in the table (FIG. 11).
  • Indicates. S1, S2, S3,... Indicate the processing order.
  • each sensor relay node 103 substantially has a Wait No. corresponding to the shortest hop count from the core relay node 102. Value is set. Then, by the routing processing shown in FIGS. 25 and 26, each sensor relay node 103 transmits the destination WaitNo. Corresponding to the target sensor relay node 103 set in the received frame. The following control is performed until the value is reached. That is, each sensor relay node 103 always has its own node WaitNo. WaitNo. It operates autonomously so as to output a received frame to a port to which an adjacent node having a connection is connected. This control is performed for each sensor relay node 103 by its own node WaitNo.
  • Each sensor relay node 103 can perform appropriate loop suppression processing while controlling the number of hops so as not to be redundant by using the Loop flag in the FID table 1006.
  • the route selection operation is repeated until an optimum route is determined as shown in FIGS.
  • the ID is stored as a registered entry.
  • the sensor relay node 103 searches for an entry on the PS table 1005 corresponding to the DST ID of the received frame. Then, it is only necessary to sequentially select the ports for which “usage state” is set in the entry and execute the output process of the received frame.
  • FIG. 30 is a diagram showing a state transition table of the PS table and the FID table in each sensor relay node 103 in the control operation from FIG. 27 to FIG. 29 described above.
  • entry S1 When “entry S1” is described, No. at the left end of the table of FIG. A line whose field value is “S1” is shown. The same applies to the entries S2 to S23.
  • the P1, P2, and P3 fields of the PS table exemplified in FIG. 4 and the FID table exemplified in FIG. 23 are represented as “Port 1”, “Port 2”, and “Port 3” in FIG.
  • each sensor relay node 103 with ID 1, 5, 13, “unused” is registered in the P1 (Port1) and P3 (Port3) fields of the entries S1, S2, S4 of the PS table.
  • the In the sensor relay node 103 with ID 9, “unused” is registered in the P1 (Port1) field of the entry S3 of the PS table, and other nodes are connected to the P3 (Port3) field. Since there is no link, “link break” is registered.
  • each entry S1 to S4 of the FID table the port number Port1 corresponding to the first port which is the reception port in each sensor relay node 103 is registered in the RxPort field.
  • “in transmission” is registered in the P2 (Port2) field corresponding to the second port which is the output port in each sensor relay node 103.
  • “unsent” is registered in the P1 (Port1) and P3 (Port3) fields of the entries S1, S2, S4 of the FID table.
  • the contents of the PS table 1005 and the FID table 1006 are updated in the same manner as described above. As understood from FIG. 30, there is a broken link port or the old number WaitNo. In the sensor relay node 103 that cannot be transferred to the target sensor relay node 103 because there is no port, the Loop flag of the FID table 1006 is set to “ON”. As a result, a loop state is avoided, and selection of a route having a redundant hop number is also avoided.
  • the own node WaitNo. 0x04.
  • the address of the own node is different from the DST ID of the received frame. Therefore, after the determination in step S1305 in FIG. 13 is NO, the received frame is returned to the reception port in steps S2601 ⁇ S2603 ⁇ S2605 to S2609 in FIG.
  • the number of WaitNo since data communication between the core relay node 102 and the sensor relay node 103 is mainly executed, the number of WaitNo.
  • the transmission to the node having is the transmission to the core relay node 102.
  • each sensor relay node 103 with ID 12, 8, 4, 3, 2, 1. That is, the WaitNo.
  • the destination frame WaitNo. Is smaller.
  • each sensor relay node 103 has its own node WaitNo. The younger WaitNo.
  • the received frame is output to the port where is set. This is performed under the control of S2601 ⁇ S2603 ⁇ S2604 ⁇ S2510 ⁇ S2511 ⁇ S2512 ⁇ S2513 in FIG.
  • FIG. 33 shows WaitNo. Based on health information executed when it is determined in step S1303 in FIG. 12 that the received frame is a health frame. It is a flowchart which shows an update process.
  • the routing control unit 1003 displays the WaitNo. In the table, WaitNo.
  • the timer value corresponding to the updated port is restarted (step S3302). As a result, whether or not a new health frame is received for the time corresponding to the newly set timer value is monitored at the corresponding port (step S3802 in FIG. 38 described later).
  • the routing control unit 1003 transmits the source WaitNo. It is determined whether the value (1201 in FIG. 12B) is equal to the initial value (0xFF) (step S3303).
  • step S3303 The sender WaitNo. If the value is not equal to the initial value and the determination in step S3303 is NO, the routing control unit 1003 executes the following process. That is, the routing control unit 1003 waits for WaitNo. The own node WaitNo. Is the source WaitNo. In the received frame. It is determined whether or not the value is larger than 1 plus (step S3304).
  • step S3304 the routing control unit 1003 ignores the received frame and directly uses the WaitNo. The update process ends. Then, the process returns to the frame reception detection process by the ad hoc routing control device 1001.
  • step S3304 the routing control unit 1003 executes the following processing. That is, the routing control unit 1003 waits for WaitNo. The own node WaitNo. The value of (FIG. 11) is set to the transmission source WaitNo. Is updated to a value incremented by 1 (step S3305).
  • the routing control unit 1003 is configured with WaitNo.
  • the value of the master port (FIG. 11) in the table is updated to the port number of the wired ad hoc network port 1016 from which the received frame is received (step S3306).
  • the frame processing unit 1009 causes the transmission source WaitNo. The value of WaitNo. The own node WaitNo. Set to the value of. Then, the frame processing unit 1009 controls the transmission frame control unit 1011 to transmit the health frame from all the wired ad hoc network ports 1016 (step S3307).
  • the frame processing unit 1009 controls the transmission frame control unit 1011 by the control from the routing control unit 1003 to transmit the own node state notification frame to the trunk relay node 102 (step S3308).
  • the own node state notification frame has a data format shown in FIG.
  • the address of the core relay node 102 is set in the DST ID.
  • the SRC ID the address of the own node is set.
  • the transmission source WaitNo. Is the destination WaitNo. 1201 is set.
  • the WaitNo. The own node WaitNo. Is a 2-byte sender WaitNo. Set as In the PS table 1005 of FIG.
  • the routing control unit 1003 sets “usage state” (FIG. 4) among the P1, P2, and P3 fields in the entry in which the DST ID of the trunk relay node 102 is set as the DST ID. Detects the field that is being used. Then, the routing control unit 1003 instructs the transmission frame control unit 1011 in FIG. 10 to output the own node state notification frame to the wired ad hoc network port 1016 corresponding to the detected field.
  • the core relay node 102 in FIG. 1 receives its own node state notification frame from each sensor relay node 103, and thus wait No. 1 of each sensor relay node 103. The own node WaitNo. Can be detected.
  • the basic relay node 102 stores the own node WaitNo. Of each sensor relay node 103 in a table (not shown). To manage.
  • routing control unit 1003 waits for the WaitNo.
  • the update process is ended, and the process returns to the frame reception detection process by the ad hoc routing control device 1001.
  • each sensor relay node 103 in FIG. 1 substantially has a WaitNo. Corresponding to the number of hops from the core relay node 102.
  • the value is the own node WaitNo. Set as
  • FIGS. 34 to 37 show the WaitNo. It is explanatory drawing which shows the specific example of an update process. Hereinafter, using these explanatory diagrams, WaitNo. A specific process of the update process will be described.
  • the configurations shown in FIGS. 34 to 37 are based on the system configuration shown in FIG.
  • each sensor relay node 103 transmits the source WaitNo.
  • the core relay node 102 transmits the source WaitNo.
  • the state transitions S1 and S2 are the same as in FIG.
  • the health frame is periodically transmitted from each sensor relay node 103 toward the adjacent node.
  • To the sensor relay nodes 103 with ID 2, 3 from all the ports of its own node.
  • state transitions S1, S2, and S4 are the same as those in FIGS.
  • a health frame in which 0x02 is set is transmitted.
  • the own node WaitNo. From 0xFF to the transmission source WaitNo. 0 is changed to 0x03 by adding 1 to 0x02.
  • a health frame in which 0x03 is set is transmitted.
  • the periodic transmission of the health frame causes each sensor relay node 103 to wait No. 1 corresponding to the shortest hop count from the core relay node 102. Is set. Next, when the line disconnection occurs in the ad hoc network, the WaitNo. The initialization and reconstruction process will be described below.
  • FIG. 38 is a flowchart showing the operation of the sensor relay node 103 when line disconnection is detected. Hereinafter, the processing of this flowchart will be described.
  • the routing control unit 1003 repeatedly executes steps S3801 and S3802 as monitoring processing.
  • the routing control unit 1003 in the ad hoc routing control device 1001 determines whether or not a physical level failure has been detected in connection with an adjacent node via each wired ad hoc network port 1016 in FIG. 10 (step S3801).
  • the routing control unit 1003 determines a timer timeout indicating whether a synchronization request frame or a health frame is periodically received (step S3802). More specifically, for example, the routing control unit 1003 determines that the WaitNo. WaitNo. This is performed as an operation for monitoring the timer value for each port on the table.
  • step S3802 If the timer timeout for periodic frame reception has not occurred and the determination in step S3802 is NO, the routing control unit 1003 repeatedly executes the determination in step S3801 and the determination in S3802.
  • the routing control unit 1003 executes the following line disconnection processing.
  • the routing control unit 1003 transmits a deletion notification frame to the backbone relay node 102 (step S3803).
  • the trunk relay node 102 can recognize the occurrence of a line break at the sensor relay node 103.
  • the routing control unit 1003 sets WaitNo. In the table, the own node WaitNo. Of the adjacent node connected to any other port other than the reception port. It is determined whether it is larger (step S3804).
  • step S3804 the routing control unit 1003 executes the following operation. That is, the routing control unit 1003 first waits for the WaitNo. The own node WaitNo. Is updated to the initial value (0xFF) (step S3807). Next, the routing control unit 1003 waits for WaitNo. The master port on the table is updated to the initial value (unused) (step S3808). Thereafter, the process proceeds to step S3809.
  • the routing control unit 1003 executes the following operation. That is, the routing control unit 1003 first sets the young WaitNo. WaitNo. +1 is added, and the WaitNo. The own node WaitNo. Is updated (step S3805). Next, the routing control unit 1003 waits for WaitNo. In the table, the master port is assigned to the young WaitNo. The receiving port number is updated (step S3806). Thereafter, the process proceeds to step S3809.
  • the routing control unit 1003 executes the following control. That is, the routing control unit 1003 determines the WaitNo. After the table state changes, it is determined whether a health frame is transmitted (step S3809). If the health frame has not been transmitted, the frame processing unit 1009 causes the transmission frame control unit 1011 to transmit the health frame from all the wired ad hoc network ports 1016 in accordance with an instruction from the routing control unit 1003 (step S3810).
  • the frame processing unit 1009 controls the transmission frame control unit 1011 to transmit its own node state notification frame to the backbone relay node 102 (step S3811).
  • This own node state notification frame includes a transmission source WaitNo. WaitNo. The own node WaitNo. Updated in the table. Is set (FIG. 12D).
  • the core relay node 102 determines that its own node WaitNo. You can know that has been updated.
  • the routing control unit 1003 determines whether or not all health frames have been received from adjacent nodes (step S3812). If the determination in step S3812 is NO, the routing control unit 1003 waits for the reception of the health frame from the adjacent sensor relay node 103, executes the processing from step S3804 to S3812 again, and updates the state of the own node ( Step S3813).
  • step S3812 If the determination in step S3812 is YES, the routing control unit 1003 returns to the monitoring process in steps S3801 and S3802.
  • the sensor relay node 103 causes its own node WaitNo. Can be updated autonomously.
  • FIG. 39 shows the WaitNo. In the update process (FIG. 33), the WaitNo. WaitNo. Based on the health information at the time of the occurrence of the line disconnection, which is executed when the health frame is received. It is a flowchart which shows the initialization process. Hereinafter, the processing of this flowchart will be described.
  • Routing control unit 1003 is a WaitNo. In the table, the own node WaitNo. Of the adjacent node connected to any other port other than the reception port. It is determined whether it is larger (step S3901).
  • step S3901 the routing control unit 1003 executes the following operation. That is, the routing control unit 1003 first waits for the WaitNo. The own node WaitNo. Is updated to the initial value (0xFF) (step S3902). Next, the routing control unit 1003 waits for WaitNo. The master port on the table is updated to the initial value (unused) (step S3903). Thereafter, the process proceeds to step S3906.
  • step S3901 the routing control unit 1003 executes the following operation. That is, the routing control unit 1003 first sets the young WaitNo. WaitNo. +1 is added, and the WaitNo. The own node WaitNo. Is updated (step S3904). Next, the routing control unit 1003 waits for WaitNo. In the table, the master port is assigned to the young WaitNo. The receiving port number is updated (step S3905). Thereafter, the process proceeds to step S3906.
  • the routing control unit 1003 executes the following control. That is, according to the instruction from the routing control unit 1003, the frame processing unit 1009 causes the transmission frame control unit 1011 to transmit health frames from all the wired ad hoc network ports 1016 (step S3906).
  • the frame processing unit 1009 controls the transmission frame control unit 1011 to transmit its own node state notification frame to the backbone relay node 102 (step S3907).
  • This own node state notification frame includes a transmission source WaitNo. WaitNo. The own node WaitNo. Updated in the table. Is set (FIG. 12D).
  • the core relay node 102 determines that its own node WaitNo. You can know that has been updated.
  • the routing control unit 1003 when the routing control unit 1003 is notified of the occurrence of a line disconnection by a health frame from an adjacent node, the local node WaitNo. Can be updated autonomously.
  • FIG. 40 shows WaitNo.
  • movement flowchart which shows an initialization process.
  • This flowchart is also implemented as a processing function of the FPGA configured as the ad hoc routing control device 1001 of FIG.
  • the central processing unit is implemented as an operation for executing a control program stored in the memory.
  • the processing of this flowchart will be described.
  • the routing control unit 1003 determines whether or not the received deletion notification frame is a frame that has already been received (step S4001). In this determination, the routing control unit 1003 determines whether or not an entry having the same SRC ID and FID as the SRC ID and FID set in the received frame is registered in the FID table 1006 (FIG. 24) in FIG. This is performed as a determination process.
  • step S4001 determines whether the received frame is already received and the determination in step S4001 is YES. If the received frame is already received and the determination in step S4001 is YES, the routing control unit 1003 discards the received frame because it is not necessary to process the same deletion notification frame redundantly (step S4006). Then, the routing control unit 1003 waits for the WaitNo. The initialization process is ended, and the process returns to the frame reception detection process by the ad hoc routing control device 1001.
  • step S4001 If the determination in step S4001 is NO for the frame in which the received frame is received for the first time, the routing control unit 1003 first sets the WaitNo. The own node WaitNo. Is updated to the initial value (0xFF) (step S4002). Next, the routing control unit 1003 waits for WaitNo. The master port on the table is updated to the initial value (unused) (step S4003).
  • the routing control unit 1003 executes the following control. That is, according to the instruction from the routing control unit 1003, the frame processing unit 1009 causes the transmission frame control unit 1011 to transmit health frames from all the wired ad hoc network ports 1016 (step S4004).
  • the frame processing unit 1009 controls the transmission frame control unit 1011 to transmit its own node state notification frame to the backbone relay node 102 (step S4005).
  • This own node state notification frame includes a transmission source WaitNo. WaitNo. The own node WaitNo. Updated in the table. Is set (FIG. 12D).
  • the core relay node 102 determines that its own node WaitNo. You can know that has been updated.
  • the routing control unit 1003 receives the WaitNo.
  • the initialization process is ended, and the process returns to the frame reception detection process by the ad hoc routing control device 1001.
  • the routing control unit 1003 when the routing control unit 1003 is notified of the occurrence of a line disconnection by a health frame from an adjacent node, the local node WaitNo. Can be updated autonomously.
  • Example 1 is the same as the example shown in FIGS.
  • the own node WaitNo. Is initialized from 0x02 to 0xFF. This process is performed under the control of steps S3804 to S3807 in FIG.
  • each sensor relay node 103 monitors the failure detection of each port and the periodic reception of the health frame by repeating the processes of steps S3801 and S3802 in FIG. It is possible to prepare for the occurrence of a serious failure.
  • the own node WaitNo. Is initialized from 0x03 to 0xFF.
  • the sensor relay node 103 receives the initialized WaitNo. Source WaitNo.
  • each sensor relay node 103 receives the WaitNo.
  • the own node WaitNo. Is initialized to 0xFF.
  • the WaitNo. Even in the sensor relay node 103 having 0x05 or 0x06, the younger WaitNo. Is initialized, and the WaitNo. Is transmitted by the health frame. As a result, in the same manner as described above, the WaitNo. The own node WaitNo. Is initialized to 0xFF.
  • FIG. 47 shows that when the line is disconnected, the WaitNo. It is explanatory drawing of the example 2 which performs initialization of. This example 2 is the same as the system configuration of FIG. First, in FIG. 47, line disconnection occurs in state transition S1.
  • the sensor relay nodes 103 at both ends where the line break has occurred detect a line failure by, for example, step S3801 of FIG.
  • the sensor relay node 103 has its WaitNo.
  • the own node WaitNo. Is initialized to 0xFF.
  • This process is performed under the control of steps S3804 to S3807 in FIG.
  • each sensor relay node 103 is initialized with the WaitNo. Source WaitNo. Is sent to each adjacent sensor relay node 103.
  • the deletion notification frame may be transmitted as a control corresponding to the control in steps S3809 to S3810 in FIG.
  • each adjacent sensor relay node 103 receives the WaitNo.
  • the own node WaitNo. Is initialized to 0xFF.
  • These sensor relay nodes 103 are further set to the adjacent WaitNo.
  • a delete notification frame including is transmitted. This process is performed in step S4004 of FIG. Thereby, the WaitNo. Of each sensor relay node 103 is set for the entire sensor relay node group 100 depending on the conditions.
  • the own node WaitNo. Can be initialized autonomously.
  • FIG. 48 shows the WaitNo. Using the health information when the line is disconnected. It is explanatory drawing of Example 2 which performs reconstruction.
  • This example 2 is the same as the system configuration of FIG.
  • FIG. 49 shows the WaitNo. Using the synchronization request when the line is disconnected.
  • Example 2 which performs reconstruction.
  • This example 2 is the same as the system configuration of FIG. In the entire sensor relay node group 100 by the initialization process shown in FIG. Is initialized.
  • the trunk relay node 102 that has received the deletion notification frame or the self-node state notification frame in the state transition S1 transmits a broadcast frame such as a time synchronization request.
  • the sensor relay node 103 that has received the synchronization request frame executes the control process of the flowchart of FIG. In the table, the own node WaitNo. Can be rebuilt.
  • the WaitNo By using this and routing using this, it is possible to solve the problem that the route becomes redundant. More specifically, in this embodiment, WaitNo., Which is routing information corresponding to the number of hops from the core relay node 102. By using, a routing scheme that enables detection and construction of an optimized route is constructed. In addition, this WaitNo. Thus, by automatically controlling the addition / deletion of the sensor relay node 103 to / from the ad hoc network, a routing scheme is provided that enables the autonomous route to be determined quickly and with the minimum number of hops.
  • each sensor relay node 103 in the sensor relay node group 100 the transmission source WaitNo.
  • the value of is incremented by +1.
  • the increased WaitNo. Each sensor relay node 103 has its own node WaitNo. And the new WaitNo.
  • the synchronization request frame or the health frame having “” is transferred to the adjacent sensor relay node 103.
  • each sensor relay node 103 in FIG. 1 substantially has a WaitNo. Corresponding to the number of hops from the core relay node 102.
  • the value is set to the own node WaitNo. Can be set as
  • the WaitNo. In the update process, every time a synchronization request frame or a health frame is received, the WaitNo. WaitNo. Retained in the table. As a result, in both the direction in which the hop count decreases and the direction in which the hop count increases, the WaitNo. It is possible to determine the route of the shortest hop number based on this.
  • the sensor relay node 103 when a line disconnection occurs, matches its own node WaitNo. Can be updated autonomously. Further, when the routing control unit 1003 is notified of the occurrence of a line disconnection by a health frame from an adjacent node, the routing control unit 1003 adjusts its own node WaitNo. Can be updated autonomously. This makes it possible to automatically reconstruct the route when a line break occurs.
  • each sensor relay node 103 can monitor for a failure detection of each port and periodically receive a health frame to prepare for a new failure occurrence or the like. Even when the line disconnection is restored, the WaitNo. By executing the initial setting and the reconfiguration control, it is possible to reconstruct the route with the shortest hop count.
  • the configuration of FIG. 12 includes an ad hoc header 302-1, WaitNo., Etc. in an Ethernet frame composed of a MAC header 301, MAC data 302, and FCS 303. 1201 and an ad hoc frame composed of data 302-2 is set. That is, in this embodiment, a configuration is employed in which ad hoc frames are communicated under the Ethernet protocol.
  • the present invention is not limited to this frame configuration. That is, a frame configuration in which the sensor relay nodes 103 and the sensor relay node 103 and the core relay node directly communicate ad hoc frames based on the ad hoc communication protocol may be employed.
  • wait NO. Is assigned to be incremented from the core relay node toward the sensor relay node, but may be assigned to be decremented.
  • each sensor relay node selects the young wait number NO. Node instead of the old number wait number NO. Node.
  • the optimal route determined at the time of frame transmission from the basic relay node to the sensor relay node may be transmitted in reverse.
  • This embodiment is used for server room air-conditioning management, building security management, system, vibration check such as distortion / deflection of structures such as buildings and bridges, and construction of relay networks where wireless ad hoc cannot be operated. can do.

Abstract

 センサー中継ノード103において、ルーティング制御部1003は、WaitNo.を含む同期要求フレーム又はヘルスフレームを受信すると、WaitNo.をインクリメントして自ノードWaitNo.としてWaitNo.制御部1004に記憶する。ルーティング制御部1003は、自ノードWaitNo.を含むフレームをさらに隣接するノード装置に転送する。ルーティング制御部1003は、自ノード装置宛て以外の通信フレームを受信すると、受信フレーム中のWaitNo.を、自ノードWaitNo.および隣接ノードのWaitNo.と比較することにより、出力通信ポートを決定する。受信フレーム中のWaitNo.が自ノードWaitNo.より大きいときは、大きなWaitNo.の送信先に送信し、大きなWaitNo.のノード装置がない場合には、ループとして受信フレームを送信元に返送する。これにより、ループ回避ができる。

Description

ネットワークにおけるルーティング方法及びノード装置
 本発明は、有線アドホックルーティングプロトコルを用いたセンサーネットワークに係り、特にそのルーティング方法及びノード装置に関する。
 自律分散型ネットワークとして、アドホックネットワークが知られている。
 アドホックネットワークでは、大規模ネットワークが自律的に形成され、障害発生時にも通信が維持される。また、アドホックネットワークは、有線、無線を問わず、様々な通信メディアに適用可能である。
 アドホックネットワークは、例えばセンサーネットワークへ応用されている。有線式のセンサーネットワークでは、各ノード装置が有線で複数のノード装置に接続されており、有線によりデータ通信および電源の供給が行われる。有線式の利点として、センサーを土中、水中や構造物などへ埋め込むことが可能である点や、切断などの検出が可能である点が挙げられる。
 アドホックネットワークを構築するためには、最適な経路を選択するための技術、障害発生時の制御技術、などが必要となる。
 アドホックネットワークにおけるルーティング制御としては、従来、次のような技術が知られている。すなわち、アドホックネットワークの各通信ノードを構成するセンサーは、センサーノードとしての機能と中継ノードとしての機能を持つ。各ノードは隣接ノード情報、宛て先アドレス、送り元アドレス及びフレームシーケンス番号を基にルーティング処理を行う。フレームを受信したノードは、受信フレームと、自己が保持する宛て先テーブルの内容を比較し、受信ポートと異なる送信ポートを選択して送信する。このとき、送信で使用可能な通信ポートが複数ある場合には、番号の小さい順または大きい順などの条件により選択が行われる。
特開2002-368789号公報
 しかしながら、上記従来の方法でアドホックネットワークのルーティングを行うと、必ずしも最短のホップ数でルートを確定することができず、冗長なルートを確定することがあるという課題があった。
 そこで本発明の1つの側面では、ルート確定時に最短ルートを決定可能とすることを目的とする。
 態様の一例では、複数のノード装置を含むネットワークにおけるルーティング方法であって、前記ノード装置は、ウエイト番号を含む第1のフレームを受信すると、受信した前記第1のフレーム中のウエイト番号をインクリメントして自ウエイト番号として記憶し、前記ノード装置は、前記自ウエイト番号を含む第1のフレームを送出し、前記ノード装置は、前記ウエイト番号を含む第2のフレームを受信すると、前記第2のフレーム中のウエイト番号と前記自ウエイト番号を比較し、前記第2のフレーム中のウエイト番号が前記自ウエイト番号よりも大きければ、前記自ウエイト番号よりも大きなウエイト番号の送信先に前記第2のフレームを送出し、前記大きなウエイト番号の送信先がない場合にはループとして前記第2のフレームを送信元のノード装置に返送し、前記第2のフレーム中のウエイト番号が前記自ウエイト番号よりも小さければ、前記自ウエイト番号よりも小さなウエイト番号の送信先に前記第2のフレームを送出し、前記小さなウエイト番号の送信先がない場合にはループとして前記第2のフレームを送信元のノード装置に返送する、ことを特徴とするルーティング方法を提供する。
 アドホックネットワークにおいて、ループ回避をして、最短ルートを決定できるので送信時間を短縮できる。
アドホックネットワークのシステム構成図である。 経路とホップ数の関係を説明する図である。 通常考えられるルーティング方式におけるフレームのデータ構成図である。 PSテーブル(宛先テーブル)のデータ構成図である。 通常考えられるルーティング方式におけるFIDテーブルのデータ構成図である。 通常考えられるルーティング方式による経路決定例の説明図(その1)である。 通常考えられるルーティング方式による経路決定例の説明図(その2)である。 通常考えられるルーティング方式による経路決定例の説明図(その3)である。 通常考えられるルーティング方式による各センサー中継ノードの各テーブルの状態遷移表を示す図である。 本実施形態におけるセンサー中継ノード103の機能ブロック図である。 WaitNo.テーブルのデータ構成図である。 本実施形態のルーティング方式におけるフレームのデータ構成図である。 各センサー中継ノード103におけるフレーム受信時の全体制御を示すフローチャートである。 同期要求によるWaitNo.更新処理を示すフローチャートである。 同期要求によるWaitNo.更新処理の説明図(WaitNo.=0x01付与)である。 同期要求によるWaitNo.更新処理の説明図(WaitNo.=0x02付与)である。 同期要求によるWaitNo.更新処理の説明図(WaitNo.=0x03付与)である。 同期要求によるWaitNo.更新処理の説明図(WaitNo.=0x04付与)である。 同期要求によるWaitNo.更新処理の説明図(WaitNo.=0x05付与)である。 同期要求によるWaitNo.更新処理の説明図(WaitNo.=0x06付与)である。 同期要求によるWaitNo.更新処理の説明図(WaitNo.=0x07付与)である。 同期要求によるWaitNo.更新処理の説明図(WaitNo.=0x08付与)である。 同期要求によるWaitNo.更新処理の説明図(WaitNo.付与完了)である。 本実施形態のルーティング方式におけるFIDテーブルのデータ構成図である。 ルーティング処理を示すフローチャート(その1)である。 ルーティング処理を示すフローチャート(その2)である。 ルーティング処理の説明図(ループ制御)である。 ルーティング処理の説明図(やり直し送信)である。 ルーティング処理の説明図(ルートの確立)である。 本実施形態のルーティング方式による各センサー中継ノードの各テーブルの状態遷移表を示す図である。 ルーティング処理の説明図(中間のセンサーID=7へ送信)である。 ルーティング処理の説明図(基幹中継ノード102への送信)である。 ヘルス情報によるWaitNo.更新処理を示すフローチャートである。 ヘルス情報によるWaitNo.更新処理の説明図(WaitNo.=0x01付与)である。 ヘルス情報によるWaitNo.更新処理の説明図(WaitNo.=0x02付与)である。 ヘルス情報によるWaitNo.更新処理の説明図(WaitNo.=0x03付与)である。 ヘルス情報によるWaitNo.更新処理の説明図(WaitNo.確定状態)である。 回線断検出時のセンサー中継ノード103の動作を示すフローチャートである。 回線断発生時のヘルス情報によるWaitNo.初期化処理を示すフローチャートである。 回線断発生時の削除通知によるWaitNo.初期化処理を示すフローチャートである。 回線断時WaitNo.初期化処理の説明図その1(ヘルス情報利用による例1)である。 回線断時WaitNo.初期化処理の説明図その2(ヘルス情報利用による例1)である。 回線断時WaitNo.再構築処理の説明図その1(ヘルス情報利用による例1)である。 回線断時WaitNo.再構築処理の説明図その2(ヘルス情報利用による例1)である。 回線断時WaitNo.初期化処理の説明図その1(ヘルス情報利用による例2)である。 回線断時WaitNo.初期化処理の説明図その2(ヘルス情報利用による例2)である。 回線断時WaitNo.初期化処理の説明図(削除通知利用による例2)である。 回線断時WaitNo.再構築処理の説明図(ヘルス情報利用による例2)である。 回線断時WaitNo.再構築処理の説明図(同期要求利用による例2)である。
 以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。
 以下の説明では、まず、アドホックネットワークの構成と基本的なルーティング方式について説明し、その基本方式の課題について明らかにした上で、実施形態の具体的な内容について説明する。
 図1は、アドホックネットワークのシステム構成図である。
 センサー中継ノード群100は、ノード装置であるセンサー中継ノード103同士が直接または他のノードを経由して、相互に有線の通信回線により接続されるアドホックネットワークを構成する。
 アドホックネットワークが例えばサーバデータセンターの空調制御による省エネ管理を行なうための環境監視システムに適用される場合には、センサー中継ノード103は例えば、データセンター各所に設置される温度センサー、風速センサーなどである。また、アドホックネットワークが例えばビルの省エネ、セキュリティ管理を行なうための施設管理・制御システムに適用される場合には、センサー中継ノード103は例えば、部屋の状態を検知する照度センサー、温度センサー、人感センサーなどである。あるいは、アドホックネットワークが例えば電力会社における発電・配電の最適化管理を行なうための点検業務システムに適用される場合には、センサー中継ノード103は、例えば検針メーターである。さらには、アドホックネットワークが例えば橋梁なのでの老朽化に対する健全性確認を行なうための構造物モニタリングシステムに適用される場合には、センサー中継ノード103は例えば、構造物の状態を検知する加速度センサー、ひずみセンサー、監視カメラなどである。
 図1では、No.1からNo.20までの20台のセンサー中継ノード103が相互に接続された構成が示されている。センサー中継ノード103同士は、有線アドホックルーティングプロトコルの通信方式に従って自律的な通信を行う。
 1つのセンサー中継ノード103と他のセンサー中継ノード103がケーブルにより直接接続されている場合、2つのセンサー中継ノード103が「隣接している」という。また、1つのセンサー中継ノード103に隣接している他のセンサー中継ノード103を「隣接ノード」ということがある。なお、センサー中継ノード103自身のことを「自ノード」ということがある。
 基幹中継ノード102は、各センサー中継ノード103が収集したセンサー情報を、例えばLAN(ローカルエリアネットワーク)を介して接続される監視・制御サーバー101に中継するゲートウェイ装置として機能する。また、監視・制御サーバー101から各センサー中継ノード103又は自分自身に通知される各種制御情報を、各センサー中継ノード103又は自分自身に中継する。言い換えれば、センサー中継ノード103は、LANの通信プロトコルと有線アドホックルーティングプロトコルとの変換を行う機能を有する。
 監視・制御サーバー101は、各センサー中継ノード103が収集したセンサー情報を監視し、センサー情報を表示したりまたはセンサー情報の異常を検知して警報を表示したりする機能を有する。また、監視・制御サーバー101は、各センサー中継ノード103を制御する機能を有する。
 アドホックネットワークでは、有線接続された各センサー中継ノード103が収集したセンサー情報が、基幹中継ノード102を介して監視・制御サーバー101に収集されて集中的に監視または制御される。これにより、センサー情報の効率的な収集、監視を行なうことが可能となる。
 ここで、センサー中継ノード群100を構成するアドホックネットワークにおいては、センサー中継ノード103や通信回線における障害発生に備えるための技術や最適な通信を行うための技術が必要となる。このためには、監視・制御サーバー101の指示で基幹中継ノード102が目的のセンサー中継ノード103と通信するために、各センサー中継ノード103が通信の最適な経路を自律的に選択し、障害発生時に経路を自律的に変更し修復する経路制御が重要である。
 一般的に、基幹中継ノード102と目的のセンサー中継ノード103との間で最適な経路を決定するためには、通信データであるフレームが目的のセンサー中継ノード103から基幹中継ノード102まで(またはその逆に)転送される間に中継されるセンサー中継ノード103の数が最も少なくなるようにすればよい。フレームが目的の中継ノードに転送されるときのセンサー中継ノード103の中継数は、ホップ数と呼ばれる。ホップ数が少なければ、転送にかかる時間も少なくなるし、使用される通信回線のトラヒックも少なくなる。
 図2は、例えば目的のノードをNo.20のセンサー中継ノード103とした場合における、基幹中継ノード102からNo.20のセンサー中継ノード103までの経路とホップ数の関係を説明する図である。例えば、破線で示される経路が決定された場合、基幹中継ノード102から送信されたフレームは、基幹中継ノード102→No.1→No.5→No.9→No.13→No.14→No.18→No.19→No.15→No.11→No.10→No.6→No.2→No.3→No.4→No.8→No.12→No.16→No.20の順に転送され、ホップ数は18となる。したがって、破線で示される経路は冗長なホップ数による経路である。一方、実線で示される最短経路が決定された場合、基幹中継ノード102から送信されたフレームは、基幹中継ノード102→No.1→No.5→No.6→No.10→No.11→No.15→No.16→No.20の順に転送され、ホップ数は8となる。したがって、実線で示される経路は最適なホップ数による経路である。
 このように、最適な経路を決定するためには、いかにしてホップ数が少ない経路を選択するかということが重要である。なお、図2の各センサー中継ノード103に接続される通信ラインの入力部または出力部に表示される括弧付き数字、[1][2][3]及び(1)(2)(3)等は、各センサー中継ノード103におけるポート番号を示す。
 アドホックネットワークにおける経路決定のための基本的なルーティング方式としては、次のような方式を考えることができる。
 各センサー中継ノード103は、ネットワーク内に構成された全ノードの位置情報は持たない。各センサー中継ノード103は、隣接するセンサー中継ノード103の情報と、宛先アドレスと送信元アドレス、及びフレームシーケンス番号であるフレーム識別ID(FID:Frame IDentification)をもとに、各ポートの使用/未使用/ループ/未接続の4種類の状態を管理する。これにより、センサー中継ノード103は、ルーティング処理を実行する。
 通常考えられるルーティング方式では例えば、図3に示されるフレーム、図4に示されるPS(Port Status)テーブル(宛先テーブル)、図5に示されるFID(Frame ID)テーブル(ループ監視テーブル)等が用いられる。
 図1のセンサー中継ノード103同士、またはセンサー中継ノード103と基幹中継ノード102間を接続する有線の通信回線は、例えばイーサネットプロトコルによる物理回線として構成される。ここで、イーサネットは登録商標である。この場合、フレームのデータ構成として図3に示される構成が採用される。
 図3(a)および(b)に示されるように、通常フレームもヘルスフレームも、MACヘッダ301、MACデータ302、およびFCS(Frame Check Sequence)303とによって、イーサネットフレームが形成される。さらに、イーサネットフレームのMACデータ302の部分には、アドホックヘッダ302-1とデータ302-2が設定される。この2つのデータによって、アドホックフレームが形成される。すなわち、アドホックフレームがイーサネットフレームのMACデータ302の部分に設定される。このデータ構成により、従来からあるイーサネットプロトコルの物理回線によってセンサー中継ノード103間を相互接続することにより、このイーサネット回線を使ってアドホック通信のためのアドホックフレームを伝送することが可能となる。
 MACヘッダ301、アドホックヘッダ302-1、およびFCS303は、図3(a)の通常フレームと図3(b)のヘルスフレームとで同じデータ構成を有する。ここで、通常フレームとは、通常の通信データや制御データを伝送するためのフレームである。ヘルスフレームとは、図1の各センサー中継ノード103または基幹中継ノード102が、周囲のセンサー中継ノード103または基幹中継ノード102に対して、自身が正常動作していることを知らせるために一斉同報(ブロードキャスト)するフレームである。ヘルスフレームはDATA部分がオブジェクトID(7Byte)のみで構成される。DST
 ID=ALL“0”、SRC IDは自ノードオブジェクトIDとする。
 MACヘッダ301は、DST ID(DeSTination ID)フィールド、SRC ID(Source ID)フィールド、およびTYPEフィールドとから構成される。DST IDフィールドには、宛先のセンサー中継ノード103の宛先ノード番号に対応する6バイトのMAC(Media Access Control)アドレスが設定される。SRC IDフィールドには、送信元のセンサー中継ノード103の送信元ノード番号に対応する6バイトのMACアドレスが設定される。TYPEフィールドには、2バイトの上位プロトコル識別番号が設定され、現状では0x8847の値が設定される。なお、「0x」は、それに続く数値が16進数であることを示す。
 アドホックヘッダ302-1は、KINDフィールド、FIDフィールド、TTLフィールド、およびLengthフィールドとから構成される。KINDフィールドには、アドホックフレームの種別を表す2バイトのデータが設定される。KINDフィールドに設定される値として、0x0000は、IPv6フレームを示す。なお、この値は、本実施形態では使用されない。0x0001は、ヘルスフレームを示す。0x0002は、ヘルスフレームを要求するフレームであることを示すヘルスフレーム要求フレームを示す。0x0003は、経路を探索するためのフレームであることを示す経路探索フレームを示す。0x0004は、経路探索フレームの応答有りコマンドを示す。0x0006は、時刻同期コマンドを示す。このコマンドは、同報(ブロードキャスト)送信される。0x0104は、応答無しコマンドを示す。0x0105は、自立メッセージを表す。このメッセージは、DI通知である場合のみ、応答(ACK)がある。FID(Frame ID)フィールドには、例えばシーケンシャル番号である2バイトのフレーム識別IDが設定される。TTL(Time To Live)フィールドには、アドホックフレームがアドホックネットワークの中に存在することができる上限時間を示す2バイトのデータが設定される。このフィールド値は、アドホックフレームの送信元ノードにて設定され、目的ノードまでの経路上の全てのホップ上のセンサー中継ノード103(図1)によって減らされる。アドホックフレームがその目的ノードに到着する前にTTLフィールドの値がゼロになったならば、そのアドホックフレームは破棄される。このフィールドは、配達不能のアドホックフレームがアドホックネットワークを循環し続ける状況と最終的にはそのような不滅のフレームによるシステムの輻輳を回避することである。Lengthフィールドには、それに続くデータ302-2のデータ長を示す2バイトの値が設定される。
 データ302-2は、7バイトから1500バイトまでの可変データ長を有する。アドホックフレームがヘルスフレームである場合には、データ302-2には、送信元ノードである自ノードのMACアドレスであるオブジェクト(Object)IDのみが設定される。なお、アドホックヘッダ302-1のSRC IDフィールドには、自ノードのMACアドレスが設定され、DST IDフィールドには、同報(ブロードキャスト)を示すオール“0”値が設定される。
 FCS303は、MACヘッダ301およびMACデータ302の部分のデータの誤り検出および訂正をするための冗長符号である。
 図4は、通常考えられるルーティング方式において、図1の各センサー中継ノード103または基幹中継ノード102が管理するPSテーブル(宛先テーブル)のデータ構成図である。
 このテーブルには、自ノードが中継したフレームのDST ID(宛先ID)(図3)毎に、自ノードの各ポートの状態が格納される。すなわち、PSテーブルの各エントリは、DST IDフィールド、P1,P2,P3の各フィールド、およびタイマーフィールドとから構成される。
 DST IDフィールドには、自ノードが中継したフレームのMACヘッダ301内のDST IDフィールド(図3)に設定されていたMACアドレスである6バイトのDST ID(宛先ID)が設定される。
 P1,P2,P3の各フィールドには、自ノードの#1,#2,#3の3つの有線アドホックネットワークポートの各状態を示す2ビットのデータ設定される。この2ビットデータ値は、“00”であるときに未使用状態(状態“E”:Empty)を示し、“01”であるときに使用状態(状態“U”:Used)を示し、“10”であるときにループ状態(状態“L”:Loop)を示し、“11”であるときにリンク断状態(状態“R”:Reserve)を示す。
 タイマーフィールドには、それが含まれるDST IDのエントリーを保存する残り時間または経過時間を示す8ビットのデータが設定される。
 センサー中継ノード103が、受信したフレームを中継しようとするとき、このPSテーブル上で、受信したフレームのDST IDと同じDST IDを有するエントリを参照することにより、受信したフレームを送信するポートを選択する。
 図5は、通常考えられるルーティング方式において、図1の各センサー中継ノード103または基幹中継ノード102が管理するFIDテーブルのデータ構成図である。このテーブルは、ループ監視テーブルとして機能する。
 このテーブルには、自ノードが中継したフレームのSRC ID(送信元ID)(図3))毎に、自ノードの各ポートのループ状態が設定される。すなわち、FIDテーブルの各エントリは、SRC IDフィールド、FIDフィールド、RxPortフィールド、P1,P2,P3の各フィールド、およびタイマーフィールドとから構成される。
 SRC IDフィールドには、自ノードが中継したフレームのMACヘッダ301内のSRC IDフィールド(図3)に設定されていたMACアドレスである6バイトのSRC ID(送信元ID)が設定される。
 FIDフィールドには、2バイトのフレーム識別IDが設定される。FIDは、送信元の基幹中継ノード102またはセンサー中継ノード103が、送信するフレームに割り当てた、フレームを一意に識別する2バイトのフレーム識別IDである。FIDは、例えばシーケンシャル番号でもよい。
 RxPortフィールドには、それが含まれるエントリに対応するフレームが最初に受信された受信ポート(受信Port)を示す2ビットのデータが設定される。
 P1,P2,P3の各フィールドには、自ノードの1,2,3番目の3つの有線アドホックネットワークポートの各ポート状態を示す2ビットのデータ設定設定される。この2ビットデータ値は、“00”であるときに未送信ポート状態(状態“E”:Empty)を示し、“01”であるときに送信中ポート状態(状態“U”:Used)を示し、“10”であるときにループポート状態(状態“L”:Loop)を示す。“11”は予約状態(状態“R”:Reserve)値である。
 Pi(iは1,2,3のうちいずれか)に設定された「U」状態は、次の2つの条件が成立するときに発生する。
(1)自ノードが、1組のSRC IDおよびFIDが割り当てられたフレームを、かつて中継したことがある。
(2)その中継の際に、自ノード内での送信先ポートとしてPiに対応するi番目のポートが使われた。
 Pi(iは1,2,3のうちいずれか)に設定された「E」状態は、次のような意味である。すなわち、自ノードが1組のSRC IDおよびFIDが割り当てられたフレームをかつて中継したときの送信先ポートがi番目のポートでなければ、Piの状態は「E」である。
 Pi(iは1,2,3のうちいずれか)に設定された「L」状態は、次の2つの条件が成立するときに発生するループ状態である。
(1)自ノードが、1組のSRC IDおよびFIDが割り当てられたフレームを、かつてi番目のポートを送信先ポートとして中継したことがある。
(2)中継後に当該フレームが再度自ノードで受信された。なお、図4のPSテーブルにおいては、「U」状態と「E」状態は「送信可能である」つまり「送信先ポートとして選択可能である」という意味では共通である。しかし、FIDテーブルでは、「U」状態と「E」状態は次のように峻別される。すなわち、FIDテーブルにおける「U」状態は、仮に今後ループが検出されることがあれば、「送信不可」を意味する「L」状態に遷移させる対象を示している。それに対し、FIDテーブルにおける「E」状態は、仮に今後ループが検出されることがあっても、当該ループの検出の時点では依然として送信先ポートとして選択可能であることを示す。
 タイマーフィールドには、それが含まれるSRC IDのエントリーを保存する残り時間または経過時間を示す8ビットのデータが設定される。
 図3のフレーム構成と、図4のPSテーブルと、図5のFIDテーブルに基づいて通常考えられるルーティング方式について、以下に説明する。
 通常、フレームを受信したセンサー中継ノード103は、受信したフレームとPSテーブルの登録内容とを比較して、受信ポートとは異なるポートへ、受信したフレームを送信して中継する。このとき、フレームのMACヘッダ301に設定されているDST IDフィールド値に対応して、使用可能ポートすなわち「未使用状態」のポートが複数存在する場合には、若番もしくは老番の番号を有するポートから順に、送信ポートが決定される。
 通常考えられるルーティング方式による具体的な経路決定の動作について、図6から図8の経路決定例の説明図と、図9に示される各センサー中継ノード103の各ポートの状態遷移を示す表とに基づいて説明する。
 まず、図6において、基幹中継ノード102から送信されたフレームは、DST ID(宛先アドレス):192.163.1.20、SRC ID(送信元アドレス):192.163.1.64、FID:0x001を有する。破線は基幹中継ノード102からセンサー中継ノード103(No.20)への経路を示す。
 基幹中継ノード102から送信された上記フレームは、その基幹中継ノード102に接続されているNo.1のセンサー中継ノード103に転送される。No.1のセンサー中継ノード103は1番ポートで基幹中継ノード102に接続されている。このため、基幹中継ノード102から送信されたフレームは、No.1のセンサー中継ノード103において、1番ポートで受信される。No.1のセンサー中継ノード103は、1番の受信ポート以外で「未使用状態」のポートのうち若番の2番ポートに出力する(図中S1)。
 この結果、フレームは、No.1のセンサー中継ノード103の2番ポートに接続されているNo.5のセンサー中継ノード103の1番ポートで受信される。No.5のセンサー中継ノード103は、1番の受信ポート以外で「未使用状態」のポートのうち若番の2番ポートに出力する(図中S2)。
 この結果、フレームは、No.5のセンサー中継ノード103の2番ポートに接続されているNo.9のセンサー中継ノード103の1番ポートで受信される。No.9のセンサー中継ノード103は、1番の受信ポート以外で「未使用状態」のポートのうち若番の2番ポートに出力する(図中S3)。
 この結果、フレームは、No.9のセンサー中継ノード103の2番ポートに接続されているNo.13のセンサー中継ノード103の1番ポートで受信される。No.13のセンサー中継ノード103は、1番の受信ポート以外で「未使用状態」のポートのうち若番の2番ポートに出力する(図中S4)。
 上述のS1からS4の状態遷移において、No.1,5,9,13の各センサー中継ノード103は、フレームを受信したときに、以下の動作を実行する。すなわち、各センサー中継ノード103は、受信フレームに設定されているDST ID(図3(a))が設定されたエントリを生成する。また、そのエントリにおいて、P1,P2,P3のうち出力ポート番号に対応するフィールドの状態を「使用状態」とし、タイマーフィールドに所定のタイムアウト値を設定する(以上、図4)。また、S1からS4の状態遷移において、No.1,5,9,13の各センサー中継ノード103は、フレームを受信したときに、以下の動作を実行する。すなわち、各センサー中継ノード103は、受信フレームに設定されているSRC IDおよびFID(図3(a))と、RxPort=受信ポートの番号が設定されたエントリを生成する。また、そのエントリにおいて、P1,P2,P3のうち出力ポート番号に対応するフィールドの状態を「送信中ポート」状態とし、タイマーフィールドに所定のタイムアウト値を設定する(以上、図5)。そして、各センサー中継ノード103は、このFIDテーブルを用いて、戻りフレームの有無を監視する。すなわち、各センサー中継ノード103は、タイマーフィールドに設定されているタイムアウト時間内にフレームが戻ってきたポートおよび受信ポート自身に戻して送信する操作を行ったポートは、「ループポート」状態として、以後使用不可とする制御を行う。上述のS1からS4の状態遷移では、No.1,5,9,13のいずれのセンサー中継ノード103においても、「ループポート」状態となったポートは存在しない。
 次に、図7の状態に移行し、No.13のセンサー中継ノード103の2番ポートから送信されたフレームは、上記2番ポートに接続されているNo.17のセンサー中継ノード103の1番ポートで受信される。No.17のセンサー中継ノード103は、1番の受信ポート以外の2番および3番ポートはリンク断状態であることを認識する。この結果、No.17のセンサー中継ノード103は、PSテーブルに、受信フレームと同じDST IDが登録されたエントリを生成し、そのエントリ中の受信ポートである1番ポートに対応するP1フィールドに「ループ状態」を設定する。また、No.17のセンサー中継ノード103は、FIDテーブルに、受信フレームと同じSRC IDおよびFIDが登録されたエントリを生成し、そのエントリ中の受信ポートである1番ポートに対応するP1フィールドに「ループポート」状態を設定する。そして、No.17のセンサー中継ノード103は、1番ポートで受信したフレームをそのまま1番ポートに戻して送信する(図中S5)。
 この結果、フレームは、No.17のセンサー中継ノード103の1番ポートに接続されているNo.13のセンサー中継ノード103の2番ポートで受信される。No.13のセンサー中継ノード103は、FIDテーブルの受信フレームと同じSRC IDおよびFIDが登録されているエントリで、P1,P2,P3のうち「送信中ポート」状態となっている2番ポートでフレームが受信されたことを認識する。これにより、No.13のセンサー中継ノード103は、FIDテーブルの上記エントリで、2番ポートに対応するP2フィールドに「ループポート状態」を設定する。また、No.13のセンサー中継ノード103は、PSテーブルの受信フレームと同じDST IDが登録されているエントリで、上記2番ポートに対応するP2フィールドに「ループ状態」を設定する。そして、No.13のセンサー中継ノード103は、FIDテーブルの上記エントリのRxPortフィールドに設定されている1番の受信ポートと「ループポート」状態であるP2フィールドに対応する2番ポート以外のポートを選択する。かつ、PSテーブル上の上記エントリで、「未使用状態」であるP3に対応する3番ポートを選択する。そして、No.13のセンサー中継ノード103は、その3番ポートに、受信フレームを出力する(図中S6)。
 この結果、フレームは、No.13のセンサー中継ノード103の3番ポートに接続されているNo.14のセンサー中継ノード103の3番ポートで受信される。
 これ以後、図8の状態に移行し、No.14,18,19,15,11,10,6,2,3,4,8,12,16の各センサー中継ノード103では、図6のNo.1,5,9の場合と同様の制御が実行される。すなわち、各センサー中継ノード103は、各受信ポート以外で「未使用状態」のポートのうち若番のポートに、受信フレームを順次出力する(図中S7からS19までの状態遷移)。
 以上の制御処理により、図8の実線の決定経路として示されるように、基幹中継ノード102からNo.20のセンサー中継ノード103までの経路が確定する。
 図9は、以上の図6から図8までの制御動作における各センサー中継ノード103でのPSテーブルおよびFIDテーブルの状態遷移表を示す図である。以下の説明において、「エントリS1」と表記した場合には、図9の表の左端のNo.フィールドの値が「S1」である行を示すものとする。エントリS2~S19においても同様である。また、図4に例示されるPSテーブルおよび図5に例示されるFIDテーブルのP1,P2,P3フィールドは、図9中では「Port1」「Port2」「Port3」と表記する。さらに、図4に例示されるPSテーブルに設定される「未使用状態」「使用状態」「ループ状態」「リンク断状態」はそれぞれ、図9中では「未使用」「使用」「ループ」「リンク断」と表記する。また、図5に例示されるFIDテーブルに設定される「未送信ポート」「送信中ポート」「ループポート」「reserve」の各状態は、図9中では「未送信」「送信中」「ループ」「Reserve」と表記する。
 図6のS1,S2,S3の状態遷移に従って、No.1,5,9の各センサー中継ノード103の各PSテーブル(図4)に、次のような各エントリS1,S2,S3が登録される。すなわち、PSテーブルの各エントリS1,S2,S3において、DST IDフィールドに、受信フレームのDST IDフィールド(図3(a))から抽出されたNo.20のセンサー中継ノード103の宛先アドレスが登録される。また、PSテーブルの各エントリS1,S2,S3において、各センサー中継ノード103における出力ポートである2番ポートに対応するP2(Port2)フィールドに「使用」が登録される。さらに、No.1,5の各センサー中継ノード103においては、上記PSテーブルの各エントリS1,S2のP1(Port1)およびP3(Port3)フィールドには、「未使用」が登録される。また、No.9のセンサー中継ノード103においては、上記PSテーブルのエントリS3のP1(Port1)フィールドには、「未使用」が登録され、P3(Port3)フィールドには、他のノードは接続されていないため、「リンク断」が登録される。
 一方、図6のS1,S2,S3の状態遷移に従って、No.1,5,9の各センサー中継ノード103の各FIDテーブル(図5)に、次のような各エントリS1,S2,S3が登録される。すなわち、FIDテーブルの各エントリS1,S2,S3において、SRC IDフィールドに、受信フレームのSRC IDフィールド(図3(a))から抽出された基幹中継ノード102の送信元アドレスが登録される。また、FIDテーブルの各エントリS1,S2,S3において、FIDフィールドに、受信フレームのFIDフィールド(図3(a))から抽出されたFID:0x0001が登録される。また、FIDテーブルの各エントリS1,S2,S3において、RxPortフィールドに、各センサー中継ノード103における受信ポートである1番ポートに対応するポート番号Port1が登録される。また、FIDテーブルの各エントリS1,S2,S3において、各センサー中継ノード103における出力ポートである2番ポートに対応するP2(Port2)フィールドに「送信中」が登録される。さらに、No.1,5の各センサー中継ノード103においては、上記FIDテーブルの各エントリS1,S2のP1(Port1)およびP3(Port3)フィールドには、「未送信」が登録される。また、No.9のセンサー中継ノード103においては、上記FIDテーブルのエントリS3のP1(Port1)フィールドには、「未送信」が登録され、P3(Port3)フィールドには、他のノードは接続されていないため、「Resere」が登録される。
 また、図6のS4の状態遷移に従って、No.13のセンサー中継ノード103のPSテーブルおよびFIDテーブルのエントリS4には、No.1やNo.5のセンサー中継ノード103のエントリS1やS2と同様の状態が、ひとまず登録される。
 次に、図7のS5の状態遷移に従って、No.17のセンサー中継ノード103のPSテーブル(図4)には、次のようなエントリS5が登録される。すなわち、PSテーブルのエントリS5において、DST IDフィールドに、受信フレームのDST IDフィールド(図3(a))から抽出されたNo.20のセンサー中継ノード103の宛先アドレスが登録される。また、PSテーブルのエントリS5において、2番、3番ポートには他のノードは接続されていないため(図7)、P2(Port2)およびP3(Port3)フィールドには「リンク断」が登録される。また、PSテーブルのエントリS5において、受信ポートである1番ポートに対応するP1フィールドに「ループ」状態が設定される。
 一方、図6のS5の状態遷移に従って、No.17のセンサー中継ノード103のFIDテーブル(図5)に、次のようなエントリS5が登録される。すなわち、FIDテーブルのエントリS5において、SRC IDフィールドに、受信フレームのSRC IDフィールド(図3(a))から抽出された基幹中継ノード102の送信元アドレスが登録される。また、FIDテーブルのエントリS5において、FIDフィールドに、受信フレームのFIDフィールド(図3(a))から抽出されたFID:0x0001が登録される。また、FIDテーブルのエントリS5において、RxPortフィールドに、No.17のセンサー中継ノード103における受信ポートである1番ポートに対応するポート番号Port1が登録される。また、FIDテーブルのエントリS5において、2番、3番ポートには他のノードは接続されていないため、P2(Port2)およびP3(Port3)フィールドには「Reserve」が登録される。また、FIDテーブルのエントリS5において、受信ポートである1番ポートに対応するP1フィールドに「ループポート」状態が設定される。
 その後、図7のS6の状態遷移に従って、No.13のセンサー中継ノード103にフレームが戻される。この結果、No.13のセンサー中継ノード103のPSテーブルとFIDテーブルの状態は、図9のエントリS4の状態からエントリS6の状態に変化する。すなわち、PSテーブルの受信フレームと同じDST IDが登録されているエントリS6(=エントリS4)において、2番ポートにおいてループが検出されたため、P2(Port2)フィールドの状態が「使用」状態から「ループ」状態に更新される。また、3番ポートが新たな出力ポートとなったため、P3(Port3)フィールドの状態が「未使用」状態から「使用」状態に更新される。一方、FIDテーブルの受信フレームと同じSRC IDおよびFIDが登録されているエントリS6(=エントリS4)において、2番ポートにおいてループが検出されたため、P2(Port2)フィールドの状態が「送信中」状態から「ループポート」状態に更新される。また、3番ポートが新たな出力ポートとなったため、P3(Port3)フィールドの状態が「未送信」状態から「送信中」状態に更新される。
 以後、図8のS7からS19の状態遷移に従い、No.14,18,19,15,11,10,6,2,3,4,8,12,16の各センサー中継ノード103のPSテーブルとFIDテーブルの状態も、図6の状態遷移S1からS3の場合と同様に更新されてゆく。
 以上説明したアドホックネットワークにおいて通常考えられるルーティング方式においては、各センサー中継ノード103が、リンク断やループ状態を検出しながら、基本的に未使用状態の若番ポート(または老番ポート)を順次選択してゆく。この結果、自律的に基幹中継ノード102から目的のセンサー中継ノード103までの経路が決定される。
 基幹中継ノード102から目的のセンサー中継ノード103までいったん経路が決定されると、基幹中継ノード102から同じ目的のセンサー中継ノード103に向けて送信されたフレームは、決定された同じ経路をたどって転送されてゆく。この場合、各フレームには、同じ目的のセンサー中継ノード103に対応するDST IDが設定され、送信のシーケンシャル番号であるFIDとして0x0001から順次インクリメントされた値が設定される(図3(a))。このフレームを受信した各センサー中継ノード103は、受信フレームのDST IDフィールドに設定されたDST IDに対応するエントリがPSテーブル(図4)に存在することを検出する。この結果、センサー中継ノード103は、PSテーブルの上記エントリのP1,P2,P3フィールドのうち、「使用状態」が設定されているフィールドに対応するポートに、受信フレームを出力する。なお、受信フレームに設定されているSRC IDおよびFID毎に、FIDテーブル(図5)に新たなエントリが生成されて、前述したループ監視制御が実施される。以上のようにして、基幹中継ノード102から目的のセンサー中継ノード103までの通信では、決定された同じ経路が使用されることになる。
 しかしながら、通常考えられるルーティング方式では、前述した図2を参照すると理解されるように、最終的に決定した図2の破線で示される経路のホップ数は18であり、これは最適と考えられるホップ数8の最短経路に比較して、かなり冗長な経路となってしまっている。本来は、図2のNo.5のセンサー中継ノード103において、出力ポートとして、2番ポートではなく3番ポートが選択されて、No.6のセンサー中継ノード103に中継されるのが理想であるが、通常考えられるルーティング方式ではそのように制御することができない。
 すなわち、以上説明したアドホックネットワークにおいて通常考えられるルーティング方式においては、各センサー中継ノード103のポートの接続関係によって、経路が冗長となってしまうという課題がある。
 そこで、以下に説明する実施形態では、各センサー中継ノード103毎に基準となるノード装置(本実施形態ではゲートウェイである基幹中継ノード102)からの中継数またはホップ数に対応する情報として、ウエイト番号(以降、「WaitNo.」と表記する)を持たせ、これを用いてルーティングを行うことで、経路が冗長となることを解決する。
 図10は、本実施形態におけるセンサー中継ノード103のブロック図である。
 複数P1~Pn(例えばP1,P2,P3の3ポート)の有線アドホックネットワークポート1016は、他のセンサー中継ノード103または基幹中継ノード102との間で送受信されるアドホックフレームをカプセル化したイーサネットフレームのデータを終端し、送受信フレームの符号化または復号を行う。有線アドホックネットワークポート1017は、送信フレームを一時保持するバッファメモリを備える。以後、単に「ポート」または「受信ポート」などと言う場合は、本実施形態による有線アドホックネットワークポート1016を意味するものとする。
 汎用ポート1017は、例えばLAN(ローカルエリアネットワーク)を終端するポートである。
 アドホックルーティング制御デバイス1001は、例えばFPGA(Field Programmable Gate Array)として構成される。そして、1001は、受信フレーム制御部1010、送信フレーム制御部1011、ルーティング制御部1003(WaitNo.制御部1004を含む)、PSテーブル1005、FIDテーブル1006、フレーム処理部1009、CPUインタフェース1007(レジスタ1008を含む)、汎用ポート制御部1012等を備える。また、ルーティング制御部1003は、WaitNo.を制御するウエイト番号制御部としての機能と、そのようなWaitNo.を含む制御フレームを隣接ノード装置に転送するウエイト番号送信部としの機能を併せ持つ。
 アドホックルーティング制御デバイス1001内の受信フレーム制御部1010は、有線アドホックネットワークポート1016にて受信されるフレームデータを受信する処理を実行する。
 受信されたフレームデータが自ノードで処理すべきデータである場合、受信フレーム制御部1010にて受信フレームから取り出されたセンサー制御情報等は、CPUインタフェース1007内のレジスタ1008に保持された後、CPUインタフェース1007からCPU(中央演算処理装置)1002に転送される。
 受信されたフレームデータが自ノードで処理すべきデータではない場合、受信フレーム制御部1010で受信されたフレームデータは、ルーティング制御部1003に引き渡される。
 ルーティング制御部1003は、受信フレーム制御部1010で受信されたフレームデータに対して、送信側のポートを選択して送信フレーム制御部1011に引き渡す。このとき、ルーティング制御部1003は、PSテーブル1005上のポート状態、FIDテーブル1006上のFID、およびWaitNo.制御部1004が管理するWaitNo.に基づいて、受信フレームに対してルーティングを実行し、出力ポートを選択する。
 WaitNo.制御部1004は、自センサー中継ノード103のWaitNo.と、自センサー中継ノード103の各ポートに接続される隣接するセンサー中継ノード103のWaitNo.を決定し保持する。
 フレーム処理部1009は、ルーティング制御部1003が受信フレーム制御部1010から受信しルーティング処理を実行したフレームを、送信フレーム制御部1011に引き渡す。このとき、フレーム処理部1009は、ルーティング制御部1003でのルーティング処理結果に基づいて必要に応じてフレーム内のWaitNo.を書き換える。また、フレーム処理部1009は、CPUインタフェース1007から引き渡されたセンサー情報に基づいて送信フレームを生成し、送信フレーム制御部1011に引き渡す。
 送信フレーム制御部1011は、ルーティング制御部1003から指定された有線アドホックネットワークポート1016に対して、フレーム処理部1009から引き渡されたフレームを出力し送信させる。
 CPU1002は、自ノードのセンサー情報を制御し、FPGAインタフェース1013、DI/DOインタフェース1014、センサーインタフェース1015を備える。FPGAインタフェース1013は、アドホックルーティング制御デバイス1001内のCPUインタフェース1007との間で、センサー情報およびセンサー制御情報等の送受信を行う。センサーインタフェース1015には、複数のセンサー装置が接続される各センサー接続ポート1019が接続され、センサー情報およびセンサー制御情報等の受信または送信を行う。センサー装置としては、温度センサー、風速センサー、照度センサー、人感センサー、電力検針メーター、加速度センサー、ひずみセンサー、監視カメラなどが接続される。また、センサーインタフェース1015には、各種センサー情報やセンサー制御情報を記憶するためのEEPROM(Electrically Erasable and Programmable Read Only Memory)1018が接続される。DI/DOインタフェース1014には、データ入力/データ出力端子であるDI/DO端子が接続される。センサー接続ポート1019に接続されたセンサー装置にて検出された各種センサー情報は、センサー接続ポート1019からCPU1002内のセンサーインタフェース1015に送られる。そして、このセンサー情報は、CPU1002にて処理された後、FPGAインタフェース1013からアドホックルーティング制御デバイス1001内のCPUインタフェース1007に送信される。CPUインタフェース1007は、レジスタ1008に随時記憶等を行いながら、受信したセンサー情報を、フレーム処理部1009に出力する。一方、アドホックルーティング制御デバイス1001内の受信フレーム制御部1010にて受信されたセンサー制御情報等は、CPUインタフェース1007内のレジスタ1008に記憶等されながら、CPU1002内のFPGAインタフェース1013に送信される。CPU1002は、FPGAインタフェース1013で受信したセンサー制御情報に基づいて、センサーインタフェース1015およびセンサー接続ポート1019を介して、指定されたセンサー装置を制御する。
 本実施形態は、基幹中継ノード102からのホップ数あるいは中継数に相当するルーティング情報であるWaitNo.を用いることで、最適化されたルートの検出・構築を可能とするルーティング方式を提供する。また、このWaitNo.により、アドホックネットワークへのセンサー中継ノード103の追加・削除を自動制御することで、自律的に迅速かつ最小ホップ数を有する最適経路の決定を可能とするルーティング方式を提供する。
 図11は、図10のルーティング制御部1003内のWaitNo.制御部1004が管理するWaitNo.テーブルのデータ構成図である。図10に示される各センサー中継ノード103のWaitNo.制御部1004は、WaitNo.テーブルとして、自ノードに設定されているWaitNo.である自ノードWaitNo.を保持する。また、WaitNo.制御部1004は、WaitNo.テーブルとして、自ノードWaitNo.を決定したセンサー中継ノード103が接続されているポート番号を示すマスターPortを保持する。また、WaitNo.制御部1004は、WaitNo.テーブルとして、ポートP1の接続先のウエイト番号P1WaitNo.、ポートP2の接続先のウエイト番号P2WaitNo.、ポートP3の接続先のウエイト番号P3WaitNo.を保持する。これらのWaitNo.は、図10の有線アドホックネットワークポート1016の例えばP1,P2,P3の各ポートに接続されている隣接するセンサー中継ノード103から通知されているWaitNo.である。すなわち、通信ポート対応のウエイト番号としての意味を持つ。さらに、WaitNo.制御部1004は、WaitNo.テーブルとして、P1WaitNo.,P2WaitNo.,P3WaitNo.の各WaitNo.に対応する各タイマー値を保持する。これらのタイマー値は、P1,P2,P3の各ポートが同期要求フレームまたはヘルスフレームを定期的に受信できるか否かを監視するために設定される(後述する図38のステップS3802)。
 図12は、本実施形態のルーティング方式におけるフレームのデータ構成図である。図12において、図3に示した通常考えられるルーティング方式におけるフレームのデータ構成の場合と同じデータ構成部分には同じ番号を付してある。
 図12の(a)および(b)はそれぞれ、図3の(a)および(b)に対応し、(a)は通常フレームのデータ構成を、(b)はヘルスフレームのデータ構成をそれぞれ示している。また、図12の(c)は、本実施形態で用いられる同期要求フレームのデータ構成を示している。図12の(d)は、同期要求フレームに対してセンサー中継ノード103が返信する同期要求応答フレームおよび各センサー中継ノード103が自ノードの状態を通知するために送信する自ノード状態通知フレームのデータ構成を示している。加えて、図12の(e)は、図12(a)の通常フレームの別の実施形態を示す図である。すなわち図12の通常フレームとしてDST ID(宛先)の一部として送信先Wait No.を割り振り、別の通常フレームSRC ID(送り元)の一部として送信元Wait No.を割り振っても良い。 
 図12(a)および(b)のデータ構成が図3(a)および(b)のデータ構成と異なる部分は、MACデータ302の一部として、アドホックヘッダ302-1とデータ302-2に加えて、2バイトのWaitNo.フィールド1201が設けられて伝送される点である。図12(c)の同期要求フレーム、(d)の同期要求応答フレームおよび自ノード状態通知フレームについても同様に、WaitNo.フィールド1201が設けられる。そして、図12(a)の通常フレーム、図12(d)の同期要求応答フレームおよび自ノード状態通知フレームにおいては、WaitNo.フィールド1201には、送信先のWaitNo.が設定されて伝送される。一方、図12(b)のヘルスフレーム、図12(c)の同期要求フレームにおいては、WaitNo.フィールド1201には、送信元のWaitNo.が設定されて伝送される。
 図12(b)のヘルスフレームおよび(c)の同期要求フレームは、同報(ブロードキャスト)を行うためのフレームであり、DST IDフィールドには、同報(ブロードキャスト)を示すオール“0”値が設定される。 なお、WaitNo.フィールド1201を設ける代わりに、図12(e)に示されるように、MACヘッダ301内のDST IDフィールドを6バイトから4バイトに減らし、残った2バイトを送信先WaitNo.1202に割り当ててもよい。同様に、MACヘッダ301内のSRC IDフィールドを6バイトから4バイトに減らし、残った2バイトを送信元WaitNo.1202に割り当ててもよい。
 図12で、アドホックヘッダ302-1内のKINDフィールドに設定する値でWaitNo.付与フレームであるか否かを判定するようにし、各センサー中継ノード103は、この判定に応じてWaitNo.の更新処理を実行するように構成することができる。このような構成が採用されることにより、WaitNo.が付与されない図3(a)または(b)のような従来フレームも問題なく通信することが可能となり、WaitNo.の使い分けによりネットワークの輻輳回避(処理低減)に有効な方式となる。
 図11のWaitNo.テーブルおよび図11のフレームのデータ構成により、本実施形態による各センサー中継ノード103のルーティング制御部1003(図10)は、以下のようなルーティング処理を実行する。
 まず、ルーティング制御部1003は、WaitNo.を含む同期要求信号を受信すると、受信したWaitNo.をインクリメントして自ノードWaitNo.とし、それを図11に例示されるWaitNo.テーブルに保持する。なお、図1のセンサー中継ノード群100において、同じWaitNo.を持つセンサー中継ノード103は複数存在することができる。
 各センサー中継ノード103は、フレームを送信するときに自ノードWaitNo.も情報として添付する。フレームを受信したセンサー中継ノード103は、フレーム中のWaitNo.と自ノードWaitNo.とを比較する。自ノードWaitNo.が受信フレームのWaitNo.よりも大きい場合には、自ノードWaitNo.よりも大きいWaitNo.を有するセンサー中継ノード103にフレームを送信する。自ノードWaitNo.よりも大きいWaitNo.を有するセンサー中継ノード103が無い場合には、ループ状態として受信元のセンサー中継ノード103に戻す。自ノードWaitNo.が受信フレームのWaitNo.よりも小さい場合には、自ノードWaitNo.よりも小さいWaitNo.を有するセンサー中継ノード103にフレームを送信する。自ノードWaitNo.よりも小さいWaitNo.を有するセンサー中継ノード103が無い場合には、ループ状態として受信元のセンサー中継ノード103に戻す。
 WaitNo.には、フレーム内に含まれる時刻同期情報により重み付けを行うことで、番号を付与していく。なお、WaitNo.の初期値は、ユーザが指定可能である。
 なお、WaitNo.は、同期要求フレーム(図12(c))の定期送信、もしくはヘルスフレーム(図12(b))の定期送信に付随させて送信することとする。そして、各センサー中継ノード103は、同期要求フレームまたはヘルスフレームが、設定された監視時間内に受信されない場合は、自ノードWaitNo.を一旦初期値へ戻し、別ポートからの同期要求フレームまたはヘルスフレームに従うこととする。
 図13は、各センサー中継ノード103におけるフレーム受信時の全体制御を示すフローチャートである。このフローチャートは、図10のアドホックルーティング制御デバイス1001として構成されるFPGAの処理機能として実装される。あるいは、アドホックルーティング制御デバイス1001が中央演算処理装置とメモリを含むプロセッサとして構成される場合には、中央演算処理装置がメモリに記憶された制御プログラムを実行する動作として実装される。
 図13において、図10のアドホックルーティング制御デバイス1001は、受信フレーム制御部1010によるフレーム受信を検知すると、受信フレームのアドホックヘッダ302-1内のKINDフィールドの値をチェックする(ステップS1301)。KINDフィールドの値は、図3で説明した値をとり得る。
 上記KINDフィールド値のチェックにより、ステップS1302、S1303、S1304、S1305にて、受信フレームが、同期要求フレーム、ヘルスフレーム、削除通知フレーム、自ノード宛フレームの何れであるかが判定される。
 そして、受信フレームが同期要求フレームである場合には、ステップS1302の判定がYESとなって、図10のルーティング制御部1003にて、同期要求によるWaitNo.更新処理が実行される。この処理の詳細は、図14のフローチャート、および図15から図23までの説明図を使って後述する。
 受信フレームがヘルスフレームなら、ステップS1302の判定がNO、S1303の判定がYESとなる。この結果、図10のルーティング制御部1003によって、ヘルス情報によるWaitNo.更新処理が実行される。この処理の詳細は、図33のフローチャート、および図34から図41までの説明図を使って後述する。
 受信フレームが、削除通知フレームである場合には、ステップS1302およびS1303の判定がNO、S1304の判定がYESとなる。この結果、図10のルーティング制御部1003によって、WaitNo.更新処理の第3の実施形態である、回線断発生時の削除通知によるWaitNo.更新処理が実行される。この処理の詳細は、図43のフローチャート、および図44の説明図を使って後述する。
 受信フレームが、自ノード宛てのフレームである場合には、ステップS1302,S1303、およびS1304の判定がNO、S1305の判定がYESとなる。この結果、図10のアドホックルーティング制御デバイス1001によって、通常のフレーム受信処理が実行される。この処理では、前述したように、図10のアドホックルーティング制御デバイス1001内の受信フレーム制御部1010で受信されたフレームデータから取り出されたセンサー制御情報等は、CPUインタフェース1007内のレジスタ1008に保持される。その後、そのセンサー制御情報等は、アドホックルーティング制御デバイス1001内のCPUインタフェース1007からCPU1002に転送される。CPU1002は、FPGAインタフェース1013で受信したセンサー制御情報等に基づいて、センサーインタフェース1015およびセンサー接続ポート1019を介して、指定されたセンサ装置を制御する。
 受信フレームが、同期要求フレームでも、ヘルスフレームでも、削除通知フレームでも、自ノード宛てのフレームでもない場合には、ステップS1302,S1303,S1304,S1305の判定がNOとなる。この結果、図10のルーティング制御部1003によって、ルーティング処理が実行される。この処理の詳細は、図24のFIDテーブル1006のデータ構成図、図25、図26のフローチャート、および図27から図32までの説明図を使って後述する。
 なお、図10の受信フレーム制御部1010が複数の有線アドホックネットワークポート1016からのフレーム受信を検知した場合には、アドホックルーティング制御デバイス1001は、図13に示されるフレーム受信処理を、若番ポートから順に処理する。
 図13のステップS1302,S1303,S1304の各判定がYESとなることにより実行される各WaitNo.更新処理は、図10のルーティング制御部1003に同時に実装されてもよいし、いずれか1つ以上のWaitNo.更新処理が選択的に実装されてもよい。
 図14は、図12のステップS1302で受信フレームが同期要求フレームであると判定された場合に実行される同期要求によるWaitNo.更新処理を示すフローチャートである。このフローチャートは、図13の場合と同様に、図10のアドホックルーティング制御デバイス1001として構成されるFPGAの処理機能として実装される。あるいは、アドホックルーティング制御デバイス1001が中央演算処理装置とメモリを含むプロセッサとして構成される場合には、中央演算処理装置がメモリに記憶された制御プログラムを実行する動作として実装される。以下、このフローチャートの処理について、説明する。
 まず、図10のルーティング制御部1003は、WaitNo.制御部1004が管理する図11に例示されるWaitNo.テーブルにアクセスする。そして、ポートP1,P2,またはP3のWaitNo.のうち、受信フレームが受信された受信ポートに対応するWaitNo.を、受信フレームに設定されている送信元WaitNo.(図12(c)の1201)に更新する(ステップS1401)。
 これと共に、ルーティング制御部1003は、WaitNo.テーブルにおいてWaitNo.を更新したポートに対応するタイマー値をリスタートさせる(ステップS1402)。これにより、該当するポートでは、新たに設定されたタイマー値に対応する時間分だけ、新たに同期要求フレームが受信されるか否かが監視されることになる(後述する図38のステップS3802)。
 次に、ルーティング制御部1003は、受信フレームが既に受信されたフレームであるか否かを判定する(ステップS1403)。この判定は、ルーティング制御部1003が、従来と同様に、受信フレームに設定されているSRC IDおよびFID(図12(c))と同じSRC IDおよびFIDを有するエントリが、図10のFIDテーブル1006に登録されているか否かを判定する処理として行なわれる。本実施形態のルーティング方式におけるFIDテーブル1006の構成については、後述するが(図24)、SRC IDとFIDを含む構成は、従来と同じである。
 受信フレームが既に受信されたフレームでステップS1403の判定がYESなら、ルーティング制御部1003は、同じ同期要求フレームについて重複して処理する必要はないため、受信フレームを破棄する(ステップS1411)。そして、ルーティング制御部1003は、図14の同期要求によるWaitNo.更新処理を終了し、アドホックルーティング制御デバイス1001によるフレーム受信の検知処理にもどる。
 受信フレームが初めて受信されたフレームでステップS1403の判定がNOなら、ルーティング制御部1003は、受信フレーム中の送信元WaitNo.(図12(c)の1201)の値が、初期値(0xFF)に等しいか否かを判定する(ステップS1404)。
 受信フレーム中の送信元WaitNo.の値が初期値に等しくステップS1404の判定がYESなら、ルーティング制御部1003は、WaitNo.テーブル内の自ノードWaitNo.(図11)を初期値(0xFF)に更新する(ステップS1405)。その後、ルーティング制御部1003は、後述するステップS1409の処理に移行する。
 受信フレーム中の送信元WaitNo.の値が初期値に等しくなくステップS1404の判定がNOなら、ルーティング制御部1003は、次の処理を実行する。すなわち、ルーティング制御部1003は、WaitNo.テーブル内の自ノードWaitNo.の値が受信フレーム中の送信元WaitNo.に+1した値よりも大きいか否かを判定する(ステップS1406)。
 自ノードWaitNo.の値が送信元WaitNo.+1よりも大きくなくステップS1406の判定がNOなら、ルーティング制御部1003は、ステップS1411の処理に移行し、その同期要求フレームをそのまま廃棄する。この状態は例えば、自ノードが送信した同期要求フレームが、次のセンサー中継ノード103で+1されて、再び自ノードに戻ってきた場合に相当する。このような場合には、自ノードでは、その同期要求フレームは処理する必要がないため、WaitNo.テーブルは更新されずに廃棄される。
 自ノードWaitNo.の値が送信元WaitNo.+1よりも大きくステップS1406の判定がYESなら、ルーティング制御部1003は、次の処理を実行する。すなわち、ルーティング制御部1003は、WaitNo.テーブル内の自ノードWaitNo.(図11)の値を、受信フレーム中の送信元WaitNo.に+1した値に更新する(ステップS1407)。
 さらに、ルーティング制御部1003は、WaitNo.テーブル内のマスターPort(図11)の値を、受信フレームが受信された有線アドホックネットワークポート1016のポート番号に更新する(ステップS1408)。
 ステップS1408またはS1405でWaitNo.テーブルの内容が更新された場合に、以下の制御動作が実行される。
 すなわち、ルーティング制御部1003からの制御によりフレーム処理部1009が、同期要求フレーム中の送信元WaitNo.の値を、WaitNo.テーブル中の自ノードWaitNo.の値に差し替える。そして、フレーム処理部1009は、送信フレーム制御部1011を制御して、その同期要求フレームを、全ての有線アドホックネットワークポート1016から送信させる(ステップS1409)。
 これと共に、ルーティング制御部1003からの制御によりフレーム処理部1009は、送信フレーム制御部1011を制御して、基幹中継ノード102に向けて、同期要求応答フレームを送信させる(ステップS1410)。同期要求応答フレームは、図12(d)に示されるデータフォーマットを有する。この同期要求応答フレームにおいて、DST
 IDには、基幹中継ノード102のアドレスが設定される。SRC IDには、自ノードのアドレスが設定される。また、MACデータ302に、受信フレームに設定されていた送信元WaitNo.が送信先WaitNo.1201として設定される。これに加えて、同期要求応答フレームでは、MACデータ302に、自ノードのWaitNo.テーブル1007に設定された自ノードWaitNo.が2バイトの送信元WaitNo.として設定される。ルーティング制御部1003は、図10のPSテーブル1005において、DST IDとして基幹中継ノード102のDST IDが設定されたエントリ中のP1,P2,P3フィールドのうち、「使用状態」(図4)が設定されているフィールドを検出する。そして、ルーティング制御部1003は、図10の送信フレーム制御部1011に対して、上記検出したフィールドに対応する有線アドホックネットワークポート1016への同期要求応答フレームの出力を指示する。この処理により、図1の基幹中継ノード102は、各センサー中継ノード103から同期要求応答フレームを受け取ることにより、各センサー中継ノード103のWaitNo.テーブルに設定された自ノードWaitNo.を把握することができる。基幹中継ノード102は、特には図示しないテーブルに、各センサー中継ノード103の自ノードWaitNo.を保持して管理する。
 その後、ルーティング制御部1003は、図14の同期要求によるWaitNo.更新処理を終了し、アドホックルーティング制御デバイス1001によるフレーム受信の検知処理にもどる。
 以上説明した同期要求によるWaitNo.更新処理により、図1において、基幹中継ノード102から送信されたWaitNo.が、センサー中継ノード群100中の各センサー中継ノード103に順次伝達されてゆく。このとき、各センサー中継ノード103において、同期要求フレーム中の送信元WaitNo.(図12(c)の1201)の値が+1ずつ増やされてゆく。そして、その増やされたWaitNo.が、各センサー中継ノード103の図10に示されるWaitNo.制御部1004内のWaitNo.テーブルに、自ノードWaitNo.として設定される。さらに、その増やされたWaitNo.を有する同期要求フレームが、隣接するセンサー中継ノード103に転送されてゆく。このようにして、図1の各センサー中継ノード103には、実質的に、基幹中継ノード102からのホップ数に対応するWaitNo.値が、自ノードWaitNo.として設定される。
 図15から図23は、上述した同期要求によるWaitNo.更新処理の具体例を示す説明図である。以下、これらの説明図を使って、同期要求によるWaitNo.更新処理の具体的処理について説明する。
 まず、図15において、基幹中継ノード102は、送信元WaitNo.値として0x00(ホップ数=0に対応する)が設定された同期要求フレームを送信する。この同期要求フレームは、図12(c)に示されるデータフォーマットを有する。そして、DST IDにはオール“0”が設定され、SRC IDには基幹中継ノード102のアドレスが設定される。また、KINDフィールドには、同期要求コマンド(時刻同期コマンド)を示す値0x0006が設定される(図3)。そして、送信元WaitNo.に、上記値0x00が設定される。
 この同期要求フレームは、まず基幹中継ノード102に接続されているID=1を有する最初のセンサー中継ノード103で受信される。なお、このID=1は、センサー中継ノード103を表す模式的なアドレス値である。他のID=2から20についても同様である。この結果、ID=1のセンサー中継ノード103のWaitNo.制御部1004(図10)内のWaitNo.テーブル(図11)において、自ノードWaitNo.として、同期要求フレームに設定されている送信元WaitNo.に+1した値0x01が設定される。これは、基幹中継ノード102からID=1のセンサー中継ノード103までの最短ホップ数が1であることに対応している。この処理は、図14のステップS1407によって行なわれる。
 また、同期要求フレームの受信には、図14のステップS1401が実行される。これにより、ID=1のセンサー中継ノード103のWaitNo.テーブル(図11)中のP1,P2,P3のWaitNo.のうち、同期要求フレームの受信ポートに対応するWaitNo.が、同期要求フレーム中の送信元WaitNo.=0x00に更新される。この結果、ホップ数が減る方向に隣接する基幹中継ノード102に設定された自ノードWaitNo.を、WaitNo.テーブル上で把握することができる。
 続いて、ID=1のセンサー中継ノード103内の全ての有線アドホックネットワークポート1016に、自ノードWaitNo.の値0x01が新たに送信元WaitNo.(図12(c)の1201)として設定された同期要求フレームが出力される。この状態は、図16に示される。この処理は、図14のステップS1409によって行なわれる。
 また、図16に示されるように、ID=1のセンサー中継ノード103から基幹中継ノード102へは、自ノードWaitNo.=0x01を送信元WaitNo.(図12(d))として有する同期要求応答フレームが返信される。この処理は、図14のステップS1410によって行なわれる。これにより、基幹中継ノード102は、ID=1のセンサー中継ノード103のWaitNo.が0x01に設定されたことを認識する。
 次に、ID=1のセンサー中継ノード103の各ポートから送信された送信元WaitNo.=0x01を有する同期要求フレームは、ID=2とID=5の各センサー中継ノード103で受信される。この結果、ID=2とID=5の各センサー中継ノード103のWaitNo.制御部1004(図10)内のWaitNo.テーブル(図11)において、自ノードWaitNo.として、次のような値が設定される。すなわち、同期要求フレームに設定されている送信元WaitNo.=0x01に+1した値0x02が設定される。これは、基幹中継ノード102からID=2とID=5の各センサー中継ノード103までの最短ホップ数が2であることに対応している。この処理は、図14のステップS1407によって行なわれる。
 続いて、ID=2とID=5の各センサー中継ノード103内の全ての有線アドホックネットワークポート1016に、自ノードWaitNo.の値0x02が新たに送信元WaitNo.として設定された同期要求フレームが出力される。この状態は、図17に示される。この処理は、図14のステップS1409によって行なわれる。
 また、図17に示されるように、ID=2とID=5の各センサー中継ノード103から基幹中継ノード102に向けて、自ノードWaitNo.=0x02を送信元WaitNo.として有する同期要求応答フレームが返信される。この処理は、図14のステップS1410によって行なわれる。これにより、基幹中継ノード102は、ID=2とID=5の各センサー中継ノード103のWaitNo.が0x02に設定されたことを認識する。
 なお、ID=2とID=5の各センサー中継ノード103から新たに送信された送信元WaitNo.=0x02が設定された各同期要求フレームは、ID=1のセンサー中継ノード103にも届く。しかしこの場合、ID=1の自ノードWaitNo.=0x01は受信された各同期要求フレームの送信元WaitNo.=0x02となるため、図14のステップS1406の判定がNOとなって、その同期要求フレームはステップS1411で廃棄される。ただし、上記各同期要求フレームの受信時に図14のステップS1401が実行される。これにより、WaitNo.テーブル(図11)中のP1,P2,P3のWaitNo.のうち、各同期要求フレームが受信された受信ポートに対応するWaitNo.が、同期要求フレーム中の送信元WaitNo.に更新される。この結果、基幹中継ノード102からみてWaitNo.が増える方向に隣接するセンサー中継ノード103に設定された自ノードWaitNo.を、WaitNo.テーブル上で検知することができる。
 次に、ID=2とID=5のセンサー中継ノード103の各ポートから送信された送信元WaitNo.=0x02を有する同期要求フレームは、ID=3,6,9の各センサー中継ノード103で受信される。この結果、ID=3,6,9の各センサー中継ノード103のWaitNo.テーブルにおいて、自ノードWaitNo.として、同期要求フレームに設定されている送信元WaitNo.=0x02に+1した値0x03が設定される。これは、基幹中継ノード102からID=3,6,9の各センサー中継ノード103までの最短ホップ数が3であることに対応している。この処理は、図14のステップS1407によって行なわれる。
 また、図14のステップS1401の実行により、基幹中継ノード102からみてWaitNo.が減る方向に隣接するセンサー中継ノード103に設定された自ノードWaitNo.が、WaitNo.テーブルの該当ポートのWaitNo.として検知できる。
 続いて、ID=3,6,9の各センサー中継ノード103内の全ての有線アドホックネットワークポート1016に、自ノードWaitNo.の値0x03が新たに送信元WaitNo.として設定された同期要求フレームが出力される。この状態は、図18に示される。この処理は、図14のステップS1409によって行なわれる。
 また、図18に示されるように、ID=3,6,9の各センサー中継ノード103から基幹中継ノード102に向けて、自ノードWaitNo.=0x03を送信元WaitNo.として有する同期要求応答フレームが返信される。この処理は、図14のステップS1410によって行なわれる。これにより、基幹中継ノード102は、ID=3,6,9の各センサー中継ノード103のWaitNo.が0x03に設定されたことを認識する。
 次に、ID=3,6,9の各センサー中継ノード103の各ポートから送信された送信元WaitNo.=0x03を有する同期要求フレームは、ID=4,7,10,13の各センサー中継ノード103で受信される。この結果、ID=4,7,10,13の各センサー中継ノード103のWaitNo.テーブルにおいて、自ノードWaitNo.として、同期要求フレームに設定されている送信元WaitNo.=0x03に+1した値0x04が設定される。これは、基幹中継ノード102からID=4,7,10,13の各センサー中継ノード103までの最短ホップ数が4であることに対応している。この処理は、図14のステップS1407によって行なわれる。
 なお、ID=2,5の各センサー中継ノード103にも上記同期要求フレームが戻されるが、前述したように、これらは各ノードにて廃棄される。ただし、図14のステップS1401の実行により、基幹中継ノード102からみてWaitNo.が増える方向に隣接する各センサー中継ノード103に設定された自ノードWaitNo.が、WaitNo.テーブルの該当ポートのWaitNo.として検知できる。
 続いて、ID=4,7,10,13の各センサー中継ノード103内の全ての有線アドホックネットワークポート1016に、自ノードWaitNo.の値0x04が新たに送信元WaitNo.として設定された同期要求フレームが出力される。この状態は、図19に示される。この処理は、図14のステップS1409によって行なわれる。
 また、図19には図示しないが、ID=4,7,10,13の各センサー中継ノード103から基幹中継ノード102に向けて、自ノードWaitNo.=0x04を送信元WaitNo.として有する同期要求応答フレームが返信される。この処理は、図14のステップS1410によって行なわれる。これにより、基幹中継ノード102は、ID=4,7,10,13の各センサー中継ノード103のWaitNo.が0x04に設定されたことを認識する。
 次に、ID=4,7,10,13の各センサー中継ノード103の各ポートから送信された送信元WaitNo.=0x04を有する同期要求フレームは、ID=8,11,14,17の各センサー中継ノード103で受信される。この結果、ID=8,11,14,17の各センサー中継ノード103のWaitNo.テーブルにおいて、自ノードWaitNo.として、同期要求フレームに設定されている送信元WaitNo.=0x04に+1した値0x05が設定される。これは、基幹中継ノード102からID=8,11,14,17の各センサー中継ノード103までの最短ホップ数が5であることに対応している。この処理は、図14のステップS1407によって行なわれる。
 また、図14のステップS1401の実行により、基幹中継ノード102からみてWaitNo.が減る方向に隣接するセンサー中継ノード103に設定された自ノードWaitNo.が、WaitNo.テーブルの該当ポートのWaitNo.として検知できる。
 なお、ID=3,6,9の各センサー中継ノード103にも上記同期要求フレームが戻されるが、前述したように、これらは各ノードにて廃棄される。ただし、図14のステップS1401の実行により、基幹中継ノード102からみてWaitNo.が増える方向に隣接する各センサー中継ノード103に設定された自ノードWaitNo.が、WaitNo.テーブルの該当ポートのWaitNo.として検知できる。
 続いて、ID=8,11,14,17の各センサー中継ノード103内の全ての有線アドホックネットワークポート1016に、自ノードWaitNo.の値0x05が新たに送信元WaitNo.として設定された同期要求フレームが出力される。この状態は、図20に示される。この処理は、図14のステップS1409によって行なわれる。
 また、図20には図示しないが、ID=8,11,14,17の各センサー中継ノード103から基幹中継ノード102に向けて、自ノードWaitNo.=0x05を送信元WaitNo.として有する同期要求応答フレームが返信される。この処理は、図14のステップS1410によって行なわれる。これにより、基幹中継ノード102は、ID=8,11,14,17の各センサー中継ノード103のWaitNo.が0x05に設定されたことを認識する。
 次に、ID=8,11,14,17の各センサー中継ノード103の各ポートから送信された送信元WaitNo.=0x05を有する同期要求フレームは、ID=12,15,18の各センサー中継ノード103で受信される。この結果、ID=12,15,18の各センサー中継ノード103のWaitNo.テーブルにおいて、自ノードWaitNo.として、同期要求フレームに設定されている送信元WaitNo.=0x05に+1した値0x06が設定される。これは、基幹中継ノード102からID=12,15,18の各センサー中継ノード103までの最短ホップ数が6であることに対応している。この処理は、図14のステップS1407によって行なわれる。
 また、図14のステップS1401の実行により、基幹中継ノード102からみてWaitNo.が減る方向に隣接するセンサー中継ノード103に設定された自ノードWaitNo.が、WaitNo.テーブルの該当ポートのWaitNo.として取得される。
 なお、ID=7,10,13の各センサー中継ノード103にも上記同期要求フレームが戻されるが、前述したように、これらは各ノードにて廃棄される。ただし、図14のステップS1401の実行により、基幹中継ノード102からみてWaitNo.が増える方向に隣接する各センサー中継ノード103に設定された自ノードWaitNo.が、WaitNo.テーブルの該当ポートのWaitNo.として把握できる。
 続いて、ID=12,15,18の各センサー中継ノード103内の全ての有線アドホックネットワークポート1016に、自ノードWaitNo.の値0x06が新たに送信元WaitNo.として設定された同期要求フレームが出力される。この状態は、図21に示される。この処理は、図14のステップS1409によって行なわれる。
 また、図21には図示しないが、ID=12,15,18の各センサー中継ノード103から基幹中継ノード102に向けて、自ノードWaitNo.=0x06を送信元WaitNo.として有する同期要求応答フレームが返信される。この処理は、図14のステップS1410によって行なわれる。これにより、基幹中継ノード102は、ID=12,15,18の各センサー中継ノード103のWaitNo.が0x06に設定されたことを認識する。
 次に、ID=12,15,18の各センサー中継ノード103の各ポートから送信された送信元WaitNo.=0x06を有する同期要求フレームは、ID=16,19の各センサー中継ノード103で受信される。この結果、ID=16,19の各センサー中継ノード103のWaitNo.テーブルにおいて、自ノードWaitNo.として、同期要求フレームに設定されている送信元WaitNo.=0x06に+1した値0x07が設定される。これは、基幹中継ノード102からID=16,19の各センサー中継ノード103までの最短ホップ数が7であることに対応している。この処理は、図14のステップS1407によって行なわれる。
 また、図14のステップS1401の実行により、基幹中継ノード102からみてWaitNo.が減る方向に隣接するセンサー中継ノード103に設定された自ノードWaitNo.が、WaitNo.テーブルの該当ポートのWaitNo.として取得される。
 なお、ID=8,11,14の各センサー中継ノード103にも上記同期要求フレームが戻されるが、前述したように、これらは各ノードにて廃棄される。ただし、図14のステップS1401の実行により、基幹中継ノード102からみてWaitNo.が増える方向に隣接する各センサー中継ノード103に設定された自ノードWaitNo.が、WaitNo.テーブルの該当ポートのWaitNo.として把握できる。
 続いて、ID=16,19の各センサー中継ノード103内の全ての有線アドホックネットワークポート1016に、自ノードWaitNo.の値0x07が新たに送信元WaitNo.として設定された同期要求フレームが出力される。この状態は、図22に示される。この処理は、図14のステップS1409によって行なわれる。
 また、図22には図示しないが、ID=16,19の各センサー中継ノード103から基幹中継ノード102に向けて、自ノードWaitNo.=0x07を送信元WaitNo.として有する同期要求応答フレームが返信される。この処理は、図14のステップS1410によって行なわれる。これにより、基幹中継ノード102は、ID=16,19の各センサー中継ノード103のWaitNo.が0x07に設定されたことを認識する。
 次に、ID=16,19の各センサー中継ノード103の各ポートから送信された送信元WaitNo.=0x07を有する同期要求フレームは、ID=20のセンサー中継ノード103で受信される。この結果、ID=20のセンサー中継ノード103のWaitNo.テーブルにおいて、自ノードWaitNo.として、同期要求フレームに設定されている送信元WaitNo.=0x07に+1した値0x08が設定される。これは、基幹中継ノード102からID=20のセンサー中継ノード103までの最短ホップ数が8であることに対応している。この処理は、図14のステップS1407によって行なわれる。
 また、図14のステップS1401の実行により、基幹中継ノード102からみてWaitNo.が減る方向に隣接するセンサー中継ノード103に設定された自ノードWaitNo.が、WaitNo.テーブルの該当ポートのWaitNo.として取得される。
 なお、ID=12,15,18の各センサー中継ノード103にも上記同期要求フレームが戻されるが、前述したように、これらは各ノードにて廃棄される。ただし、図14のステップS1401の実行により、基幹中継ノード102からみてWaitNo.が増える方向に隣接する各センサー中継ノード103に設定された自ノードWaitNo.が、WaitNo.テーブルの該当ポートのWaitNo.として検知できる。
 最後に、ID=20のセンサー中継ノード103内の全ての有線アドホックネットワークポート1016に、自ノードWaitNo.の値0x08が新たに送信元WaitNo.として設定された同期要求フレームが出力される。この状態は、図22に示される。この処理は、図14のステップS1409によって行なわれる。
 また、図22には図示しないが、ID=20のセンサー中継ノード103から基幹中継ノード102に向けて、自ノードWaitNo.=0x08を送信元WaitNo.として有する同期要求応答フレームが返信される。この処理は、図14のステップS1410によって行なわれる。これにより、基幹中継ノード102は、ID=20のセンサー中継ノード103のWaitNo.が0x08に設定されたことを認識する。
 ID=20のセンサー中継ノード103の各ポートから送信された送信元WaitNo.=0x08を有する同期要求フレームは、ID=16のセンサー中継ノード103においてのみ受信されるが、前述したように、この同期要求フレームは廃棄される。ただし、図14のステップS1401が実行される。これにより、基幹中継ノード102からみてWaitNo.が増える方向に隣接するID=20のセンサー中継ノード103に設定された自ノードWaitNo.が、WaitNo.テーブルの該当ポートのWaitNo.として検知できる。
 以上のようにして、基幹中継ノード102から送信された送信元WaitNo.=0x00を有する同期要求フレームが、センサー中継ノード群100中の各センサー中継ノード103に順次伝達されてゆく。このとき、各センサー中継ノード103において、同期要求フレーム中の送信元WaitNo.(図12(c)の1201)の値が+1ずつ増やされてゆく。そして、その増やされたWaitNo.が、各センサー中継ノード103の図10に示されるWaitNo.制御部1004内のWaitNo.テーブルに、自ノードWaitNo.として設定される。さらに、その増やされたWaitNo.を有する同期要求フレームが、隣接するセンサー中継ノード103に転送される。
 この結果、図23に示されるように、各センサー中継ノード103のWaitNo.テーブル(図11)には、実質的に、基幹中継ノード102からの最短ホップ数に対応するWaitNo.値が、自ノードWaitNo.として設定される。
 また、図14のステップ1401の実行により、各センサー中継ノード103の各有線アドホックネットワークポート1016毎に、それらが接続される隣接するセンサー中継ノード103に設定された自ノードWaitNo.を検知することができる。そして、これらの隣接ノードの自ノードWaitNo.が、各センサー中継ノード103のWaitNo.テーブル(図11)で管理される。
 次に、ルーティング処理について説明する。
 受信フレームが、同期要求フレームでも、ヘルスフレームでも、削除通知フレームでも、自ノード宛てのフレームでもない場合には、図13のステップS1302,S1303,S1304,S1305の判定がNOとなる。この結果、図10のルーティング制御部1003によって、ルーティング処理が実行される。この処理について、図24のFIDテーブル1006のデータ構成図、図25、図26のフローチャート、および図27から図32までの説明図を使って説明する。
 まず、図24は、本実施形態のルーティング方式におけるFIDテーブル1006(図10)のデータ構成図である。図24において、図5に示した通常考えられるルーティング方式におけるFIDテーブルのデータ構成の場合と同じデータ構成部分には同じ番号を付してある。
 図24のデータ構成が図5のデータ構成と異なる部分は、Loopフラグが付加されている点である。このLoopフラグは、それが含まれるエントリが宛先とする経路は、自ノードの接続先には無いことを示すフラグである。このフラグが“ON”状態を示しているときには、このエントリが宛先とする経路は、自ノードの接続先には無いことを示す。このフラグが“OFF”状態を示しているときには、このエントリが宛先とする経路は、自ノードの接続先に存在する可能性が有ることを示す。
 上述のLoopフラグは、後述するWaitNo.によるルーティング制御と組み合わせられることにより、最短ホップ数の経路が選択されるようにルーティング処理を実行するのに使用される。
 図25及び図26は、図13のステップS1305の判定がNOとなる結果実行されるルーティング処理すなわち、中継ノード103にWaitNo.付与が完了し、そのWaitNo.に基づいて、ループを回避しながらルーティングする処理を示すフローチャートである。このフローチャートは、図13の場合と同様に、図10のアドホックルーティング制御デバイス1001として行なわれるFPGAの処理機能として実装される。あるいは、アドホックルーティング制御デバイス1001が中央演算処理装置とメモリを含むプロセッサとして行なわれる場合には、中央演算処理装置がメモリに記憶された制御プログラムを実行する動作として実装される。以下、このフローチャートの処理について、説明する。
 まず、図25において、ルーティング制御部1003は、受信フレームから、SRC IDとFIDを取り出す(図12(a))。そして、ルーティング制御部1003は、SRC IDとFIDとによって、FIDテーブル1006(図10、図24)を検索する。これにより、ルーティング制御部1003は、FIDテーブル1006上で上記SRC
 IDとFIDが一致するエントリが登録されているか否かを判定する(ステップS2501)。
 FIDテーブル1006にもし該当するエントリが登録されておらずステップS2501の判定がNOならば、ルーティング制御部1003は、PSテーブル1005を検索する。より具体的には、ルーティング制御部1003はまず、受信フレームから、DST IDを取り出す(図12(a))。そして、ルーティング制御部1003は、DST IDによって、PSテーブル1005(図10、図4)を検索する。これにより、ルーティング制御部1003は、PSテーブル1005上で上記DST IDが一致するエントリが登録されているか否かを判定する(ステップS2502)。
 PSテーブル1005上に該当するエントリが存在しステップS2502の判定がYESならば、ルーティング制御部1003は、次の処理を実行する。すなわち、ルーティング制御部1003は、受信フレームから、SRC IDとFIDを取り出す。そして、ルーティング制御部1003は、FIDテーブル1006上で、そのSRC IDとFIDを含むエントリを生成する。また、ルーティング制御部1003は、PSテーブル1005上の該当するエントリから、P1,P2,P3フィールドのうち「使用状態」が登録されているポート番号を抽出する。そして、ルーティング制御部1003は、FIDテーブル1006上で生成したエントリのP1,P2,P3フィールドのうち、上記ポート番号に対応するフィールドに「送信中ポート」状態を設定する(以上、ステップS2512)。
 その後、ルーティング制御部1003は、図10の送信フレーム制御部1011に、上記ポート番号に対応する有線アドホックネットワークポート1016への送信を指示する。これと共に、ルーティング制御部1003は、受信フレームを図10のフレーム処理部1009に引き渡す。フレーム処理部1009は、送信フレーム制御部1011を制御して、上記受信フレームを上記有線アドホックネットワークポート1016へ出力させる(ステップS2513)。
 PSテーブル1005上に該当するエントリが存在せずステップS2502の判定がNOならば、ルーティング制御部1003は、次の処理を実行する。すなわち、ルーティング制御部1003は、送信フレーム制御部1011に問い合わせて、受信フレームを受信したポート以外に、リンク断とはなっていない有線アドホックネットワークポート1016があるか否かを判定する(ステップS2508)。
 リンク断でないポートがありステップS2508の判定がYESなら、ルーティング制御部1003は、受信フレームに設定されている送信先WaitNo.(図12(a)の1201)が、初期値(0xFF)であるか否かを判定する(ステップS2509)。
 受信フレームの送信先WaitNo.が初期値ではなくステップS2509の判定がNOなら、ルーティング制御部1003は、図26のフローチャートの処理を実行する。この処理については、後述する。
 受信フレームの送信先WaitNo.が初期値でステップS2509の判定がYESなら、ルーティング制御部1003は、WaitNo.を用いたルーティング処理は実行せずに、通常考えられるルーティング処理を実行する。すなわち、ルーティング制御部1003は、ステップS2508で判定されたポートが複数ある場合には、若番(若しくは老番等と条件を統一させる)のポートを選択する(ステップS2510)。次に、ルーティング制御部1003はまず、受信フレームからDST ID(図12(a))を抽出する。続いて、図10のPSテーブル1005上で、上記DST IDが設定されたエントリを生成する。そして、ルーティング制御部1003は、そのエントリのP1,P2,P3フィールドのうち、ステップS2508およびS2510で選択された1つのポートに対応するフィールドに「使用中状態」を設定する(ステップS2511)。さらに、ルーティング制御部1003は、受信フレームから、SRC IDとFIDを取り出す。そして、ルーティング制御部1003は、FIDテーブル1006上で、そのSRC IDとFIDを含むエントリを生成する。また、ルーティング制御部1003は、FIDテーブル1006上で生成したエントリのP1,P2,P3フィールドのうち、上記選択されたポートに対応するフィールドに「送信中ポート」状態を設定する(ステップS2512)。
 リンク断でないポートがなくステップS2508の判定がNOなら、ルーティング制御部1003は、受信フレームを、それが受信されたポートに送信して戻す(ステップS2514)。
 一方、FIDテーブル1006にもし該当するエントリが登録されておりステップS2501の判定がYESなら、一度受信して送信したフレームが、再び戻ってきたということになる。この場合、ルーティング制御部1003は、FIDテーブル1006上の該当するエントリにおいて、P1,P2,P3フィールドのうち「送信中ポート」状態となっているフィールドに「ループポート」状態を設定する(ステップS2502)(図24)。
 続いて、ルーティング制御部1003は、受信フレームからDST ID(図12(a))を抽出する。次に、ルーティング制御部1003は、PSテーブル1005上で上記DST IDと同じDST IDが登録されているエントリを検索する。そして、ルーティング制御部1003は、そのエントリのP1,P2,P3フィールドのうち「使用状態」となっているフィールドに「ループ状態」を設定する(ステップS2503)(図4)。
 次に、ルーティング制御部1003は、PSテーブル1005上の該当するエントリを検索することにより、P1,P2,P3フィールドのうち「未使用状態」が設定されているフィールドに対応する未使用ポートがあるか否かを判定する(ステップS2504)。
 未使用ポートがあってステップS2504の判定がYESならば、ルーティング制御部1003は、その未使用ポートを選択して送信処理を行うための、前述した、ステップS2509~S2512と、必要な場合に図26のフローチャートの処理を実行する。
 一方、未使用ポートがなくステップS2504の判定がNOならば、ルーティング制御部1003は、次の制御を実行する。すなわち、ルーティング制御部1003は、FIDテーブル1006から、受信フレームのSRC ID(図12(a))と一致するSRC
 IDを有するエントリのRxPort(受信ポート)(図24)を検出する(ステップS2505)。そして、ルーティング制御部1003は、抽出された最初の受信ポートに、受信フレームを戻して送信する(ステップS2506)。
 図26は、ループ状態である場合も含めて新たなポートを選択し受信フレームを中継するときに、受信フレームの送信先WaitNo.(図12(a)の1201)として、初期値(0xFF)以外の値が設定されている場合の制御を示すフローチャートである。
 まず、基幹中継ノード102は、前述した図14のフローチャートに基づいて図23に例示したように各センサー中継ノード103にWaitNo.が設定されているときには、次のような制御動作を実行する。すなわち、基幹中継ノード102は、センサー中継ノード群100内の目的とするセンサー中継ノード103にデータを送信するときに、目的のセンサー中継ノード103から通知され保持しているWaitNo.を認識する。そして、基幹中継ノード102は、そのWaitNo.が送信先WaitNo.(図12(a)の1201)として設定され、DST IDとして目的のセンサー中継ノード103のアドレスが設定されたフレームを生成して送信する。
 この場合には、各センサー中継ノード103のルーティング制御部1003でのルーティング処理において、新たなポートの選択が必要となった場合に、図25のステップS2509の判定がNOとなる。この結果、図26のフローチャートの制御処理が実行される。
 図26のフローチャートのルーティング処理アルゴリズムは、以下の通りである。
 
(1)受信フレームの送信先WaitNo.>自ノードWaitNo.
  自ノードWaitNo.よりも老番のWaitNo.が設定されている
  未使用ポートを選択して、受信フレームを送信。
  該当するポートが無い場合には、FIDテーブル1006に
  Loopフラグを設定して受信ポートに返送
 
(2)受信フレームの送信先WaitNo.<自ノードWaitNo.
  自ノードWaitNo.よりも若番のWaitNo.が設定されている
  未使用ポートを選択して、受信フレームを送信。
  該当するポートが無い場合には、FIDテーブル1006に
  Loopフラグを設定して受信ポートに返送
 
(3)受信フレームの送信先WaitNo.=自ノードWaitNo.
  自ノードIDと一致すれば受信する。自ノードIDと一致しない場合は
  FIDテーブル1006にLoopフラグを設定して受信ポートに返送
 
 より具体的には、以下の通りである。
 まず、ルーティング制御部1003は、受信フレーム内の送信先WaitNo.が、WaitNo.制御部1004内のWaitNo.テーブルに設定されている自ノードWaitNo.(図11)よりも大きいか否かを判定する(ステップS2601)。これは、上述の(1)の条件判断に対応する。
 ステップS2601の判定がYESなら、ルーティング制御部1003は、現在未使用となっているポートに対応するWaitNo.を、WaitNo.テーブル(図11)から抽出する。そして、ルーティング制御部1003は、上記未使用ポートのWaitNo.が上記自ノードWaitNo.よりも大きいか否かを判定する(ステップS2602)。
 ステップS2602の判定がYESの場合には、ルーティング制御部1003は、次の制御を実行する。すなわち、ルーティング制御部1003は、自ノードWaitNo.よりも老番のWaitNo.が設定されている上記未使用ポートを選択して送信処理を行うための、前述した図25のステップS2510~S2512の処理を実行する。
 ステップS2602の判定がNOの場合には、ルーティング制御部1003は、FIDテーブル1006のLoopフラグが“ON”となっているか否かを判定する(ステップS2605)。
 Loopフラグが“ON”でステップS2605の判定がYESならば、受信フレームが送信されるべきセンサー中継ノード103は、自ノードの接続先には存在しない。このため、ルーティング制御部1003は、受信フレームを、それが受信されたポートに返送する(ステップS2606)。
 一方、Loopフラグが“OFF”でステップS2605の判定がNOならば、ルーティング制御部1003は、FIDテーブル1006のLoopフラグを“ON”にする(ステップS2607)。その後、ルーティング制御部1003は、FIDテーブル1006から、受信フレームのSRC ID(図12(a))と一致するSRC IDを有するエントリのRxPort(受信ポート)(図24)を検出する(ステップS2608)。そして、ルーティング制御部1003は、抽出された最初の受信ポートに、受信フレームを戻して送信する(ステップS2608)。
 次に、ステップS2601の判定がNOの場合には、ルーティング制御部1003は、受信フレーム内の送信先WaitNo.が、WaitNo.テーブルに設定されている自ノードWaitNo.(図11)よりも小さいか否かを判定する(ステップS2603)。これは、上述の(2)の条件判断に対応する。
 ステップS2603の判定がYESなら、ルーティング制御部1003は、現在未使用となっているポートに対応するWaitNo.を、WaitNo.テーブル(図11)から抽出する。そして、ルーティング制御部1003は、上記未使用ポートのWaitNo.が上記自ノードWaitNo.よりも小さいか否かを判定する(ステップS2604)。
 ステップS2604の判定がYESの場合には、ルーティング制御部1003は、次の制御を実行する。すなわち、ルーティング制御部1003は、自ノードWaitNo.よりも若番のWaitNo.が設定されている上記未使用ポートを選択して送信処理を行うための、前述した図25のステップS2510~S2512の処理を実行する。
 ステップS2604の判定がNOの場合には、ルーティング制御部1003は、FIDテーブル1006のLoopフラグを判定した上で、受信フレームをそれに対応する受信ポートに返送するためのステップS2605~S2609の処理を実行する。
 また、ステップS2603の判定がNOの場合、すなわち受信フレーム内の送信先WaitNo.と自ノードWaitNo.が等しい場合は、前述した(3)の条件に対応する。この場合にも、ルーティング制御部1003は、FIDテーブル1006のLoopフラグを判定した上で、受信フレームをそれに対応する受信ポートに返送するためのステップS2605~S2609の処理を実行する。
 以上説明した図25および図26のフローチャートで示されるルーティング処理により、ルーティング制御部1003は、次のような制御を実行することになる。すなわち、ルーティング制御部1003は、受信フレーム内の送信先WaitNo.と、自ノードのWaitNo.テーブルに登録されている自ノードWaitNo.とポート毎の接続先ノードのWaitNo.とに基づいて、最短ホップ数の経路選択が可能となる。
 図27から図29は、上述のルーティング処理の具体例の説明図である。なお、図27から図29に示される構成は、図1に示されるシステム構成を基本としている。
 まず、基幹中継ノード102は、各センサー中継ノード103のWaitNo.を把握している(図14のステップS1410)。そして、基幹中継ノード102は、ID=20のセンサー中継ノード103にフレームを送信する場合、フレーム内に送信先WaitNo.(図12(a)の1201)=0x08を組み込んで送信する。0x08は、前述した図14のフローチャートで示される同期要求によるWaitNo.更新処理により、ID=20のセンサー中継ノード103に設定されたWaitNo.である。
 図中、各センサー中継ノード103に接続される通信ラインの入力部または出力部に表示される括弧付き数字、[1][2][3]等は、各センサー中継ノード103におけるポート番号を示す。各ポート番号に並んで表示される数字01~08等は、WaitNo.テーブル(図11)に登録されている各ポート番号が示すポートのWaitNo.を示す。S1,S2,S3,・・・等は、処理順を示す。
 図27において、S1からS4までは、ID=1,5,9,13の各センサー中継ノード103では、老番WaitNo.のポートが選択されて、受信フレームが転送される。この処理は、図26のステップS2602の判定がYESとなる制御で行なわれる。
 ID=17のセンサー中継ノード103では、行き先が無いため、受信フレームは、ID=13のセンサー中継ノード103へ戻される(S5のLoop1の表記)。このノードでは、別の老番WaitNo.のポートがあるので、受信フレームはID=14のセンサー中継ノード103に送信される(S6)。この処理は、図25のS2501→S2502→S2503→S2504→S2509→図26のS2601→S2602→図25のS2510→S2511→S2512→S2513の制御で行なわれる。
 その後、S7,S8では、老番WaitNo.のポートが選択されて、ID=18,19の各センサー中継ノード103の順に中継される。そして、ID=19のセンサー中継ノード103での処理で行き先が無いため、受信フレームは、ID=18のセンサー中継ノード103へ戻される(S9)。
 その後、S10,S11,S12,S13では、ID=18,14,13,9の各センサー中継ノード103で次々にLoop状態が検出される(Loop2~6の表記)。この処理は、図25のステップS2501→S2502→S2503→S2504→S2505→S2506の制御で行なわれる。
 この結果、受信フレームは、ID=5のセンサー中継ノード103まで戻される。ID=5のセンサー中継ノード103では、別の老番WaitNo.のポートがあるので、受信フレームはID=6のセンサー中継ノード103に送信される(S14)。
 図28に移行して、S15,S16で老番WaitNo.が選択されることにより、受信フレームはID=10,14の各センサー中継ノード103に転送される。しかし、ID=14のセンサー中継ノード103での処理で行き先が無いため、受信フレームは、ID=10のセンサー中継ノード103へ戻される(S17のLoop4として表記)。
 ID=10のセンサー中継ノード103では、別の老番WaitNo.のポートがあるので、受信フレームはID=11のセンサー中継ノード103に送信される(S18)。
 その後、S19,S20で老番WaitNo.が選択されることにより、受信フレームはID=15,19の各センサー中継ノード103に転送される。しかし、ID=19のセンサー中継ノード103での処理で行き先が再び無いため、受信フレームは、ID=15のセンサー中継ノード103へ戻される(S21のLoop2として表記)。
 ID=15のセンサー中継ノード103では、別の老番WaitNo.のポートがあるので、受信フレームはID=16のセンサー中継ノード103に送信される(S22)。
 最後に、S23で老番WaitNo.が選択されることにより、受信フレームはID=20のセンサー中継ノード103に転送され、そこで受信される。
 以上のルーティング処理の結果、基幹中継ノード102からID=20のセンサー中継ノード103への経路は、図29の破線で示される経路として決定される。すなわち、基幹中継ノード102→ID=1→ID=5→ID=6→ID=10→ID=11→ID=15→ID=16→ID=20の各センサー中継ノード103で中継される経路である。図29と前述した図2とを比較すると理解されるように、上述のルーティング処理によって決定された経路は、基幹中継ノード102からID=20のセンサー中継ノード103までの間で、最短ホップ数となる最適経路となっていることがわかる。
 図14に示される同期要求によるWaitNo.更新処理により、図23に示されるように、各センサー中継ノード103には、実質的に、基幹中継ノード102からの最短ホップ数に対応するWaitNo.値が設定される。そして、図25,図26に示されるルーティング処理により、各センサー中継ノード103は、受信フレームに設定されている目的のセンサー中継ノード103に対応する送信先WaitNo.に達するまで、次のような制御を行う。すなわち、各センサー中継ノード103は、常に自ノードWaitNo.よりも老番のWaitNo.を有する隣接ノードが接続されるポートに受信フレームを出力するように、自律的に動作する。この制御は、各センサー中継ノード103に、自ノードWaitNo.とポート毎の接続先ノードのWaitNo.を記憶するWaitNo.テーブルを設けたことにより可能となる。また、各センサー中継ノード103は、FIDテーブル1006内のLoopフラグを用いることにより、ホップ数が冗長にならないように制御しながら、適切なループ抑制処理を行なうことができる。
 なお、最初のフレームの送信時には、図27および図28として示したように、最適な経路決定に到るまで経路の選択動作が繰り返される。しかし、図29に示されるように一旦最適経路が決定すれば、その経路情報は最適経路上の各センサー中継ノード103のPSテーブル1005(図4)に、ID=20のセンサー中継ノード103のDST IDが登録されたエントリとして記憶される。経路上の各センサー中継ノード103は、2番目以降の受信フレームを受信したときには、受信フレームのDST IDに対応するPSテーブル1005上のエントリを検索する。そして、そのエントリにおいて「使用状態」が設定されているポートを順次選択して、受信フレームの出力処理を実行すればよい。
 図30は、以上の図27から図29までの制御動作における各センサー中継ノード103でのPSテーブルおよびFIDテーブルの状態遷移表を示す図である。以下の説明において、「エントリS1」と表記した場合には、図30の表の左端のNo.フィールドの値が「S1」である行を示すものとする。エントリS2~S23においても同様である。また、図4に例示されるPSテーブルおよび図23に例示されるFIDテーブルのP1,P2,P3フィールドは、図30中では「Port1」「Port2」「Port3」と表記する。さらに、図4に例示されるPSテーブルに設定される「未使用状態」「使用状態」「ループ状態」「リンク断状態」はそれぞれ、図30中では「未使用」「使用」「ループ」「リンク断」と表記する。また、図24に例示されるFIDテーブルに設定される「未送信ポート」「送信中ポート」「ループポート」「reserve」の各状態は、図9中では「未送信」「送信中」「ループ」「Reserve」と表記する。
 図27のS1~S4の状態遷移に従って、ID=1,5,9,13の各センサー中継ノード103の各PSテーブル1005(図4)に、次のような各エントリS1~S4が登録されてゆく。すなわち、PSテーブル1005の各エントリS1~S4において、DST IDフィールドに、受信フレームのDST IDフィールド(図12(a))から抽出されたID=20のセンサー中継ノード103の宛先アドレスが登録される。また、PSテーブル1005の各エントリS1~S4において、各センサー中継ノード103における出力ポートである2番ポートに対応するP2(Port2)フィールドに「使用」が登録される。さらに、ID=1,5,13の各センサー中継ノード103においては、上記PSテーブルの各エントリS1,S2,S4のP1(Port1)およびP3(Port3)フィールドには、「未使用」が登録される。また、ID=9のセンサー中継ノード103においては、上記PSテーブルのエントリS3のP1(Port1)フィールドには、「未使用」が登録され、P3(Port3)フィールドには、他のノードは接続されていないため、「リンク断」が登録される。
 一方、図27のS1~S4の状態遷移に従って、ID=1,5,9,13の各センサー中継ノード103の各FIDテーブル(図24)に、次のような各エントリS1~S4が登録されてゆく。すなわち、FIDテーブルの各エントリS1~S4において、SRC IDフィールドに、受信フレームのSRC IDフィールド(図12(a))から抽出された基幹中継ノード102の送信元アドレスが登録される。また、FIDテーブルの各エントリS1~S4において、FIDフィールドに、受信フレームのFIDフィールド(図12(a))から抽出されたFID:0x0001が登録される。また、FIDテーブルの各エントリS1~S4において、RxPortフィールドに、各センサー中継ノード103における受信ポートである1番ポートに対応するポート番号Port1が登録される。また、FIDテーブルの各エントリS1~S4において、各センサー中継ノード103における出力ポートである2番ポートに対応するP2(Port2)フィールドに「送信中」が登録される。さらに、ID=1,5,13の各センサー中継ノード103においては、上記FIDテーブルの各エントリS1,S2,S4のP1(Port1)およびP3(Port3)フィールドには、「未送信」が登録される。また、ID=9のセンサー中継ノード103においては、上記FIDテーブルのエントリS3のP1(Port1)フィールドには、「未送信」が登録され、P3(Port3)フィールドには、他のノードは接続されていないため、「Resere」が登録される。
 図27のS5の状態遷移においては、ID=17のセンサー中継ノード103では、P2(Port2)およびP3(Port3)がリンク断となっている。そこで、自ノードからは目的のID=20のセンサー中継ノード103には行き着けないことを示すために、ID=17のセンサー中継ノード103のFIDテーブル1006のエントリS5に、Loopフラグ=“ON”が設定される。同様に、図27のS9~S13,S17,S21の各状態遷移においても、各センサー中継ノード103では、いずれかのポートがリンク断となっていたり、出力可能な老番WaitNo.ポートが存在しない。そこで、これらのセンサー中継ノード103のFIDテーブル1006の各エントリにも、Loopフラグ=“ON”が設定される。その他の転送可能なポートが残っているセンサー中継ノード103では、FIDテーブル1006の各エントリには、Loopフラグ=“OFF”が設定される。
 図27のS5の状態遷移では、No.13のセンサー中継ノード103にフレームが戻される。この結果、No.13のセンサー中継ノード103のPSテーブルとFIDテーブルの状態は、図30のエントリS4の状態からエントリS6の状態に変化する。すなわち、PSテーブルの受信フレームと同じDST IDが登録されているエントリS6(=エントリS4)において、2番ポートにおいてループが検出されたため、P2(Port2)フィールドの状態が「使用」状態から「ループ」状態に更新される。また、3番ポートが新たな出力ポートとなったため、P3(Port3)フィールドの状態が「未使用」状態から「使用」状態に更新される。一方、FIDテーブル1006の受信フレームと同じSRC IDおよびFIDが登録されているエントリS6(=エントリS4)において、2番ポートにおいてループが検出されたため、P2(Port2)フィールドの状態が「送信中」状態から「ループポート」状態に更新される。また、3番ポートが新たな出力ポートとなったため、P3(Port3)フィールドの状態が「未送信」状態から「送信中」状態に更新される。
 以上説明した状態遷移以外の場合でも、上記と同様の要領で、PSテーブル1005およびFIDテーブル1006の内容が更新されてゆく。
 図30から理解されるように、リンク断ポートが存在したり老番WaitNo.ポートが無かったりすることで、目的のセンサー中継ノード103への転送が不可能なセンサー中継ノード103では、FIDテーブル1006のLoopフラグが“ON”にされる。これにより、ループ状態が回避されると共に、冗長なホップ数を有する経路の選択も回避される。
 図31は、基幹中継ノード102からセンサー中継ノード群100の途中のID=7のセンサー中継ノード103へのフレーム送信が行われる場合のルーティング処理の説明図である。
 S4,S8では、ID=13または10の各センサー中継ノード103において、受信フレームの送信先WaitNo.=WaitNo.テーブル上の自ノードWaitNo.=0x04となる。また、自ノードのアドレスは、受信フレームのDST IDとは異なる。このため、図13のステップS1305の判定がNOとなった後、図26のステップS2601→S2603→S2605~S2609となって、受信フレームが受信ポートに戻される。
 これを含む状態遷移S4~S10により、受信フレームは、ID=1のセンサー中継ノード103まで戻される。
 その後は、S11,S12,S13では、ID=1,2,3の各センサー中継ノード103では、老番WaitNo.のポートが選択されて、受信フレームが転送される。この処理は、図26のステップS2602の判定がYESとなる制御で行なわれる。
 なお、S12では、ID=2のセンサー中継ノード103で、老番WaitNo.のポートが2ポートあるため、図25のステップS2510に従って、若番ポートが選択され、受信フレームがID=3のセンサー中継ノード103に転送される。
 S14では、ID=4のセンサー中継ノード103において、受信フレームの送信先WaitNo.=WaitNo.テーブル上の自ノードWaitNo.=0x04となる。また、自ノードのアドレスは、受信フレームのDST IDとは異なる。このため、図13のステップS1305の判定がNOとなった後、図26のステップS2601→S2603→S2605~S2609となって、受信フレームが受信ポートに戻される。
 S15では、ID=3のセンサー中継ノード103において、別の老番WaitNo.のポートが選択されて、受信フレームがID=7の目的のセンサー中継ノード103に到達し、そこで受信される。
 以上のルーティング処理の結果、太実線で示される最短ホップ数の経路が確立する。
 図32は、ID=20のセンサー中継ノード103から基幹中継ノード102へのフレーム送信の例の説明図である。
 本実施形態では、基幹中継ノード102とセンサー中継ノード103とのデータ通信が主に実行されるため、センサー中継ノード103から自ノードより若番WaitNo.を有するノードへの送信は、基幹中継ノード102への送信となる。
 ID=20のセンサー中継ノード103から送信されたフレームには、DST IDとして基幹中継ノード102のアドレスが設定され、送信先WaitNo.として基幹中継ノード102のWaitNo.=0x00が設定される(図12(a))。
 ID=20のセンサー中継ノード103から送信されたフレームは、ID=12,8,4,3,2,1の各センサー中継ノード103において、次の制御が実行される。すなわち、各自ノードのWaitNo.テーブルに設定されている各自ノードWaitNo.=0x06,0x05,0x04,0x03,0x02,0x01が、受信フレームに設定されている送信先WaitNo.=0x00と比較される。この結果、常に受信フレームの送信先WaitNo.のほうが小さくなる。この場合には、各センサー中継ノード103は、自ノードWaitNo.より若番のWaitNo.が設定されているポートに、受信フレームを出力する。これは、図26のS2601→S2603→S2604→図25のS2510→S2511→S2512→S2513の制御により行なわれる。
 上述のルーティング処理の結果、センサー中継ノード103から基幹中継ノード102へのフレーム送信においても、最短ホップ数での経路が確立されることになる。
 図33は、図12のステップS1303で受信フレームがヘルスフレームであると判定された場合に実行されるヘルス情報によるWaitNo.更新処理を示すフローチャートである。
 まず、図10のルーティング制御部1003は、WaitNo.制御部1004が管理する図11に例示されるWaitNo.テーブルにアクセスする。そして、P1,P2,またはP3のWaitNo.のうち、受信フレームが受信された受信ポートに対応するWaitNo.を、受信フレームに設定されている送信元WaitNo.(図12(b)の1201)に更新する(ステップS3301)。
 これと共に、ルーティング制御部1003は、WaitNo.テーブルにおいてWaitNo.を更新したポートに対応するタイマー値をリスタートさせる(ステップS3302)。これにより、該当するポートでは、新たに設定されたタイマー値に対応する時間分だけ、新たにヘルスフレームが受信されるか否かが監視されることになる(後述する図38のステップS3802)。
 次に、ルーティング制御部1003は、受信フレーム中の送信元WaitNo.(図12(b)の1201)の値が、初期値(0xFF)に等しいか否かを判定する(ステップS3303)。
 受信フレーム中の送信元WaitNo.の値が初期値に等しくステップS3303の判定がYESなら、ルーティング制御部1003は、図45のフローチャートで示される回線断発生自のヘルス情報によるWaitNo.更新処理を実行する。この処理については、後述する。
 受信フレーム中の送信元WaitNo.の値が初期値に等しくなくステップS3303の判定がNOなら、ルーティング制御部1003は、次の処理を実行する。すなわち、ルーティング制御部1003は、WaitNo.テーブル内の自ノードWaitNo.の値が受信フレーム中の送信元WaitNo.に+1した値よりも大きいか否かを判定する(ステップS3304)。
 自ノードWaitNo.の値が送信元WaitNo.+1よりも大きくなくステップS3304の判定がNOなら、ルーティング制御部1003は、受信フレームを無視して、そのまま図33のヘルス情報によるWaitNo.更新処理を終了する。そして、アドホックルーティング制御デバイス1001によるフレーム受信の検知処理にもどる。
 自ノードWaitNo.の値が送信元WaitNo.+1よりも大きくステップS3304の判定がYESなら、ルーティング制御部1003は、次の処理を実行する。すなわち、ルーティング制御部1003は、WaitNo.テーブル内の自ノードWaitNo.(図11)の値を、受信フレーム中の送信元WaitNo.に+1した値に更新する(ステップS3305)。
 さらに、ルーティング制御部1003は、WaitNo.テーブル内のマスターPort(図11)の値を、受信フレームが受信された有線アドホックネットワークポート1016のポート番号に更新する(ステップS3306)。
 次に、ルーティング制御部1003からの制御によりフレーム処理部1009は、ヘルスフレーム中の送信元WaitNo.の値を、WaitNo.テーブル中の自ノードWaitNo.の値に設定する。そして、フレーム処理部1009は、送信フレーム制御部1011を制御して、そのヘルスフレームを、全ての有線アドホックネットワークポート1016から送信させる(ステップS3307)。
 これと共に、ルーティング制御部1003からの制御によりフレーム処理部1009は、送信フレーム制御部1011を制御して、基幹中継ノード102に向けて、自ノード状態通知フレームを送信させる(ステップS3308)。自ノード状態通知フレームは、図12(d)に示されるデータフォーマットを有する。この自ノード状態通知フレームにおいて、DST IDには、基幹中継ノード102のアドレスが設定される。SRC IDには、自ノードのアドレスが設定される。また、MACデータ302に、受信フレームに設定されていた送信元WaitNo.が送信先WaitNo.1201として設定される。これに加えて、自ノード状態通知フレームでは、MACデータ302に、自ノードのWaitNo.テーブル1007に格納された自ノードWaitNo.が2バイトの送信元WaitNo.として設定される。ルーティング制御部1003は、図10のPSテーブル1005において、DST IDとして基幹中継ノード102のDST IDが設定されたエントリ中のP1,P2,P3フィールドのうち、「使用状態」(図4)が設定されているフィールドを検出する。そして、ルーティング制御部1003は、図10の送信フレーム制御部1011に対して、上記検出したフィールドに対応する有線アドホックネットワークポート1016への自ノード状態通知フレームの出力を指示する。この処理により、図1の基幹中継ノード102は、各センサー中継ノード103から自ノード状態通知フレームを受け取ることにより、各センサー中継ノード103のWaitNo.テーブルに設定された自ノードWaitNo.を検知することができる。基幹中継ノード102は、特には図示しないテーブルに、各センサー中継ノード103の自ノードWaitNo.を保持して管理する。
 その後、ルーティング制御部1003は、図33のヘルス情報によるWaitNo.更新処理を終了し、アドホックルーティング制御デバイス1001によるフレーム受信の検知処理にもどる。
 以上説明したヘルス情報によるWaitNo.更新処理により、前述した図14のフローチャートで示される同期要求によるWaitNo.更新処理の場合と同様の制御が行なわれる。すなわち、図1において、基幹中継ノード102から送信されたWaitNo.が、センサー中継ノード群100中の各センサー中継ノード103に順次伝達される。このとき、各センサー中継ノード103において、同期要求フレーム中の送信元WaitNo.(図12(c)の1201)の値が+1ずつ増やされる。そして、その増やされたWaitNo.が、各センサー中継ノード103の図10に示されるWaitNo.制御部1004内のWaitNo.テーブルに、自ノードWaitNo.として設定される。さらに、その増やされたWaitNo.を有する同期要求フレームが、隣接するセンサー中継ノード103に転送される。このようにして、図1の各センサー中継ノード103には、実質的に、基幹中継ノード102からのホップ数に対応するWaitNo.値が、自ノードWaitNo.として設定される。
 図34から図37は、上述したヘルス情報によるWaitNo.更新処理の具体例を示す説明図である。以下、これらの説明図を使って、ヘルス情報によるWaitNo.更新処理の具体的処理について説明する。なお、図34から図37に示される構成は、図1に示されるシステム構成を基本としている。
 まず、図34において、状態遷移S1として、起動時、各センサー中継ノード103は、送信元WaitNo.=0xFF(図12(b)の1201)が設定されたヘルスフレームを、各自ノードの全ての有線アドホックネットワークポート1016(図10)から送信する。
 状態遷移S2において、基幹中継ノード102は、送信元WaitNo.=0x00が設定されたヘルスフレームを、ID=1のセンサー中継ノード103に送信する。
 状態遷移S3において、送信元WaitNo.=0x00が設定されたヘルスフレームを受信したID=1のセンサー中継ノード103では、次の制御を実行する。すなわち、自ノードのWaitNo.制御部1004(図10)内のWaitNo.テーブルにおいて、自ノードWaitNo.を、0xFFから、上記送信元WaitNo.=0x00に+1した値0x01に変更する。
 次に、図35において、状態遷移S1,S2は、図34の場合と同様である。ヘルスフレームは、各センサー中継ノード103から隣接ノードに向けて、定期的に送信される。
 状態遷移S4において、ID=1のセンサー中継ノード103は、自ノードの全ポートからID=2,3の各センサー中継ノード103に向けて、送信元WaitNo.=0x01が設定されたヘルスフレームを送信する。
 状態遷移S5において、ID=1のセンサー中継ノード103からヘルスフレームを受信したID=2,3の各センサー中継ノード103では、次の制御を実行する。すなわち、自ノードのWaitNo.テーブルにおいて、自ノードWaitNo.を、0xFFから、上記送信元WaitNo.=0x01に+1した値0x02に変更する。
 次に、図36において、状態遷移S1,S2,S4は、図34,図35の場合と同様である。
 状態遷移S6において、ID=2,3の各センサー中継ノード103は、自ノードの全ポートからID=4,5の各センサー中継ノード103に向けて、送信元WaitNo.=0x02が設定されたヘルスフレームを送信する。
 状態遷移S7において、ID=2,3のセンサー中継ノード103からヘルスフレームを受信したID=4,5の各センサー中継ノード103では、次の制御を実行する。すなわち、自ノードのWaitNo.テーブルにおいて、自ノードWaitNo.を、0xFFから、上記送信元WaitNo.=0x02に+1した値0x03に変更する。
 次に、図37において、状態遷移S1,S2,S4,S6は、図34,図35、図36の場合と同様である。
 状態遷移S8において、ID=4,5の各センサー中継ノード103は、自ノードの全ポートからID=2,3,4,5の各センサー中継ノード103に向けて、送信元WaitNo.=0x03が設定されたヘルスフレームを送信する。ID=4,5のセンサー中継ノード103からヘルスフレームを受信した各センサー中継ノード103では、受信フレームの送信先WaitNo.が自ノードWaitNo.よりも大きい。このため、図33のステップS3304の判定がNOとなることにより、これらのヘルスフレームは無視される。
 以上のようにして、ヘルスフレームの定期送信により、各センサー中継ノード103に、基幹中継ノード102からの最短ホップ数に対応したWaitNo.が設定される。
 次に、アドホックネットワークにおいて回線断が発生したときのWaitNo.の初期化や再構築の処理について、以下に説明する。
 図38は、回線断検出時のセンサー中継ノード103の動作を示すフローチャートである。以下、このフローチャートの処理について、説明する。
 ルーティング制御部1003は、監視処理として、ステップS3801とS3802の各処理を繰り返し実行している。
 まず、アドホックルーティング制御デバイス1001内のルーティング制御部1003は、図10の各有線アドホックネットワークポート1016による隣接ノードとの接続において、物理レベル障害が検出されたか否かを判定する(ステップS3801)。
 物理レベル障害が検出されずステップS3801の判定がNOなら、ルーティング制御部1003は、同期要求フレームまたはヘルスフレームが定期的に受信されているか否かを示すタイマータイムアウトを判定する(ステップS3802)。この判定は具体的には例えば、ルーティング制御部1003が、図10のWaitNo.制御部1004内のWaitNo.テーブル上の各ポート毎のタイマー値を監視する動作として行なわれる。
 定期フレーム受信のタイマータイムアウトが発生しておらずステップS3802の判定もNOなら、ルーティング制御部1003は、ステップS3801の判定とS3802の判定を繰り返し実行する。
 物理レベル障害の検出または定期フレーム受信のタイマータイムアウトの発生のいずれかの事象が発生しステップS3801またはS3802の判定がYESとなると、ルーティング制御部1003は、以下の回線断処理を実行する。
 まず、ルーティング制御部1003は、基幹中継ノード102に、削除通知フレームを送信する(ステップS3803)。これにより、基幹中継ノード102は、当該センサー中継ノード103での回線断の発生を認識することが可能となる。
 次に、ルーティング制御部1003は、WaitNo.テーブルで、自ノードWaitNo.が、受信ポート以外のいずれかの他ポートに接続されている隣接ノードのWaitNo.より大きいか否かを判定する(ステップS3804)。
 回線断により自ノードWaitNo.がどの他ポート接続WaitNo.よりも大きくはなくステップS3804の判定がNOならば、ルーティング制御部1003は、以下の動作を実行する。すなわち、ルーティング制御部1003はまず、WaitNo.テーブル上の自ノードWaitNo.を、初期値(0xFF)に更新する(ステップS3807)。次に、ルーティング制御部1003は、WaitNo.テーブル上のマスターPortを、初期値(未使用)に更新する(ステップS3808)。その後、ステップS3809の処理に移行する。
 一方、回線断により自ノードWaitNo.がいずれかの他ポート接続WaitNo.よりは大きくステップS3804の判定がYESならば、ルーティング制御部1003は、以下の動作を実行する。すなわち、ルーティング制御部1003はまず、若番WaitNo.の受信ポートに設定されたWaitNo.を+1し、その値によって、WaitNo.テーブル上の自ノードWaitNo.を更新する(ステップS3805)。次に、ルーティング制御部1003は、WaitNo.テーブルにおいて、マスターPortを、若番WaitNo.の受信ポート番号に更新する(ステップS3806)。その後、ステップS3809の処理に移行する。
 上述のステップS3805とS3806またはステップS3807とS3808の処理の後、ルーティング制御部1003は、以下の制御を実行する。すなわち、ルーティング制御部1003は、自ノードのWaitNo.テーブルの状態が変化した後に、ヘルスフレームを送信しているか否かを判定する(ステップS3809)。そして、ヘルスフレームを未送信なら、ルーティング制御部1003からの指示に従いフレーム処理部1009は、送信フレーム制御部1011に対し、全ての有線アドホックネットワークポート1016からヘルスフレームを送信させる(ステップS3810)。
 次に、ルーティング制御部1003からの制御によりフレーム処理部1009は、送信フレーム制御部1011を制御して、基幹中継ノード102に向けて、自ノード状態通知フレームを送信させる(ステップS3811)。この自ノード状態通知フレームには、送信元WaitNo.としてWaitNo.テーブル内で更新された自ノードWaitNo.が設定される(図12(d))。これにより、基幹中継ノード102は、センサー中継ノード103において自ノードWaitNo.が更新されたことを知ることができる。
 次に、ルーティング制御部1003は、隣接ノードからヘルスフレームを全て受信したか否かを判定する(ステップS3812)。
 ステップS3812の判定がNOなら、ルーティング制御部1003は、隣接するセンサー中継ノード103からのヘルスフレームの受信を待って、再度ステップS3804からS3812までの処理を実行し、自ノードの状態を更新する(ステップS3813)。
 ステップS3812の判定がYESになると、ルーティング制御部1003は、ステップS3801とS3802の監視処理に戻る。
 以上の図38に示されるフローチャートの制御処理により、センサー中継ノード103は、回線断の発生時に、隣接ノードの状況に合わせて、自ノードWaitNo.を自律的に更新することが可能となる。
 図39は、前述したヘルス情報によるWaitNo.更新処理(図33)において、他ノードから初期化されたWaitNo.をヘルスフレームで受信したときに実行される、回線断発生時のヘルス情報によるWaitNo.初期化処理を示すフローチャートである。以下、このフローチャートの処理について、説明する。
 受信されたヘルスフレーム内の送信元WaitNo.(図12(b)の1201)が初期値(0xFF)であると判定され前述した図33のステップS3303の判定がYESになると、図39のフローチャートの処理が実行される。
 ルーティング制御部1003は、WaitNo.テーブルで、自ノードWaitNo.が、受信ポート以外のいずれかの他ポートに接続されている隣接ノードのWaitNo.より大きいか否かを判定する(ステップS3901)。
 他ノードからの回線断を示すヘルス情報により自ノードWaitNo.がどの他ポート接続WaitNo.よりも大きくはなくステップS3901の判定がNOならば、ルーティング制御部1003は、以下の動作を実行する。すなわち、ルーティング制御部1003はまず、WaitNo.テーブル上の自ノードWaitNo.を、初期値(0xFF)に更新する(ステップS3902)。次に、ルーティング制御部1003は、WaitNo.テーブル上のマスターPortを、初期値(未使用)に更新する(ステップS3903)。その後、ステップS3906の処理に移行する。
 他ノードからの回線断を示すヘルス情報により自ノードWaitNo.がいずれかの他ポート接続WaitNo.より大きくなっておりステップS3901の判定がYESならば、ルーティング制御部1003は、以下の動作を実行する。すなわち、ルーティング制御部1003はまず、若番WaitNo.の受信ポートに設定されたWaitNo.を+1し、その値によって、WaitNo.テーブル上の自ノードWaitNo.を更新する(ステップS3904)。次に、ルーティング制御部1003は、WaitNo.テーブルにおいて、マスターPortを、若番WaitNo.の受信ポート番号に更新する(ステップS3905)。その後、ステップS3906の処理に移行する。
 上述のステップS3902とS3903またはステップS3904とS3905の処理の後、ルーティング制御部1003は、以下の制御を実行する。すなわち、ルーティング制御部1003からの指示に従いフレーム処理部1009は、送信フレーム制御部1011に対し、全ての有線アドホックネットワークポート1016からヘルスフレームを送信させる(ステップS3906)。
 次に、ルーティング制御部1003からの制御によりフレーム処理部1009は、送信フレーム制御部1011を制御して、基幹中継ノード102に向けて、自ノード状態通知フレームを送信させる(ステップS3907)。この自ノード状態通知フレームには、送信元WaitNo.としてWaitNo.テーブル内で更新された自ノードWaitNo.が設定される(図12(d))。これにより、基幹中継ノード102は、センサー中継ノード103において自ノードWaitNo.が更新されたことを知ることができる。
 以上のようにして、ルーティング制御部1003は、隣接ノードからヘルスフレームによって回線断の発生を通知されたときに、隣接ノードの状況に合わせて、自ノードWaitNo.を自律的に更新することが可能となる。
 図40は、前述した図13のステップS1304にて削除通知フレームの受信が検知された場合に実行される、回線断発生時の削除通知によるWaitNo.初期化処理を示す動作フローチャートである。このフローチャートも、図10のアドホックルーティング制御デバイス1001として構成されるFPGAの処理機能として実装される。あるいは、アドホックルーティング制御デバイス1001が中央演算処理装置とメモリを含むプロセッサとして構成される場合には、中央演算処理装置がメモリに記憶された制御プログラムを実行する動作として実装される。以下、このフローチャートの処理について、説明する。
 まず、ルーティング制御部1003は、受信された削除通知フレームが、既に受信されたフレームであるか否かを判定する(ステップS4001)。この判定は、ルーティング制御部1003が、受信フレームに設定されているSRC IDおよびFIDと同じSRC IDおよびFIDを有するエントリが、図10のFIDテーブル1006(図24)に登録されているか否かを判定する処理として行なわれる。
 受信フレームが既に受信されたフレームでステップS4001の判定がYESなら、ルーティング制御部1003は、同じ削除通知フレームについて重複して処理する必要はないため、受信フレームを破棄する(ステップS4006)。そして、ルーティング制御部1003は、図40の削除通知によるWaitNo.初期化処理を終了し、アドホックルーティング制御デバイス1001によるフレーム受信の検知処理にもどる。
 受信フレームが初めて受信されたフレームでステップS4001の判定がNOなら、ルーティング制御部1003はまず、WaitNo.テーブル上の自ノードWaitNo.を、初期値(0xFF)に更新する(ステップS4002)。次に、ルーティング制御部1003は、WaitNo.テーブル上のマスターPortを、初期値(未使用)に更新する(ステップS4003)。
 その後、ルーティング制御部1003は、以下の制御を実行する。すなわち、ルーティング制御部1003からの指示に従いフレーム処理部1009は、送信フレーム制御部1011に対し、全ての有線アドホックネットワークポート1016からヘルスフレームを送信させる(ステップS4004)。
 次に、ルーティング制御部1003からの制御によりフレーム処理部1009は、送信フレーム制御部1011を制御して、基幹中継ノード102に向けて、自ノード状態通知フレームを送信させる(ステップS4005)。この自ノード状態通知フレームには、送信元WaitNo.としてWaitNo.テーブル内で更新された自ノードWaitNo.が設定される(図12(d))。これにより、基幹中継ノード102は、センサー中継ノード103において自ノードWaitNo.が更新されたことを知ることができる。
 そして、ルーティング制御部1003は、図40の削除通知によるWaitNo.初期化処理を終了し、アドホックルーティング制御デバイス1001によるフレーム受信の検知処理にもどる。
 以上のようにして、ルーティング制御部1003は、隣接ノードからヘルスフレームによって回線断の発生を通知されたときに、隣接ノードの状況に合わせて、自ノードWaitNo.を自律的に更新することが可能となる。
 図41から図44は、回線断時に、ヘルス情報を利用してWaitNo.の初期化と再構築を行う例1の説明図である。この例1は、図34から図37に示される例と同じ例である。
 まず、図41において、ID=1のセンサー中継ノード103とID=2のセンサー中継ノード103の間の通信回線が切断したとする。状態遷移S2,S4,S6,S8は、図34ないし図37の場合と同じである。
 図41から図42において、状態遷移S9で、ID=2のセンサー中継ノード103は、例えば図38のステップS3801により、回線障害を検出する。これにより、ID=2のセンサー中継ノード103は、自身のWaitNo.テーブルの自ノードWaitNo.を0x02から0xFFに初期化する。この処理は、図38のステップS3804→S3807の制御により行なわれる。
 次に、状態遷移S10で、ID=2のセンサー中継ノード103は、初期化されたWaitNo.を送信元WaitNo.として含むヘルスフレーム(図12(b))を、ID=4,5の隣接する各センサー中継ノード103に送信する。この処理は、図38のステップS3809→S3810の制御により行なわれる。
 この結果、ID=5のセンサー中継ノード103は、図33のステップS3303の判定がYESになった後、図39のステップS3901で、受信ポート以外の他ポートで若番WaitNo.のポートがないため、その判定がNOとなる。この結果、ステップS3902により、ID=5のセンサー中継ノード103でも、WaitNo.テーブルの自ノードWaitNo.が0xFFに初期化される。
 一方、ID=4のセンサー中継ノード103は、図33のステップS3303の判定がYESになった後、図39のステップS3901で、受信ポート以外の他ポートで若番WaitNo.のポートがあるため、その判定がYESとなる。この結果、ステップS3904により、ID=4のセンサー中継ノード103で、WaitNo.テーブルの自ノードWaitNo.が、ID=3のセンサー中継ノード103のWaitNo.=0x02に+1して得られる同じ値0x03に維持される。
 以上のような初期化処理に続いて、WaitNo.の再構築処理が実行される。
 図42から図43に移り、状態遷移S8にて、ID=4のセンサー中継ノード103から送信されるヘルスフレームにより、ID=2と5の各センサー中継ノード103において、WaitNo.テーブルの自ノードWaitNo.が、0x04に更新される。この処理は、図33のステップS3303→S3304→S3305の制御として行なわれる。
 以上のようにして、図41→図44として示されるように、ID=1のセンサー中継ノード103とID=2のセンサー中継ノード103の間で回線断が発生しても、ID=2,5の各センサー中継ノード103のWaitNo.を自動的に初期設定し続いて再構築することが可能となる。
 図44の状態遷移S12において、ID=5のセンサー中継ノード103から、再構築されたWaitNo.を送信元WaitNo.として含むヘルスフレーム(図12(b))が、隣接ノードに送信される。この処理は、図33のステップS3307の制御として行なわれれる。
 なお、図44での再構築完了後も、各センサー中継ノード103は、図38のステップS3801とS3802の処理の繰返しにより、各ポートの障害検知とヘルスフレームの定期的受信を監視するで、新たな障害発生等に備えることが可能となる。
 また、回線断の箇所が復旧した場合においても、上述したのと同様のWaitNo.の初期設定および再構築の制御が実行されることにより、最短ホップ数の経路の再構築を行うことが可能となる。
 図45および図46は、回線断時に、ヘルス情報を利用してWaitNo.の初期化を行う例2の説明図である。この例2は、図1のシステム構成と同じである。
 まず、図45において、状態遷移S1において、回線断が発生する。
 その結果、状態遷移S2で、WaitNo.=0x03であるセンサー中継ノード103は、例えば図38のステップS3801により、回線障害を検出する。これにより、上記センサー中継ノード103は、自身のWaitNo.テーブルの自ノードWaitNo.を0x03から0xFFに初期化する。この処理は、図38のステップS3804→S3807の制御により行なわれる。続いて、上記センサー中継ノード103は、初期化されたWaitNo.を送信元WaitNo.として含むヘルスフレーム(図12(b))を、WaitNo.=0x04を有する隣接する各センサー中継ノード103に送信する。この処理は、図38のステップS3809→S3810の制御により行なわれる。
 この結果、図46として示されるように、WaitNo.=0x04を有する各センサー中継ノード103は、図33のステップS3303の判定がYESになった後、図39のステップS3901で、受信ポート以外の他ポートで若番WaitNo.のポートがないため、その判定がNOとなる。この結果、ステップS3902により、上記各センサー中継ノード103で、WaitNo.テーブルの自ノードWaitNo.が0xFFに初期化される。
 さらに、状態遷移S3で、WaitNo.=0x05や0x06を有するセンサー中継ノード103でも、自ノードよりも若番WaitNo.の隣接ノードが初期化され、初期化されたWaitNo.がヘルスフレームにより送信されてくる。この結果、上記と同様にして、各センサー中継ノード103で、WaitNo.テーブルの自ノードWaitNo.が0xFFに初期化される。
 各センサー中継ノード103での回線断の検知やWaitNo.テーブルにおける自ノードWaitNo.の更新は、削除通知フレームや自ノード状態通知フレームにより、図46の太実線で示されるように、随時基幹中継ノード102に通知される。この処理は、例えば図38のステップS3803やS3811、あるいは図39のステップS3907の制御により行なわれる。
 図47は、回線断時に、削除通知を利用してWaitNo.の初期化を行う例2の説明図である。この例2は、図1のシステム構成と同じである。
 まず、図47において、状態遷移S1において、回線断が発生する。
 状態遷移S2で、回線断が発生した両端のセンサー中継ノード103は、例えば図38のステップS3801により、回線障害を検出する。これにより、上記センサー中継ノード103は、自身のWaitNo.テーブルの自ノードWaitNo.を0xFFに初期化する。この処理は、図38のステップS3804→S3807の制御により行なわれる。続いて、上記各センサー中継ノード103は、初期化されたWaitNo.を送信元WaitNo.として含む削除通知フレームを、隣接する各センサー中継ノード103に送信する。この処理は、図38には示していないが、図38のステップS3809→S3810の制御に相当する制御として、削除通知フレームの送信を実行すればよい。この結果、隣接する各センサー中継ノード103は、図40のステップS4002により、上記各センサー中継ノード103で、WaitNo.テーブルの自ノードWaitNo.が0xFFに初期化される。
 これらのセンサー中継ノード103は、状態遷移S3として、さらに隣接ノードに、初期化されたWaitNo.を含む削除通知フレームを送信する。この処理は、図40のステップS4004により行なわれる。これにより、条件によってセンサー中継ノード群100全体について、各センサー中継ノード103のWaitNo.テーブルの自ノードWaitNo.を自律的に初期化することが可能となる。
 図48は、回線断時に、ヘルス情報を利用してWaitNo.の再構築を行う例2の説明図である。この例2は、図1のシステム構成と同じである。
 図46に示される初期化処理により、図48の破線4801で囲まれた範囲のセンサー中継ノード103において、WaitNo.テーブルの自ノードWaitNo.が初期化されているとする。この場合、状態遷移S4において、隣接するWaitNo.=0x05と0x07を有するセンサー中継ノード103からのヘルスフレームの送信により、破線4801の範囲の各センサー中継ノード103のWaitNo.が順次更新され、再構築される。この処理は、図33のステップS3303→S3304→S3305の制御により行なわれる。
 図49は、回線断時に、同期要求を利用してWaitNo.の再構築を行う例2の説明図である。この例2は、図1のシステム構成と同じである。
 図47に示される初期化処理によりセンサー中継ノード群100全体において、各センサー中継ノード103のWaitNo.が初期化されているとする。この場合、状態遷移S1において、削除通知フレームや自ノード状態通知フレームを受け取った基幹中継ノード102は、時刻同期要求等のブロードキャストフレームを送信する。この結果、同期要求フレームを受信した各センサー中継ノード103で、前述した図14のフローチャートの制御処理が実行されることにより、各センサー中継ノード103のWaitNo.テーブルで、自ノードWaitNo.が再構築させることが可能となる。
 以上説明した実施形態では、各センサー中継ノード103毎にWaitNo.を持たせ、これを用いてルーティングを行うことで、経路が冗長となることが解決される。
 より具体的には、本実施形態では、基幹中継ノード102からのホップ数に相当するルーティング情報であるWaitNo.を用いることで、最適化されたルートの検出・構築を可能とするルーティング方式が構築される。また、このWaitNo.により、アドホックネットワークへのセンサー中継ノード103の追加・削除を自動制御することで、自律的に迅速かつ最小ホップ数を有する最適経路の決定を可能とするルーティング方式が提供される。
 本実施形態によるWaitNo.更新処理では、基幹中継ノード102から送信されたWaitNo.が、センサー中継ノード群100中の各センサー中継ノード103に順次伝達されてゆく。このとき、各センサー中継ノード103において、同期要求フレームまたはヘルスフレーム中の送信元WaitNo.の値が+1ずつ増やされてゆく。そして、その増やされたWaitNo.が、各センサー中継ノード103に自ノードWaitNo.として設定され、さらに、その新たなWaitNo.を有する同期要求フレーム又はヘルスフレームが、隣接するセンサー中継ノード103に転送されてゆく。このようにして、図1の各センサー中継ノード103には、実質的に、基幹中継ノード102からのホップ数に対応するWaitNo.値を、自ノードWaitNo.として設定することができる。
 また、本実施形態によるWaitNo.更新処理では、同期要求フレームまたはヘルスフレームが受信される毎に、受信ポートに対応する隣接ノードのWaitNo.がWaitNo.テーブルに保持される。これにより、ホップ数が減る方向及び増加する方向の両方で、隣接ノードのWaitNo.を把握することが可能となり、これに基づいて最短ホップ数の経路決定が行なわれる。
 また、本実施形態では、センサー中継ノード103は、回線断の発生時に、隣接ノードの状況に合わせて、自ノードWaitNo.を自律的に更新することが可能となる。また、ルーティング制御部1003は、隣接ノードからヘルスフレームによって回線断の発生を通知されたときに、隣接ノードの状況に合わせて、自ノードWaitNo.を自律的に更新することが可能となる。これにより、回線断の発生時に、経路の自動的な再構築が可能となる。
 さらに、再構築完了後も、各センサー中継ノード103は、各ポートの障害検知とヘルスフレームの定期的受信を監視するで、新たな障害発生等に備えることが可能となる。
 また、回線断の箇所が復旧した場合においても、WaitNo.の初期設定および再構築の制御が実行されることにより、最短ホップ数の経路の再構築を行うことが可能となる。
 本実施形態において、図12の構成は、MACヘッダ301、MACデータ302、およびFCS303からなるイーサネットフレームにアドホックヘッダ302-1、WaitNo.1201、およびデータ302-2からなるアドホックフレームが設定された構成を有する。すなわち、本実施形態では、イーサネットプロトコルのもとでアドホックフレームが通信される構成が採用されている。しかし、本発明はこのフレーム構成に限られるものではない。すなわち、センサー中継ノード103同士およびセンサー中継ノード103と基幹中継ノードが、アドホック通信プロトコルに基づいてアドホックフレームを直接通信するようなフレーム構成が採用されてもよい。
 また、前記実施形態では、wait NO. は、基幹中継ノードからセンサー中継ノードに向かって、インクリメントされるように付与したが、デクリメントされるように付与しても良い。その場合には、基幹中継ノードから目的のセンサー中継ノードにフレームを送信する場合、各センサー中継ノードは老番wait NO.ノードではなくて、若番wait NO.ノードを選択する。
 また、センサー中継ノードから、基幹中継ノードへフレームを送信する場合、基幹中継ノードからそのセンサー中継ノードへのフレーム送信時に決定された最適経路をそのまま逆にたどって送信するようにしてもよい。
 本実施形態は、サーバールームの空調管理やビル・セキュリティ管理、システム、ビルや橋等の構造物のゆがみ/たわみ等の振動チェック、及び、無線アドホックでの運用不可箇所の中継網構築等に利用することができる。
 100 センサー中継ノード群
 101 監視・制御サーバー
 102 基幹中継ノード
 103 センサー中継ノード
 301 MACヘッダ
 302 MAC(Media Access Control)データ
  302-1 アドホックヘッダ
  302-2 データ
 303 FCS(Frame Check Sequence)
 1001 アドホックルーティング制御デバイス
 1002 CPU(中央演算処理装置)
 1003 ルーティング制御部
 1004 WaitNo.制御部
 1005 PSテーブル
 1006 FIDテーブル
 1007 CPUインタフェース
 1008 レジスタ
 1009 フレーム処理部
 1010 受信フレーム制御部
 1011 送信フレーム制御部
 1012 汎用ポート制御部
 1013 FPGAインタフェース
 1014 DI/DOインタフェース
 1015 センサーインタフェース
 1016 有線アドホックネットワークポート
 1017 汎用ポート
 1018 EEPROM(Electrically Erasable and Programmable Read Only Memory)
 1019 センサー接続ポート
 1020 DI/DO端子
 1201 送信元WaitNo./送信先WaitNo.

Claims (15)

  1.  複数のノード装置を含むネットワークにおけるルーティング方法であって、
     前記ノード装置は、ウエイト番号を含む第1のフレームを受信すると、受信した前記第1のフレーム中のウエイト番号をインクリメントして自ウエイト番号として記憶し、
     前記ノード装置は、前記自ウエイト番号を含む第1のフレームを送出し、
     前記ノード装置は、あて先のノード装置のウエイト番号を含む第2のフレームを受信すると、前記第2のフレーム中のウエイト番号と前記自ウエイト番号を比較し、
     前記第2のフレーム中のウエイト番号が前記自ウエイト番号よりも大きければ、前記自ウエイト番号よりも大きなウエイト番号の送信先に前記第2のフレームを送出し、前記大きなウエイト番号の送信先がない場合にはループとして前記第2のフレームを送信元のノード装置に返送し、
     第2のフレーム中のウエイト番号が前記自ウエイト番号よりも小さければ、前記自ウエイト番号よりも小さなウエイト番号の送信先に前記第2のフレームを送出し、前記小さなウエイト番号の送信先がない場合にはループとして前記第2のフレームを送信元のノード装置に返送する、
     ことを特徴とするルーティング方法。
  2.  前記ノード装置は、前記第2のフレーム中のウエイト番号と前記自ウエイト番号との比較において、前記第2のフレーム中のウエイト番号が前記自ノードのウエイト番号と同じである場合に、受信するかまたはループとして前記第2のフレームを送信元のノード装置に返送する、
     ことを特徴とする請求項1に記載のルーティング方法。
  3.  前記ノード装置は、前記第1のフレームを受信したときに、受信した前記第1のフレーム中のウエイト番号を受信時の通信ポートに対応付けて通信ポートウエイト番号として記憶し、
     前記第2のフレームの送出先を、前記通信ポートウエイト番号により決定する、
     ことを特徴とする請求項1に記載のルーティング方法。
  4.  前記ノード装置は、前記第1のフレームを受信したときに、前記自ウエイト番号が前記第1のフレーム中のウエイト番号よりも大きい場合に、受信した前記第1のフレーム中のウエイト番号をインクリメントして自ウエイト番号として記憶する、
     ことを特徴とする請求項1に記載のルーティング方法。
  5.  前記ノード装置は、通信障害を検出した場合において、
     前記自ウエイト番号が他のどの隣接するノード装置のウエイト番号よりも以下である場合に、前記自ウエイト番号を初期化し、
     前記自ウエイト番号が通信可能な他のいずれかの隣接するノード装置のウエイト番号よりも大きい場合に、前記隣接するノード装置のウエイト番号をインクリメントして前記自ウエイト番号として記憶し、
     その後、前記自ウエイト番号を含む第1のフレームとしてヘルスフレームを送出する、
     ことを特徴とする請求項1に記載のルーティング方法。
  6.  前記ノード装置は、通信障害が検出された場合において、前記第1のフレームとしてウエイト番号が初期化されたヘルスフレームを受信し、
     前記自ウエイト番号が他のどの隣接するノード装置のウエイト番号よりも以下である場合に、前記自ウエイト番号を初期化し、
     前記自ウエイト番号が通信可能な他のいずれかの隣接するノード装置のウエイト番号よりも大きい場合に、前記隣接するノード装置のウエイト番号をインクリメントして前記自ウエイト番号として記憶し、
     その後、前記自ウエイト番号を含む第1のフレームとしてヘルスフレームを送出する、
     ことを特徴とする請求項1に記載のルーティング方法。
  7.  前記ノード装置は、前記削除通知フレームを受信した場合に、前記自ウエイト番号を初期化する、
     ことを特徴とする請求項1に記載のルーティング方法。
  8.  前記ノード装置は、前記第2のフレーム中のウエイト番号と前記自ウエイト番号との比較において、同じウエイト番号の送信先が複数存在する場合に、前記複数の送信先に接続される各通信ポートのポート番号の大きさに基づいて決定した送信先に、前記第2のフレームを送出する、
     ことを特徴とする請求項1に記載のルーティング方法。
  9.  前記第1のフレームは、前記ノード装置に対して基幹中継ノードから前記ノード装置に対して同報送信される同期要求フレームである、
     ことを特徴とする請求項1に記載のルーティング方法。
  10.  前記第1のフレームは、前記ノード装置間で定期的に送受信されてヘルスチェックを行うヘルスフレームである、
     ことを特徴とする請求項1に記載のルーティング方法。
  11.  複数のノード装置を含むネットワークにおけるルーティング方法であって、
     前記ノード装置は、ウエイト番号を含む第1のフレームを受信すると、受信した前記第1のフレーム中のウエイト番号をインクリメントして自ウエイト番号として記憶し、
     前記ノード装置は、前記自ウエイト番号を含む第1のフレームを送出し、
     前記ノード装置は、あて先のノード装置のウエイト番号を含む第2のフレームを受信すると、前記第2のフレーム中のウエイト番号と前記自ウエイト番号を比較することにより、前記受信した第2のフレームを送出すべきノード装置をループの有無を含めて決定し、前記決定したノード装置に前記第2のフレームを送出する、
     ことを特徴とするルーティング方法。
  12.  ネットワークを構成するノード装置であって、
     ウエイト番号を含む第1のフレームを受信すると、受信した前記第1のフレーム中のウエイト番号をインクリメントして自ウエイト番号として記憶し、前記自ウエイト番号を含む第1のフレームを送出するウエイト番号制御部と、
     あて先のノード装置のウエイト番号を含む第2のフレームを受信すると、前記第2のフレーム中のウエイト番号と前記自ウエイト番号を比較し、
     前記第2のフレーム中のウエイト番号が前記自ウエイト番号よりも大きければ、前記自ウエイト番号よりも大きなウエイト番号の送信先に前記第2のフレームを送出し、前記大きなウエイト番号の送信先がない場合にはループとして前記第2のフレームを送信元のノード装置に返送し、
     第2のフレーム中のウエイト番号が前記自ウエイト番号よりも小さければ、前記自ウエイト番号よりも小さなウエイト番号の送信先に前記第2のフレームを送出し、前記小さなウエイト番号の送信先がない場合にはループとして前記第2のフレームを送信元のノード装置に返送する、ルーティング制御部と、
     を含むことを特徴とするノード装置。
  13.  前記ルーティング制御部は、前記第2のフレーム中のウエイト番号と前記自ウエイト番号との比較において、前記第2のフレーム中のウエイト番号が前記自ノードのウエイト番号と同じである場合に、受信するかまたはループとして前記第2のフレームを送信元のノード装置に返送する、
     ことを特徴とする請求項12に記載のノード装置。
  14.  前記ウエイト番号制御部は、前記第1のフレームを受信したときに、受信した前記第1のフレーム中のウエイト番号を受信時の通信ポートに対応付けて通信ポートウエイト番号として記憶し、
     前記第2のフレームの送出先を、前記通信ポートウエイト番号により決定する、
     ことを特徴とする請求項12に記載のノード装置。
  15.  前記ルーティング制御部は、前記ノード装置がループとされたことを記憶し、ループとされたノード装置に送信されないようにルーティングする、
     ことを特徴とする請求項12記載のノード装置。
PCT/JP2010/066441 2010-09-22 2010-09-22 ネットワークにおけるルーティング方法及びノード装置 WO2012039040A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012534858A JP5310956B2 (ja) 2010-09-22 2010-09-22 ネットワークにおけるルーティング方法及びノード装置
PCT/JP2010/066441 WO2012039040A1 (ja) 2010-09-22 2010-09-22 ネットワークにおけるルーティング方法及びノード装置
US13/778,224 US9210096B2 (en) 2010-09-22 2013-02-27 Routing method and node equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/066441 WO2012039040A1 (ja) 2010-09-22 2010-09-22 ネットワークにおけるルーティング方法及びノード装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/778,224 Continuation US9210096B2 (en) 2010-09-22 2013-02-27 Routing method and node equipment

Publications (1)

Publication Number Publication Date
WO2012039040A1 true WO2012039040A1 (ja) 2012-03-29

Family

ID=45873554

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/066441 WO2012039040A1 (ja) 2010-09-22 2010-09-22 ネットワークにおけるルーティング方法及びノード装置

Country Status (3)

Country Link
US (1) US9210096B2 (ja)
JP (1) JP5310956B2 (ja)
WO (1) WO2012039040A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9516595B2 (en) * 2013-03-27 2016-12-06 Qualcomm Incorporated Systems and methods for synchronization within a neighborhood aware network
US9520042B2 (en) * 2013-09-17 2016-12-13 Microchip Technology Incorporated Smoke detector with enhanced audio and communications capabilities
US20150077248A1 (en) * 2013-09-17 2015-03-19 Microchip Technology Incorporated Smoke Detectors with Wireless Local Area Network Capabilities
JP6206105B2 (ja) * 2013-11-11 2017-10-04 富士通株式会社 通信システム、通信方法および通信プログラム
US9509445B2 (en) * 2015-01-27 2016-11-29 Infineon Technologies Ag Sensor interface that provides a long package CRC to improve functional safety
US10069949B2 (en) * 2016-10-14 2018-09-04 Honeywell International Inc. System and method for enabling detection of messages having previously transited network devices in support of loop detection
CN107801227B (zh) * 2017-09-27 2021-01-26 中国科学院上海微系统与信息技术研究所 一种面向无线传感器网层次化分析的路由调度方法
US10810086B2 (en) 2017-10-19 2020-10-20 Honeywell International Inc. System and method for emulation of enhanced application module redundancy (EAM-R)
US10574566B2 (en) * 2018-05-25 2020-02-25 Juniper Networks, Inc. Reducing or eliminating routing microloops in networks having a CLOS topology, such as data center CLOS networks employing the exterior border gateway protocol (EBGP) for example
SE2050048A1 (en) * 2020-01-22 2021-07-23 Telia Co Ab Method and System for Switching Data Frames in a Network

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006245854A (ja) * 2005-03-02 2006-09-14 Fuji Electric Systems Co Ltd バッテリ駆動の無線機とこれを用いた監視システム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7307978B2 (en) 2001-05-01 2007-12-11 Avago Technologies Enterprise Ip (Singapore) Pte Ltd Method and system for routing packets through a network by employing geographical position data
KR100621369B1 (ko) * 2003-07-14 2006-09-08 삼성전자주식회사 센서 네트워크에서 라우팅 경로 설정 장치 및 방법
KR100716986B1 (ko) * 2004-11-11 2007-05-10 삼성전자주식회사 RR(Return Routability)과정을이용한 경로 선택 방법 및 장치
US8457005B2 (en) * 2006-11-08 2013-06-04 Trellisware Technologies, Inc. Method and system for establishing cooperative routing in wireless networks
KR101179919B1 (ko) * 2008-05-30 2012-09-05 경북대학교 산학협력단 센서 네트워크에서의 다중 경로 소스 라우팅 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006245854A (ja) * 2005-03-02 2006-09-14 Fuji Electric Systems Co Ltd バッテリ駆動の無線機とこれを用いた監視システム

Also Published As

Publication number Publication date
JP5310956B2 (ja) 2013-10-09
JPWO2012039040A1 (ja) 2014-02-03
US9210096B2 (en) 2015-12-08
US20130170504A1 (en) 2013-07-04

Similar Documents

Publication Publication Date Title
JP5310956B2 (ja) ネットワークにおけるルーティング方法及びノード装置
CN108141376A (zh) 软件定义网络中的控制流量
JP5579325B2 (ja) 通信装置及び通信システム
US10075366B2 (en) Communication device, communication system, communication control method, and communication control program
US9350638B2 (en) Ethernet physical layer monitoring system employing social networking service for delivery of alerts to mobile devices
JP5440591B2 (ja) フィールド無線システム
WO2013145255A1 (ja) 電力供給制御装置、中継ノード装置、有線アドホックネットワークシステム、および電力供給制御方法
JP5786948B2 (ja) ノード装置および通信方法
CN104869603B (zh) 一种适用于无线监测控制网络的ZigBee路由方法
US11716221B2 (en) Switchboard management system using ring network
CN104604183B (zh) 使用移动通信设备发送消息的方法和系统
JP5140044B2 (ja) 検針データ収集システム
CN105721296A (zh) 一种提高链状结构的ZigBee网络稳定性的方法
WO2014080564A1 (ja) ネットワークシステム
CN206136309U (zh) 一种基于低功耗有损网络路由协议的无线传感器网络
JP2014027543A (ja) ERP(EtherRingProtection)のノードおよびネットワーク、ERPネットワークの設定システムおよび設定方法
CN112333049B (zh) 一种天临空地车网络节点状态实时监控的实现方法
JP5532445B2 (ja) リング型ネットワークシステム
WO2013145241A1 (ja) 端末装置、通信システムおよびパケット転送方法
JP3804348B2 (ja) 無線通信ネットワークシステム
CN116156567A (zh) 一种基于智能路由装置的多无线自组网方法
CN102104543A (zh) 信息转发方法及系统
WO2012028918A1 (ja) マルチホップ通信システム
KR20110043119A (ko) 유선 통신 및 무선 통신을 지원하는 하이브리드 브릿지 노드를 이용한 센서 네트워크 시스템
JP2013046216A (ja) メッシュネットワークとこれに用いる子局

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: 10857534

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012534858

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: 10857534

Country of ref document: EP

Kind code of ref document: A1