Relay device and communication system

A relay device according to an embodiment includes a communication unit that receives information, transmitted from a plurality of communication terminals, and transmits the received information to a server; and a deriving unit that, in accordance with the total number of pieces of information received by the communication unit between a first point and a second point that elapses a predetermined time period, derives the timing information related to the transmission timing of information transmitted after the second point by at least one communication terminal among the communication terminals, and the communication unit transmits the timing information to the at least one communication terminal.

CROSS-REFERENCE TO RELATED APPLICATION(S)

The present application claims priority to and incorporates by reference the entire contents of Japanese Patent Application No. 2016-229197 filed in Japan on Nov. 25, 2016.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a relay device and a communication system.

2. Description of the Related Art

Conventionally, there is a known communication system that transmits sensor information collected by a plurality of communication terminals equipped with a sensor installed in a sensor network to a server via a relay apparatus that relays the network, thereby causing the server to aggregate the sensor information. An exemplary relay apparatus of this includes a relay apparatus including a database that accumulates and stores, for each transmission destination, a packet to which accumulation information is attached transmitted from a node, a timer management unit that manages intervals of transmitting the packet accumulated and stored in the database to a server, and a communication unit that transmits the packet to the server at this interval (refer to JP 2014-192661 A, for example).

With the communication system described in JP 2014-192661 A, it is possible to alleviate the load on the server generated in communication between the relay apparatus and the server. In a case, however, where sensor information is transmitted from a communication terminal to a relay apparatus in the communication system described in JP 2014-192661 A, executing transmission of the sensor information to the relay apparatus simultaneously by a plurality of communication terminals would increase the load on the relay apparatus. This hinders proper reception of the sensor information by the relay apparatus due to generation of collision, buffer overflow, or the like, and delays transmission of an acknowledgment (ACK), or the like, by the relay apparatus to the plurality of communication terminals in some cases. This deteriorates reliability of the communication between the communication terminal and the relay apparatus, increasing communication volume and degrading the real-time performance.

SUMMARY OF THE INVENTION

A relay device according to one embodiment of the present invention includes a communication unit that receives information, transmitted from a plurality of communication terminals, and transmits the received information to a server; and a deriving unit that, in accordance with the total number of pieces of information received by the communication unit between a first point and a second point that elapses a predetermined time period, derives the timing information related to the transmission timing of information transmitted after the second point by at least one communication terminal among the communication terminals, and the communication unit transmits the timing information to the at least one communication terminal.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

With reference to the drawings, an explanation is given below of a communication terminal and a communication system according to an embodiment.FIG. 1is a diagram that illustrates an example of the configuration of a communication system1according to the embodiment.

As illustrated inFIG. 1, the communication system1according to the embodiment includes eight sensors10ato10h, eight nodes (communication terminals)20ato20h, two gateways (GWs (relay devices))30a,30b, a server40, and a display device50. In the following explanation, the sensors10ato10hare collectively mentioned as a sensor10if they are not distinctively explained, the nodes20ato20hare collectively mentioned as a node20if they are not distinctively explained, and the GWs30a,30bare collectively mentioned as a GW30if they are not distinctively explained.

Furthermore, the number of the GWs30is not always two, but it may be one or more than three. Moreover, any number of the nodes20may be directly or indirectly connected to each of the GWs30as long as there are multiple ones.

For example, the communication system1is provided in a factory where multiple working machines are installed. Furthermore, in the communication system1, the sensor10detects the state of a working machine, the node20transmits the sensor information (also referred to as the state information), which indicates the state of the working machine detected by the sensor10, to the server40via the GW30, and the server40collects the sensor information. Here, the sensor information is information that indicates for example any of the state (normal state) where a working machine operates in a normal way and the state (abnormal state) where the operation of a working machine is abnormal. Moreover, the server40causes the display device50to display the state of the working machine, indicated by the collected sensor information. In this way, the communication system1allows a user, such as a supervisor of the factory, to know the states of working machines.

The sensor10is connected to the node20, and it is attached to a working machine. The sensor10detects the state of the working machine at an interval of a predetermined time period (e.g., 5 seconds) and notifies the detected state to the node20. For example, in order to detect the states of all the working machines, the sensors10are attached to working machines, respectively, and they detect the states of the working machines.

For example, the sensors10ato10hare attached to different working machines. The sensor10ais connected to the node20a, and it notifies the state of the working machine to the node20aat a predetermined time interval. The sensor10bis connected to the node20b, and it notifies the state of the working machine to the node20bat a predetermined time interval. The sensor10cis connected to the node20c, and it notifies the state of the working machine to the node20cat a predetermined time interval. The sensor10dis connected to the node20d, and it notifies the state of the working machine to the node20dat a predetermined time interval. The sensor10eis connected to the node20e, and it notifies the state of the working machine to the node20eat a predetermined time interval. The sensor10fis connected to the node20f, and it notifies the state of the working machine to the node20fat a predetermined time interval. The sensor10gis connected to the node20g, and it notifies the state of the working machine to the node20gat a predetermined time interval. The sensor10his connected to the node20h, and it notifies the state of the working machine to the node20hat a predetermined time interval.

