The embodiments discussed herein are related to a communication apparatus, system, and communication method.
Even when mobile wireless terminals include a terminal to which data cannot directly be transferred from a base station, another terminal is defined as a master device to transfer data via the master device according to a conventionally known technique (see, e.g., Japanese Laid-Open Patent Publication No. 2007-235694).
In a server client system, an application program with high security performance is executed by a server while an application program with low security performance is executed by a client so as to distribute loads according to a known technique (see, e.g., Japanese Laid-Open Patent Publication No. 2010-182176).
A sensor network (wireless sensor network (WSN)) is known that has multiple wireless terminals with sensors distributed in a predetermined space to enable collection of environmental or physical conditions in cooperation with each other.
However, if data processing is executed when an event occurs and the data processing does not finish before a subsequent event occurs, the execution of the data processing may be abandoned.
According to an aspect of an embodiment, a communication apparatus includes a processor that detects an occurrence of an event; outputs judgment information indicating whether data processing corresponding to the detected event will finish before an occurrence of an event subsequent to the detected event, based on a time interval at which the occurrence of the event is detected; executes the corresponding data processing, when the judgment information input indicates completion of the corresponding data processing; and a wireless communication circuit that, when the judgment information input indicates completion of the corresponding data processing, transmits an execution result that is of the corresponding data processing and obtained by the processor, to a first apparatus that is communicable with the communication apparatus, the wireless communication circuit transmitting to the first apparatus, request information causing the first apparatus to execute the corresponding data processing and to transmit an execution result of the corresponding data processing to a second communication apparatus communicable with the first apparatus, when the judgment information input indicates incompletion of the corresponding data processing.
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 of a communication apparatus, a system, and communication method will be described in detail with reference to the accompanying drawings. A sensor network system described in the present embodiment has a large number of sensors disposed in a predetermined region, and each sensor wirelessly transmits detection information concerning the detection thereby, while a master device capable of wirelessly communicating with the sensors in the predetermined region corrects the detection information. An apparatus equipped with a sensor and a processor capable of processing data obtained by the sensor is referred to as a sensor node. For example, the number of the sensor nodes disposed in the predetermined region is assumed to be several hundred to tens of thousands.
The sensor node 101 performs sensing ev, data processing, and transmission. The sensing ev refers to a sensing event by a sensor included in the sensor node 101. The data processing refers to data processing that corresponds to a sensing result from the sensing ev. The transmission refers to transmission of an execution result of the data process. In the case of a low-load state, the sensing ev, the data processing, and the transmission are repeatedly performed sequentially. To transmit an execution result of the data processing to the master device 102, the sensor node 101 transmits the execution result to an apparatus directly communicable with the sensor node 101. The directly communicable apparatus is an apparatus that is directly and wirelessly communicable with the sensor node 101, among the master device 102 and the multiple sensor nodes 101 since the apparatus is located near the sensor node 101.
As indicated by a low-load state depicted in FIG. 2, a time interval t1 of the sensing ev is longer than the time t0 required for the data processing. On the other hand, as indicated by a high-load state depicted in
As described, the sensor node 101 transmits a result of the data processing through relay transmission via another one or more of the sensor nodes 101 to the master device 102. Therefore, in the present embodiment, for the sensor node 101 whose time interval for the sensing ev is shorter than the time required for the data processing, the data processing is instead executed by a relay sensor node 101 that is after a sensor node 101-k and before the master device 102. In the example depicted in
Alternatively, for the sensor node 101-k whose time interval for the sensing ev is shorter than the time required for the data processing, a portion of the data processing is executed instead by a relay sensor node 101 that is after the sensor node 101-k and before the master device 102. As a result, the abandonment of the execution of the data processing can be reduced. Therefore, the discarding of the sensing results can be reduced.
For example, if a sensing result has an abnormality, data processing corresponding to the sensing ev is more likely to be executed by the processor in the sensor node 101. Taking a temperature sensor as an example, if a processor is interrupted when the temperature is equal to or higher than a threshold value and an event frequently occurs from the temperature sensor, an abnormality may exist at the location where the sensor node 101 is disposed. Therefore, when a sensing result has an abnormality, the high-load state is likely to occur. The master device 102 analyzes the sensing result and the execution result of the data processing that corresponds to the sensing result and transmits the execution result to a user terminal. If the analysis is executed in time series based on sensing results and execution results of data processing that corresponds to the sensing results, the discarding of a sensing result reduces the analysis accuracy. Therefore, as depicted in
The sensor 301 detects displacement at the installation site. The sensor 301 can be realized by using a piezo-electric device that detects pressure at the installation site, a device that detects the temperature, and a photoelectric device that detects light, for example. The antenna 310 transmits and receives radio waves for wireless communication with the master device 102. A wireless communication circuit (RF) 303 outputs received radio waves as a reception signal and transmits a transmission signal as radio waves via the antenna 310.
The microprocessor (MCU) 305 processes data detected by the sensor 301. The RAM 306 stores transient data of the process at the MCU 305. The ROM 307 stores a processing program executed by the MCU 305. The non-volatile memory 308 retains predetermined data written thereto even when the power supply is cut, etc.
The harvester 311 generates electricity based on a change in energy, for example, light, vibration, temperature, or radio waves (received radio waves), in the external environment at the installation site of the sensor node 101. The harvester 311 may generate electricity according to the displacement detected by the sensor 301. The battery 312 stores the electric power generated by the harvester 311. Therefore, the sensor node 101 does not need a secondary battery or an external power source and internally generates the electric power necessary for operation.
The PMU 302 provides control for supplying the electric power stored by the battery 312 or the electric power acquired by the harvester 311 as a drive power source of the units of the sensor node 101. For example, when the sensor 301 executes a sensing process, the PMU 302 supplies a power source to the MCU 305 for operating the MCU 305. If no process is executed by the MCU 305, the PMU 302 terminates the power supply to the MCU 305.
The I/O circuit 404 is connected to an antenna 406 and a wireless communication circuit (radio frequency (RF)) 407 as well as a network I/F 408. This enables the master device 102 to wirelessly communicate with the sensor node 101 via the antenna 406 and the wireless communication circuit 407. The master device 102 can communicate with external apparatuses such as a server 412 and a user terminal 411 via a network NET such as the Internet through the network I/F 408 by a TCP/IP protocol process, etc.
The detecting unit 501 detects an occurrence of an event. In each of the sensor nodes 101, for example, the detecting unit 501 detects the sensing ev by the sensor 301 in the sensor node 101.
The judging unit 502 outputs judgment information indicating whether data processing corresponding to an event detected by the detecting unit 501 will finish before the occurrence of an event subsequent to the detected event, based on the time interval itv when the detecting unit 501 detects the occurrence of the event.
For example, the judging unit 502 may store an occurrence time of the sensing ev in a storage device such as the non-volatile memory 308 each time the detecting unit 501 detects an occurrence of the sensing ev. The judging unit 502 may then judge whether the time interval itv between the occurrence time of the sensing ev detected at the previous time and the occurrence time of the currently detected event is equal to or less than a threshold value. The threshold value may be the time required for a process corresponding to the sensing ev, for example. The threshold value is assumed to be stored in advance in a storage device such as the ROM 307 and the non-volatile memory 308. Alternatively, for example, multiple time intervals itv each corresponding to two events occurring at times close to each other may be stored in the storage device and the judging unit 502 may judge whether the average value of the time intervals itv is equal to or less than the threshold value.
If the judging unit 502 outputs the judgment information indicating incompletion of the corresponding data processing, the transmitting unit 504 transmits request information to a first apparatus directly communicable with the communication apparatus of the sensor node 101 thereof. The directly communicable first apparatus is a neighboring communication apparatus of the sensor node 101 thereof and is another one of the sensor nodes 101 or the master device 102. The request information is information causing another one of the sensor nodes 101 to execute the corresponding data processing and to transmit an execution result of the corresponding data processing to a second apparatus directly communicable with the first apparatus. The second apparatus is a neighboring communication apparatus of another one of the sensor nodes 101.
The transmitting unit 504 may transmit the judgment information of the sensor node 101 thereof together with the request information to the first apparatus. For example, if the judgment information indicates that the corresponding data processing will not finish, this indicates that the sensor node 101 thereof is in the high-load state. On the other hand, if the judgment information indicates that the corresponding data processing will finish, this indicates that the sensor node 101 thereof is in the low-load state.
The judging unit 502 stores judgment information indicating whether the data processing corresponding to the sensing ev will finish, into the storage device 510 of the sensor node 101 thereof. For example, the judging unit 502 sets the busy flag bf, thereby representing that the judgment information indicating incompletion of the data processing corresponding to the sensing ev is stored in the storage device 510. As a result, it is indicated that the sensor node 101 thereof is in the high-load state. For example, the judging unit 502 sets the busy flag bf by setting the busy flag bf to “1”.
For example, the judging unit 502 unsets the busy flag bf, thereby representing that the judgment information indicating completion of the data processing corresponding to the sensing ev is stored in the storage device 510. As a result, it is indicated that the sensor node 101 thereof is in the low-load state. For example, the judging unit 502 unsets the busy flag bf by setting the busy flag bf to “0”.
If the judging unit 502 outputs the judgment information indicating completion of the data processing corresponding to the sensing ev, the data processing unit 503 executes the data processing corresponding to the sensing ev. If the judging unit 502 output the judgment information indicating incompletion of the data processing corresponding to the sensing ev, the data processing unit 503 executes a portion of the data processing corresponding to the sensing ev. A portion of the data processing may be a process that can be executed in the time interval itv of the sensing ev, for example.
The transmitting unit 504 transmits request information and an execution result of the portion of the data processing to the first apparatus directly communicable with the sensor node 101 thereof. The request information in this case is information causing another one of the sensor nodes 101 to execute the remaining corresponding data processing excluding the completed portion of the data processing and to transmit an execution result to the second apparatus directly communicable with the first apparatus.
The receiving unit 505 receives the request information related to another one of the sensor nodes 101 from the neighboring sensor nodes 101 of the sensor node 101 thereof. For example, if the process flag pf included in the transmission data from another one of the sensor nodes 101 is unset, the receiving unit 505 judges that the request information causing the execution of the data processing corresponding to an event detected by the other sensor node 101 is received.
The data processing unit 503 executes the data processing indicated by the request information. The transmitting unit 504 transmits the execution result from the data processing unit 503 to a neighboring communication apparatus directly communicable with the sensor node 101 thereof. If the execution is completed by the data processing unit 503, the transmitting unit 504 transmits the execution result with the process flag pf set.
If the judgment information indicating incompletion of the data processing corresponding to the sensing ev is stored in the storage device 510, the data processing unit 503 does not execute the data processing indicated by the request information received by the receiving unit 505. The transmitting unit 504 transmits the received request information to the first apparatus directly communicable with the sensor node 101 thereof. As described above, when the judgment information indicating incompletion of the data processing corresponding to the sensing ev is stored in the storage device 510, this is a case in which the busy flag bf is set.
The acquiring unit 506 acquires a total value of the power consumption required for the data processing indicted by the request information received by the receiving unit 505 and the power consumption required for transmission of the execution result of the data processing indicated by the request information.
For example, the first function f1(ds) of an electric power required for data processing that varies according to the data size of the data processing and the second function f2(ds) of an electric power required for data transmission that varies according to the data size of the data transmission may be stored in the storage device 510. In the functions, “ds” indicates that the value of each of the functions varies depending on a data size. The acquiring unit 506 acquires a total value of a first power consumption and a second power consumption. The first power consumption is acquired by giving the first function f1(ds) the data size of information related to the data processing indicated by the request information. The second power consumption is acquired by giving the second function f2(ds) a predicted data size of the execution result of the data processing indicated by the request information. Alternatively, the sensor node 101 may calculate the first power consumption and the second power consumption to calculate the total value.
The determining unit 507 determines whether the electric power stored in the electric storage device 508 is equal to or greater than the total value acquired by the acquiring unit 506.
If the determining unit 507 determines that the stored electric power is equal to or greater than the total value, the data processing unit 503 executes the data processing indicated by the request information received by the receiving unit 505. The transmitting unit 504 transmits the execution result from the data processing unit 503 to the first apparatus directly communicable with the sensor node 101 thereof.
If the determining unit 507 determines that the stored electric power is less than the total value, the data processing unit 503 does not execute the data processing indicated by the request information received by the receiving unit 505. The transmitting unit 504 transmits the request information received by the receiving unit 505 to the first apparatus directly communicable with the sensor node 101 thereof.
For example, the processes of the acquiring unit 506 and the determining unit 507 are executed when the judgment information indicating incompletion of the data processing corresponding to the sensing ev is not stored in the storage device 510. On the other hand, arrangement may be such that the processes of the acquiring unit 506 and the determining unit 507 are not executed when the judgment information indicating incompletion of the data processing corresponding to the sensing ev is stored in the storage device 510.
If a large amount of unprocessed data is transferred in the sensor network system 100 even though the sensor nodes 101 are in the high-load state, the sensor nodes 101 must execute the reception process a number of times and further load is applied. Moreover, unprocessed data eventually reaches the master device 102. Therefore, in Example 1, if a large number of the sensor nodes 101 are in the high-load state, the master device 102 transmits to the multiple sensor nodes 101, requirement information so that the master device 102 prohibits transfer of unprocessed data to another one of the sensor nodes 101.
As described, the transmitting unit 504 transmits to the communication apparatus directly communicable with the sensor node 101 thereof, the request information together with the judgment information indicating incompletion of the data processing corresponding to the sensing ev. This judgment information is judgment information having the busy flag bf set to “set” to indicate that the data processing corresponding to the sensing ev will not finish. For example, the transmitting unit 504 performs the transmission with the busy flag bf set in the transmission data.
The receiving unit 601 receives the judgment information indicating incompletion of the data processing corresponding to the sensing ev. The determining unit 602 determines whether the judgment information indicating incompletion of the data processing corresponding to the sensing ev is received from a predetermined number or more of the sensor nodes 101 among the multiple sensor nodes 101. It is assumed that, for example, the predetermined number is determined by a designer of the sensor network system 100 and is stored in advance in the storage device such as the ROM 402 and the non-volatile memory 409. In this way, the determining unit 602 determines whether the predetermined number or more of the sensor nodes 101 is in the high-load state.
If the set busy flag bf is included in the transmission data received by the receiving unit 601, the determining unit 602 decrements the non-busy node proportion counter ct. For example, if the value of the non-busy node proportion counter ct becomes equal to or less than the predetermined number, the determining unit 602 determines that the predetermined number or more of the transmission data with the busy flag bf set are received. If the determining unit 602 determines that judgment information indicating incompletion of the data processing corresponding to the sensing ev is received from the predetermined number or more of the sensor nodes 101, the transmitting unit 603 transmits requirement information for the request prohibit state to the multiple sensor nodes 101. The request prohibit state is a state in which the transmission of the request information to the first apparatus directly communicable with the sensor node 101 is not allowed even when the judging unit 502 judges that the corresponding data processing will not finish. For example, the requirement information for the request prohibit state is information that sets the processing transfer prohibit flag tf included in each of the sensor nodes 101. For example, the transmitting unit 603 transmits the processing transfer prohibit flag tf changed from “unset” to “set” to all the sensor nodes 101. For example, the transmitting unit 603 transmits the processing transfer prohibit flag tf set to “1” to all the sensor nodes 101.
For example, when receiving the requirement information for the request prohibit state, the receiving unit 505 sets the processing transfer prohibit flag tf. For example, the receiving unit 505 receives the set processing transfer prohibit flag tf and stores the processing transfer prohibit flag tf received by the receiving unit 505 into the storage device 510.
For example, if the detecting unit 501 detects an occurrence of the sensing ev and the processing transfer prohibit flag tf is set, the data processing unit 503 executes the data processing corresponding to the detected sensing ev regardless of the judgment of the judging unit 502. The transmitting unit 504 transmits the execution result from the data processing unit 503 to the first apparatus directly communicable with the sensor node 101 thereof.
Since the master device 102 may receive the transmission data of the same sensor node 101 multiple times, the master device 102 may store into the storage device 610 of the master device 102, the busy flag bf included in the latest transmission data for the identification information of each of the sensor nodes 101. The master device 102 may calculate the proportion of the set busy flags bf stored in the storage device 610.
As a result, the loads of the sensor nodes 101 can be prevented from being applied to a reception process and data in an unexecuted state can be prevented from reaching the master device 102.
If the judging unit 502 outputs judgment information indicating completion of the data processing corresponding to the sensing ev, the transmitting unit 504 transmits the judgment information directly, or through another one or more of the sensor nodes 101 among the multiple sensor nodes 101, to the master device 102. For example, if the judging unit 502 judges that the data processing corresponding to the sensing ev will finish, the transmitting unit 504 transmits the execution result from the data processing unit 503 with the process flag pf set and the busy flag bf unset. For example, the transmitting unit 504 transmits the execution result with the busy flag bf set to “0”.
The receiving unit 601 receives the judgment information indicating completion of the data processing corresponding to the sensing ev. The determining unit 602 determines whether judgment information indicating completion of the data processing corresponding to the sensing ev is received from a predetermined number or more of the sensor nodes 101 among the multiple sensor nodes 101. It is assumed that, for example, the predetermined number is determined by a designer of the sensor network system 100 and is stored in advance in the storage device such as the ROM 402 and the non-volatile memory 409. In this way, the determining unit 602 determines whether the predetermined number of more of the sensor nodes 101 is in the high-load state.
For example, if the value of the non-busy node proportion counter ct is larger than the predetermined number, the determining unit 602 determines that the predetermined number or more of the transmission data with the busy flag bf unset is received.
If the determining unit 602 determines that the judgment information indicating completion of the data processing corresponding to the sensing ev is received from the predetermined number or more of the sensor nodes 101, the transmitting unit 603 transmits requirement information for releasing the request prohibit state. For example, the transmitting unit 603 transmits the processing transfer prohibit flag tf changed from “set” to “unset” to all the sensor nodes 101. For example, the transmitting unit 603 transmits the processing transfer prohibit flag tf set to “0” to all the sensor nodes 101.
The receiving unit 505 receives the requirement information releasing the request prohibit state. For example, the receiving unit 505 receives and stores the unset processing transfer prohibit flag tf into the storage device 510. Subsequently, if the detecting unit 501 detects an occurrence of the sensing ev, the processing transfer prohibit flag tf is set to “unset”. Therefore, based on the time interval itv when the detecting unit 501 detects the occurrence of the event, the judging unit 502 judges whether the data processing corresponding to the detected event will finish before a subsequent event following the event detected by the detecting unit 501.
Since the master device 102 may receive the transmission data of the same sensor node 101 multiple times, the master device 102 may store into the storage device 610 of the master device 102 the busy flag bf included in the latest transmission data for the identification information of each of the sensor nodes 101. The determining unit 602 calculates the proportion of the unset busy flags bf stored in the storage device 610. The determining unit 602 may determine whether the judgment information indicating completion of the data processing corresponding to the sensing ev is received from a predetermined number or more of the sensor nodes 101 among the multiple sensor nodes 101, based on the determination of whether the calculated proportion is equal to or greater than a predetermined proportion.
For example, if the processing transfer prohibit flag tf is unset and the busy flag bf is set, the sensor node 101 performs the sensing ev and the transmission in this order without executing the data processing. Alternatively, the sensor node 101 performs the sensing ev, a portion of the data processing, and the transmission in this order.
For example, if the processing transfer prohibit flag tf is set, the sensor node 101 performs the sensing ev, all of the data processing, and the transmission in this order regardless of the state of the busy flag bf.
First, description will be made of a case in which the processing transfer prohibit flag tf is unset. For example, if the busy flag bf of the sensor node 101 is unset and the process flag pf of the received request information is set, the sensor node 101 transmits the received request information to the first apparatus directly communicable with the sensor node 101.
For example, if the busy flag bf of the sensor node 101 is unset and the process flag pf is unset, the sensor node 101 executes the data processing indicated by the received request information, given that the remaining amount of the battery 312 is sufficient. The sensor node 101 transmits the execution result along with the set process flag pf to the first apparatus directly communicable with the sensor node 101. A sufficient remaining amount of the battery 312 means that the total value of the electric power required for the data transmission and the electric power required for the data processing is equal to or less than the remaining amount of the battery 312.
For example, if the busy flag bf of the sensor node 101 is unset and the process flag pf is unset while the remaining amount of the battery 312 is insufficient, the sensor node 101 transmits the received request information to the directly communicable first apparatus. An insufficient remaining amount of the battery 312 means that the total value of the electric power required for the data transmission and the electric power required for the data processing is greater than the remaining amount of the battery 312.
For example, if the busy flag bf of the sensor node 101 is set and the process flag pf is set, the sensor node 101 transmits the received request information to the neighboring sensor nodes 101 of the sensor node 101. For example, if the busy flag bf of the sensor node 101 is set and the process flag pf is unset, the sensor node 101 transmits the received request information to the first apparatus directly communicable with the sensor node 101.
Description will be made of a case in which the processing transfer prohibit flag tf is set. If the processing transfer prohibit flag tf is set, the sensor node 101 transmits the received request information to the first apparatus directly communicable with the sensor node 101 regardless of the states of the busy flag bf of the sensor node 101 and the process flag pf.
For example, if the proportion of the sensor nodes 101 in the high-load state among the multiple sensor nodes 101 is equal to or greater than the predetermined proportion, the sensor nodes 101 are prohibited from transmitting the request information and can transmit only the execution result of the entirely completed data processing.
If an occurrence of the sensing ev is detected (step S1302: YES), the sensor node 101 updates the time interval itv of the sensing ev (step S1303). For example, the sensor node 101 may store an occurrence time of past sensing ev and may calculate the difference between the occurrence time of the last sensing ev and the occurrence time of the newly detected sensing ev to calculate the time interval itv of the sensing ev. For example, the sensor node 101 may calculate the average of the time intervals itv of the past sensing ev.
The sensor node 101 judges whether the time interval itv of the sensing ev is less than a threshold value (step S1304). The threshold value may be the time required for the data processing, for example. This enables the sensor node 101 to judge whether the data processing corresponding to the detected event will finish before the occurrence of an event subsequent to the detected event. If the time interval itv of the sensing ev is less than the threshold value (step S1304: YES), the sensor node 101 sets the busy flag bf to “set” (step S1305). If the time interval itv of the sensing ev is not less than the threshold value (step S1304: NO), the sensor node 101 sets the busy flag bf to “unset” (step S1306).
After step S1305 or step S1306, the sensor node 101 checks the processing transfer prohibit flag tf stored in the storage device 510 (step S1307). If the processing transfer prohibit flag tf is unset (step S1307: UNSET), the sensor node 101 checks the busy flag bf stored in the storage device 510 (step S1308).
If the busy flag bf is set (step S1308: SET), the sensor node 101 executes a portion of the data processing that can be processed within the time interval itv of the sensing (step S1309) and sets the process flag pf (step S1311). In this case, the data processing is not completed and therefore, the process flag pf is set to “unset”. The sensor node 101 transmits the execution result of the portion of the data processing together with request information to an apparatus directly communicable with the sensor node 101 (step S1312) and returns to step S1301. The request information in this case includes the information causing the execution of the data processing excluding the completed portion of the data processing and information causing the transmission of data processing excluding the portion of the data processing to a directly communicable apparatus. In the example of
If the processing transfer prohibit flag tf is set (step S1307: SET) or if the busy flag bf is unset (step S1308: UNSET), the sensor node 101 executes the data processing completely (step S1310). The sensor node 101 sets the process flag pf (step S1311). Since the data processing is executed completely, the process flag is set to “set”. The sensor node 101 transmits the execution result of the data processing to the apparatus directly communicable with the sensor node 101 (step S1312).
If data has been received from a neighboring sensor node 101 of the sensor node 101 (step S1402: YES), the sensor node 101 checks the processing transfer prohibit flag tf stored in the storage device 510 (step S1403). If the processing transfer prohibit flag tf is set (step S1403: SET), the sensor node 101 transmits the received data to the apparatus directly communicable with the sensor node 101 (step S1409). If the processing transfer prohibit flag tf is unset (step S1403: UNSET), the sensor node 101 checks the busy flag bf stored in the storage device 510 (step S1404). If the busy flag bf is set (step S1404: SET), the sensor node 101 goes to step S1409.
If the busy flag bf is unset (step S1404: UNSET), the sensor node 101 checks the process flag pf of the received data (step S1405). If the process flag pf is set to “set” (step S1405: SET), the data processing for the received data has been completed and therefore, the sensor node 101 goes to step S1409. If the process flag pf is not set to “set” (step S1405: UNSET), the sensor node 101 checks the remaining electric power of the battery 312 (step S1406). In this case, the sensor node 101 estimates the total value of the electric power required for executing the data processing indicated by the received data and the electric power required for transmitting the execution result of the data processing indicated by the received data. The sensor node 101 determines whether the electric power of the battery 312 is sufficient or insufficient based on whether the electric power of the battery 312 is equal to or greater than the total value. For example, if the electric power of the battery 312 is equal to or greater than the total value, the sensor node 101 determines that the electric power is sufficient and if the electric power of the battery 312 is less than the total value, the sensor node 101 determines that the electric power is insufficient.
If the electric power is sufficient (step S1406: SUFFICIENT), the sensor node 101 executes the data processing indicated by the received data and updates the process flag pf (step S1407). The sensor node 101 transmits the execution result of the data processing to the apparatus directly communicable with the sensor node 101 (step S1408) and returns to step S1401. On the other hand, if the electric power is insufficient (step S1406: INSUFFICIENT), the sensor node 101 goes to step S1409.
If communication from the master device 102 has been received (step S1502: YES), the sensor node 101 judges whether the communication is notification for setting or unsetting the processing transfer prohibit flag tf (step S1503). In the case of the notification for unsetting the processing transfer prohibit flag tf (step S1503: NO), the sensor node 101 unsets the processing transfer prohibit flag tf stored in the storage device 510 of the sensor node (step S1504) and returns to step S1501. In the case of the notification for setting the processing transfer prohibit flag tf (step S1503: YES), the sensor node 101 sets the processing transfer prohibit flag tf stored in the storage device 510 of the sensor node (step S1505) and returns to step S1501.
The master device 102 checks the processing transfer prohibit flag tf of the current notification (step S1603). For example, the master device 102 may store the processing transfer prohibit flag tf into the storage device 610 and the master device 102 may refer to the storage device 610 to check the processing transfer prohibit flag tf of the current notification. If the processing transfer prohibit flag tf of the current notification is set (step S1603: SET), the master device 102 checks the non-busy node proportion counter ct (step S1604).
If the non-busy node proportion counter ct is equal to or greater than the threshold value (step S1604: THRESHOLD VALUE OR GREATER), the master device 102 notifies the multiple sensor nodes 101 of the unsetting of the processing transfer prohibit flag tf (step S1605). As a result, the requirement information is transmitted to the multiple sensor nodes 101 to release the request prohibit state prohibiting the transmission of the request information to directly communicable apparatuses. The master device 102 updates the state of the processing transfer prohibit flag tf of the current notification to “unset” (step S1606) and returns to step S1601. If the non-busy node proportion counter ct is less than the threshold value at step S1604 (step S1604: LESS THAN THRESHOLD VALUE), the master device 102 returns to step S1601.
If the processing transfer prohibit flag tf of the current notification is unset (step S1603: UNSET), the master device 102 checks the non-busy node proportion counter ct (step S1607). If the non-busy node proportion counter ct is less than the threshold value (step S1607: LESS THAN THRESHOLD VALUE), the master device 102 notifies the multiple sensor nodes 101 of setting of the processing transfer prohibit flag tf (step S1608). As a result, the requirement information is transmitted to the multiple sensor nodes 101 to establish the request prohibit state prohibiting the transmission of the request information to directly communicable apparatuses even when the sensor node 101 judges that the data processing corresponding to the detected event does not finish before the occurrence of the subsequent event. The master device 102 updates the state of the processing transfer prohibit flag tf of the current notification to “set” (step S1609) and returns to step S1601. If the non-busy node proportion counter ct is equal to or greater than the threshold value at step S1607 (step S1607: THRESHOLD VALUE OR GREATER), the master device 102 goes to step S1601.
In Example 2, the amount of data processing executed by a sensing node is classified into two stages depending on the proportion of the sensor nodes 101 in the high-load state. As a result, if a small number of the sensor nodes 101 are in the high-load state, the load of the sensor node 101 in the high-load state can be distributed to another one of the sensor nodes 101. If a large number of the sensor nodes 101 are in the high-load state, unexecuted data processing can be prevented from being transmitted to the master device 102 by reducing the amount of data processing requested to another one of the sensor nodes 101.
If the judging unit 502 outputs judgment information indicating incompletion of the data processing corresponding to the sensing ev, the transmitting unit 504 transmits the judgment information directly, or through another one or more of the sensor nodes 101 among the multiple sensor nodes 101, to the master device 102.
The receiving unit 601 receives the judgment information indicating incompletion of the data processing corresponding to the sensing ev. Based on the reception result of the judgment information indicating incompletion of the data processing corresponding to the sensing ev, the determining unit 602 determines the number of the sensor nodes 101 transmitting the judgment information indicating incompletion of the data processing corresponding to the sensing ev among the multiple sensor nodes 101. The transmitting unit 603 transmits to the multiple sensor nodes 101, determination information based on the determined number. For example, the determination information may be the determined number, a proportion based on the determined number among the multiple sensor nodes 101, or information indicating the proportion. In this example, the determination information is the processing transfer prohibit flag tf, for example. In Example 2, the processing transfer prohibit flag tf is assumed to be 2-bit data.
The receiving unit 505 receives the determination information. For example, the receiving unit 505 receives the processing transfer prohibit flag tf from the master device 102. If the judging unit 502 judges that the corresponding data processing will not finish, the data processing unit 503 executes a portion of the corresponding data processing, at the proportion indicated by the determination information.
The transmitting unit 504 transmits request information and an execution result of the portion of the data processing to a neighboring sensor node 101 of the sensor node 101 thereof. The request information in this case is information causing an apparatus directly communicable with the sensor node 101 to execute data processing other than the portion of the data processing and to transmit an execution result of the data processing to an apparatus directly communicable with the directly communicable apparatus.
For example, if the processing transfer prohibit flag tf is “01” and the busy flag bf is set, the sensor node 101 performs the sensing ev, the execution of data processing equal to or greater than ½ the data processing, and the transmission in this order.
For example, if the processing transfer prohibit flag tf is “11”, the sensor node 101 performs the sensing ev, the execution of all of the data processing, and the transmission in this order regardless of the state of the busy flag bf.
In the case of states of the flags other than those described in Table 1800, the sensor node 101 performs the sensing ev, the execution of all of the data processing, and the transmission in this order.
For example, the processing transfer prohibit flag tf is “00” while the busy flag bf of the sensor node 101 is unset and the process flag pf of the received request information is unset. In this case, if the remaining amount of the battery 312 is sufficient, the sensor node 101 executes the data processing indicated by the received request information as much as possible (e.g., by referring to the time interval itv of the occurrence of the event). The sensor node 101 transmits to the first apparatus, the execution result and request information that causes the first apparatus directly communicable with the sensor node to execute the data processing excluding the already executed portion of the data processing indicated by the received request information.
The processing transfer prohibit flag tf is “01” and the busy flag bf of the sensor node 101 is unset. In this case, if the process flag pf of the received request information is unset and the remaining amount of the battery 312 is sufficient, the sensor node 101 executes data processing equal to ½ the processing amount of the overall amount of the data processing indicated by the received request information. The sensor node 101 transmits to the first apparatus directly communicable with the sensor node 101, the request information for data processing excluding the already executed portion of the data processing indicated by the request information, together with the execution result. For example, if ½ of the received request information is already executed, the sensor node 101 completely executes the data processing indicated by the received request information.
In the case of the flags and the remaining amount of the battery 312 other than those of Table 1900, the sensor node 101 transmits the received request information to the first apparatus directly communicable with the sensor node 101.
For example, if the proportion of the sensor nodes 101 in the high-load state among the multiple sensor nodes 101 is equal to or greater than ⅓ and less than ⅔, each of the sensor nodes 101 executes data processing equal to or greater than ½ the data processing. The sensor node 101 can transmit the request information and the execution result in the case of completion of ½ or more of the data processing.
For example, if the proportion of the sensor nodes 101 in the high-load state among the multiple sensor nodes 101 is equal to or greater than ⅔, each of the sensor nodes 101 can transmit only the execution result of the entirely completed data processing.
If an occurrence of the sensing ev is detected (step S2102: YES), the sensor node 101 updates the time interval itv of the sensing ev (step S2103). For example, the sensor node 101 may store an occurrence time of past sensing ev and may calculate the difference between the occurrence time of the last sensing ev and the occurrence time of the newly detected sensing ev to calculate the time interval itv of the sensing ev. For example, the sensor node 101 may calculate the average of the time intervals itv of the past sensing ev.
The sensor node 101 judges whether the time interval itv of the sensing ev is less than a threshold value (step S2104). The threshold value may be the time required for the data processing, for example. This enables the sensor node 101 to judge whether the data processing corresponding to the detected event will finish before the occurrence of an event subsequent to the detected event. If the time interval itv of the sensing ev is less than the threshold value (step S2104: YES), the sensor node 101 sets the busy flag bf to “set” (step S2105). If the time interval itv of the sensing ev is not less than the threshold value (step S2104: NO), the sensor node 101 sets the busy flag bf to “unset” (step S2106).
After step S2105 or step S2106, the sensor node 101 checks the processing transfer prohibit flag tf stored in the storage device 510 (step S2107). If the processing transfer prohibit flag tf is “01” (step S2107: “01”), the sensor node 101 checks the busy flag bf stored in the storage device 510 (step S2108). If the busy flag bf is set (step S2108: SET), the sensor node 101 executes data processing equal to a half of the data processing (step S2109) and sets the process flag pf (step S2113). In this case, the data processing is not entirely completed and therefore, the process flag pf is set to “unset”. The sensor node 101 goes to step S2114. If the busy flag bf is unset (step S2108: UNSET), the sensor node 101 goes to step S2112.
If the processing transfer prohibit flag tf is “00” (step S2107: “00”), the sensor node 101 checks the busy flag bf stored in the storage device 510 (step S2110). If the busy flag bf is set (step S2110: SET), the sensor node 101 executes a portion of the data processing that can be processed within the time interval itv of the sensing ev (step S2111) and sets the process flag pf (step S2113). In this case, the data processing is not entirely completed and therefore, the process flag pf is set to “unset”. The sensor node 101 transmits the execution result of the portion of the data processing and request information to an apparatus directly communicable with the sensor node 101 (step S2114) and returns to step S2101. If the busy flag bf is unset (step S2110: UNSET), the sensor node 101 goes to step S2112.
If the processing transfer prohibit flag tf is “11” (step S2107: “11”), the sensor node 101 executes all of the data processing (step S2112) and sets the process flag pf (step S2113). In this case, all of the data processing is completed and therefore, the process flag pf is set to “set”. The sensor node 101 transmits the execution result to an apparatus directly communicable with the sensor node 101 (step S2114) and returns to step S2101.
If data has been received from a neighboring sensor node 101 of the sensor node 101 (step S2202: YES), the sensor node 101 checks the processing transfer prohibit flag tf stored in the storage device 510 (step S2203). If the processing transfer prohibit flag tf is “11” (step S2203: “11”), the sensor node 101 transmits the received data to the apparatus directly communicable with the sensor node 101 (step S2209). If the processing transfer prohibit flag tf is “00” or “01” (step S2203: “00” OR “01”), the sensor node 101 checks the busy flag bf stored in the storage device 510 (step S2204). If the busy flag bf is set (step S2204: SET), the sensor node 101 goes to step S2209.
If the busy flag bf is unset (step S2204: UNSET), the sensor node 101 checks the process flag pf of the received data (step S2205). If the process flag pf is set to “set” (step S2205: SET), the data processing for the received data has been completed and therefore, the sensor node 101 goes to step S2210.
If the process flag pf is not set to “set” (step S2205: UNSET), the sensor node 101 checks the remaining electric power of the battery 312 (step S2206). In this case, the sensor node 101 estimates the total value of the electric power required for executing the data processing indicated by the received data and the electric power required for transmitting the execution result of the data processing indicated by the received data. The sensor node 101 determines whether the electric power of the battery 312 is sufficient or insufficient based on whether the electric power of the battery 312 is equal to or greater than the total value. For example, if the electric power of the battery 312 is equal to or greater than the total value, the sensor node 101 determines that the electric power is sufficient and if the electric power of the battery 312 is less than the total value, the sensor node 101 determines that the electric power is insufficient.
If the electric power is sufficient (step S2206: SUFFICIENT), according to the processing transfer prohibit flag tf, the sensor node 101 executes the data processing indicated by the received data (step S2207) and updates the process flag pf (step S2208). The sensor node 101 transmits the execution result of the data processing to the apparatus directly communicable with the sensor node 101 (step S2209) and returns to step S2201. On the other hand, if the electric power is insufficient (step S2206: INSUFFICIENT), the sensor node 101 goes to step S2210.
If communication from the master device 102 has been received (step S2302: YES), the sensor node 101 sets the processing transfer prohibit flag tf to the value notified by the master device 102 (step S2303), and returns to step S2301.
The master device 102 checks the non-busy node proportion counter ct (step S2403). Based on the non-busy node proportion counter ct, if the proportion of the sensor nodes 101 in the high-load state is less than ⅓ (step S2403: LESS THAN ⅓), the master device 102 judges whether the processing transfer prohibit flag tf is “00” (step S2404). If the processing transfer prohibit flag tf is “00” (step S2404: YES), the master device 102 returns to step S2401. If the processing transfer prohibit flag tf is not “00” (step S2404: NO), the master device 102 notifies all the sensor nodes 101 of the processing transfer prohibit flag tf set to “00” (step S2405). The master device 102 updates the processing transfer prohibit flag tf of the current notification to “00” (step S2406) and returns to step S2401.
Based on the non-busy node proportion counter ct, if the proportion of the sensor nodes 101 in the high-load state is equal to or greater than ⅓ and less than ⅔ (step S2403: ⅓ TO ⅔), the master device 102 judges whether the processing transfer prohibit flag tf is “01” (step S2407). If the processing transfer prohibit flag tf is “01” (step S2407: YES), the master device 102 returns to step S2401. If the processing transfer prohibit flag tf is not “01” (step S2407: NO), the master device 102 notifies all the sensor nodes 101 of the processing transfer prohibit flag tf set to “01” (step S2408). The master device 102 updates the processing transfer prohibit flag tf of the current notification to “01” (step S2409) and returns to step S2401.
Based on the non-busy node proportion counter ct, if the proportion of the sensor nodes 101 in the high-load state is equal to or greater than ⅔ (step S2403: ⅔ OR GREATER), the master device 102 judges whether the processing transfer prohibit flag tf is “11” (step S2410). If the processing transfer prohibit flag tf is “11” (step S2410: YES), the master device 102 returns to step S2401. If the processing transfer prohibit flag tf is not “11” (step S2410: NO), the master device 102 notifies all the sensor nodes 101 of the processing transfer prohibit flag tf set to “11” (step S2411). The master device 102 updates the processing transfer prohibit flag tf of the current notification to “11” (step S2412) and returns to step S2401.
In Example 3, the amount of data processing executed by a sensing node is classified into n stages depending on the proportion of the sensor nodes 101 in the high-load state. As a result, if a small number of the sensor nodes 101 are in the high-load state, the load of the sensor node 101 in the high-load state can be distributed to another one of the sensor nodes 101. If a large number of the sensor nodes 101 are in the high-load state, unexecuted data processing can be prevented from being transmitted to the master device 102 by reducing the amount of data processing requested to another one of the sensor nodes 101.
If the judging unit 502 outputs judgment information indicating incompletion of the data processing corresponding to the sensing ev, the transmitting unit 504 transmits the judgment information directly, or through another one or more of the sensor nodes 101 among the multiple sensor nodes 101, to the master device 102.
The receiving unit 601 receives the judgment information indicating incompletion of the data processing corresponding to the sensing ev. Based on the reception result of the judgment information indicating incompletion of the data processing corresponding to the sensing ev, the determining unit 602 determines the number of the sensor nodes 101 transmitting the judgment information indicating incompletion of the data processing corresponding to the sensing ev among the multiple sensor nodes 101. The transmitting unit 603 transmits to the multiple sensor nodes 101, information based on the determined number. For example, the information based on the determined number may be the processing transfer prohibit flag tf. In Example 3, the processing transfer prohibit flag tf is assumed to be X-bit data, and is “X>log 2(n+1)”.
The receiving unit 505 receives information based on the determined number. For example, the receiving unit 505 receives the processing transfer prohibit flag tf from the master device 102.
If the judging unit 502 judges that the corresponding data processing will not finish, the data processing unit 503 executes a portion of the data processing indicated by the information based on the determined number, among the corresponding data processing. The transmitting unit 504 transmits request information and an execution result of the portion of the data processing to the neighboring sensor node 101 of the sensor node 101 thereof. The request information is information causing the first apparatus directly communicable with the sensor node 101 to execute data processing other than the portion of the data processing of the corresponding data processing and to transmit the execution result to the second apparatus directly communicable with the first apparatus.
For example, if the lower two bits of the processing transfer prohibit flag tf are “01”, the remaining bits are “0”, and the busy flag bf is set, the sensor node 101 performs the sensing ev, the execution of data processing equal to or greater than 1/n of the data processing, and the transmission in this order.
For example, if each of the X bits of the processing transfer prohibit flag tf is “1”, the sensor node 101 performs the sensing ev, the execution of all of the data processing, and the transmission in this order regardless of the state of the busy flag bf. In the case of states of the busy flag bf other than those described in Table 2600, the sensor node 101 performs the sensing ev, the execution of all of the data processing, and the transmission in this order.
For example, all of the bits of the processing transfer prohibit flag tf are “0” while the busy flag bf of the sensor node 101 is unset and the process flag pf of the received request information is unset. In this case, if the remaining amount of the battery 312 is sufficient, the sensor node 101 executes the data processing indicated by the received request information as much as possible (e.g., by referring to the time interval itv of the occurrence of the event). The sensor node 101 transmits to the first apparatus, the execution result and request information that causes the first apparatus directly communicable with the sensor node to execute the data processing excluding the already executed portion of the data processing indicated by the received request information.
For example, the processing transfer prohibit flag tf is assumed to have the least significant bit of “1” and the remaining bits of “0”, and the busy flag bf of the sensor node 101 is assumed to be unset. In this case, if the process flag pf of the received request information is unset and the remaining amount of the battery 312 is sufficient, the sensor node 101 executes data processing equal to (n−1)/n of the overall process amount of the data processing indicated by the received request information. The sensor node 101 transmits to the first apparatus directly communicable with the sensor node 101, the execution result and request information for data processing excluding the already executed portion of the data processing indicated by the request information. For example, if (n−1)/n of the received request information is already executed, the sensor node 101 completely executes the data processing indicated by the received request information.
In the case of the flags and the remaining amount of the battery 312 other than those of Table 2700, the sensor node 101 transmits the received request information to the first apparatus directly communicable with the sensor node 101.
If an occurrence of the sensing ev is detected (step S2802: YES), the sensor node 101 updates the time interval itv of the sensing ev (step S2803). For example, the sensor node 101 may store an occurrence time of past sensing ev and may calculate the difference between the occurrence time of the last sensing ev and the occurrence time of the newly detected sensing ev to calculate the time interval itv of the sensing ev. For example, the sensor node 101 may calculate the average of the time intervals itv of the past sensing ev.
The sensor node 101 judges whether the time interval itv of the sensing ev is less than a threshold value (step S2804). The threshold value may be the time required for the data processing, for example. This enables the sensor node 101 to judge whether the data processing corresponding to the detected event will finish before the occurrence of an event subsequent to the detected event. If the time interval itv of the sensing ev is less than the threshold value (step S2804: YES), the sensor node 101 sets the busy flag bf to “set” (step S2805). If the time interval itv of the sensing ev is not less than the threshold value (step S2804: NO), the sensor node 101 sets the busy flag bf to “unset” (step S2806).
After step S2805 or step S2806, the sensor node 101 checks the processing transfer prohibit flag tf stored in the storage device 510 (step S2807). If the processing transfer prohibit flag tf is “00 . . . 01” (step S2807: “00 . . . 01”), the sensor node 101 checks the busy flag bf stored in the storage device 510 (step S2808). If the busy flag bf is set (step S2808: SET), the sensor node 101 executes data processing equal to 1/n of the remaining data processing (step S2809) and sets the process flag pf (step S2813). In this case, the data processing is not entirely completed and therefore, the process flag pf is set to “unset”. The sensor node 101 goes to step S2814. If the busy flag bf is unset (step S2808: UNSET), the sensor node 101 goes to step S2812.
Similarly, the amount of the portion of the data processing is determined based on the value of the processing transfer prohibit flag tf.
If all of the bits of the processing transfer prohibit flag tf are “0” (step S2807: “00 . . . 00”), the sensor node 101 checks the busy flag bf stored in the storage device 510 (step S2810). If the busy flag bf is set (step S2810: SET), the sensor node 101 executes a portion of the data processing that can be processed within the time interval itv of the sensing ev (step S2811) and sets the process flag pf (step S2813). In this case, the data processing is not entirely completed and therefore, the process flag pf is set to “unset”. The sensor node 101 transmits the execution result of the portion of the data processing and request information to an apparatus directly communicable with the sensor node 101 (step S2814) and returns to step S2801. If the busy flag bf is unset (step S2810: UNSET), the sensor node 101 goes to step S2812.
If all of the bits of the processing transfer prohibit flag tf are “1” (step S2807: “11 . . . 11”), the sensor node 101 executes all of the data processing (step S2812) and sets the process flag pf (step S2813). In this case, all of the data processing is completed and therefore, the process flag pf is set to “set”. The sensor node 101 transmits the execution result to an apparatus directly communicable with the sensor node 101 (step S2814) and returns to step S2801.
If data has been received from a neighboring sensor node 101 of the sensor node 101 (step S2902: YES), the sensor node 101 checks the processing transfer prohibit flag tf stored in the storage device 510 (step S2903). If all of the bits of the processing transfer prohibit flag tf are “1” (step S2903: “11 . . . 11”), the sensor node 101 transmits the received data to an apparatus directly communicable with the sensor node 101 (step S2910). If all of the bits of the processing transfer prohibit flag tf are a value other than “1” (step S2903: VALUE NOT “11 . . . 11”), the sensor node 101 checks the busy flag bf stored in the storage device 510 (step S2904). If the busy flag bf is set (step S2904: SET), the sensor node 101 goes to step S2910.
If the busy flag bf is unset (step S2904: UNSET), the sensor node 101 checks the process flag pf of the received data (step S2905). If the process flag pf is set to “set” (step S2905: SET), the data processing for the received data has been completed and therefore, the sensor node 101 goes to step S2910. If the process flag pf is not set to “set” (step S2905: UNSET), the sensor node 101 checks the remaining electric power of the battery 312 (step S2906). In this case, the sensor node 101 estimates the total value of the electric power required for executing the data processing indicated by the received data and the electric power required for transmitting the execution result of the data processing indicated by the received data. The sensor node 101 determines whether the electric power of the battery 312 is sufficient or insufficient based on whether the electric power of the battery 312 is equal to or greater than the total value. For example, if the electric power of the battery 312 is equal to or greater than the total value, the sensor node 101 determines that the electric power is sufficient and if the electric power of the battery 312 is less than the total value, the sensor node 101 determines that the electric power is insufficient.
If the electric power is sufficient (step S2906: SUFFICIENT), according to the processing transfer prohibit flag tf, the sensor node 101 executes the data processing indicated by the received data (step S2907) and updates the process flag pf (step S2908). The sensor node 101 transmits the execution result of the data processing to the apparatus directly communicable with the sensor node 101 (step S2909) and returns to step S2901. On the other hand, if the electric power is insufficient (step S2906: INSUFFICIENT), the sensor node 101 goes to step S2910.
If communication from the master device 102 has been received (step S3002: YES), the sensor node 101 sets the processing transfer prohibit flag tf to the value notified by the master device 102 (step S3003), and returns to step S3001.
(Process Procedure Executed by Master Device 102 According to Example 3)
The master device 102 checks the non-busy node proportion counter ct (step S3103). Based on the non-busy node proportion counter ct, if the proportion of the sensor nodes 101 in the high-load state is less than 1/n (step S3103: LESS THAN 1/n), the master device 102 judges whether all of the bits of the processing transfer prohibit flag tf are “0” (step S3104). If all of the bits of the processing transfer prohibit flag tf are “0” (step S3104: YES), the master device 102 returns to step S3101. If all of the bits of the processing transfer prohibit flag tf are not “0” (step S3104: NO), the master device 102 notifies all the sensor nodes 101 of the processing transfer prohibit flag tf whose bits are all set to “0” (step S3105). The master device 102 updates all of the bits of the processing transfer prohibit flag tf of the current notification to “0” (step S3106) and returns to step S3101.
Based on the non-busy node proportion counter ct, if the proportion of the sensor nodes 101 in the high-load state is equal to or greater than ⅓ and less than ⅔ (step S3103: 1/n TO 2/n), the master device 102 judges whether the processing transfer prohibit flag tf is “00 . . . 01” (step S3107). If the processing transfer prohibit flag tf is “00 . . . 01” (step S3107: YES), the master device 102 returns to step S3101. If the processing transfer prohibit flag tf is not “00 . . . 01” (step S3107: NO), the master device 102 notifies all the sensor nodes 101 of the processing transfer prohibit flag tf set to “00 . . . 01” (step S3108). The master device 102 updates the processing transfer prohibit flag tf of the current notification to “00 . . . 01” (step S3109) and returns to step S3101. In a case where the proportion of the sensor nodes 101 in the high-load state is (m−1)/n to m/n, processing is similarly performed.
Based on the non-busy node proportion counter ct, if the proportion of the sensor nodes 101 in the high-load state is equal to or greater than (n−1)/n (step S3103: (n−1)/n OR GREATER), the master device 102 judges whether all of the bits of the processing transfer prohibit flag tf are “1” (step S3110). If all of the bits of the processing transfer prohibit flag tf are “1” (step S3110: YES), the master device 102 returns to step S3101. If all of the bits of the processing transfer prohibit flag tf are not “1” (step S3110: NO), the master device 102 notifies all the sensor nodes 101 of the processing transfer prohibit flag tf whose bits area all set to “1” (step S3111). The master device 102 updates all of the bits of the processing transfer prohibit flag tf of the current notification to “1” (step S3112) and returns to step S3101.
As described above, according to the communication apparatus, the system, and the communication method, if the event occurrence interval is shorter than the time required for data processing executed at the occurrence of an event, the data processing and the transmission of a processing result is requested to a relay communication apparatus that is after the communication apparatus and before a master device. As a result, the abandonment of the data processing at the occurrence of the event can be reduced. For example, if the master device or a user terminal analyzes the execution results of the data processing in time series, the abandonment of execution of the data processing reduces the analysis accuracy. Therefore, the analysis accuracy can be improved by reducing the number of times that execution of the data processing is abandoned at the occurrence of the event.
For example, in a sensor network system, the event is the sensing. For example, a sensor node acting as a communication apparatus in the sensor network system is equipped with a low-performance processor. Therefore, the sensor node cannot make a large volume of processing wait as in the case of a typical personal computer. Therefore, if the sensing interval is shorter than the time required for data processing, the sensing result is discarded. Moreover, it is difficult for the sensor node to communicate with a distant master device or sensor node through wireless communication. Therefore, the sensing result and the execution result of the data processing are relayed and transferred via another sensor node to the master device. The data processing can be requested to a relay sensor node that is after the sensor node and before the master device. Therefore, the discarding of the sensing results can be reduced.
When receiving request information for data processing, the relay communication apparatus executes the data processing and transmits the execution result. As a result, since the relay sensor node after the sensor node before the master device executes the data processing, the discarding of the sensing results can be reduced.
When not in the high-load state, the relay communication apparatus executes data processing requested from another communication apparatus. Therefore, a communication apparatus in the low-load state is requested to execute the data processing.
For example, each of the sensor nodes of the sensor network system is operated by generated electric power stored by a battery. Therefore, the battery may become exhausted while the requested data processing is executed. If the battery is exhausted during the execution, the results obtained during the execution are wasted. Therefore, if the battery remaining amount is sufficient, the relay communication apparatus executes the data processing requested from another communication apparatus whereas, if the battery remaining amount is insufficient, the relay communication apparatus transmits the request information to another sensor node as is. As a result, the battery can be prevented from becoming exhausted due to the requested data processing.
If the event occurrence interval is shorter than the time required for the data processing executed at the occurrence of the event, the communication apparatus executes a portion of the data processing that can be processed within the occurrence interval and requests a relay communication apparatus that is after the communication apparatus and before the master device to execute the remaining data processing. As a result, the amount of data processing requested to another communication apparatus can be reduced.
When the number of communication apparatuses in the high-load state increases among the communication apparatuses in the system, the master device may receive a large volume of unexecuted data processing. Therefore, if the communication apparatus requests a relay communication apparatus that is after the communication apparatus and before the master device to execute data processing, the communication apparatus informs the master device that the communication apparatus is in the high-load state. If the number of communication apparatuses in the high-load state is equal to or greater than a threshold value, the master device prohibits making a request for data processing to another communication apparatus. As a result, the transmission of a large volume of unexecuted data processing to the master device can be prevented.
If the communication apparatus does not request a relay communication apparatus that is after the communication apparatus and before the master device to execute data processing, the communication apparatus informs the master device that the communication apparatus is in the low-load state. If the number of communication apparatuses in the low-load state is equal to or greater than a threshold value and it is prohibited to make a request for data processing to another communication apparatus, the master device releases the prohibition. As a result, the transmission of unexecuted data processing to the master device can be prevented while the discarding of the data processing can be reduced.
If the communication apparatus requests a relay communication apparatus that is after the communication apparatus and before the master device to execute data processing, the communication apparatus informs the master device that the communication apparatus is in the high-load state. The master device determines the data processing amount that may be requested to another communication apparatus based on the number of the communication apparatuses in the high-load state. As a result, if a small number of the communication apparatuses are in the high-load state, the load of a communication apparatus in the high-load state can be distributed to another communication apparatus. If a large number of the communication apparatuses are in the high-load state, the data processing amount requested to another communication apparatus can be reduced to prevent the transmission of unexecuted data processing to the master device.
According to one aspect of the present invention, the abandonment of the execution of data processing when an event occurs can be reduced.
All examples and conditional language provided herein are intended for 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 invention 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/JP2012/068742, filed on Jul. 24, 2012 and designating the U.S., the entire contents of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2012/068742 | Jul 2012 | US |
Child | 14603704 | US |