The embodiments discussed herein are related to a routing method and node equipment.
Ad-hoc network has been known as an autonomous distributed network. In the ad-hoc network, a large-scale network is formed autonomously, and the communication is maintained when a trouble occurs. In addition, the ad-hoc network is applicable to various communication media, either wired or wireless communication.
The ad-hoc network has been applied to a sensor network for example. In a wired sensor network, each node equipment is connected to a plurality of node equipments by wired connection, and data communication and power supply are performed by wired connection. Some of the advantages of the wired type are that it is possible to embed the sensor into the ground, water, structural objects and the like, and that it is possible to detect disconnection and the like.
In order to establish an ad-hoc network, a technique to select the optimal path, a control technique in case of trouble, and the like may be required.
As routing control in the ad-hoc network, the following technique is known. The sensor included in a communication node of the ad-hoc network has a function as a sensor node and a function as a relay node. Each node executes the routing process based on the adjacent node information, destination address, source address and the frame sequence number. Upon receiving a frame, the node compares the received frame with the contents of a destination table that the node has, and transmits the frame by selecting a transmission port that is different from the reception port. When there are a plurality of available communication ports for transmission, selection is made according to a condition such as the ascending order or the descending order of the port number. Related techniques are described in, for example, Japanese Laid-open Patent Publication No. 2002-368789.
However, when the routing in the ad-hoc network is performed in the known scheme, the path may not necessarily be determined with a smallest hop count, and the determined path may be redundant.
According to an aspect of the embodiments, a routing method performed by node equipment in a network including a plurality of node equipments includes: receiving a first frame including a wait number, incrementing the wait number, and storing the incremented wait number as a local wait number; transmitting the first frame including the local wait number; receiving a second frame including a wait number of a destination node equipment, and comparing the wait number in the second frame and the local wait number; transmitting the second frame to an adjacent node equipment having a larger wait number than the local wait number, when the wait number in the second frame is larger than the local wait number; returning the second frame to a source node equipment of the second frame, when the wait number in the second frame is larger than the local wait number but there is no adjacent node equipment having a larger wait number than the local wait number; transmitting the second frame to an adjacent node equipment having a smaller wait number than the local wait number, when the wait number in the second frame is smaller than the local wait number; returning the second frame to the source node equipment of the second frame, when the wait number in the second frame is smaller than the local wait number but there is no adjacent node equipment having a smaller wait number than the local wait number.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention.
Embodiments to implement the present invention are described in details with reference to the drawings. In the description below, the configuration of the ad-hoc network and the routing method are explained, and then specific details of the embodiment are explained.
When the ad-hoc network is applied to an environment monitoring system for energy-saving control by controlling air-conditioning of a server data center, the sensor relay node 103 is, for example, a temperature sensor, a wind speed sensor and the like placed in respective locations in the data center. When the ad-hoc network is applied to a facility management/control system for energy-saving and security management of a building for example, the sensor relay node 103 is an illuminance sensor, a temperature sensor, a human sensor and the like to detect the condition of a room. When the ad-hoc network is applied to an inspection work system for optimization management of power generation and power distribution in an electricity producer for example, the sensor relay node 103 is, for example, a meter for reading. When the ad-hoc network is applied to a structural object monitoring system for checking the health of a bridge against degradation for example, the sensor relay node 103 is, for example, an acceleration sensor, a distortion sensor, a monitoring camera and the like.
When a sensor relay node 103 is directly connected to another sensor relay node 103 by a cable, the two sensor relay nodes 103 are “adjacent”. The other sensor relay node 103 adjacent to a sensor relay node 103 may be referred to as an “adjacent node”. For a sensor relay node 103, the sensor relay node 103 itself may be referred to as a “local node”.
A core relay node 102 functions as a gateway apparatus to relay sensor information collected by the sensor relay nodes 103 to a monitoring/control server 101 connected via a LAN (local area network) for example. In addition, the core relay node 102 can relay various control information from the monitoring/control server 101 to each sensor relay node 103 and may obtain the control information. In other words, the core relay node 102 has a function to perform conversion between the LAN communication protocol and the wired ad-hoc routing protocol.
The monitoring/control server 101 monitors the sensor information collected by the sensor relay nodes 103, displays the sensor information, and outputs an alarm when abnormal of the sensor information is detected. In addition, the monitoring/control server 101 controls the each of the sensor relay nodes 103
In the ad-hoc network, sensor information collected by each of the sensor relay nodes 103 is transmitted to the monitoring/control server 101, and monitored and controlled at the monitoring/control server 101. Accordingly, it is possible to perform efficient collection and monitoring of the sensor information.
Here, in the ad-hoc network that forms the sensor relay node group 100, it is favorable to prepare for occurrence of a trouble in the sensor relay node 103 and the communication line and to perform optimal communication. For this purpose, in order for the core relay node 102 to communicate with a target sensor relay node 103 according to an instruction of the monitoring/control server 101, path control in which each sensor relay node 103 autonomously selects the optimal path for communication and autonomously changes and restores the path at the time of occurrence of a trouble is important.
Generally, the optimal path between the core relay node 102 and a target sensor relay node 103 is decided by minimizing the number of sensor relay nodes 103 relayed while forwarding a frame from the target sensor relay node 103 to the core relay node 102 (or vice versa). The number of sensor relay nodes 103 relayed when a frame is forwarded to a target relay node may be called “hop count”. When the hop count is small, the time spent for forwarding is also less, and the traffic in the communication line is also less.
As described above, to decide the optimal path, it is important how to select a path with a smaller hop count. Note that the numbers in brackets [1] [2] [3] and (1) (2) (3) and so on represent the port numbers of the sensor relay node 103.
One routing method for deciding a path in the ad-hoc network is as follows. Each sensor relay node 103 does not have location information of all nodes in the network. Each sensor relay node 103 manages four types of statuses used/unused/loop/unconnected of each port based on information of the adjacent sensor relay node 103, the destination address and source address, and the frame identification (FID: Frame Identification) being the frame sequence number. Accordingly, the sensor relay node 103 executes the routing process.
In the routing method that is usually assumed, for example, the frame illustrated in
The wired communication line that connects between the sensor relay nodes 103 with each other, or between the sensor relay node 103 and the core relay node 102 in
As illustrated in
The MAC header 301, ad-hoc header 302-1, and the FCS 303 are in the same data configuration in the normal frame and the health frame. The normal frame is a frame for conveying normal communication data and control data. The health frame is a frame that each sensor relay node 103 or the core relay node 102 in
The MAC header 301 has a DST ID (DeSTination ID) field, an SRC ID (Source ID) field, and a TYPE field. In the DST ID field, a 6-byte MAC (Media Access Control) address corresponding to the destination node number of the destination sensor relay node 103 is set. In the SRC ID field, a 6-byte MAC address corresponding to the source node address of the source sensor relay node 103 is set. In the TYPE field, a 2-byte high-order protocol identification number is set, and in the present situation, value 0x8847 is set. Meanwhile, “0x” indicates that the subsequent value is given in hexadecimal.
The ad-hoc header 302-1 has a KIND field, an FID field, a TTL field, and a Length field. In the KIND field, 2-byte data representing the kind of the ad-hoc frame is set. As the value in the KIND field, 0x0000 represents the IPv6 frame. Meanwhile, this value is not used in the present embodiment. The value 0x0001 represents the health frame. The value 0x0002 represents a health frame request frame for requesting a health frame. The value 0x0003 represents a path search frame for searching a path. The value 0x0004 represents a response command with respect to a path search frame. The value 0x0006 represents the time synchronization command. This command is broadcasted. The value 0104 represents a no-response command. The value 0x0105 represents an independent message. This message receives response (ACK) only for the DI notification. In the FID (Frame ID) field, a 2-byte frame identification being the sequence number is set for example. In the TTL (Time To Live) field, 2-byte data representing the upper limit of the time for which the ad-hoc frame is able to exist in the ad-hoc network is set. The TTL value is set in the source node of the ad-hoc frame, and is reduced by each of the sensor relay nodes 103 (
The data 302-2 has a variable data length from 7 bytes to 1500 bytes. When the ad-hoc frame is a health frame, only the Object ID representing a MAC address of the local node being a source node is set in the data 302-2. Meanwhile, the MAC address of the local node is set in the SRC ID field, and the all “0” value indicating broadcast is set in the DST ID field.
The FCS 303 is a redundant code for data error detection and correction for the MAC header 301 and the MAC data 302.
In the DST ID field, 6-byte DST ID (destination ID) being the MAC address set in the DST ID field (
In the respective fields P1, P2, P3, 2-bit data representing corresponding status of the three wired ad-hoc network ports #1, #2, #3 of the local node. The 2-bit data value “00” represents the unused status (status “E”: Empty), “01” represents the used status (status “U”: Used), “10” represents the loop status (status “L”: Loop), and “11” represents the link-disconnected status (status “R”: Reserve).
In the timer field, 8-bit data representing the remaining time or the elapsed time to save the entry identified by the DST ID.
When relaying a received frame, the sensor relay node 103 searches the PS table with the DST ID of the received frame, and selects a port to transmit the received frame.
In this table, the loop status of each port of the local node is set, for each SRC ID (source ID) (
In the SRC ID field, 6-byte SRC ID (source ID) being the MAC address stored in the SRC ID field (
In the FID field, 2-byte frame ID is set. The FID, which uniquely identifies a frame, is assigned by the core relay node 102 or the sensor relay node 103 when the core relay node 102 or the sensor relay node 103 transmits the frame. The FID may be a sequence number for example.
In the RxPort field, 2-bit data representing the reception port that first received the frame corresponding to the entry including the RxPort field data is set.
In the respective fields P1, P2, P3, 2-bit data representing corresponding port status of the three wired ad-hoc network ports of the local node is set. The 2-bit data value “00” represents the no-transmission port status (status “E”: Empty), “01” represents the transmitting port status (status “U”: Used), “10” represents the loop port status (status “L”: Loop), and “11” represents the reserve status (status “R” Reserve).
The “U” status being set in Pi (i is one of 1, 2, 3) emerges when the following two conditions are satisfied.
(1) The local node has relayed a frame to which a pair of SRC ID and FID are assigned before.
(2) At the time of relaying, the i-th port corresponding to Pi was used as the destination in the local node.
The “E” status set in Pi (i is one of 1, 2, 3) has the following meaning. When the destination port at the time when the local node relayed a frame to which a pair of SRC ID and FID are assigned before is not the i-th port, the status of Pi is “E”.
The “L” status set in Pi (i is one of 1, 2, 3) is a loop status that emerges when the following two conditions are satisfied.
(1) The local node has relayed a frame to which a pair of SRC ID and FID are assigned before, with the i-th port being the destination port.
(2) After the relay, the frame is received at the local node again. In the PS table in
In the timer field, 8-bit data representing the remaining time or the elapsed time to save the entry identified by the SRC ID.
Based on the frame configuration in
Upon receiving a frame, the sensor relay node 103 compares the received frame and the registered contents of the PS table, and relays the received frame by transmitting to a port that is different from the reception port. At this time, when there are a plurality of available ports, that is, ports in the “unused status” corresponding to the DST ID field value set in the MAC header 301 of the frame, the transmission port is decided sequentially from the port having the smaller number or the port having the larger number.
The specific operations of deciding the path by the routing method that is usually assumed is explained, based on the illustration diagrams of the path decision examples in
In
The frame transmitted from the core relay node 102 is forwarded to the sensor relay node 103-No. 1 connected to the core relay node 102. The sensor relay node 103-No. 1 is connected to the core relay node 102 via the port 1. Accordingly, the frame transmitted from the core relay node 102 is received at the port 1 in the sensor relay node 103-No. 1. The sensor relay node 103-No. 1 outputs via the port 2 being the smaller number of the ports in the “unused status” port other than the reception port 1 (S1 in
The frame is received at the port 1 of the sensor relay node 103-No. 5 connected to the port 2 of the sensor relay node 103-No. 1. The sensor relay node 103-No. 5 outputs via the port 2 being the smaller number of the ports in the “unused status” port other than the reception port 1 (S2 in
The frame is received at the port 1 of the sensor relay node 103-No. 9 connected to the port 2 of the sensor relay node 103-No. 5. The sensor relay node 103-No. 9 outputs via the port 2 being the smaller number of the ports in the “unused status” port other than the reception port 1 (S3 in
The frame is received at the port 1 of the sensor relay node 103-No. 13 connected to the port 2 of the sensor relay node 103-No. 9. The sensor relay node 103-No. 13 outputs via the port 2 being the smaller number of the ports in the “unused status” port other than the reception port 1 (S4 in
In the status transition from S1 to S4, each of the sensor relay nodes 103-No. 1, 5, 9, 13 executes the following operation upon receiving a frame. That is, each sensor relay node 103 generates an entry in which the DST ID (
In
The frame is received at the port 2 of the sensor relay node 103-No. 13 connected to the port 1 of the sensor relay node 103-No. 17. The sensor relay node 103-No. 13 recognizes that the frame is received at the port 2 in the “transmitting port” status among P1, P2, P3 in the entries in the FID table in which the same SRC ID and FID as the received frame are set. Accordingly, the sensor relay node 103-No. 13 sets “loop port” status in the P2 field corresponding to the port 2 in the entry of the FID table. In addition, the sensor relay node 103-No. 13 sets “loop status” in P2 field corresponding to the port 2 in the entry in the PS table in which the same DST ID as the received frame is set. Then, the sensor relay node 103-No. 13 selects a port other than the reception port 1 set in the RxPort field of the entry of the FID table and the port 2 corresponding to P2 field in the “loop port” status. At this time, the sensor relay node 103-No. 13 selects the port 3 corresponding to P3 in the “unused status” in the entry on the PS table. Then, the sensor relay node 103-No. 13 outputs the received frame via the port 3 (S6 in
As a result, the frame is received at the port 3 of the sensor relay node 103-No. 14 connected to the port 3 of the sensor relay node 103-No. 13.
After this, as illustrated in
By the operation described above, as indicated as the decided path in the solid line in
According to the status transitions S1, S2, S3 in
Meanwhile, according to the status transitions S1-S3 in
Meanwhile, according to the status transition of S4 in
Next, according to the status transition of S5 in
According to the status transition of S5 in
After that, according to the status transition of S6 in
After that, according to the status transition of S7 to S19 in
According to the routing method that is usually assumed in the ad-hoc network described above, each sensor relay node 103 selects the port of the smaller number (or the port of the larger number) in the unused status, while detecting link-disconnection and loop status. As a result, the path from the core relay node 102 to the target sensor relay node 103 is decided autonomously.
Once the path from the core relay node 102 to the target sensor relay node 103 is decided, the frame transmitted from the core relay node 102 addressed to the target sensor relay node 103 is forwarded through the decided path. In this case, in each frame, DST ID corresponding to the target sensor relay node 103 is set, and a value sequentially incremented from 0x0001 is set as FID being the sequence number for transmission (
However, in the routing method that is usually assumed, as illustrated in
That is, in the routing method that is usually assumed in the ad-hoc network described above, the path becomes redundant depending on the connection relationship of the ports of each sensor relay node 103.
Therefore, in the embodiment described below, a wait number (hereinafter, described as “WaitNo.”) is given for each sensor relay node 103 as information corresponding to the number of relay nodes or the hop count from the node equipment (in this embodiment, the core relay node 102 or a gateway) as benchmark, and the redundant path may be avoided by routing with the wait number.
A plurality of wired ad-hoc network ports 1016 P1-Pn (for example, three ports P1, P2, P3) terminates data of an Ethernet frame in which the ad-hoc frame transmitted/received to/from another sensor relay node 103 or the core relay node 102 is capsulated, and encodes or decodes the frame. A wireless ad-hoc network port 1016 includes a buffer memory that temporarily stores a transmission frame. Hereinafter, it is assumed that “port” or “reception port” refers to the wired ad-hoc network port 1016 according to the present embodiment. A general-purpose port 1017 is a port that terminates LAN (local area network) for example.
An ad-hoc routing control device 1001 may be configured by an FPGA (Field Programmable Gate Array) for example. The ad-hoc routing control device 1001 includes a received frame controller 1010, transmission frame controller 1011, routing controller 1003 (including WaitNo. controller 1004), PS table 1005, FID table 1006, frame processor 1009, CPU interface 1007 (including register 1008), general-purpose port controller 1012, and the like. The routing controller 1003 has both a function as a wait number controller to control WaitNo. and a function as await number transmitter to forward a control frame including such WaitNo. to adjacent node equipment.
The received frame controller 1010 in the ad-hoc routing control device 1001 executes a process to receive frame data received via the wired ad-hoc network port 1016.
When the received frame data is data to be processed in the local node, sensor control information and the like taken out from the received frame at the received frame controller 1010 is stored in the register 1008 in the CPU interface 1007, and then forwarded from the CPU interface 1007 to the CPU (central processing unit) 1002. When the received frame data is not data to be processed in the local node, the frame data received at the received frame controller 1010 is passed to the routing controller 1003.
The routing controller 1003 selects a port on the transmission side for the frame data received at the received frame controller 1010 and passes the frame to the transmission frame controller 1011. At this time, the routing controller 1003 executes routing operation for the received frame, based on the port status on the PS table 1005, FID on the FID table 1006 and WaitNo. managed by the WaitNo. controller 1004, and selects the output port.
The WaitNo. controller 1004 decides and keeps the WaitNo. of the local sensor relay node 103 and the adjacent sensor relay node 103 connected to each port of the local sensor relay node 103.
The frame processor 1009 passes the frame processed by the routing controller 1003 to the transmission frame controller 1011. At this time, the frame processor 1009 rewrites WaitNo. in the frame as needed based on the routing process result at the routing controller 1003. In addition, the frame processor 1009 generates a transmission frame based on sensor information passed from the CPU interface 1007, and passes the frame to the transmission frame controller 1011.
The transmission frame controller 1011 outputs the frame passed from the frame processor 1009 to the wired ad-hoc network port 1016 specified by the routing controller 1003 and make the wired ad-hoc network port 1016 transmit the frame.
The CPU 1002 includes an FPGA interface 1013, DI/DO interface 1014, and sensor interface 1015, and controls the sensor information of the local node. The FPGA interface 1013 performs transmission/reception of sensor information and sensor control information and the like to/from the CPU interface 1007 in the ad-hoc routing control device 1001. To the sensor interface 1015, a plurality of sensor connection ports 1019 are connected and reception and/or transmission of sensor information and sensor control information and the like is performed. One or more sensor devices may be connected to each of the sensor connection ports 1019. As the sensor device, a temperature sensor, a wind speed sensor, an illuminance sensor, a human sensor, an electricity meter, an acceleration sensor, a distortion sensor, a monitoring camera and the like are connected. In addition, to the sensor interface 1015, for example, an EEPROM (Electrically Erasable and Programmable Read Only Memory) 1018 for storing various sensor information and sensor control information is connected. To the DI/DO interface 1014, a DI/DO terminal 1020 for data input/data output is connected. The sensor information detected by the sensor devices 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 processor 1009 while storing the sensor information in the register 1008 as needed. Meanwhile, the sensor control information and the like received at the received frame controller 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. The CPU 1002 controls the specified sensor device via the sensor interface 1015 and the sensor connection port 1019 based on the sensor control information received at the FPGA interface 1013.
The present embodiment provides a routing method that enables detection/establishment of an optimized route by using WaitNo. being routing information corresponding to the hop count or the number of relay from the core relay node 102. In addition, by automatic control of the addition/deletion of the sensor relay node 103 to/from the ad-hoc network according to this WaitNo., a routing method that enables autonomous and prompt decision of the optimal path with the smallest hop count may be provided.
(a) illustrates the data configuration of a normal frame. (b) illustrates the data configuration of a health frame. The normal frame and the health frame correspond to the frame illustrated in
In
All “0” data indicating broadcast is set in the DST ID field of the health frame and the synchronization request frame. Meanwhile, instead of providing the WaitNo. field 1201, as illustrated in
In
According to the WaitNo. table in
Upon receiving a synchronization request signal, the routing controller 1003 increments the received WaitNo. to be the local node WaitNo., and stores it in the WaitNo. table illustrated in
When transmitting a frame the sensor relay node 103 attaches the local WaitNo. To the frame. The sensor relay node 103 that receives the frame compares the WaitNo. in the received frame and the local node Wait No. When the local node WaitNo. is larger than the WaitNo. of the received frame, the frame is transmitted to the sensor relay node 103 having a larger WaitNo. than the local node WaitNo. When there is not sensor relay node 103 that has a larger WaitNo. than the local node WaitNo., the frame is returned to the source sensor relay node 103 as the loop status. When the local node WaitNo. is smaller than the WaitNo. of the received frame, the frame is transmitted to the sensor relay node 103 having a smaller WaitNo. than the local node Wait No. When there is not sensor relay node 103 having a smaller WaitNo. than the local node Wait No., the frame is returned to the source sensor relay node 103 as the loop status.
To the WaitNo., the number is assigned by weighting according to time synchronization information included in the frame. Meanwhile, the initial value of WaitNo. may be set by the user.
Meanwhile, it is assumed that WaitNo. is transmitted by the regular transmission of the synchronization request frame (
In
By checking a value of the KIND field, in steps S1302, S1303, S1304, S1305, whether the received frame is a synchronization request frame, a health frame, a deletion notification frame, or a frame addressed to the local node is judged.
When the received frame is a synchronization request frame, the judgment becomes YES in step S1302, and the routing controller 1003 in
When the received frame is a health frame, the judgment in step S1302 becomes NO, and the judgment in step S1303 becomes YES. In this case, the routing controller 1003 in
When the received frame is a deletion notification frame, the judgment in step S1302 and the judgment in step S1303 become NO, and the judgment in S1304 become YES. In this case, the routing controller 1003 in
When the received frame is a frame addressed to the local node, the judgments in steps S1302, S1303, and S1304 become NO, and the judgment in S1305 become YES. In this case, the ad-hoc routing control device 1001 in
When the received frame is none of the synchronization request frame, health frame, deletion notification frame and the frame addressed to the local node, the judgments in steps S1302, S1303, S1304, S1305 become NO. In this case, the routing controller 1003 in
When the received frame controller 1010 detects frame detection from a plurality of wired ad-hoc network ports 1016, the ad-hoc routing control device 1001 processes the frame reception process illustrated in
The respective WaitNo. update processes executed when the respective judgments in steps S1302, S1303, S1304 in
First, the routing controller 1003 accesses the WaitNo. table illustrated in
In addition, the routing controller 1003 restarts the timer corresponding to the port whose WaitNo. has been updated in the WaitNo. table (step S1402). Accordingly, for the corresponding port, whether or not a new synchronization request frame is received is monitored for the period of time corresponding to the newly set timer value (step S3802 in
The routing controller 1003 judges whether or not the received frame is a frame that has already been received (step S1403). The judgment is performed as a process to judge whether or not the entry having the same SRC ID and FID as the SRC ID and FID stored in the received frame (
When the received frame is an already received frame and the judgment in step S1403 is YES, since there is no need to process the same synchronization request frame redundantly, the routing controller 1003 discards the received frame (step S1411). Then, the routing controller 1003 terminates the WaitNo update process according to a synchronization request in
When the received frame is a frame received for the first time and the judgment in step S1403 is NO, the routing controller 1003 judges whether or not the value of the source WaitNo. (1201 in
When the value of the source WaitNo. in the received frame is equal to the initial value and the judgment in step S1404 is YES, the routing controller 1003 updates the local node WaitNo. (
When the value of the source WaitNo. in the received frame is not equal to the initial value and the judgment in step S1404 is NO, the routing controller 1003 executes the following process. That is, routing controller 1003 judges whether or not the value of the local value Wait.No. in the WaitNo. table is larger than a value of the source WaitNo. in the received frame+1 (step S1406).
When the value of the local Wait.No. in the WaitNo. table is not larger than a value of the source WaitNo. in the received frame+1 and the judgment in step S1406 is NO, the process of the routing controller 1003 moves to step S1411, and the synchronization request frame is discarded. This status corresponds to a case in which a synchronization request frame that the local node transmitted was subjected to +1 in the adjacent sensor relay node 103 and returned to the local node, for example. In such a case, in the local node, there is no need to process the synchronization request frame, the frame is discarded without updating the WaitNo. table.
When the value of the local value Wait.No. in the WaitNo. table is larger than a value of the source WaitNo. in the received frame+1 and the judgment in step S1406 is YES, the routing controller 1003 executes the following process. That is, the routing controller 1003 updates the value of the local node WaitNo. (
Furthermore, the routing controller 1003 updates the value of the master Port (
When the WaitNo. table is updated in step S1408 or S1405, the control operation below is performed. That is, according to the control from the routing controller 1003, the frame processor 1009 replaces the value of the source WaitNo. in the synchronization request frame with the value of the local node WaitNo. in the WaitNo. table. Then the frame processor 1009 controls the transmission frame controller 1011 to make the synchronization request frame transmitted via all the wired ad-hoc network ports 1016 (step S1409). In addition, according to the control from the routing controller 1003, the frame processor 1009 controls the transmission frame controller 1011 to make the synchronization request response frame transmitted to the core relay node 102 (step S1410).
The synchronization request response frame has a data format illustrated in
After that, the routing controller 1003 terminates the WaitNo. update process according to a synchronization request in
According to the WaitNo. update process according to a synchronization request described above, in
In
The synchronization request frame is first received at the sensor relay node 103-ID1 connected to the core relay node 102. “sensor relay node 103-ID1” indicates a relay node 103 identified by an identifier ID1. ID1 may be an address value representing the sensor relay node 103. The same applies to ID2 through ID20. As a result, “0x01” is stored as the local node WaitNo. in the WaitNo. table (
Meanwhile, for the reception of the synchronization request frame, step S1401 in
The synchronization request frame in which the local node WaitNo. value 0x01 is newly set as the source WaitNo. is transmitted to all the wired ad-hoc network ports 1016 in the sensor relay node 103-ID1. This status is illustrated in
As illustrated in
The synchronization request frame having the source WaitNo.=0x01 transmitted via each port of the sensor relay node 103-ID1 is received by the sensor relay nodes 103-ID2 and 103-ID5. As a result, “0x02” is stored as the local node WaitNo. in the WaitNo. table (
To all the wired ad-hoc network port 1016 of each of the sensor relay nodes 103-ID2 and 103-ID5, the synchronization request frame in which the local node WaitNo. value 0x02 is newly set as the source WaitNo. is output. This status is illustrated in
As illustrated in
Meanwhile, each synchronization request frame in which the source WaitNo.=0x02 and transmitted from each of the sensor relay nodes 103-ID2 and 103-ID5 also reaches the sensor relay node 103-ID1. However, in this case, the local node WaitNo.=0x01 of the sensor relay nodes 103-ID1 is smaller than the source WaitNo.=0x02 of the received frame and the judgment in step S1406 in
The synchronization request frame having the source WaitNo.=0x02 and transmitted from each port of the sensor relay nodes 103-ID2 and 103-ID5 is received at each of the sensor relay nodes 103-ID3, 103-ID6 and 103-ID9. As a result, “0x03” is stored as the local node WaitNo. in the WaitNo. table of each of the sensor relay nodes 103-ID3, 103-ID6 and 103-ID9. “0x03” is obtained by incrementing the value of the source WaitNo.=0x02 set in the synchronization request frame by 1. This represents a situation that the smallest hop count from the core relay node 102 to each of the sensor relay nodes 103-ID3, 103-ID6 and 103-ID9 is 3. This process is executed by step S1407 in FIG. 14.
In addition, by the execution of step S1401 in
To all the wired ad-hoc network ports 1016 in each of the sensor relay nodes 103-ID3, 103-ID6 and 103-ID9, the synchronization request frame in which the local node WaitNo. 0x03 is set as the source WaitNo. is output. This status is illustrated in
As illustrated in
The synchronization request frame having the source WaitNo.=0x03 and transmitted from each port of each of the sensor relay nodes 103-ID3, 103-ID6 and 103-ID9 is received at each of the sensor relay nodes 103-ID4, 103-ID7, 103-ID10 and 103-ID13. As a result, “0x04” is stored as the local node WaitNo in the WaitNo. table of each of the sensor relay nodes 103-ID4, 103-ID7, 103-ID10 and 103-ID13. “0x04” is obtained by incrementing the value of the source WaitNo.=0x03 set in the synchronization request frame by 1. This represents a situation that the smallest hop count from the core relay node 102 to each of the sensor relay nodes 103-ID4, 103-ID7, 103-ID10 and 103-ID13 is 4. This process is executed by step S1407 in
Meanwhile, while the synchronization request frame is returned also to each of the sensor relay nodes 103-ID2 and 103-ID5, this frame is discarded at each of the nodes as described above. However, by the execution of step S1401 in
To all the wired ad-hoc network ports 1016 in each of the sensor relay nodes 103-ID4, 103-ID7, 103-ID10 and 103-ID13, the synchronization request frame in which the local node WaitNo. 0x04 is set as the source WaitNo. is output. This status is illustrated in
While it is not illustrated in
The synchronization request frame having the source WaitNo.=0x04 and transmitted from each port of each of the sensor relay nodes 103-ID4, 103-ID7, 103-ID10 and 103-ID13 is received by each of the sensor relay nodes 103-ID8, 103-ID11, 103-ID14 and 103-ID17. As a result, “0x05” is stored as the local node WaitNo. in the WaitNo. table of each of the sensor relay nodes 103-ID8, 103-ID11, 103-ID14 and 103-ID17. “0x05” is obtained by incrementing the value of the source WaitNo.=0x04 set in the synchronization request frame by 1. This represents a situation that the smallest hop count from the core relay node 102 to each of the sensor relay nodes 103-ID8, 103-ID11, 103-ID14 and 103-ID17 is 5. This process is executed by step S1407 in
By the execution of step S1401 in
Meanwhile, while the synchronization request frame is returned also to each of the sensor relay nodes 103-ID3, 103-ID6 and 103-ID9, this frame is discarded at each of the nodes as described above. However, by the execution of step S1401 in
To all the wired ad-hoc network ports 1016 in each of the sensor relay nodes 103-ID8, 103-ID11, 103-ID14 and 103-ID17, the synchronization request frame in which the local node WaitNo. 0x05 is set as the source WaitNo. is output. This status is illustrated in
While it is not illustrated in
The synchronization request frame having the source WaitNo.=0x05 and transmitted from each port of each of the sensor relay nodes 103-ID8, 103-ID11, 103-ID14 and 103-ID17 is received by each of the sensor relay nodes 103-ID12, 103-ID15 and 103-ID18. As a result, “0x06” is stored as the local node WaitNo. in the WaitNo. table of each of the sensor relay nodes 103-ID12, 103-ID15 and 103-ID18. “0x06” is obtained by incrementing the value of the source WaitNo.=0x05 set in the synchronization request frame by 1. This represents a situation that the smallest hop count from the core relay node 102 to each of the sensor relay nodes 103-ID12, 103-ID15 and 103-ID18 is 6. This process is executed by step S1407 in
By the execution of step S1401 in
Meanwhile, while the synchronization request frame is returned also to each of the sensor relay nodes 103-ID7, 103-ID10 and 103-ID13, this frame is discarded at each of the nodes as described above. However, by the execution of step S1401 in
To all the wired ad-hoc network ports 1016 in each of the sensor relay nodes 103-ID12, 103-ID15 and 103-ID18, the synchronization request frame in which the local node WaitNo. 0x06 is set as the source WaitNo. is output. This status is illustrated in
While it is not illustrated in
The synchronization request frame having the source WaitNo.=0x06 and transmitted from each port of each of the sensor relay nodes 103-ID12, 103-ID15 and 103-ID18 is received by each of the sensor relay nodes 103-ID16 and 103-ID19. As a result, “0x07” is stored as the local node WaitNo. in the WaitNo. table of each of the sensor relay nodes 103-ID16 and 103-ID19. “0x07” is obtained by incrementing the value of the source WaitNo.=0x06 set in the synchronization request frame by 1. This represents a situation that the smallest hop count from the core relay node 102 to each of the sensor relay nodes 103-ID16 and 103-ID19 is 7. This process is executed by step S1407 in
By the execution of step S1401 in
Meanwhile, while the synchronization request frame is returned also to each of the sensor relay nodes 103-ID8, 103-ID11 and 103-ID14, this frame is discarded at each of the nodes as described above. However, by the execution of step S1401 in
To all the wired ad-hoc network ports 1016 in each of the sensor relay nodes 103-ID16 and 103-ID19, the synchronization request frame in which the local node WaitNo. 0x07 is set as the source WaitNo. is output. This status is illustrated in
While it is not illustrated in
The synchronization request frame having the source WaitNo.=0x07 and transmitted from each port of each of the sensor relay nodes 103-ID16 and 103-ID19 is received by the sensor relay node 103-ID20. As a result, “0x08” is stored as the local node WaitNo. in the WaitNo. table of the sensor relay node 103-ID20. “0x08” is obtained by incrementing the value of the source WaitNo.=0x07 set in the synchronization request frame by 1. This represents a situation that the smallest hop count from the core relay node 102 to the sensor relay node 103-ID20 is 8. This process is executed by step S1407 in
By the execution of step S1401 in
Meanwhile, while the synchronization request frame is returned also to each of the sensor relay nodes 103-ID12, 103-ID15 and 103-ID18, this frame is discarded at each of the nodes as described above. However, by the execution of step S1401 in
Lastly, to all the wired ad-hoc network ports 1016 in the sensor relay node 103-ID20, the synchronization request frame in which the local node WaitNo. 0x08 is set as the source WaitNo. is output. This status is illustrated in
While it is not illustrated in
While the synchronization request frame is received by the sensor relay node 103-ID16, this frame is discarded as described above. However, by the execution of step S1401 in
As described above, the synchronization request frame having the source WaitNo.=0x00 transmitted from the core relay node 102 is sequentially forwarded to each sensor relay node 103 in the sensor relay node group 100. During this process, at each sensor relay node 103, the value of the source WaitNo. (1021 in
As a result, as illustrated in
In addition, by the execution of step S1401 in
Next, the routing process is explained. When the received frame is none of the synchronization request frame, the health frame, the deletion notification frame and the frame addressed to the local frame, the judgments in steps S1302, S1303, S1304, S1305 become NO in
The data configuration in
The Loop flag is combined with the routing control according to the Wait No. described later, to be used to execute the routing process so that the path with the smallest hop count is selected.
In
When no corresponding entry is registered in the FID table 1006 and the judgment in S2501 is NO, the routing controller 1003 searches the PS table 1005. More specifically, the routing controller 1003 first takes out the DST ID from the received frame (
When a corresponding entry exists on the PS table 1005 and the judgment in S2507 is YES, the routing controller 1003 executes the following process. That is, the routing controller 1003 takes out the SRC ID and FID from the received frame. Then, routing controller 1003 creates an entry including the SRC ID and FID on the FID table 1006. In addition, the routing controller 1003 extracts the port number for which the “used status” is registered, among the P1, P2, P3 fields of the entry created on the FID table 1006. Then, the routing controller 1003 sets the “transmitting port” status in the field corresponding to the extracted port number, among the P1, P2, P3 fields of the entry created on the FID table 1006 (step S2512).
After that, the routing controller 1003 makes an instruction, to the transmission frame controller 1011 in
When no corresponding entry exists on the PS table 1005 and the judgment in S2503 is NO, the routing controller 1003 executes the following process. That is, the routing controller 1003 make an inquiry to the transmission frame controller 1011 and judges whether or not there is any wired ad-hoc network port 1016 that has not become link-disconnected, other than the port that received the received frame (step S2508).
When there is a port that is not link-disconnected and the judgment in step S2508 is YES, the routing controller 1003 judges whether or not the destination WaitNo. (1201 in
When the destination WaitNo. of the received frame is not the initial value and the judgment in step S2509 is NO, the routing controller 1003 executes the process in the flowchart in
When the destination WaitNo. of the received frame is the initial value and the judgment in step S2509 is YES, the routing controller 1003 executes the routing process that is usually assumed, without executing the routing process using the WaitNo. That is, the routing controller 1003 selects the port of the smaller number (or the larger number, according to a unified condition), when there are plurality of ports determined in step S2508 (step S2510). Next, the routing controller 1003 extracts the DST ID (
When there is no port that is not link-disconnected and the judgment in step S2508 is NO, the routing controller 1003 returns the received frame to the port at which the frame arrived (step S2514).
When a corresponding entry is registered in the FID table 1006 and the judgment in step S2501 is YES, it follows that the a frame that was once transmitted is returned to the local node. In this case, the routing controller 1003 sets the “loop port” status in the field that is in the “transmitting port” status, among the P1, P2, P3 fields of the corresponding entry on the FID table 1006 (step S2502) (
The routing controller 1003 extracts the DST ID (
The routing controller 1003 searches the corresponding entry on the PS table 1005, thereby judging whether or not there is any unused port corresponding to the field in which the “unused status” is set, among the P1, P2, P3 fields (step S2504).
When there is an unused port and the judgment in step S2504 is YES, the routing controller 1003 executes steps S2509-S2512 and the process in the flowchart in
On the other hand, when there is no unused port and the judgment in step S2504 is NO, the routing controller 1003 executes the following control. That is, the routing controller 1003 detects the RxPort (reception port) (
The core relay node 102 executes the following control operation, when the WaitNo. is set for each sensor relay node 103 as illustrated in
In this case, in the routing process at the routing controller 1003 of each sensor relay node 103, when there is a need for selecting a new port, the judgment in step S2509 in
The routing process algorithm in the flowchart in
(1) Destination WaitNo. of the received frame is larger than the local node WaitNo.
(1a) Select an unused port to which a larger WaitNo. than the local node WaitNo. is set and transmit the received frame via the selected port.
(1b) When there is no corresponding port, set the Loop flag in the FID table 1006 and return the received frame to the reception port.
(2) Destination WaitNo. of the received frame is smaller than the local node WaitNo.
(2a) Select an unused port to which a smaller WaitNo. than the local node WaitNo. is set and transmit the received frame via the selected port.
(2b) When there is no corresponding port, set the Loop flag in the FID table 1006 and return the received frame to the reception port.
(3) Destination WaitNo. of the received frame is equal to the local node WaitNo.
(3a) Receive the frame if corresponding to the local node ID.
(3b) If not corresponding to the local node ID, set the Loop flag in the FID table 1006 and return the received frame to the reception port.
More specifically, the operation is as follows. The routing controller 1003 judges whether or not the destination WaitNo. of the received frame is larger than the local node WaitNo. (
When the judgment in step S2601 is YES, the routing controller 1003 extracts WaitNo. corresponding to the port that is currently unused from the WaitNo. table (
When the judgment in step S2602 is YES, the routing controller 1003 executes the following control. That is, the routing controller 1003 executes the processes in step S2510-S2512 in
When the judgment in step S2602 is NO, the routing controller 1003 judges whether or not the Loop flag in the FID table 1006 is “ON” (step S2605). When the Loop flag is “ON” and the judgment in step S2605 is YES, a sensor relay node 103 to which the received frame is to be transmitted does not exist in the connection destination of the local node. Therefore, the routing controller 1003 returns the received frame via the port at which the frame arrived (step S2606).
On the other hand, when the Loop flag is “OFF” and the judgment in step S2605 is NO, the routing controller 1003 turns the Loop flag of the FID table 1006 “ON” (step S2607). After that, the routing controller 1003 detects, from the FID table 1006, the RxPort (reception port) (
When the judgment in step S2601 is NO, the routing controller 1003 judges whether or not the destination WaitNo. in the received frame is smaller than the local node WaitNo. (
When the judgment in step S2603 is YES, the routing controller 1003 extracts the WaitNo. corresponding to the port that is currently unused, from the WaitNo. table (
When the judgment in S2604 is YES, the routing controller 1003 performs the following control. That is, the routing controller 1003 executes the processes in step S2510-S2512 in
When the judgment in step S2604 is NO, the routing controller 1003 judges the Loop flag in the FID table 1006, and then executes the processes in S2605-S2609 to transmit the received frame back to the reception port corresponding to the judgment in S2605.
Meanwhile, the judgment in step S2603 being NO, that is, when the destination WaitNo. in the received frame and the local node WaitNo. are equal, corresponds to the condition (3) above. In this case also, the routing controller 1003 executes the processes in S2605-S2609 to transmit the received frame back to the reception port corresponding to it.
By the routing process illustrated in the flowcharts in
The core relay node 102 has recognized the WaitNo. of each sensor relay node 103 (step S1410 in
In the drawing, numbers in brackets [1] [2] [3] and the like described near the communication line connected to each sensor relay node 103 represent the port number of each sensor relay node 103. Numbers 01-08 and the like displayed alongside each port number represent the WaitNo. of the port indicated by each port number registered in the WaitNo. table (
In
At the sensor relay node 103-ID17, since there is no destination, the received frame is sent back to the sensor relay node 103-ID13 (indication of Loop1 on S5). In this node 103-ID13, since there is another larger WaitNo. port, the received frame is forwarded to the sensor relay node 103-ID14 (S6). This process is performed in the control of S2501, S2502, S2503, S2504, S2509, S2601, S2602, S2510, S2511, S2512, and S2513.
After that, in S7, S8, the larger WaitNo. port is selected, and the frame is forwarded to the sensor relay nodes 103-ID18 and 103-ID19. Then, since there is no destination in the process at the sensor relay node 103-ID19, the received frame is returned to the sensor relay node 103-ID19 (S9).
After that, in S10, S11, S12, S13, the Loop status is detected at each of the sensor relay nodes 103-ID18, 103-ID14, 103-ID13 and 103-ID9, respectively (indication of Loops 2-6). This process is performed in the control of steps S2501, S2502, S2503, S2504, S2505, and S2506.
As a result, the received frame is returned to sensor relay node 103-ID5. At the sensor relay node 103-ID5, since there is another larger WaitNo. port, the received frame is transmitted to the sensor relay node 103-ID6 (S14).
Moving to
At the sensor relay node 103-ID10, since there is another larger WaitNo. port, the received frame is transmitted to the sensor relay node 103-ID11 (S18).
After that, as the larger WaitNo. is selected in S19, S20, the received frame is sequentially forwarded to the sensor relay nodes 103-ID15 and 103-ID19. However, since there is no destination in the process at the sensor relay node 103-ID19, the received frame is returned to the sensor relay node 103-ID15 (indicated as Loop2 on S21).
At the sensor relay node 103-ID15, since there is another larger WaitNo. port, the received frame is transmitted to the sensor relay node 103-ID16 (S22).
Lastly, as the larger WaitNo. is selected in S23, the received frame is forwarded to the sensor relay node 103-ID20, and the frame is received by the sensor relay node 103-ID20.
As a result of the routing described above, the path from the core relay node 102 to the sensor relay node 103-ID20 is decided as the path indicated as the broken line in
By the WaitNo. update process according to a synchronization request illustrated in
Meanwhile, when the first frame is transmitted, as illustrated in
According to the status transitions S1-S4 in
Meanwhile, according to the status transitions S1-S4 in
In the status transition of S5 in
In the status transition of S5 in
In the case other than the status transitions described above, in a similar manner as described above, the contents of the PS table 1005 and the FID table 1006 are updated.
As is understood from
In S4, S8, at the sensor relay node 103-ID13 and 103-ID10, the destination WaitNo. of the received frame and the local node WaitNo. stored in the WaitNo. table are both 0x04. In addition, the local node address is different from the DST ID of the received frame. Therefore, after the judgment in step S1305 becomes NO, the received frame is returned via the received port following steps S2601, S2603, and S2605-S2609. Thus, according to the status transition S4-S10, the received frame is sent back to the sensor relay node 103-ID1.
In S11, S12, S13, at each of the sensor relay nodes 103-ID1, 103-ID2 and 103-ID3, the larger WaitNo. port is selected and the received frame is forwarded via the selected port. The process is performed in the control in which the judgment in step S2602 in
Meanwhile, in S12, at the sensor relay node 103-ID2, since there are two ports of the larger WaitNo. ports, according to step S2510 in
In S14, at the sensor relay node 103-ID4, destination WaitNo. of the received frame and the local node WaitNo. of the WaitNo. table are 0x04. In addition, the local node address is different from the DST ID of the received frame. Therefore, after the judgment in step S1305 becomes NO, the received frame is returned via the received port following steps S2601, S2603, and S2605-S2609.
In S15, at the sensor relay node 103-ID3, another larger WaitNo. port is selected, and the received frame reaches the target sensor relay node 103-ID7, and the sensor relay node 103-ID7 receives the frame.
As a result of the routing process above, the path with the smallest hop count indicated with the thick solid line is established.
In the present embodiment, since data communication between the core relay node 102 and the sensor relay node 103 is mainly performed, the transmission from the sensor relay node 103 to a node having a smaller WaitNo. than the local node becomes the transmission to the core relay node 102.
In the frame transmitted from the sensor relay node 103-ID20, the address of the core relay node 102 is set as the DST ID, and the WaitNo.=0x00 of the core relay node 102 is set as the destination WaitNo. (
For the frame transmitted from sensor relay node 103-ID20, at each of the sensor relay nodes 103-ID16, 103-ID12, 103-ID8, 103-ID4, 103-ID3, 103-ID2 and 103-ID1, the following control is performed. That is, the respective local node WaitNo.=0x06, 0x05, 0x04, 0x03, 0x02, 0x01 set in the WaitNo. table of the respective local nodes are compared with the destination WaitNo.=0x00 stored in the frame. The destination WaitNo. of the received frame always becomes smaller than the respective local node WaitNo. In this case, each sensor relay node 103 outputs the received frame via a port to which a smaller number of WaitNo. than the local node WaitNo. This is performed by the control by S2601, S2603, S2604, S2510, S2511, S2512, and S2513.
As a result of the routing process described above, the path with the smallest hop count is established in the frame transmission from the sensor relay node 103 to the core relay node 102 as well.
Along with this, the routing controller 1003 restarts the timer corresponding to the port whose WaitNo. has been updated in the WaitNo. table (step S3302). Accordingly, for the corresponding port, whether or not a new health frame is received is monitored for the period of time corresponding to the newly set timer value (step S3802 in
The routing controller 1003 judges whether the source WaitNo. (1201 in
When the source WaitNo. in the received frame is equal to the initial value and the judgment in step S3303 is YES, the routing controller 1003 executes a WaitNo. update process according to health information at the time of occurrence of line disconnection illustrated in the flowchart in
When the source WaitNo. in the received frame is not equal to the initial value and the judgment in step S3303 is NO, the routing controller 1003 performs the following process. That is, the routing controller 1003 judges whether or not the local node WaitNo. in the WaitNo. table is larger than the source WaitNo. in the received frame plus 1 (step S3304).
When the local node WaitNo. in the WaitNo. table is not larger than the source WaitNo. in the received frame plus 1 and the judgment in step S3304 is NO, the routing controller 1003 ignores the received frame, terminates the WaitNo. update process according to health information in
When the local node WaitNo. in the WaitNo. table is larger than the source WaitNo. in the received frame plus 1 and the judgment in step S3304 is YES, the routing controller 1003 executes the following process. That is, the routing controller 1003 updates the local node WaitNo. (
Furthermore, the routing controller 1003 updates the value of the master Port (
Next, according to the control from the routing controller 1003, the frame processor 1009 sets the value of the source WaitNo. in the health frame to the local node WaitNo. in the WaitNo. table. Then, the frame processor 1009 controls the transmission frame controller 1011 to make the health frame output via all the wired ad-hoc network ports 1016 (step S3307).
Along with this, according to the control from the routing controller 1003, the frame processor 1009 controls the transmission frame controller 1011 to make it transmit the local node status notification frame to the core relay node 102 (step S3308). The local node status notification frame has a data format illustrated in
After that, the routing controller 1003 terminates the WaitNo. update process according to health information in
By the WaitNo. update process according to health information explained above, a similar control to the case of the WaitNo. update process according to a synchronization request illustrated in the flowchart of
In
In status transition S2, the core relay node 102 transmits the health frame in which the source WaitNo.=0x00 is set to the sensor relay node 103-ID1.
In the status transition S3, the sensor relay node 103-ID1 that receives the health frame in which the source WaitNo.=0x00 is set performs the following control. That is, the sensor relay node 103-ID1 changes the local node WaitNo. stored in the WaitNo. table in the WaitNo. controller 1004 (
In
In the status transition S4, the sensor relay node 103-ID1 transmits the health frame in which the source WaitNo.=0x01 is set to each of the sensor relay nodes 103-ID2 and 103-ID3.
In the status transition S5, each of the sensor relay nodes 103-ID2 and 103-ID3 that receives the health frame from the sensor relay node 103-ID1 performs the following control. That is, each of the sensor relay node 103-ID2 and 103-ID3 changes the local node WaitNo. stored in the WaitNo. table into “0x02”. “0x02” is obtained by incrementing the source WaitNo. in the received health frame by 1.
In
In the status transition S7, each of the sensor relay nodes 103-ID4 and 103-ID5 that receives the health frame from the sensor relay nodes 103-ID2 and 103-ID3 performs the following control. That is, each of the sensor relay node 103-ID4 and 103-ID5 changes the local node WaitNo. stored in the WaitNo. table into “0x03”. “0x03” is obtained by incrementing the source WaitNo. in the received health frame by 1.
In
As described above, by the regular transmission of the health frame, the WaitNo. corresponding to the smallest hop count from the core relay node 102 is set at each sensor relay node 103.
Next, the processes of initialization and reconfiguration of the WaitNo. when line disconnection occurs in the ad-hoc network are described below.
The routing controller 1003 executes the respective processes of steps S3801 and S3802 repeatedly.
The routing controller 1003 in the ad-hoc routing control device 1001 judges whether or not a physical level failure is detected in the connection with the adjacent node by each wired ad-hoc network port 1016 in
When no physical level failure is not detected and the judgment in step S3801 is NO, the routing controller 1003 judges the timeout that indicates whether or not the synchronization request frame or the health frame is received regularly (step S3802). Specifically, this judgment is performed as the operation to monitor the timer value for each port on the WaitNo. table in the WaitNo. controller 1004 in
While the timer timeout of the regular frame reception has not occurred and the judgment in step S3802 is also NO, the routing controller 1003 performs the judgment in step S3801 and the judgment in step S3802 repeatedly.
When an event of either the detection of a physical level failure or the occurrence of the timer timeout of the regular frame reception occurs and the judgment in S3801 or the judgment in S3802 becomes YES, the routing controller 1003 executes the line disconnection process below.
The routing controller 1003 transmits a deletion notification frame (step S3803) to the core relay node 102. This enables the core relay node 102 to recognize the occurrence of line disconnection at the corresponding sensor relay node 103.
The routing controller 1003 judges whether or not, in the WaitNo. table, the local WaitNo. is larger than the WaitNo. of an adjacent node connected to any of the ports other than the reception port (step S3804).
When the local node WaitNo. is not larger than any WaitNo. of other port due to the line disconnection and the judgment in step S3804 is NO, the routing controller 1003 executes the following operation. That is, the routing controller 1003 first updates the local node WaitNo. on the WaitNo. table to the initial value (0xFF) (step S3807). Next, the routing controller 1003 updates the master Port on the WaitNo. table to the initial value (unused) (step S3808). After that, the process is shifted to step S3809.
On the other hand, when the local node WaitNo. is larger than WaitNo. of any other port and the judgment in step S3804 is YES, the routing controller 1003 executes the following operation. That is, the routing controller 1003 first increments the WaitNo. of the reception port of the smaller WaitNo. by 1, and updates the local node WaitNo. on the WaitNo. table with the incremented value (step S3805). Next, the routing controller 1003 updates, in the WaitNo. table, the master Port to the reception port number of the smaller WaitNo. (step S3806). After that, the process is shifted to step S3809.
After the process in steps S3805 and S3806 or steps S3807 and S3808, the routing controller 1003 performs the following control. That is, the routing controller 1003 judges whether or not the health frame has been transmitted, after the status of the WaitNo. table of the local node changes (step S3809). Then, the health frame has not been transmitted, the frame processor 1009 makes the transmission frame controller 1011 transmit the health frame via all the wired ad-hoc network ports 1016 according to the instruction from the routing controller 1003 (step S3810).
According to the control from the routing controller 1003, the frame processor 1009 controls the transmission frame controller 1011 to make it transmit the local node status notification frame to the core relay node 102 (step S3811). In the local node status notification frame, the local node WaitNo. updated in the WaitNo. table is set as the source WaitNo. (
The routing controller 1003 judges whether or not the health frame has been all received from the adjacent nodes (step S3812).
When the judgment in step S3812 is NO, the routing controller 1003 waits for the reception of the health frame from adjacent sensor relay node 103 and executes the processes from step S3804 to step S3812 again, and updates the status of the local node (step S3813).
When the judgment in step S3812 is YES, the routing controller 1003 returns to the monitoring process in step S3801 and S3802.
By the control process of the flowchart illustrated in
When it is determined that the source WaitNo. (1201 in
The routing controller judges whether or not, in the WaitNo. table, the local WaitNo. is larger than the WaitNo. of an adjacent node connected to any of the ports other than the reception port (step S3901).
When the local node WaitNo. is not larger than any WaitNo. of other port according to the health information indicating the link disconnection from another node and the judgment in step S3901 is NO, the routing controller 1003 executes the following operation. That is, the routing controller 1003 first updates the local node WaitNo. on the WaitNo. table to the initial value (0xFF) (step S3902). Next, the routing controller 1003 updates the master Port on the WaitNo. table to the initial value (unused) (step S3903). After that, the process is shifted to step S3906.
When the local node WaitNo. is larger than WaitNo. of any other port according to the health information indicating the link disconnection from another node and the judgment in step S3901 is YES, the routing controller 1003 executes the following operation. That is, the routing controller 1003 first increments the WaitNo. of the reception port of the smaller WaitNo. by 1, and updates the local node WaitNo. on the WaitNo. table with the incremented value (step S3904). Next, the routing controller 1003 updates, in the WaitNo. table, the master Port to the reception port number of the smaller WaitNo. (step S3905). After that, the process is shifted to step S3906.
After the process in steps S3902 and S3903 or steps S3904 and S3905, the routing controller 1003 performs the following control. According to the instruction from the routing controller 1003, the frame processor 1009 makes the transmission frame controller 1011 transmit the health frame via all the wired ad-hoc network port 1016 (step S3906).
According to the control from the routing controller 1003, the frame processor 1009 controls the transmission frame controller 1011 to make it transmit the local node status notification frame to the core relay node 102 (step S3907). In the local node status notification frame, the local node WaitNo. updated in the WaitNo. table is set as the source WaitNo. (
As described above, the routing controller 1003 can update the local node WaitNo. according to the situation of the adjacent node, when it receives notification of the occurrence of line disconnection from the adjacent node by means of the health frame.
Alternatively, when the ad-hoc routing control device 1001 is configured by a processor including a central processing unit and a memory, it is implemented as an operation in which the central processing unit executes a control program stored in the memory. Hereinafter, the process in the flowchart is explained.
The routing controller 1003 judges whether or not the received deletion notification frame is a frame that has already been received (step S4001). The judgment is performed as a process to judge whether or not the 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 (
When the received frame is an already received frame and the judgment in step S4001 is YES, since there is no need to process the same synchronization request frame redundantly, the routing controller 1003 discards the received frame (step S4006). Then, the routing controller 1003 terminates the WaitNo initialization process according to deletion notification in
When the received frame is a frame received for the first time and the judgment in step S4001 is NO, the routing controller 1003 updates the local node WaitNo. on the WaitNo. table to the initial value (0xFF) (step S4002). Next, the routing controller 1003 updates the master Port on the WaitNo. table to the initial value (unused) (step S4003).
After that, the routing controller 1003 performed the following control. That is, the frame processor 1009 makes the transmission frame controller 1011 transmit the health frame via all the wired ad-hoc network ports 1016 according to the instruction from the routing controller 1003 (step S4004).
According to the control from the routing controller 1003, the frame processor 1009 controls the transmission frame controller 1011 to make it transmit the local node status notification frame to the core relay node 102 (step S4005). In the local node status notification frame, the local node WaitNo. updated in the WaitNo. table is set as the source WaitNo. (
Then, the routing controller 1003 terminates the WaitNo. initialization process according to deletion notification in
As described above, the routing controller 1003 can update the local node WaitNo. according to the situation of the adjacent node, when it receives notification of the occurrence of line disconnection by the health node from the adjacent node.
In
In
In the status transition S10, the sensor relay node 103 transmits the health frame (
As a result, in the sensor relay node 103-ID5, after the judgment in step S3303 in
Meanwhile, in the sensor relay node 103-ID4, after the judgment in step S3303 in
Following the initialization process described above, a reconfiguration process of the WaitNo. is performed.
Shifting from
As described with reference to
In the status transition S12 in
Meanwhile, after the completion of reconfiguration in
In addition, when the line disconnection is recovered, by the same initialization and reconfiguration of the WaitNo. as described above, it becomes possible to reestablish the path with the smallest hop count.
In
Accordingly, as illustrated as
Furthermore, in the status transition S3, in the sensor relay nodes 103 having WaitNo.=0x05 and 0x06 also, the adjacent node of a smaller WaitNo. than the local node is initialized, and the initialized WaitNo. is transmitted by means of the health frame. As result, in the same manner as described above, in each sensor relay node 103, the local node WaitNo. in the WaitNo. table is initialized to 0xFF.
The detection of line disconnection and the update of the local node WaitNo. in each sensor relay node 103 is informed to the core relay node 102 by the deletion notification frame or the local node status notification frame, as indicated by the thick solid line in
In
As the status transition S3, these sensor relay nodes 103 further transmit the deletion notification frame including the initialized WaitNo. to the adjacent node. This process is executed according to step S4004 in
It is assumed that, by the initialization process illustrated in
It is assumed that, by the initialization process illustrated in
In the embodiment explained above, by giving a WaitNo to each sensor relay node 103 and performing routing using it, the redundant path is avoided or reduced.
More specifically, in the present embodiment, by using the WaitNo. being routing information corresponding to the hop count from the core relay node 102, a routing method that makes it possible to detect and reconfigure an optimized route is established. In addition, by the automatic control of addition/deletion of the sensor relay node 103 to the ad-hoc network according to the WaitNo., a routing method that makes it possible to autonomously and promptly decide the optimal path having the smallest hop count is provided.
In the WaitNo. update process according to the present embodiment, the WaitNo. transmitted from the core relay node 102 is sequentially forwarded to each sensor relay node 103 in the sensor relay node group 100. At this time, the value of the source WaitNo. in the synchronization request frame or the health frame is incremented by 1 each time at each sensor relay node 103. Then, the incremented WaitNo. is set as the local node WaitNo. in each sensor relay node 103, and furthermore, the synchronization request frame or the health frame having the new WaitNo. is forwarded to the adjacent sensor relay nodes 103. Thus, for each sensor relay node 103 in
In addition, in the WaitNo. update process according to the present embodiment, every time when the synchronization request frame or the health frame is received, the WaitNo. of the adjacent node corresponding to the reception port is kept in the WaitNo. table. Accordingly, it becomes possible to recognize the WaitNo. of the adjacent nodes in the direction in which the hop count decreases and in the direction in which the hop count increases, and the decision of the path with the smallest hop count is performed based on it.
In addition, in the present embodiment, it becomes possible for the sensor relay node 103 to update the local node WaitNo. autonomously according to the situation of the adjacent node, at the time of occurrence of line disconnection. In addition, it becomes possible for the routing controller 1003 to update the local node WaitNo. according to the situation of the adjacent node autonomously, when it receives notification of the occurrence of line disconnection from the adjacent node. Accordingly, at the time of occurrence of the line disconnection, it becomes possible to automatically reestablish the path.
Furthermore, after the completion of reconfiguration, each sensor relay node 103 continues to monitor the failure detection at each port and the regular reception of the health frame, it becomes possible to be prepared for occurrence of another failure and the like.
In addition, when the line disconnection is repaired, by the execution of the same initialization and reconfiguration of the WaitNo. as described above, it becomes possible to reestablish the path with the smallest hop count.
In the present embodiment, as illustrated in
In addition, while the WaitNo. is assigned so as to be incremented from the core relay node 102 toward the sensor relay node 103 in the present embodiment, it may be assigned so as to be decremented. In that case, when transmitting a frame from the core relay node 102 to the target sensor relay node 103, each sensor relay node selects the smaller WaitNo. node, not the larger WaitNo. node.
In addition, when transmitting a frame from the sensor relay node 103 to the core relay node 102, the transmission may be made just by going back the optimal path decided when transmitting a frame from the core relay node 102 to the sensor relay node 103.
The present embodiment may be used for the air conditioning management of a server room, building/security management system, for checking vibration of distortion/deflection of structural objects such as a building, a bridge and the like, and for establishing a relay network for a location where ad-hop operation is not available, and the like.
All examples and conditional language provided herein are intended for the pedagogical purposes of aiding the reader in understanding the invention and the concepts contributed by the inventor to further the art, and are not to be construed as limitations to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although one or more embodiments of the present inventions have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
This application is a continuation application of International Application PCT/JP2010/066441 filed on Sep. 22, 2010 and designated the U.S., the entire contents of which are incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
20020163912 | Carlson | Nov 2002 | A1 |
20050157698 | Park et al. | Jul 2005 | A1 |
20060098575 | Lee | May 2006 | A1 |
20090296704 | Kim et al. | Dec 2009 | A1 |
Number | Date | Country |
---|---|---|
2002-368789 | Dec 2002 | JP |
2006-245854 | Sep 2006 | JP |
Entry |
---|
International Search Report of Corresponding PCT Application PCT/JP2010/066441 mailed Dec. 14, 2010. |
PCT International Preliminary Report on Patentability mailed Apr. 25, 2013 in corresponding International application No. PCT/JP2010/066441. |
Number | Date | Country | |
---|---|---|---|
20130170504 A1 | Jul 2013 | US |
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2010/066441 | Sep 2010 | US |
Child | 13778224 | US |