The sensor10is for example a temperature sensor. If the sensor10is a temperature sensor, the sensor10detects the temperature of a working machine and notifies the detected temperature to the node20. Furthermore, if the temperature of the working machine, detected by the sensor10, falls within the range (normal-temperature range) of temperatures in a case where the state of the working machine is a normal state, the node20determines that the working machine is in the normal state. Conversely, if the temperature of the working machine, detected by the sensor10, does not fall within the normal-temperature range, the node20determines that the working machine is in an abnormal state.

If the state of the working machine, notified by the sensor10, is changed, the node20generates the sensor information that indicates the changed state and transmits it to the GW30. For example, if the state of the working machine is changed from the normal state to the abnormal state, the node20transmits the sensor information, which indicates the changed abnormal state, to the GW30. Furthermore, if the state of the working machine is changed from the abnormal state to the normal state, the node20transmits the sensor information, which indicates the changed normal state, to the GW30.

Here, the nodes20ato20dand the GW30aform a mesh network91, and the nodes20eto20hand the GW30bform a mesh network92.

For example, among the nodes20ato20d, the node20aand the node20bare capable of directly performing wireless communications with the GW30a, the node20cis capable of indirectly performing wireless communications with the GW30avia the node20aor the node20b, and the node20dis capable of indirectly performing wireless communications with the GW30avia the node20b.

Therefore, the node20aand the node20bdirectly transmit the sensor information to the GW30a, the node20ctransmits the sensor information to the GW30avia the node20aor the node20b, and the node20dtransmits the sensor information to the GW30avia the node20b. That is, the node20arelays the sensor information that is generated by the node20c. Furthermore, the node20brelays the sensor information generated by the node20cand the sensor information generated by the node20d.

Furthermore, among the nodes20eto20h, the node20eand the node20fare capable of directly performing wireless communication with the GW30b, the node20gis capable of indirectly performing wireless communication with the GW30bvia the node20eor the node20f, and the node20his capable of indirectly performing wireless communication with the GW30bvia the node20f.

Therefore, the node20eand the node20fdirectly transmit the sensor information to the GW30b, the node20gtransmits the sensor information to the GW30bvia the node20eor the node20f, and the node20htransmits the sensor information to the GW30bvia the node20f. That is, the node20erelays the sensor information that is generated by the node20g. Furthermore, the node20frelays the sensor information generated by the node20gand the sensor information generated by the node20h.

Moreover, each of the nodes20ato20dmay be capable of directly performing wireless communication with the GW30a, or each of the nodes20eto20hmay be capable of directly performing wireless communication with the GW30b.

Furthermore, the node20may include an undepicted revolving warning light so that it may control the color of light, generated by the revolving warning light, in accordance with the state of the working machine that is notified by the sensor10. For example, the node20controls the revolving warning light so as to emit green light if the state of the working machine is the normal state, and it controls the revolving warning light so as to emit red light if it is the abnormal state.

The GW30is capable of performing wireless communication with the server40and the node20. The GW30receives the sensor information, transmitted from the node20, and transmits the received sensor information to the server40. That is, the GW30relays the sensor information. Furthermore, after the GW30receives the sensor information, it transmits ACK to the node20, which is the transmission source of the sensor information.

The server40is implemented by using, for example, a computer. After the server40receives the sensor information that is transmitted from the GW30, it causes the display device50to display the state of the working machine, indicated by the received sensor information.

The display device50is implemented by using, for example, a liquid crystal display. Under the control of the server40, the display device50displays the states of all the working machines in the factory. This allows users to know the states of all the working machines in the factory.

Next, with reference toFIG. 2, an example of the configuration of the node20according to the embodiment is explained.FIG. 2is a diagram that illustrates an example of the configuration of the node20according to the embodiment.

As illustrated inFIG. 2, the node20includes a storage unit201, a communication unit202, and a control unit203.

The storage unit201is implemented by using, for example, a storage device such as a memory. The storage unit201stores various programs that are executed by the control unit203. For example, the storage unit201stores sensor-information transmission programs to perform a sensor-information transmission process for transmitting the sensor information. Furthermore, the storage unit201temporarily stores various types of data that are used when the control unit203executes various programs.

Furthermore, the storage unit201according to the embodiment stores a first database201a. The first database201ahas registered therein the traffic level, which is the level of traffic during the communication between the GW30and the node20, and the transmission mask period, which indicates the wait time until the sensor information becomes transmittable after ACK is received, in a related manner. Here, the traffic level is an example of the timing information. Furthermore, the transmission mask period is a wait time after the timing (predetermined timing) in which ACK is received.

The communication unit202is implemented by using, for example, a network interface card (a communicator) that performs wireless communication in accordance with a standard, such as Wifi (registered trademark) or BlueTooth (registered trademark). If the communication unit202can perform direct communication with the GW30, it performs wireless communication with the GW30. Furthermore, if the communication unit202cannot perform direct communication with the GW30, it performs wireless communication with the node20that makes a relay to the GW30. The communication unit202is an example of a second communication unit.

The control unit203is implemented by using a processor, such as a central processing unit (CPU). The control unit203performs overall control of the node20. The control unit203reads various programs, stored in the storage unit201, and executes the read programs, thereby performing various processes. For example, the control unit203executes the sensor-information transmission program to perform the sensor-information transmission process.

As illustrated inFIG. 2, if the control unit203, which performs the sensor-information transmission process, is illustrated functionally, the control unit203includes a transmission control unit203a.

