The present invention relates generally to wireless communication, and more specifically to controlling the timing of transmissions.
The increasing popularity of wireless communication technologies and the standardization of SensorNet technologies have promoted the adoption of wireless communication technologies in factory automation (FA). Control-related communications must be highly reliable and must provide fast response speeds; thus sufficient reliability and response speeds must be guaranteed when providing these kinds of communications wirelessly.
However, with wireless communications, contention or noise may prevent proper communication. Thus, information may be retransmitted to guarantee reliability. For instance, a sender node resends data when it is clear that the data sent from the sender node has not been properly received at the destination node.
Patent Document 1 proposes a method of controlling retransmissions for Time Division Multiple Access (TDMA) technology. In concrete terms, the data for transmission is divided into small data blocks, and each of the data blocks are assigned an error detection code. A receiver node performs error detection on a data block, and sends the sender node a resend request containing information indicating the position of the data block containing an error. Prompted by the resend request, the sender node resends the designated data block. Thus, the efficiency of retransmission improves because only a small subdivision of the data, the data block, is resent.
Patent Document 2 proposes a retransmission control protocol wherein a child node responds to a parent node that broadcasts a packet. More specifically, the child node receiving the broadcast packet from the parent node, first uses the time slot assigned to itself to send a response packet. The parent node sends a rebroadcast packet containing a response verification that provides the identification information for all the child nodes that succeed in responding to the broadcast. When a child node receiving the rebroadcast packet determines that the response packet sent thereby was not properly received, the child node randomly selects from the time slots assigned to other child nodes with successful receptions, and resends the response packet. This configuration shortens the transmission time of a resend request command, and reduces the likelihood of transmission contention between child nodes.
The technique described in Patent Document 1 assumes one-to-one communication; therefore, if the receiver node is communicating with multiple nodes, repeated retransmissions to and from a single node delays the transmission timing for the next node.
The technique described in Patent Document 2 uses a broadcast, and thus does not encounter the above-mentioned problem. Despite that, because the timing of the retransmission is selected at random, the transmission timing is irregular, and the amount of delay is random. For instance, when only a single child node needs to resend, the child node can resend immediately to shorten the delay, however, the selection of the time slot may increase the amount of delay until the resend is performed.
While a low delay is required in wireless communications, existing methods are unable to provide sufficient results and what is desired is a method capable of ensuring even less delay. The above mentioned examples describe retransmission; however, without being limited to cases of retransmission, it is preferable that there is little delay in a node transmitting a response to a request.
With these issues in mind, embodiments of the invention provide wireless communication techniques capable of communication with little delay.
To address the above-mentioned shortcomings, a first embodiment of the invention is a wireless transmission system that includes a parent node and a plurality of child nodes, and carries out wireless communication between the parent node and the child nodes; the wireless communication system is configured so that when the parent node sends the child nodes a send request, the parent node also notifies each child node in the plurality of child nodes whether or not a response is required, and when a response is required, the response timing (transmission timing).
More specifically, the parent node in a wireless communication system according to the embodiment includes a generation unit configured to generate a send request including response instruction data specifying child nodes required to respond, and a response timing for each of the child nodes required to respond; and a transmitting unit configured to transmit the send request. Further, the child node in a wireless communication system according to embodiments of the invention includes a receiving unit configured to receive the send request; a response determination unit configured to determine from the response instruction data whether or not the child node itself is required to respond to the send request; and a response transmission unit configured to transmit a response at a response timing based on the response instruction data, when the child node is required to respond to the send request.
This configuration allows embodiments of the invention to fix the maximum delay time for a response without generating differences in the response timing for child nodes because the parent node specifies the response timing for a child node.
In the embodiment, when the number of child nodes required to respond is N (where N is an integer), the timing at which the child node should respond may be any one of 1 to N slots after the send request and does not overlap with the response timing for any of the child nodes required to respond. With this configuration all child nodes that must respond are able to complete a response within the shortest delay time.
In the embodiment, the response instruction data may list data representing whether or not a response is required for each of the child nodes in order in accordance with individual identification information for each of the child nodes; the data including whether or not a node is required to respond may be expressed by a single bit or a plurality of bits. Note that, the size of the response instruction data decreases when whether or not a node should respond is expressed in a single bit.
In this embodiment, the timing at which the child node should respond may be determined on the basis of the order in which the data representing that the child node is required to respond is presented in the data representing that a response is required. With this configuration, data indicating whether or not a response is required also serves to specify the response timing, thus controlling the amount of data transceived. Additionally, the data indicating whether or not a response is required may be expressed as a single bit, making it possible to minimize the amount of data needed to provide notice of the response timing.
In this embodiment, if the parent node does not receive a response from a child node, the parent node may retransmit a send request including response instruction data specifying that the child node is a child node required to respond for up to N slots after a send request is transmitted. With this configuration the retransmission process carried out by the child node can be performed with little delay when the parent node sends the child node a request to retransmit data.
In this embodiment, on receiving a response from a child node after transmitting a send request, the parent node may update the response instruction data to indicate that a response is not required from said node; and when retransmitting a send request, the parent node may include the updated response instruction data in the send request. This configuration allows the parent node to update the response instruction data to determine from which child node a response has been received. Thus, simply sending a send request that includes the updated (most recent) response instruction data can serve as a request to the child node for retransmission.
In this embodiment, when there is a child node from which a response is not received despite repeating retransmission of a send request a predetermined number of times, the parent node may use the response instruction data to output from which of the child nodes a response has not been received. Further, when there is a child node from which a response is not received despite repeating retransmission of a send request a predetermined number of times, the parent node may treat this as an error. According to embodiments of the invention, because the most recent response instruction data indicates from which of the child nodes a response has not been received, simply outputting the response instruction data can serve as a notice of the child nodes that cannot provide a response.
The invention may be implemented as a wireless communication system or a wireless communication device including at least a portion of the above-described units. The invention may also be implemented as a wireless communication method including at least a portion of the above described processes; furthermore, this wireless communication method may be implemented as a computer program for execution on a computer, or as the aforementioned computer program recorded on a computer readable medium. The above-mentioned configurations and processes may be freely combined with each other insofar as is technically possible to implement the invention.
Embodiments of the invention provide low delay in communication when a child node transmits a response in accordance with a send request from a parent node.
Various forms of implementing the invention are described in detail below on the basis of embodiments thereof and with reference to the drawings. However, unless explicitly stated, the dimensions, materials, shapes, and relative arrangements of constituent components of the embodiments described here are not meant as limitations to the scope of the invention.
Note that although only three nodes are illustrated in
The process for communicating sensor data in the embodiment is described with reference to
In time slot 0, the base transceiver 100 requests the nodes 1-3 to send sensor data (
Each of the nodes transmit a response to the base transceiver which includes the sensor data on the basis of the response instruction data included in the send request. Here, the response from the node 2 is not properly received at the base transceiver due to collision or the like (time slot 2). In that case, the base transceiver broadcasts a send request with response instruction data instructing that only the node 2 is to respond, and thereby instructs the node 2 to retransmit the response (time slot 4). At this point, the node 2 is instructed to transmit a response during the first response timing. In the example in
In the embodiment, the structure of the send request frame sent by the base transceiver 100, and the response frame sent by the node 200 is described with reference to
As illustrated in
The response instruction data 24 stores information indicating which nodes must respond, and information indicating the response timing when a response is required. In this embodiment, the number of bits in the response instruction data 24 is the same as the number of nodes within a group, with a single bit designating whether or not a response is required for single node. In the example illustrated in
When the response instruction data 24 is a bit string “1000100100” as illustrated in
Thus, if configured in this manner the indication of whether or not each node is required to respond and the response timing can be specified with a number of bits equal to the number of nodes.
As illustrated in
The configuration of a base transceiver 100 and a node 200 are described below in detail. First, the configuration of the base transceiver 100 is described with reference to
A base transceiver 100 includes a reception processor 110, and a transmission processor 120. The reception processor 110 includes a response receiver 11, a reception timing determination unit 112, an error detection and correction unit 113, a sender identification unit 114, and a reception information updating unit 115. The transmission processor 120 includes a target designation unit 121, a command generator 122, a command transmitter 123, and an unresponsive node output unit 124. In the embodiment, the base transceiver 100 is a computer containing a central processing unit (CPU), and memory, and the like, and is capable of implementing each of the above-mentioned functions through the CPU executing a program stored in memory. However, the above mentioned functions may be implemented in whole or in part as hardware circuits.
The response receiver 111 filters, demodulates, and decrypts the wireless signals received via antenna to receive the data transmitted wirelessly thereto. Any desired and known methods may be adopted for this reception processing.
The reception timing determination unit 112 identifies the number of the current time slot in which data is being received. A slot can be identified based on the amount of time that has elapsed since a send request was transmitted.
The error detection and correction unit 113 detects whether or not there is an error in the data received, and corrects the error if possible. Note that the error detection function may be provided by itself without providing an error correction function. While the cyclic redundancy check and the forward error correction are used in the embodiment, other desired algorithms may be used.
The sender identification unit 114 identifies the sender node of the data received. Because the data sent from a node includes the group ID and the node ID (Node ID 53,
The reception information updating unit 115 manages the information on which nodes have already sent a response. The reception information updating unit 115 updates information on nodes that already sent a response each time a response is received from a node. As above described, the base transceiver 100 includes information indicating which nodes are required to respond in the send request frame and transmits the send request frame. The reception information updating unit can manage the nodes from which a response has been received by updating the information in the response instruction data when a response is received from the node to indicate that a response is no longer required from a node indicated as requiring a response. More specifically, changing the corresponding bit of the node in the response instruction data 24 from “1” to “0” makes it possible to manage from which of the nodes a response has been received.
The target designation unit 121 specifies (determines) which nodes are required to respond in the send request. For instance, when the first transmitting a send request, the target designation unit 121 may determine that all nodes belonging to the same group are required to respond, or may determine that only some of the nodes are required to respond. When a response is not received from some of the nodes and the request is resent, the target designation unit 121 may select that only the nodes from which no response was received are required to respond.
The commanded generator 122 generates the send request frame 20. The response instruction data 24 in the send request frame 20 may be generated on the basis of the nodes identified by the target designation unit 121. More specifically, the bits corresponding to nodes that must respond are set to one “1” (indicating a response is required), and all other bits are set to “0” (indicating a response is not required) when generating the response instruction data. When a request is resent, the response instruction data may be generated using updated information from the reception information updating unit 115.
The command transmitter 123 encodes and modulates the send request, for instance and transmits the encoded request wirelessly.
The unresponsive node output unit 124 outputs information identifying the nodes that have not responded despite repeating retransmission of the send request a predetermined number of times. When a proper response is not received from a node despite retransmitting the send request a predetermined number of times, that node may be considered as having a malfunction. The output from the unresponsive node output unit 124 can be used to provide notice of this kind of malfunction.
Next, the configuration of the node 200 is described with reference to
The command receiver 211 filters, demodulates, and decrypts the wireless signals received via antenna to receive the data transmitted wirelessly thereto. On receiving a send request from a base transceiver 100, the command receiver 211 identifies the request from the base transceiver 100 on the basis of the command code 23 included in the frame received. When it is clear that the command sent from the base transceiver 100 requests transmission of sensor data (i.e., send request command), the node prepares to acquire the sensor data and transmits the following response to the base transceiver 100.
The reception timing determination unit 212, the error detection and correction unit 213, and the sender identification unit 214 are identical to the corresponding components in the base transceiver 100; therefore, an explanation therefor is omitted.
The response determination unit 221 assesses whether or not the node should provide a response on the basis of the response instruction data 24 included in the send request frame. More specifically, the response determination unit 221 determines a response is required if the value of the data corresponding to the node ID for the node is “1”, and determines to ignore the request if the value is “0”.
The response generator 222 generates the response frame 30. If the group ID 32 in the send request frame includes the ID of the group to which the node belongs, then the node ID of the node is stored in the node ID 33 in the response frame, and the sensor data is stored in the data 34 in the response frame.
The response timing calculator 223 calculates when the response frame 30 generated is sent. As above described, the response instruction data 24 designates the sequence in which the node should respond. The response timing calculator calculates the time at which the response should be transmitted on the basis of this order. More specifically, if the node is instructed to be the Nth node to transmit a response (N is an integer), the response timing is calculated as a time (N−1) x Ts +N×GT after the send request was received; where Ts is the transmission time of the child node, and GT is the guard time.
The response transmitter 224 sends the response frame 30 generated by the response generator 222 at the timing calculated by the response timing calculator 223. The response transmitter 224 encodes and modulates the response frame 30 and transmits the encoded and modulated response frame wirelessly.
The process used in the base transceiver 100 to transmit a send request, and in a node 200 to send a response in relation to the send request is described with reference to the flowcharts in
Transmission of the Send Request Command from the Base Transceiver
First the process when the base transceiver 100 transmits a send request command is described with reference to
The command generator 112 generates a send request frame 20 including the response instruction data 24 (S11), and the command transmitter 123 broadcasts the send request frame 20 (S12). Once the send request frame 20 is transmitted, the base transceiver 100 receives the responses from the nodes via the reception processor 110 (S13).
If the data received includes an error and the error is uncorrectable (S134: Error detected), the processing continues to step S138 without further processing the data received. Whereas, if there is no error in the data received or if the error has been corrected (S134: No errors), processing continues to step 5135. In step 5135 the sender identification unit references the group ID 32 and the node ID 33 included in the data received, to identify the sender of the request (S135), and determines whether or not the sender is a node 200 belonging to the same group as the base transceiver 100 (S136). If the data includes a different group ID 32 (S136: NO), no more processing is performed.
If the group ID 32 is a match (S136: YES), the reception information updating unit 115 records that a response was successfully received from the node (S137). The reception information updated unit 115 maintains information identical to the response instruction data 24 included in the send request frame 20, and updates the bit corresponding to the node from which a response was successfully received to “0”. That is, given that retransmission is not required from a node from which a response was successfully received, the bit value of the node in the response instruction data is updated to a value indicating that no response is required.
It is then determined whether the processing of responses from all the nodes required to respond is complete (S138); if incomplete (S138: NO), processing returns to step S131 and if complete (S138: YES), processing of the responses received terminates and processing continues to step S14. The determination of whether or not responses were processed from all the nodes can be performed by determining whether or not the amount of time (time slots) elapsed corresponds to the number of nodes from which a response is required.
Once the processing of the responses received from the nodes is completed, processing continues to step S14, the target designation unit 121 determines whether responses were properly received from all the nodes requested to respond. This determination may be carried out by verifying the response instruction data updated by the reception information updating unit 115. Accordingly, if the value of all the bits in the updated response instruction data is “0”, then it can be understood that a response was properly received from all the nodes. In this case (S14: YES), the base transceiver 100 terminates the processing of the send request.
In contrast, if any of the bits in the updated response instruction data has a value of “1”, it can be understood that a response was not properly received from the node corresponding to that bit. In this case (S14: NO), a send request is retransmitted to the nodes from which a response was not properly received, requesting a response be resent. More specifically, after confirming that the number of resends is yet to reach an upper limit (S15), the processing in step S11 through step S14 are executed again. When generating the send request frame, the response instruction data updated by the reception information updating unit 115 is included as is in the send request frame to generate a send request frame specifying the nodes from which retransmission is required.
Although the expectation is that repeating retransmissions multiple times makes it possible to properly receive a response from all the nodes, a response may not be received from a node regardless of the amount of time when, for instance, the node is malfunctioning. When a node does not send a response despite retransmitting up to a predetermined upper limit, the unresponsive node output unit 124 outputs information specifying that node. The information specifying an unresponsive node is essentially setting the bit corresponding to that node to “1” in the response instruction data at that time. Accordingly, the unresponsive node output unit 124 may simply output the response instruction data at that time to serve as information specifying unresponsive nodes.
Transmission of Response from Nodes
Next, the processing for a node 200 sending a response is described with reference to
If the data received includes an error and the error is uncorrectable (S22: Error detected), there is no further processing of the data received. Whereas, if there is no error in the data received or if the error has been corrected (S22: No errors), processing continues to step S23. In step S23, the node determines whether the node itself is the destination for the send request received. More specifically, the node investigates whether the group ID 22 in the send request frame 20 is identical to the ID of the group to which the node belongs, and determines that the node itself is the destination for the send request received if the IDs are identical. If the send request is not directed to the node itself (S23: NO), there is no further processing of the data received; and if the send request is directed to the node itself (S23: YES), processing continues to step S24.
In step S24, the response determination unit 221 references the response instruction data 24 included in the send request frame 20, and determines whether or not the node itself should provide a response to the send request. More specifically, it is determined that a response is required if the bit in the response instruction data 24 that corresponds to the node is “1”, and that the send request can be ignored if the bit is “0”. When a response is not required (S25: NO), no further processing takes place, and when a response is required (S25: YES), processing continues to step S26.
In step S26, the response timing calculator 223 calculates the timing for the node to transmit a response on the basis of the response instruction data 24. In the embodiment, the response timing is determined based on the sequence of the bit indicating that the node is required to respond among the bits in the response instruction data indicating the nodes required to respond. The calculation of the response timing is described with reference to the flowchart in
Thereafter, in step S265, the response timing is determined from the response order. More specifically, the timing of the transmission is calculated as (N−1)×Ts+N×GT after the send request is received, where Ts is the transmission time of the node, and GT is the guard time (collision prevention time). Note that although the transmission time Ts, and the guard time GT may differ based on implementation, these are predetermined values.
The response transmitter 224 waits until the response timing arrives (S27), and transmits the response frame 30 once the response timing arrives. Note that the response generator 222 may generate a response frame 30 that will be transmitted between the time it is determined that a response transmission is required from the node itself until the response timing.
In the embodiment, whether or not a response is required and the response timing is specified for each of the nodes when the base transceiver transmits a send request to the nodes. The response timing for each node is determined at this time to prevent any overlap in the response timing as well as avoid any slots where no response is sent; therefore, response from the nodes can be obtained with minimum delay. Additionally, the base transceiver specifies the response timing for each of the nodes, and thus the response timing is not selected at random, thereby ensuring communications are reliable. Finally, given that it is sufficient to use a single bit to represent a single node in the response instruction data, the data overhead can be kept to a minimum by adopting this method.
The embodiment described above is provided merely as an example of the invention; the invention is not limited to the specific example above described. The invention may be modified in various ways within the scope of the technical ideas therein.
In the above description, the nth bit in the response instruction data indicated whether or not a node with the node ID “n” was required to respond; however, this is not required. As long as a bit is mapped to a node, any desired relationship may be used.
Furthermore, any desired implementation may be used; for example, the first bit could indicate whether or not a node with the node ID “10” is required to respond, the second bit could indicate whether or not a node with the node ID “9” is required to respond and so forth. In the above description a bit value of “1” indicated a response was required, and a bit value of “0” indicated a response was not required; however the reverse may be used instead.
In the above description the assumption is that the number of nodes does not change; however, the number of nodes may increase or decrease during operation. In this case, the response instruction data may be a fixed length with the number of bits identical to the maximum number of nodes. Alternatively, the response instruction data may have variable length. If the response instruction data is of variable length, preferably, information is added thereto indicate the number of bits therein.
In the above description, a single bit in the response instruction data specifies for a single node whether or not a response is required; however, whether or not a response is required for a single node may be expressed in a plurality of bits. For instance, as illustrated in
Furthermore, as illustrated in
While the above-described embodiment is provides an example of adopting the techniques of the invention in a sensor data transmission system constituted by a PLC and sensors, the techniques in the invention may be adopted in any desired system. For instance, the present invention may be suitably adopted in an RFID system where an RFID reader-writer that uses passive UHF or RFID technology is the base transceiver, and the RFID tag is the node. Techniques in the invention are not limited to the above and can be applied to any desired wireless communication system.
Number | Date | Country | Kind |
---|---|---|---|
2014-036636 | Feb 2014 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2015/055150 | 2/24/2015 | WO | 00 |