Transmitting device, receiving device, transmission method, receiving method, transmission program, and receiving program
The described devices and methods in IoT systems manage data transmission and reception by using status flags or sequence numbers to indicate unreceived data, addressing resource consumption and data loss issues, thereby enhancing data integrity and reducing buffering overhead.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- FUJI ELECTRIC CO LTD
- Filing Date
- 2022-05-09
- Publication Date
- 2026-05-15
AI Technical Summary
Existing data communication methods in IoT systems consume excessive resources and lead to data loss due to inefficient handling of unreceived data, particularly when transmitting and receiving data from devices to servers.
Implementing a transmission and receiving device with storage units, modification units, and transmission units that manage data and determination information to ensure data integrity by modifying transmission information to indicate unreceived data, using status flags or sequence numbers to prevent overwriting and buffer overflow.
Reduces resource consumption and prevents data loss by effectively managing data transmission and reception, ensuring data integrity and reducing buffering overhead in IoT systems.
Smart Images

Figure 0007859177000001 
Figure 0007859177000002 
Figure 0007859177000003
Abstract
Description
Technical Field
[0001] The present invention relates to a transmission device, a reception device, a transmission method, a reception method, a transmission program, and a reception program.
Background Art
[0002] An IoT system including a device that is an IoT (Internet of Things) device and a server on the cloud is known. In such an IoT system, in preparation for a failure, the server may collect logs from the device or monitor parameters that indicate signs of a failure. In this case, if there is a deficiency in the logs to be collected or the parameters to be monitored, there may be a problem that an abnormality of the device that should have been detected is not detected.
[0003] Regarding anomaly detection, a data communication method is known in which business data handled by a business system is transmitted and received between cooperation systems via a communication network (see, for example, Patent Document 1).
[0004] In this data communication method, a unique ID for identifying each data is assigned to each of the transmission data to be transmitted and the reception data to be received. Then, the transmission data and the reception data transmitted and received between the cooperation systems are recognized in the cooperation systems based on the ID, and the transmission data and the reception data that could not be transmitted and received are transmitted and received again to the partner cooperation system.
[0005] An event log control method in network management using UDP (User Datagram Protocol) is also known (see, for example, Patent Document 2). In this event log control method, the managed device includes a state change detection unit, an event storage buffer unit, and an event processing unit. The state change detection unit detects a state change. The event processing unit stores an event log with a state change and a sequence number in the event storage buffer unit, and transmits an event notification with the event log to the management device.
[0006] The management device has an event processing unit. The event processing unit detects unreceived event notifications by analyzing the sequence number attached to the event notification. If the event processing unit detects from the sequence number that the buffer capacity is at maximum and that there are necessary unreceived event notifications, it reads the unreceived event log from the managed device. Then, the event processing unit clears the event storage buffer section of the managed device. [Prior art documents] [Patent Documents]
[0007] [Patent Document 1] Japanese Patent Publication No. 2004-15353 [Patent Document 2] Japanese Patent Publication No. 2001-268087 [Overview of the project] [Problems that the invention aims to solve]
[0008] According to the event log control method of Patent Document 2, the management device can read unreceived event logs from the managed device before the event storage buffer of the managed device is overwritten, thereby preventing the loss of event log reception.
[0009] However, in this event log control method, the managed device's memory resources are consumed for the event storage buffer section of the managed device, and the management device's CPU (Central Processing Unit) resources are consumed for the management device's event processing section.
[0010] Furthermore, this problem arises not only when an event log is sent from a managed device to a management device, but also when various time-series data is sent from a transmitting device to a receiving device.
[0011] In one aspect, the present invention aims to reduce the consumption of resources used by a receiving device to prevent data loss when receiving data from a transmitting device. [Means for solving the problem]
[0012] According to one embodiment, the transmitting device includes a storage unit, a modification unit, and a transmitting unit. The storage unit stores first transmission information, which includes one or more data including first data and first determination information indicating whether or not one or more data has been received.
[0013] The modification unit changes the first transmission information to the second transmission information if the first determination information indicates that one or more data have not been received. The second transmission information includes one or more data, the second data, and second determination information indicating that one or more data and the second data have not been received. The transmission unit transmits the second transmission information to the receiving device.
[0014] According to another embodiment, the receiving device includes a receiving unit, an acquisition unit, a modification unit, and a transmitting unit. The receiving unit receives first transmission information from the transmitting device, which includes one or more data and first determination information indicating that one or more data have not been received. The acquisition unit acquires one or more data from the first transmission information based on the first determination information.
[0015] The modification unit modifies the first transmission information into the second transmission information. The second transmission information includes one or more data and second determination information indicating that one or more data have been received. The transmission unit transmits the second transmission information to the transmission device. [Effects of the Invention]
[0016] In one respect, it is possible to reduce the consumption of resources that the receiving device needs to use to prevent data loss when receiving data from the transmitting device. [Brief explanation of the drawing]
[0017] [Figure 1] This is a functional configuration diagram of the transmitting device according to the embodiment. [Figure 2] This is a flowchart of the first transmission process. [Figure 3] It is a functional configuration diagram of the receiving device according to the embodiment. [Figure 4] It is a flowchart of the first receiving process. [Figure 5] It is a configuration diagram of the IoT system. [Figure 6] It is a functional configuration diagram of the device. [Figure 7] It is a diagram showing transmission information including a status flag. [Figure 8] It is a functional configuration diagram of the server. [Figure 9] It is a diagram showing the first data collection process. [Figure 10] It is a flowchart of the second transmission process. [Figure 11] It is a flowchart of the second receiving process. [Figure 12] It is a diagram showing transmission information including a sequence number. [Figure 13] It is a diagram showing the second data collection process. [Figure 14] It is a flowchart of the third transmission process. [Figure 15] It is a flowchart of the third receiving process. [Figure 16] It is a hardware configuration diagram of the information processing device.
Embodiments for Carrying Out the Invention
[0018] Hereinafter, embodiments will be described in detail with reference to the drawings.
[0019] FIG. 1 shows a functional configuration example of the transmission device according to the embodiment. The transmission device 101 in FIG. 1 includes a storage unit 111, a modification unit 112, and a transmission unit 113. The storage unit 111 stores first transmission information including one or more data including first data and first determination information indicating whether one or more data have been received.
[0020] Figure 2 is a flowchart showing an example of the first transmission process performed by the transmitting device 101 in Figure 1. The modification unit 112 changes the first transmission information to the second transmission information if the first determination information indicates that one or more data have not been received (step 201). The second transmission information includes one or more data, second data, and second determination information indicating that one or more data and the second data have not been received. The transmission unit 113 transmits the second transmission information to the receiving device (step 202).
[0021] According to the transmitting device 101 in Figure 1, the consumption of resources required to prevent data loss when the receiving device receives data from the transmitting device 101 can be reduced.
[0022] Figure 3 shows an example of the functional configuration of the receiving device of the embodiment. The receiving device 301 in Figure 3 includes a receiving unit 311, an acquisition unit 312, a modification unit 313, and a transmitting unit 314.
[0023] Figure 4 is a flowchart showing an example of the first receiving process performed by the receiving device 301 in Figure 3. The receiving unit 311 receives first transmission information from the transmitting device, which includes one or more data and first determination information indicating that one or more data have not been received (step 401). The acquisition unit 312 acquires one or more data from the first transmission information based on the first determination information (step 402).
[0024] The modification unit 313 modifies the first transmission information into the second transmission information (step 403). The second transmission information includes one or more data and second determination information indicating that one or more data have been received. The transmission unit 314 transmits the second transmission information to the transmission device (step 404).
[0025] According to the receiving device 301 in Figure 3, the consumption of resources required to prevent data loss when the receiving device 301 receives data from the transmitting device can be suppressed.
[0026] Figure 5 shows an example configuration of an IoT system including the transmitter 101 of Figure 1 and the receiver 301 of Figure 3. The IoT system in Figure 5 includes a device 501 and a server 502. Device 501 is, for example, a monitored information processing device (computer), and server 502 is, for example, an information processing device on the cloud. Device 501 may be an embedded device such as industrial equipment, medical equipment, or home appliance.
[0027] Device 501 and server 502 can communicate with each other via a communication network 503. The communication network 503 is either a LAN (Local Area Network) or a WAN (Wide Area Network). Server 502 collects data from device 501 at predetermined intervals via the communication network 503. Server 502 may also collect data from device 501 at regular intervals. Device 501 corresponds to the transmitting device 101 in Figure 1, and server 502 corresponds to the receiving device 301 in Figure 3.
[0028] Device 501 implements a framework for interacting with server 502, such as an SDK (Software Development Kit) provided by the server 502 vendor. Device 501 uses the SDK to perform interaction processing with server 502, including data visualization and optimization.
[0029] The SDK also includes a data synchronization function to synchronize data between device 501 and server 502. This data synchronization function can utilize Microsoft's Device Twin, Amazon.com's Device Shadow, and other similar services.
[0030] Figure 6 shows an example of the functional configuration of device 501 in Figure 5. Device 501 in Figure 5 includes a sensor 611, a transmitter 612, a receiver 613, a modifier 614, a synchronization unit 615, and a storage unit 616. The transmitter 612, modifier 614, and storage unit 616 correspond to the transmitter 113, modifier 112, and storage unit 111 in Figure 1, respectively.
[0031] Sensor 611 detects numerical information of the target to be detected in a time series and outputs it to the modification unit 614. The numerical information of the target to be detected may be temperature, humidity, atmospheric pressure, CPU usage, etc. Numerical information representing temperature may be a number such as "36.0". Each time numerical information is output from sensor 611, the modification unit 614 sets that numerical information into the transmission information 621 stored in the storage unit 616.
[0032] Figure 7 shows an example of transmission information 621 including a status flag. The transmission information 621 in Figure 7 includes data and a status flag. The data represents numerical information. The status flag is a flag that indicates whether or not the data has been received by the server 502. The status flag is associated with the data. The server 502 also stores transmission information in the same format as the transmission information 621.
[0033] The modification unit 614 sets the numerical information output from the sensor 611 to the data of the transmission information 621 and sets the status flag of the transmission information 621 to "Not received". "Not received" indicates that the data has not yet been received by the server 502.
[0034] The synchronization unit 615 uses a data synchronization function to synchronize the transmission information stored in the server 502 with the transmission information 621. The transmission unit 612 transmits the transmission information 621 to the server 502 according to instructions from the synchronization unit 615.
[0035] If the status flag of the received transmission information 621 is "Not yet received", server 502 retrieves the data from the transmission information 621, changes the status flag from "Not yet received" to "Received", and sends it back to device 501. "Received" indicates that the data has been received by server 502.
[0036] The receiving unit 613 receives transmission information from the server 502 and outputs it to the synchronization unit 615. The synchronization unit 615 updates the transmission information 621 stored in the storage unit 616 by overwriting it with the transmission information output from the receiving unit 613. As a result, the transmission information 621 is synchronized with the transmission information stored in the server 502, and the status flag is changed from "Not yet" to "Completed".
[0037] If the following numerical information is output from sensor 611 in this state, the modification unit 614 modifies the transmission information 621 by changing the data of transmission information 621 to the following numerical information and changing the status flag from "completed" to "not yet".
[0038] The transmission information 621 before modification is an example of the first transmission information in the transmitting device 101. The data included in the transmission information 621 before modification is an example of one or more pieces of data including the first data in the transmitting device 101, and the status flag included in the transmission information 621 before modification is an example of the first determination information in the transmitting device 101.
[0039] The modified transmission information 621 is an example of the third transmission information, the data included in the modified transmission information 621 is an example of the second data, and the status flag included in the modified transmission information 621 is an example of the third determination information.
[0040] The synchronization unit 615 synchronizes the transmission information of the server 502 with the modified transmission information 621. The transmission unit 612 sends the modified transmission information 621 to the server 502 according to instructions from the synchronization unit 615.
[0041] Incidentally, due to failures in the communication network 503 shown in Figure 5, the transmission of transmission information 621 from device 501 to server 502, or the transmission of transmission information from server 502 to device 501, may fail. If transmission fails, the transmission information 621 is not updated, and the status flag remains set to "Not Updated".
[0042] If the sensor 611 outputs the following numerical information in this state, the modification unit 614 modifies the transmission information 621 by adding the following numerical information instead of overwriting the data of the transmission information 621. This prevents the loss of unreceived numerical information due to overwriting.
[0043] The modified transmission information 621 is an example of the second transmission information in the transmitting device 101. The numerical information added to the modified transmission information 621 is an example of the second data in the transmitting device 101, and the status flag included in the modified transmission information 621 is an example of the second determination information in the transmitting device 101.
[0044] The synchronization unit 615 synchronizes the transmission information of the server 502 with the modified transmission information 621. The transmission unit 612 sends the modified transmission information 621 to the server 502 according to instructions from the synchronization unit 615.
[0045] By adding a status flag to the data sent from device 501 to server 502, indicating whether or not server 502 has received it, device 501 can update the data while checking the reception status at server 502. This prevents data upload failures even if the next data is generated at device 501 after device 501 has updated the data but before server 502 receives the updated data.
[0046] Figure 8 shows an example of the functional configuration of the server 502 in Figure 5. The server 502 in Figure 8 includes a receiving unit 811, a transmitting unit 812, an acquisition unit 813, a modification unit 814, a synchronization unit 815, and a storage unit 816. The receiving unit 811, the transmitting unit 812, the acquisition unit 813, and the modification unit 814 correspond to the receiving unit 311, the transmitting unit 314, the acquisition unit 312, and the modification unit 313 in Figure 3, respectively.
[0047] The receiving unit 811 receives the transmission information 621 from the device 501 and outputs it to the synchronization unit 815. The synchronization unit 815 updates the transmission information 821 by overwriting the transmission information 821 stored in the storage unit 816 with the transmission information 621 output from the receiving unit 811. As a result, the transmission information 821 synchronizes with the transmission information 621 stored in the device 501.
[0048] The acquisition unit 813 acquires data from the transmission information 821 if the status flag of the transmission information 821 is "Not yet", and the modification unit 814 modifies the transmission information 821 by changing the status flag from "Not yet" to "Completed". The acquired data is used, for example, by an application program on the server 502.
[0049] The transmission information 821 before modification is an example of the first transmission information in the receiving device 301. The data included in the transmission information 821 before modification is an example of one or more data in the receiving device 301, and the status flag included in the transmission information 821 before modification is an example of the first determination information in the receiving device 301.
[0050] The modified transmission information 821 is an example of the second transmission information in the receiving device 301, and the status flag included in the modified transmission information 821 is an example of the second determination information in the receiving device 301.
[0051] The synchronization unit 815 uses a data synchronization function to synchronize the transmission information 621 stored in device 501 with the transmission information 821. The transmission unit 812 transmits the transmission information 821 to device 501 according to instructions from the synchronization unit 815.
[0052] Device 501 may transmit time-series mode information or event information as data to server 502 instead of time-series numerical information detected by sensor 611. Mode information is information indicating the operating mode, driving mode, etc., of device 501, and event information is information indicating logs, etc., acquired by device 501. Mode information may be information such as "Measuring," and event information may be information such as "2022 / 01 / 19."
[0053] Figure 9 shows an example of the first data acquisition process using the transmission information 621 from Figure 7. The transmission information 621 and transmission information 821 in Figure 9 are shown in the format "status flag, data". The data used is a numerical value measured by the sensor 611 of device 501.
[0054] In the initial state, transmission information 621 is "Completed, 36.0" and transmission information 821 is "Completed, 36.0". Therefore, transmission information 821 is consistent with transmission information 621.
[0055] In the next measurement, sensor 611 outputs a measured value of "36.1". In the next data update, transmission information 621 is changed to "Not yet, 36.1". In the next data synchronization, transmission information 621 is uploaded to server 502, and transmission information 821 is changed to "Not yet, 36.1". Then, the measured value "36.1" is obtained from transmission information 821.
[0056] In the next status flag update, transmission information 821 will be changed to "Completed, 36.1". In the next data synchronization, transmission information 821 will be downloaded to device 501, and transmission information 621 will be changed to "Completed, 36.1".
[0057] In the next measurement, sensor 611 outputs a measured value of "36.2". In the next data update, transmission information 621 is changed to "Not yet, 36.2". In the next data synchronization, the upload of transmission information 621 fails.
[0058] In the next measurement, sensor 611 outputs the measured value "36.3". In the next data update, since the status flag of transmission information 621 is "Not received", the measured value "36.3" is added to the data of transmission information 621, and transmission information 621 is changed to "Not received, [36.2, 36.3]". [36.2, 36.3] represents the data sequence of not received.
[0059] By including multiple unreceived data as a data sequence in the transmission information 621, the unreceived data can be buffered within the data synchronization function. Therefore, the application program on device 501 does not need to buffer the data, reducing buffering overhead.
[0060] In the next data synchronization, transmission information 621 is uploaded to server 502, and transmission information 821 is changed to "Not yet, [36.2, 36.3]". Then, the measured values "36.2" and "36.3" are obtained from transmission information 821.
[0061] In the next status flag update, transmission information 821 will be changed to "Done, [36.2, 36.3]". In the next data synchronization, transmission information 821 will be downloaded to device 501, and transmission information 621 will be changed to "Done, [36.2, 36.3]".
[0062] In the next measurement, sensor 611 outputs a measured value of "36.4". In the next data update, transmission information 621 is changed to "Not yet, 36.4". In the next data synchronization, transmission information 621 is uploaded to server 502, and transmission information 821 is changed to "Not yet, 36.4". Then, the measured value "36.4" is obtained from transmission information 821.
[0063] In the next status flag update, transmission information 821 will be changed to "Completed, 36.4". In the next data synchronization, transmission information 821 will be downloaded to device 501, and transmission information 621 will be changed to "Completed, 36.4".
[0064] According to the IoT system in Figure 5, numerical information, mode information, event information, etc., can be uploaded from device 501 to server 502 by utilizing a data synchronization function that synchronizes data between device 501 and server 502.
[0065] Since the data synchronization function is a general-purpose function that can be shared with other application programs, there is no need to provide dedicated functions and buffers to prevent data reception failures, as described in Patent Document 2. Therefore, the amount of resources used by the server 502 to prevent data loss when receiving data from the device 501 can be reduced, and the resources of the device 501 and the server 502 can be used effectively. Even if the device 501 is an embedded device with a small memory capacity, it is possible to prevent data upload failures.
[0066] Figure 10 is a flowchart showing an example of the second transmission process performed by device 501 in Figure 6. The transmission process in Figure 10 is repeated, for example, at regular intervals.
[0067] First, the modification unit 614 checks whether numerical information has been output from the sensor 611 (step 1001). If numerical information has been output (step 1001, YES), the modification unit 614 checks the status flag of the transmission information 621 (step 1002).
[0068] If the status flag is "completed" (step 1002, YES), the modification unit 614 changes the status flag to "not completed" (step 1003). Then, the modification unit 614 sets the numerical information output from the sensor 611 in the data of the transmission information 621 (step 1004).
[0069] Next, the synchronization unit 615 performs data synchronization (step 1005). During data synchronization, the synchronization unit 615 sends transmission information 621 to the server 502 via the transmission unit 612. The server 502 receives the transmission information 621 from the device 501 and overwrites the transmission information 821 with the received transmission information 621.
[0070] If the status flag is "Not" (step 1002, NO), the modification unit 614 adds the numerical information output from the sensor 611 to the data of the transmission information 621 (step 1006). Then, the synchronization unit 615 performs data synchronization (step 1005).
[0071] If no numerical information is output (step 1001, NO), device 501 terminates the process.
[0072] For example, as shown in Figure 9, if communication between device 501 and server 502 fails, the status flag in step 1002 will be set to "Not Completed". This situation can occur not only in cases of communication failure, but also when the frequency of numerical information output from sensor 611 is higher than the data synchronization frequency.
[0073] Figure 11 is a flowchart showing an example of the second receiving process performed by server 502 in Figure 8. The receiving process in Figure 11 is repeated, for example, at regular intervals.
[0074] First, the acquisition unit 813 checks the status flag of the transmission information 821 (step 1101). If the status flag is "Not" (step 1101, YES), the acquisition unit 813 acquires data from the transmission information 821 (step 1102) and performs an abnormality determination process (step 1103).
[0075] In the abnormality detection process, the acquisition unit 813 determines, for example, the possibility of communication between the device 501 and the server 502 being interrupted by performing a threshold check on the numerical value of the acquired data.
[0076] Next, the modification unit 814 changes the status flag to "completed" (step 1104), and the synchronization unit 815 performs data synchronization (step 1105). During data synchronization, the synchronization unit 815 sends transmission information 821 to device 501 via the transmission unit 812. Device 501 receives the transmission information 821 from server 502 and overwrites the transmission information 621 with the received transmission information 821.
[0077] If the status flag is "Completed" (Step 1101, NO), server 502 terminates the process.
[0078] The acquisition unit 813 may perform an abnormality determination if the elapsed time since the last time the transmission information 621 was received from device 501 exceeds the timeout period. This abnormality determination determines whether communication between device 501 and server 502 has been interrupted, or whether the transmission information 621 has not been uploaded.
[0079] If communication between device 501 and server 502 is interrupted, it is determined that there is a failure in the communication network 503 or the communication function of device 501. On the other hand, if communication between device 501 and server 502 is not interrupted, it is determined that the transmission information 621 has not been uploaded due to an abnormality in the sensor 611 or data update in device 501.
[0080] Next, we will explain how to prevent data loss by using sequence numbers instead of status flags.
[0081] Figure 12 shows an example of transmission information 621 including a sequence number. The transmission information 621 in Figure 12 includes data, sequence number D, and sequence number C. The data represents numerical information. Sequence number D represents the sequence number of the data included in transmission information 621, and sequence number C represents the sequence number of the last data received by server 502. Sequence numbers D and C are associated with the data. The format of transmission information 821 from server 502 is the same as that of transmission information 621.
[0082] The modification unit 614 of device 501 sets the numerical information output from sensor 611 to the data of transmission information 621, and sets the result of adding 1 to C in transmission information 621 as D in transmission information 621. A D greater than C indicates that the data contains DC pieces of numerical information and that the data has not yet been received by server 502. The synchronization unit 615 uses the data synchronization function to synchronize the transmission information 821 of server 502 with the transmission information 621.
[0083] The acquisition unit 813 of server 502 acquires DC numerical information from the data of the transmission information 821. The modification unit 814 modifies the transmission information 821 by changing C in the transmission information 821 to the same value as D. D being the same as C indicates that the data has already been received by server 502.
[0084] The transmission information 821 before modification is an example of the first transmission information in the receiving device 301. The data included in the transmission information 821 before modification is an example of one or more data in the receiving device 301, and D and C included in the transmission information 821 before modification are examples of the first determination information in the receiving device 301.
[0085] The modified transmission information 821 is an example of the second transmission information in the receiving device 301, and D and C included in the modified transmission information 821 are examples of the second determination information in the receiving device 301.
[0086] The synchronization unit 815 uses a data synchronization function to synchronize the transmission information 621 of device 501 with the transmission information 821. As a result, C in the transmission information 621 matches D.
[0087] If the next numerical information is output from sensor 611 in this state, the modification unit 614 changes the data in transmission information 621 to the next numerical information and modifies transmission information 621 by incrementing D by 1. The incremented D represents the sequence number of the next numerical information. The synchronization unit 615 synchronizes the transmission information 821 of server 502 with the modified transmission information 621.
[0088] The transmission information 621 before modification is an example of the first transmission information in the transmitting device 101. The data included in the transmission information 621 before modification is an example of one or more pieces of data including the first data in the transmitting device 101, and D and C included in the transmission information 621 before modification are examples of the first determination information in the transmitting device 101.
[0089] The modified transmission information 621 is an example of the third transmission information, the data included in the modified transmission information 621 is an example of the second data, and D and C included in the modified transmission information 621 are examples of the third determination information.
[0090] If data synchronization between device 501 and server 502 fails due to a failure in the communication network 503 in Figure 5, the transmission information 621 will not be updated, and C in the transmission information 621 will remain smaller than D.
[0091] If the sensor 611 outputs the following numerical information in this state, the modification unit 614 modifies the transmission information 621 by adding the following numerical information to the data of the transmission information 621 and incrementing D by 1. The synchronization unit 615 synchronizes the transmission information 821 of the server 502 with the modified transmission information 621.
[0092] The modified transmission information 621 is an example of the second transmission information in the transmitting device 101. The numerical information added to the modified transmission information 621 is an example of the second data in the transmitting device 101, and D and C included in the modified transmission information 621 are examples of the second determination information in the transmitting device 101.
[0093] By adding sequence numbers D and C to the data transmitted from device 501 to server 502, device 501 can update the data while checking the reception status at server 502. This prevents data upload omissions, similar to when a status flag is added.
[0094] Figure 13 shows an example of a second data acquisition process using the transmission information 621 from Figure 12. The transmission information 621 and transmission information 821 in Figure 13 are indicated using "Data, D" in the left rectangle 1301 and "C" in the right rectangle 1302. The data used is a numerical value measured by the sensor 611 of device 501. Hereafter, the transmission information 621 and transmission information 821 may be described in the format "Data, D, C".
[0095] In the initial state, transmission information 621 is "36.0, 100, 100" and transmission information 821 is "36.0, 100, 100". Therefore, transmission information 821 is consistent with transmission information 621.
[0096] In the next measurement, sensor 611 outputs the measured value "36.1". In the next data update, the D in transmission information 621 is incremented, and transmission information 621 is changed to "36.1, 101, 100". In the next data synchronization, transmission information 621 is uploaded to server 502, and transmission information 821 is changed to "36.1, 101, 100". Then, the measured value "36.1" is obtained from transmission information 821.
[0097] In the next sequence number update, transmission information 821 will be changed to "36.1, 101, 101". In the next data synchronization, transmission information 821 will be downloaded to device 501, and transmission information 621 will be changed to "36.1, 101, 101".
[0098] In the next measurement, sensor 611 outputs a measured value of "36.2". In the next data update, the D in transmission information 621 is incremented, and transmission information 621 is changed to "36.2, 102, 101". Then, before the upload of transmission information 621 is complete, the next measurement is performed.
[0099] In the next measurement, sensor 611 outputs the measured value "36.3". In the next data update, since D in transmission information 621 is greater than C, the measured value "36.3" is added to the data of transmission information 621, D is incremented, and transmission information 621 is changed to "[36.2, 36.3], 103, 101".
[0100] In the next data synchronization, transmission information 621 is uploaded to server 502, and transmission information 821 is changed to "[36.2, 36.3], 103, 101". Then, the measured values "36.2" and "36.3" are obtained from transmission information 821.
[0101] In the next sequence number update, transmission information 821 will be changed to "[36.2, 36.3], 103, 103". Then, before the download of transmission information 821 is complete, the following measurement will be performed.
[0102] In the next measurement, sensor 611 outputs the measured value "36.4". In the next data update, since D in transmission information 621 is greater than C, the measured value "36.4" is added to the data of transmission information 621, D is incremented, and transmission information 621 is changed to "[36.2, 36.3, 36.4], 104, 101".
[0103] In the next data synchronization, transmission information 821 is downloaded to device 501, and the value of C in transmission information 621 is changed to "103". As a result, transmission information 621 is changed to "[36.2, 36.3, 36.4], 104, 103". Furthermore, transmission information 621 is uploaded to server 502, and transmission information 821 is changed to "[36.2, 36.3, 36.4], 104, 103". Then, the measured value "36.4" is obtained from transmission information 821.
[0104] In the next sequence number update, transmission information 821 will be changed to "[36.2, 36.3, 36.4], 104, 104". In the next data synchronization, transmission information 821 will be downloaded to device 501, and transmission information 621 will be changed to "[36.2, 36.3, 36.4], 104, 104".
[0105] In the next measurement, sensor 611 outputs a measured value of "36.5". In the next data update, the D in transmission information 621 is incremented, and transmission information 621 is changed to "36.5, 105, 104".
[0106] Figure 14 is a flowchart showing an example of the third transmission process performed by device 501 in Figure 6. The transmission process in Figure 14 is repeated, for example, at regular intervals.
[0107] First, the modification unit 614 checks whether numerical information has been output from the sensor 611 (step 1401). If numerical information has been output (step 1401, YES), the modification unit 614 compares D and C in the transmitted information 621 (step 1402).
[0108] If D and C match (step 1402, YES), the modification unit 614 sets the numerical information output from the sensor 611 in the data of the transmission information 621 (step 1403). Then, the modification unit 614 increments D by 1 (step 1404).
[0109] Next, the synchronization unit 615 performs data synchronization (step 1405). During data synchronization, the synchronization unit 615 sends transmission information 621 to the server 502 via the transmission unit 612. The server 502 receives the transmission information 621 from the device 501 and overwrites the transmission information 821 with the received transmission information 621.
[0110] If D and C do not match (step 1402, NO), the modification unit 614 adds the numerical information output from the sensor 611 to the data of the transmission information 621 (step 1406). Then, the synchronization unit 615 performs data synchronization (step 1405).
[0111] If no numerical information is output (step 1401, NO), device 501 terminates processing.
[0112] For example, as shown in Figure 13, if the frequency at which numerical information is output from sensor 611 is higher than the data synchronization frequency, D and C will no longer match in step 1402. A similar situation occurs if communication between device 501 and server 502 fails.
[0113] Figure 15 is a flowchart showing an example of the third receiving process performed by server 502 in Figure 8. The receiving process in Figure 15 is repeated, for example, at regular intervals.
[0114] First, the acquisition unit 813 compares D and C in the transmission information 821 (step 1501). If D is greater than C (step 1501, YES), the acquisition unit 813 acquires data from the transmission information 821 (step 1502) and performs an abnormality determination process similar to step 1103 in Figure 11 (step 1503).
[0115] Next, the modification unit 814 sets C to the same value as D (step 1504), and the synchronization unit 815 performs data synchronization (step 1505). During data synchronization, the synchronization unit 815 sends transmission information 821 to device 501 via the transmission unit 812. Device 501 receives the transmission information 821 from server 502 and overwrites the transmission information 621 with the received transmission information 821.
[0116] If D and C match (Step 1501, NO), server 502 terminates the process.
[0117] The configurations of the transmitter 101 in Figure 1 and the receiver 301 in Figure 3 are merely examples, and some components may be omitted or modified depending on the application or conditions of the transmitter 101 or receiver 301. The configuration of the IoT system in Figure 5 is also merely an example, and some components may be omitted or modified depending on the application or conditions of the IoT system. For example, the IoT system may include multiple devices 501.
[0118] The configurations of device 501 in Figure 6 and server 502 in Figure 8 are merely examples, and some components may be omitted or modified depending on the application or conditions of the IoT system.
[0119] The flowcharts shown in Figures 2, 4, 10, 11, 14, and 15 are merely examples, and some processes may be omitted or modified depending on the configuration or conditions of the transmitting device 101, receiving device 301, or IoT system. For example, if it is not necessary for the server 502 to perform abnormality detection processing, the processes in step 1103 of Figure 11 and step 1503 of Figure 15 can be omitted.
[0120] The transmission information 621 shown in Figures 7 and 12 is merely an example; information other than status flags or sequence numbers may be used as determination information to indicate whether or not data has been received. The data collection process shown in Figures 9 and 13 is merely an example; the data collection process will vary depending on the application or conditions of the IoT system.
[0121] Figure 16 shows an example of the hardware configuration of an information processing device used as the transmitter 101 in Figure 1, the receiver 301 in Figure 3, the device 501 in Figure 6, and the server 502 in Figure 8. The information processing device in Figure 16 includes a CPU 1601, memory 1602, input device 1603, output device 1604, auxiliary storage device 1605, media drive device 1606, and network connection device 1607. These components are hardware and are connected to each other by a bus 1608.
[0122] Memory 1602 is a semiconductor memory such as ROM (Read Only Memory), RAM (Random Access Memory), or flash memory, and stores the program and data used for processing. Memory 1602 may operate as the storage unit 111 in Figure 1, the storage unit 616 in Figure 6, or the storage unit 816 in Figure 8.
[0123] The CPU 1601 (processor) operates as the modification unit 112 in Figure 1, for example, by executing a program using the memory 1602. The CPU 1601 also operates as the acquisition unit 312 and modification unit 313 in Figure 3 by executing a program using the memory 1602.
[0124] The CPU 1601 also operates as the modification unit 614 and synchronization unit 615 in Figure 6 by executing a program using the memory 1602. The CPU 1601 also operates as the acquisition unit 813, modification unit 814, and synchronization unit 815 in Figure 8 by executing a program using the memory 1602.
[0125] The input device 1603 is, for example, a keyboard, a pointing device, etc., and is used for inputting instructions or information from the operator or user. The output device 1604 is, for example, a display device, a printer, a speaker, etc., and is used for inquiries or instructions to the operator or user, and for outputting processing results.
[0126] The auxiliary storage device 1605 is, for example, a magnetic disk drive, an optical disk drive, a magneto-optical disk drive, a tape drive, etc. The auxiliary storage device 1605 may also be a hard disk drive or flash memory. The information processing device can store programs and data in the auxiliary storage device 1605 and load them into the memory 1602 for use. The auxiliary storage device 1605 may operate as the storage unit 111 in Figure 1, the storage unit 616 in Figure 6, or the storage unit 816 in Figure 8.
[0127] The media drive unit 1606 drives the portable recording medium 1609 and accesses its recorded contents. The portable recording medium 1609 is a memory device, flexible disk, optical disk, magneto-optical disk, etc. The portable recording medium 1609 may also be a CD-ROM (Compact Disk Read Only Memory), DVD (Digital Versatile Disk), USB (Universal Serial Bus) memory, etc. The operator or user can store programs and data on this portable recording medium 1609 and load them into the memory 1602 for use.
[0128] Thus, the computer-readable recording medium that stores the programs and data used in the processing is a physical (non-temporary) recording medium such as memory 1602, auxiliary storage device 1605, or portable recording medium 1609.
[0129] The network connection device 1607 is a communication interface circuit connected to the communication network 503 that performs data conversion associated with communication. The information processing device can receive programs and data from external devices via the network connection device 1607, load them into the memory 1602, and use them.
[0130] Note that the information processing device does not need to include all the components shown in Figure 16, and some components may be omitted depending on the application or conditions. For example, if an interface with an operator or user is not required, the input device 1603 and output device 1604 may be omitted. If the portable recording medium 1609 is not used, the media drive device 1606 may be omitted.
[0131] While embodiments of the disclosure and their advantages have been described in detail, those skilled in the art will be able to make various modifications, additions, and omissions without departing from the scope of the invention as expressly stated in the claims. [Explanation of Symbols]
[0132] 101 Transmitter 111, 616, 816 storage section Changes to sections 112, 313, 614, and 814. 113, 314, 612, 812 Transmitting section 301 Receiving device 311, 613, 811 Receiver 312, 813 Acquisition Department 501 devices 502 Server 503 Communication Network 611 Sensor 615, 815 Classmates 621, 821 Transmission Information 1301, 1302 rectangle 1601 CPU 1602 memory 1603 Input device 1604 Output device 1605 Auxiliary storage device 1606 Media drive device 1607 Network Connection Device 1608 Bus 1609 Portable recording media
Claims
1. A storage unit that stores first transmission information, which includes one or more data including first data, and first determination information indicating whether or not the one or more data has been received by the receiving device; If the receiving device indicates that one or more of the data have not been received, the modification unit modifies the first transmission information to second transmission information which includes the one or more of the data, a second data, and second determination information indicating that the receiving device has not received the one or more of the data and the second data. A transmitting unit that transmits the second transmission information to the receiving device, A transmitting device characterized by comprising the following features.
2. If the first determination information indicates that the receiving device has received one or more of the data, the modification unit modifies the first transmission information to a third transmission information that includes the second data and a third determination information indicating that the receiving device has not yet received the second data. The transmitting device according to claim 1, characterized in that the transmitting unit transmits the third transmission information to the receiving device.
3. The first determination information is a flag indicating whether or not the receiving device has received one or more of the data. The transmitting device according to claim 1 or 2, characterized in that the second determination information is a flag indicating that the one or more data and the second data have not been received by the receiving device.
4. The first determination information includes the sequence number of the first data and the sequence number of the last data received by the receiving device. The transmitting device according to claim 1 or 2, characterized in that the second determination information includes the sequence number of the second data and the sequence number of the last data received by the receiving device.
5. A receiving unit receives first transmission information from a transmitting device, which includes one or more data and first determination information indicating that the one or more data has not been received by the receiving device. An acquisition unit that acquires one or more data from the first transmission information based on the first determination information, A modification unit that modifies the first transmission information into second transmission information, which includes the one or more data and a second determination information indicating that the one or more data has been received by the receiving device, A transmitting unit that transmits the aforementioned second transmission information to the transmitting device, A receiving device characterized by being equipped with the following features.
6. The first determination information is a flag indicating that the receiving device has not yet received one or more of the data. The receiving device according to claim 5, characterized in that the second determination information is a flag indicating that the receiving device has received one or more of the data.
7. The first determination information includes the sequence number of the one or more data and the sequence number of the last data received by the receiving device. The receiving device according to claim 5, characterized in that the modification unit changes the first transmission information to the second transmission information by changing the sequence number of the last data received by the receiving device to the sequence number of the one or more data.
8. Computers The first determination information is obtained from first transmission information, which includes one or more data including first data and first determination information indicating whether or not the one or more data has been received by the receiving device. If the first determination information indicates that the receiving device has not received one or more of the data, the first transmission information is changed to second transmission information that includes the one or more of the data, a second data, and second determination information indicating that the receiving device has not received the one or more of the data and the second data. The second transmission information is transmitted to the receiving device. A transmission method characterized by the following:
9. Computers The receiving device receives first transmission information from the transmitting device, which includes one or more data and first determination information indicating that the one or more data has not been received by the receiving device. Based on the first determination information, one or more data are obtained from the first transmission information. The first transmission information is changed to second transmission information, which includes the one or more data and second determination information indicating that the one or more data has been received by the receiving device. The second transmission information is transmitted to the transmitting device. A receiving method characterized by the following.
10. The first determination information is obtained from first transmission information, which includes one or more data including first data and first determination information indicating whether or not the one or more data has been received by the receiving device. If the first determination information indicates that the receiving device has not received one or more of the data, the first transmission information is changed to second transmission information that includes the one or more of the data, a second data, and second determination information indicating that the receiving device has not received the one or more of the data and the second data. The second transmission information is transmitted to the receiving device. A program that sends data to a computer to execute a process.
11. The receiving device receives first transmission information from the transmitting device, which includes one or more data and first determination information indicating that the one or more data has not been received by the receiving device. Based on the first determination information, one or more data are obtained from the first transmission information. The first transmission information is changed to second transmission information, which includes the one or more data and second determination information indicating that the one or more data has been received by the receiving device. The second transmission information is transmitted to the transmitting device. A receiving program that causes a computer to execute a process.