FIG. 3is a diagram that illustrates an example of the data structure of the first database201aaccording to the embodiment. As illustrated inFIG. 3, records in the first database201ahas items “traffic level” and “transmission mask period”.

A traffic level is registered in the item “traffic level”. For example, in the first database201aillustrated inFIG. 3, any one of 5 traffic levels is registered. For example, the traffic level 1 indicates the smallest traffic among the 5 traffic levels. Furthermore, the traffic level 2 indicates the second smallest traffic among the 5 traffic levels. Furthermore, the traffic level 3 indicates the third smallest or largest traffic among the 5 traffic levels. Furthermore, the traffic level 4 indicates the second largest traffic among the 5 traffic levels. Moreover, the traffic level 5 indicates the largest traffic among the 5 traffic levels.

The traffic level 1 is registered in the item “traffic level” of the first record of the first database201aillustrated inFIG. 3. Furthermore, the traffic level 2 is registered in the item “traffic level” of the second record of the first database201a. Furthermore, the traffic level 3 is registered in the item “traffic level” of the third record of the first database201a. Furthermore, the traffic level 4 is registered in the item “traffic level” of the fourth record of the first database201a. Moreover, the traffic level 5 is registered in the item “traffic level” of the fifth record of the first database201a.

A transmission mask period is registered in the item “transmission mask period”. For example, 1 second is registered in the item “transmission mask period” of the first record of the first database201aillustrated inFIG. 3. That is, in the first record of the first database201a, the transmission mask period of 1 second is registered in relation to the traffic level 1.

Furthermore, in the item “transmission mask period” of the second record of the first database201a,5 seconds is registered. That is, the transmission mask period of 5 seconds is registered in the second record of the first database201ain relation to the traffic level 2.

Furthermore, in the item “transmission mask period” of the third record of the first database201a,20 seconds is registered. That is, the transmission mask period of 20 seconds is registered in the third record of the first database201ain relation to the traffic level 3.

Furthermore, in the item “transmission mask period” of the fourth record of the first database201a,40 seconds is registered. That is, the transmission mask period of 40 seconds is registered in the fourth record of the first database201ain relation to the traffic level 4.

Moreover, in the item “transmission mask period” of the fifth record of the first database201a,60 seconds is registered. That is, the transmission mask period of 60 seconds is registered in the fifth record of the first database201ain relation to the traffic level 5.

Here, the registered contents in the first database201aare not limited to the contents illustrated inFIG. 3. The first database201aonly has to register each of the traffic levels and a corresponding transmission mask period.

Furthermore, the first database201a, which has the same registered contents, may be stored in all the nodes20, or the first database201a, which has different registered contents, may be stored in each of the nodes20.

Next, with reference toFIG. 4, an example of the configuration of the GW30according to the embodiment is explained.FIG. 4is a diagram that illustrates an example of the configuration of the GW30according to the embodiment.

As illustrated inFIG. 4, the GW30includes a storage unit301, a communication unit302, and a control unit303.

The storage unit301is implemented by using, for example, a storage device such as a memory. The storage unit301stores various programs that are executed by the control unit303. For example, the storage unit301stores the timing-information derivation program to perform a timing-information derivation process for deriving timing information with regard to the transmission timing of sensor information. Furthermore, the storage unit301temporarily stores various types of data that are used when the control unit303executes various programs.

Furthermore, the storage unit301according to the embodiment stores a second database301a. The second database301ahas registered therein the total number of pieces of sensor information, received by the GW30during the sensor-information acquisition time, described later, and the traffic level in a related manner.

The communication unit302is implemented by using a network interface card (a communicator) that performs wireless communication in accordance with a standard, such as Wifi (registered trademark) or BlueTooth (registered trademark). The communication unit302performs wireless communication with the node20or the server40. For example, the communication unit302receives the sensor information, transmitted from the nodes20, and also transmits the received sensor information to the server40. The communication unit302is an example of a first communication unit.

The control unit303is implemented by using a processor, such as a CPU. The control unit303performs overall control of the GW30. The control unit303reads various programs, stored in the storage unit301, and executes the read programs, thereby performing various processes. For example, the control unit303executes the timing-information derivation program to perform the timing-information derivation process.

As illustrated inFIG. 4, if the control unit303, which executes the timing-information derivation process, is illustrated functionally, the control unit303includes a deriving unit303a.

FIG. 5is a diagram that illustrates an example of the data structure of the second database301aaccording to the embodiment. As illustrated inFIG. 5, the record of the second database301ahas the items “total number of pieces of sensor information” and “traffic level”.

The range of the total number of pieces of sensor information, received by the GW30during the sensor-information acquisition time, is registered in the item “total number of pieces of sensor information”. For example, in the item “total number of pieces of sensor information” of the first record of the second database301a, illustrated inFIG. 5, the range of equal to or more than 0 and less than 5 is registered as the range of the total number of pieces of sensor information that are received by the GW30during the sensor-information acquisition time.

Furthermore, in the item “total number of pieces of sensor information” of the second record of the second database301a, the range of equal to or more than 5 and less than 10 is registered as the range of the total number of pieces of sensor information that are received by the GW30during the sensor-information acquisition time.

Furthermore, in the item “total number of pieces of sensor information” of the third record of the second database301a, the range of equal to or more than 10 and less than 15 is registered as the range of the total number of pieces of sensor information that are received by the GW30during the sensor-information acquisition time.

Furthermore, in the item “total number of pieces of sensor information” of the fourth record of the second database301a, the range of equal to or more than 15 and less than 20 is registered as the range of the total number of pieces of sensor information that are received by the GW30during the sensor-information acquisition time.

Furthermore, in the item “total number of pieces of sensor information” of the fifth record of the second database301a, the range of equal to or more than 20 is registered as the range of the total number of pieces of sensor information that are received by the GW30during the sensor-information acquisition time.

A traffic level is registered in the item “traffic level”. The traffic level 1 is registered in the item “traffic level” of the first record of the second database301a, illustrated inFIG. 5. That is, in the first record of the second database301a, the traffic level 1 is registered in relation to the range of the total number of pieces of sensor information of equal to or more than 0 and less than 5.

Furthermore, the traffic level 2 is registered in the item “traffic level” of the second record of the second database301a. That is, in the second record of the second database301a, the traffic level 2 is registered in relation to the range of the total number of pieces of sensor information of equal to or more than 5 and less than 10.

Furthermore, the traffic level 3 is registered in the item “traffic level” of the third record of the second database301a. That is, in the third record of the second database301a, the traffic level 3 is registered in relation to the range of the total number of pieces of sensor information of equal to or more than 10 and less than 15.

Furthermore, the traffic level 4 is registered in the item “traffic level” of the fourth record of the second database301a. That is, in the fourth record of the second database301a, the traffic level 4 is registered in relation to the range of the total number of pieces of sensor information of equal to or more than 15 and less than 20.

Moreover, the traffic level 5 is registered in the item “traffic level” of the fifth record of the second database301a. That is, in the fifth record of the second database301a, the traffic level 5 is registered in relation to the range of the total number of pieces of sensor information of equal to or more than 20.

Furthermore, the registered contents of the second database301aare not limited to the contents that are illustrated inFIG. 5. The second database301aonly has to register each of the ranges of the total number of pieces of sensor information and a corresponding traffic level.

Next, with reference toFIG. 6, the timing-information derivation process according to the embodiment is explained.FIG. 6is a flowchart that illustrates the flow of the timing-information derivation process that is performed by the control unit303according to the embodiment. The timing-information derivation process according to the embodiment is performed when electric power is supplied to the control unit303from an undepicted power source.

As illustrated inFIG. 6, the deriving unit303aof the control unit303starts to perform the log storage process to store the sensor information from each of the nodes20as logs in the storage unit301(Step S101). Thus, after Step S101, the received sensor information is stored as a log in the storage unit301out of synchronization with the operations at Step S102to S108.

Then, the deriving unit303asets the sensor-information acquisition time (e.g., 20 seconds), which is the time for stand-by at Step S103that is described later (Step S102).

Then, the deriving unit303auses the software timer to start to measure the time after the setting of the sensor-information acquisition time at Step S102(Step S103).

Then, the deriving unit303acompares the sensor-information acquisition time, which is set at Step S102, and the time after the sensor-information acquisition time is set, which is started to be measured at Step S103, thereby determining whether the sensor-information acquisition time has elapsed after setting of the sensor-information acquisition time at Step S102(Step S104).

Here, the time when the sensor-information acquisition time is set is the start point of the sensor-information acquisition time, and the time when the sensor-information acquisition time has elapsed after the start point is the end point of the sensor-information acquisition time. That is, the sensor-information acquisition time is the time from the start point of the sensor-information acquisition time to the end point that follows the start point. The sensor-information acquisition time is an example of a predetermined time period, the start point is an example of a first point, and the end point is an example of a second point.

If it is determined that the sensor-information acquisition time has not elapsed (Step S104: No), the deriving unit303amakes a determination at Step S104again. That is, at Step S104, the deriving unit303astands by until the sensor-information acquisition time has elapsed.

If it is determined that the sensor-information acquisition time has elapsed (Step S104: Yes), the deriving unit303afinishes measuring the time after the setting of the sensor-information acquisition time (Step S105).

Then, the deriving unit303arefers to the memory contents of the storage unit301to determine whether the sensor information has been received from the node20during the time from the setting of the sensor-information acquisition time at Step S102to the elapse of the sensor-information acquisition time (Step S106).

If it is determined that the sensor information has not been received (Step S106: No), the deriving unit303areturns to Step S102and performs again the process after Step S102.

If it is determined that the sensor information has been received (Step S106: Yes), the deriving unit303aderives a traffic level (Step S107).

An explanation is given of an example of the method for deriving a traffic level by the deriving unit303aaccording to the embodiment. For example, the deriving unit303afirst refers to the memory contents of the storage unit301to derive the total number of pieces of sensor information that are received during the time from the setting of the sensor-information acquisition time at Step S102to the elapse of the sensor-information acquisition time. Then, from all the records of the second database301a, the deriving unit303asearches for the record that registers the range of the total number, including the derived total number of pieces of sensor information, in the item “total number of pieces of sensor information”. Then, the deriving unit303aacquires the traffic level, which is registered in the item “traffic level” of the record that is obtained as a result of searching, thereby deriving the traffic level.

Then, the deriving unit303aincludes the derived traffic level in the ACK that is transmitted to the node20, which is the transmission source of the sensor information that is received during the time from the setting of the sensor-information acquisition time at Step S102to the elapse of the sensor-information acquisition time, and controls the communication unit302so as to transmit the ACK including the traffic level to the node20that is the transmission source of the sensor information (Step S108). Thus, the communication unit302transmits the ACK including the traffic level to the node20, which is the transmission source of the sensor information. Then, the deriving unit303areturns to Step S102and performs again the process after Step S102. That is, the deriving unit303arepeatedly performs each operation at Step S102to S108many times.

Next, with reference toFIG. 7, the sensor-information transmission process is explained.FIG. 7is a flowchart that illustrates the flow of the sensor-information transmission process that is performed by the control unit203according to the embodiment. The sensor-information transmission process is performed when electric power is supplied to the control unit203from an undepicted power source.

As illustrated inFIG. 7, the transmission control unit203aof the control unit203determines whether the state of the working machine, notified by the sensor10, has changed (Step S201). If it is determined that the state of the working machine has not changed (Step S201: No), the transmission control unit203amakes a determination again at Step S201. That is, at Step S201, the transmission control unit203astands by until the state of the working machine changes.

If it is determined that the state of the working machine has changed (Step S201: Yes), the transmission control unit203agenerates the sensor information that indicates the changed state of the working machine and controls the communication unit202so as to transmit the generated sensor information to the GW30(Step S202). Thus, the communication unit202transmits the sensor information to the GW30.

Then, the transmission control unit203adetermines whether ACK has been received from the GW30(Step S203). If it is determined that ACK has not been received (Step S203: No), the transmission control unit203amakes a determination at S203again. That is, at Step S203, the transmission control unit203astands by until ACK is received.

Furthermore, if ACK is not received although a predetermined time elapses after the sensor information is transmitted to the GW30, the transmission control unit203acontrols the communication unit202so as to transmit the sensor information again. Moreover, if ACK is not received although the sensor information is retransmitted a predetermined number of times, the transmission control unit203adiscards the sensor information and then return to the above-described Step S201.

If it is determined that ACK has been received (Step S203: Yes), the transmission control unit203aderives a transmission mask period from the received ACK (Step S204). An explanation is given of an example of the method for deriving a transmission mask period by the transmission control unit203aaccording to the embodiment. As described above, a traffic level is included in ACK. Therefore, for example, the transmission control unit203afirst acquires the traffic level that is included in the ACK. Then, from all the records of the first database201a, the transmission control unit203asearches for the record, the item “traffic level” of which registers the acquired traffic level. Then, the transmission control unit203aacquires the transmission mask period that is registered in the item “transmission mask period” of the record, which is obtained as a result of searching, thereby deriving the transmission mask period.

Then, the transmission control unit203auses the software timer to start to measure the time after reception of the ACK (the time after it is determined that the ACK has been received at Step S203) (Step S205).

Then, the transmission control unit203adetermines whether the state of the working machine, notified by the sensor10, has changed (Step S206). If it is determined that the state of the working machine has not changed (Step S206: No), the transmission control unit203amakes a determination at Step S206again. That is, at Step S206, the transmission control unit203astands by until the state of the working machine changes.

If it is determined that the state of the working machine has changed (Step S206: Yes), the transmission control unit203acompares the transmission mask period, derived at Step S204, and the time after reception of the ACK, which is started to be measured at Step S205, thereby determining whether the transmission mask period has elapsed after reception of the ACK (Step S207).

If it is determined that the transmission mask period has not elapsed (Step S207: No), the transmission control unit203amakes a determination at Step S207again. That is, at Step S207, the transmission control unit203astands by until the transmission mask period has elapsed.

If it is determined that the transmission mask period has elapsed (Step S207: Yes), the transmission control unit203afinishes measuring the time after reception of the ACK by using the timer (Step S208). Then, the transmission control unit203areturns to the above-described Step S202to generate the sensor information that indicates the changed state of the working machine and controls the communication unit202so as to transmit the generated sensor information to the GW30. Then, the transmission control unit203aperforms again the process after Step S203. That is, the transmission control unit203arepeatedly performs the operations from Step S202to S208many times.

An explanation is given of a case where, for example, before the transmission control unit203adetermines that the state of the working machine has changed at Step S206, the transmission mask period elapses after reception of the ACK. In this case, after it is determined that the state of the working machine has changed at Step S206, the transmission control unit203ainstantly determines that the transmission mask period has elapsed at Step S207and therefore it instantly proceeds to Step S202. Therefore, after it is determined that the state of the working machine has changed at Step S206, the communication unit202instantly transmits the sensor information at Step S202.

Furthermore, if the state of the working machine newly changes during a stand-by at Step S207, the transmission control unit203amay perform a control so as to generate new sensor information that indicates the changed state of the working machine, queue the sensor information by First-In First-Out (FIFO) method, and sequentially transmit the sensor information, starting from the earlier one.

During the timing-information derivation process according to the above-described embodiment, at the first-time Step S107, the deriving unit303aderives the traffic level, which is the information related to the transmission timing of the sensor information transmitted after the end point of the sensor-information acquisition time by the node20, which is included in the nodes20and is the transmission source of the sensor information received by the communication unit302during the sensor-information acquisition time, on the basis of the total number of pieces of sensor information that are received by the communication unit302between the start point of the sensor-information acquisition time, set at the first-time Step S102, and the end point at which the sensor-information acquisition time elapses. Then, at the first-time Step S108, the deriving unit303acontrols the communication unit302so as to transmit the ACK including the traffic level to the node20, which is the transmission source of the sensor information. Thus, the communication unit302transmits the ACK including the traffic level to the node20that is the transmission source of the sensor information.

Furthermore, during the sensor-information transmission process according to the above-described embodiment, the communication unit202transmits the sensor information, transmitted after the end point of the sensor-information acquisition time, at the timing based on the received traffic level.

Here, if N is a natural number, the process performed by the deriving unit303aand the communication unit302may be generalized as described below. For example, at N-time Step S107, the deriving unit303aderives the traffic level, which is the information related to the transmission timing of the sensor information transmitted after the end point of the sensor-information acquisition time by the node20, which is included in the nodes20and is the transmission source of the sensor information received by the communication unit302during the sensor-information acquisition time, on the basis of the total number of pieces of sensor information that are received by the communication unit302between the start point of the sensor-information acquisition time, set at N-time Step S102, and the end point at which the sensor-information acquisition time elapses. Then, at N-time Step S108, the communication unit302transmits the ACK including the traffic level to the node20, which is the transmission source of the sensor information.

Furthermore, during the timing-information derivation process, at N-time Step S108, the communication unit302transmits the ACK including the traffic level to the node20, which is the transmission source of the sensor information, after the end point of the sensor-information acquisition time that is set at N-time Step S102.

Here, there is a case where pieces of sensor information are concurrently transmitted from the nodes20to the GW30and the traffic becomes large in the mesh networks91,92. In such a case, the GW30sequentially transmits ACK to the nodes20one by one. Therefore, there are variations in the timings in which the nodes20receive ACK. Thus, although the transmission mask periods, derived by the nodes20, are the same, there are variations in the transmission timings of multiple pieces of sensor information, transmitted by the nodes20. As a result, the nodes20transmit the subsequent pieces of sensor information at different timings. Therefore, with the communication system1according to the embodiment, it is possible to prevent the occurrence of a situation where many pieces of sensor information are concurrently transmitted from the large number of the nodes20to the GW30.

As described above, with the GW30according to the embodiment, the transmission interval of the sensor information of the node20is controlled in accordance with the derived traffic level; thus, the occurrence of collisions, buffer overflow, or the like, may be prevented. Thus, with the GW30according to the embodiment, it is possible to prevent the occurrence of a situation where the sensor information cannot be properly received due to the occurrence of collisions, buffer overflow, or the like, or transmission of ACK is delayed.

Thus, with the GW30according to the embodiment, the sensor information may be received definitely and efficiently.

Furthermore, with the GW30according to the embodiment, instead of transmitting the ACK each time the sensor information is received, the ACK is transmitted after the sensor-information acquisition time elapses; thus, it is possible to prevent an increase in the processing loads on the GW30.

Furthermore, with the node20according to the embodiment, the sensor information is transmitted after the ACK is received; therefore, it is possible to further ensure that the GW30receives the sensor information. As a result, the reliability of communication between the node20and the GW30is increased.

First Modified Example of the Embodiment

Although an explanation is given in the above-described embodiment of an example where the GW30transmits the ACK including the traffic level after the end point of the sensor-information acquisition time; however, the GW30may transmit the ACK including the traffic level each time the sensor information is received. Therefore, this configuration is explained as a first modified example of the embodiment.

FIG. 8is a flowchart that illustrates the flow of the timing-information derivation process that is performed by the control unit303according to the first modified example of the embodiment. The timing-information derivation process according to the first modified example is performed when electric power is supplied to the control unit303from an undepicted power source.

As illustrated inFIG. 8, the deriving unit303aof the control unit303according to the first modified example starts to perform the log storage process to store the sensor information from each of the nodes20as logs in the storage unit301(Step S301). Thus, after Step S301, the received sensor information is stored as a log in the storage unit301out of synchronization with the operations at Step S302to S305.

Then, the deriving unit303asets the sensor-information acquisition time (e.g., 20 seconds) (Step S302). Then, the deriving unit303adetermines whether the sensor information has been received from the node20(Step S303).

If it is determined that the sensor information has not been received (Step S303: No), the deriving unit303amakes a determination at Step S303again. That is, at Step S303, the deriving unit303astands by until the sensor information is received.

If it is determined that the sensor information has been received (Step S303: Yes), the deriving unit303aderives the traffic level (Step S304).

An explanation is given of an example of the method for deriving the traffic level by the deriving unit303aaccording to the first modified example. For example, the deriving unit303afirst refers to the memory contents of the storage unit301to derive the total number of pieces of sensor information that are received during the time period between the time when the sensor information is received (the time when it is determined that the sensor information has been received at Step S303) and the time back to the past, corresponding to the sensor-information acquisition time. Then, from all the records of the second database301a, the deriving unit303asearches for the record that registers the range of the total number, including the derived total number of pieces of sensor information, in the item “total number of pieces of sensor information”. Then, the deriving unit303aacquires the traffic level, which is registered in the item “traffic level” of the record that is obtained as a result of searching, thereby deriving the traffic level.

Then, the deriving unit303aincludes the derived traffic level in the ACK that is transmitted to the node20, which is the transmission source of the sensor information that is determined to have been received at Step S303, and controls the communication unit302so as to transmit the ACK including the traffic level to the node20that is the transmission source of the sensor information (Step S305). Thus, the communication unit302transmits the ACK including the traffic level to the node20, which is the transmission source of the sensor information. Then, the deriving unit303areturns to Step S303and performs again the process after Step S303. That is, the deriving unit303arepeatedly performs each operation at Step S303to S305many times.

During the timing-information derivation process according to the first modified example that is described above, each time the communication unit302receives the sensor information, transmitted from each of the nodes20, the deriving unit303aderives a traffic level on the basis of the total number of pieces of sensor information that are received by the communication unit302during the sensor-information acquisition time that precedes the reception timing of the received sensor information. Then, each time the deriving unit303aderives the traffic level, the communication unit302transmits the ACK including the traffic level to the node20, which is the transmission source of the sensor information.

As described above, the GW30according to the first modified example transmits the ACK including the traffic level to the node20each time the sensor information is received. Therefore, with the GW30according to the first modified example, the traffic level is promptly notified to the node20after the sensor information is received; thus, the transmission interval of the sensor information by the node20may be controlled promptly.

Second Modified Example of the Embodiment

In the embodiment and the first modified example, described above, an explanation is given of an example where the GW30derives a traffic level and transmits the ACK including the derived traffic level to the node20. However, the GW30may derive a transmission mask period and transmit the ACK including the derived transmission mask period to the node20. Therefore, this configuration is explained as a second modified example of the embodiment.

FIG. 9is a diagram that illustrates an example of the data structure of a third database301baccording to a second modified example. According to the second modified example, the storage unit201of the node20does not store the first database201a, and the storage unit301of the GW30stores the third database301binstead of the second database301a.

As illustrated inFIG. 9, records of the third database301bcontain the items “total number of pieces of sensor information” and “transmission mask period”.

The range of the total number of pieces of sensor information that are received by the GW30during the sensor-information acquisition time is registered in the item “total number of pieces of sensor information”. For example, in the item “total number of pieces of sensor information” of the first record of the third database301b, illustrated inFIG. 9, the range of equal to or more than 0 and less than 5 is registered as the range of the total number of pieces of sensor information that are received by the GW30during the sensor-information acquisition time.

Furthermore, in the item “total number of pieces of sensor information” of the second record of the third database301b, the range of equal to or more than 5 and less than 10 is registered as the range of the total number of pieces of sensor information that are received by the GW30during the sensor-information acquisition time.

Furthermore, in the item “total number of pieces of sensor information” of the third record of the third database301b, the range of equal to or more than 10 and less than 15 is registered as the range of the total number of pieces of sensor information that are received by the GW30during the sensor-information acquisition time.

Furthermore, in the item “total number of pieces of sensor information” of the fourth record of the third database301b, the range of equal to or more than 15 and less than 20 is registered as the range of the total number of pieces of sensor information that are received by the GW30during the sensor-information acquisition time.

Furthermore, in the item “total number of pieces of sensor information” of the fifth record of the third database301b, the range of equal to or more than 20 is registered as the range of the total number of pieces of sensor information that are received by the GW30during the sensor-information acquisition time.

A transmission mask period is registered in the item “transmission mask period”. Here, the transmission mask period is an example of the timing information. 1 second is registered in the item “transmission mask period” of the first record of the third database301b, illustrated inFIG. 9. That is, the transmission mask period of 1 second is registered in the first record of the third database301bin relation to the range of the total number of pieces of sensor information of equal to or more than 0 and less than 5.

Furthermore, 5 seconds is registered in the item “transmission mask period” of the second record of the third database301b. That is, the transmission mask period of 5 seconds is registered in the second record of the third database301bin relation to the range of the total number of pieces of sensor information of equal to or more than 5 and less than 10.

Furthermore, 20 seconds is registered in the item “transmission mask period” of the third record of the third database301b. That is, the transmission mask period of 20 seconds is registered in the third record of the third database301bin relation to the range of the total number of pieces of sensor information of equal to or more than 10 and less than 15.

Furthermore, 40 seconds is registered in the item “transmission mask period” of the fourth record of the third database301b. That is, the transmission mask period of 40 seconds is registered in the fourth record of the third database301bin relation to the range of the total number of pieces of sensor information of equal to or more than 15 and less than 20.

Moreover, 60 seconds is registered in the item “transmission mask period” of the fifth record of the third database301b. That is, the transmission mask period of 60 seconds is registered in the fifth record of the third database301bin relation to the range of the total number of pieces of sensor information of equal to or more than 20.

Next, with reference toFIG. 10, the timing-information derivation process according to the second modified example is explained.FIG. 10is a flowchart that illustrates the flow of the timing-information derivation process that is performed by the control unit303of the GW30according to the second modified example. The timing-information derivation process according to the second modified example is performed when electric power is supplied to the control unit303from an undepicted power source.

As the operations at Step S101to S106during the timing-information derivation process according to the second modified example, illustrated inFIG. 10, are the same as the operations at Step S101to S106during the timing-information derivation process according to the embodiment, illustrated inFIG. 6, explanations are omitted.

As illustrated inFIG. 10, if it is determined that the sensor information has been received (Step S106: Yes), the deriving unit303aof the control unit303according to the second modified example derives a transmission mask period (Step S401).

An explanation is given of an example of the method for deriving the transmission mask period by the deriving unit303aaccording to the second modified example. For example, the deriving unit303afirst refers to the memory contents of the storage unit301to derive the total number of pieces of sensor information that are received during the time from the setting of the sensor-information acquisition time at Step S102to the elapse of the sensor-information acquisition time. Then, from all the records of the third database301b, the deriving unit303asearches for the record that registers the range of the total number, including the derived total number of pieces of sensor information, in the item “total number of pieces of sensor information”. Then, the deriving unit303aacquires the transmission mask period, which is registered in the item “transmission mask period” of the record that is obtained as a result of searching, thereby deriving the transmission mask period.

Furthermore, the deriving unit303aincludes the derived transmission mask period in the ACK that is transmitted to the node20, which is the transmission source of the sensor information that is received during the time from the setting of the sensor-information acquisition time at Step S102to the elapse of the sensor-information acquisition time, and controls the communication unit302so as to transmit the ACK including the transmission mask period to the node20that is the transmission source of the sensor information (Step S402). Thus, the communication unit302transmits the ACK including the transmission mask period to the node20, which is the transmission source of the sensor information. Then, the deriving unit303areturns to Step S102and performs again the process after Step S102. That is, the deriving unit303arepeatedly performs the operations at Step S102to S106, S401, and S402many times.

Next, with reference toFIG. 11, the sensor-information transmission process according to the second modified example is explained.FIG. 11is a flowchart that illustrates the flow of the sensor-information transmission process that is performed by the control unit203of the node20according to the second modified example. The sensor-information transmission process according to the second modified example is performed when electric power is supplied to the control unit203from an undepicted power source.

As the operations at Step S201to S203and S205to S208during the sensor-information transmission process according to the second modified example, illustrated inFIG. 11, are the same as the operations at Step S201to S203and S205to S208during the sensor-information transmission process according to the embodiment, illustrated inFIG. 7, explanations are omitted.

As illustrated inFIG. 11, if the transmission control unit203aof the control unit203according to the second modified example determines that the ACK has been received (Step S203: Yes), the transmission control unit203aextracts the transmission mask period, included in the ACK, from the received ACK (Step S403).

During the timing-information derivation process according to the above-described second modified example, at the first-time Step S401, the deriving unit303aderives the transmission mask period, which is the information related to the transmission timing of the sensor information transmitted after the end point of the sensor-information acquisition time by the node20, which is included in the nodes20and is the transmission source of the sensor information received by the communication unit302during the sensor-information acquisition time, on the basis of the total number of pieces of sensor information that are received by the communication unit302between the start point of the sensor-information acquisition time, set at the first-time Step S102, and the end point in which the sensor-information acquisition time elapses. Then, at the first-time Step S402, the deriving unit303acontrols the communication unit302so as to transmit the ACK including the transmission mask period to the node20, which is the transmission source of the sensor information. Thus, the communication unit302transmits the ACK including the transmission mask period to the node20that is the transmission source of the sensor information.

The process performed by the deriving unit303aand the communication unit302may be generalized as described below. For example, at N-time Step S401, the deriving unit303aderives the transmission mask period, which is the information related to the transmission timing of the sensor information transmitted after the end point of the sensor-information acquisition time by the node20, which is included in the nodes20and is the transmission source of the sensor information received by the communication unit302during the sensor-information acquisition time, on the basis of the total number of pieces of sensor information that are received by the communication unit302between the start point of the sensor-information acquisition time, set at N-time Step S102, and the end point. Then, at N-time Step S402, the communication unit302transmits the ACK including the transmission mask period to the node20, which is the transmission source of the sensor information.

Furthermore, during the timing-information derivation process, at N-time Step S402, the communication unit302transmits the ACK including the transmission mask period to the node20, which is the transmission source of the sensor information, after the end point of the sensor-information acquisition time that is set at N-time Step S102.

With the GW30according to the second modified example, the sensor information may be received definitely and efficiently in the same manner as the GW30according to the embodiment.

In the embodiment, the first modified example, and the second modified example, described above, an explanation is given of an example where the deriving unit303aof the GW30controls the communication unit302so as to transmit the ACK including the traffic level or the transmission mask period to the node20that is the transmission source of the sensor information. That is, an explanation is given of an example where the communication unit302transmits the ACK including the traffic level or the transmission mask period to the node20that is the transmission source of the sensor information.

However, the deriving unit303aof the GW30may control the communication unit302so as to transmit the ACK including the traffic level or the transmission mask period to at least one of the nodes20. That is, the communication unit302may transmit the ACK including the traffic level or the transmission mask period to at least one of the nodes20. In this case, the communication unit202of at least one of the nodes20transmits the sensor information, which is transmitted after the end point of the sensor-information acquisition time, at the timing based on the derived traffic level or transmission mask period.

For example, the deriving unit303amay control the communication unit302so as to transmit the ACK including the traffic level or the transmission mask period to all the nodes20(the multiple nodes20) that are capable of communicating with the GW30. That is, the communication unit302may transmit the ACK including the traffic level or the transmission mask period to all the nodes20that are capable of communicating with the GW30.

Furthermore, in the embodiment, the first modified example, and the second modified example, described above, an explanation is given of an example where the above-described technology is applied to the communication system in which the pieces of sensor information of the nodes are concentrated in the server; however, the above-described technology may be applied to other systems.

According to an aspect of the present invention, information may be received definitely and efficiently.