Transmitter, transmission method, program, and cloud system
Patent Information
- Application Number
- PCT/JP2025/006685
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-03-04
- Filing Date
- 2025-02-26
- Publication Date
- 2025-10-02
AI Technical Summary
Burst traffic during data transmission from IoT devices to a server after a power outage or cloud downtime can cause a sudden increase in processing load, leading to a decrease in the overall quality of service (QoS).
A transmitter divides data into portions and transmits them based on the allowable data amount notified by the server, using a transmitting unit to confirm capacity and a receiving unit to receive notifications, ensuring the data transmission does not exceed the server's processing capacity.
This approach prevents burst traffic, maintains QoS by ensuring the server can process the data without overload, and allows for reliable data transmission even in failure scenarios.
Smart Images

Figure JP2025006685_02102025_PF_FP_ABST
Abstract
Description
Transmitter, transmission method, program, and cloud system
[0001] The present disclosure relates to a transmitter, a transmission method, a program, and a cloud system.
[0002] With recent advances in information and communication technology, various devices are now connected to communication networks such as the Internet, and data from these devices is collected and utilized by servers on the cloud. Such devices connected to the Internet can be called Internet of Things (IoT) devices. Utilizing such IoT devices enables remote monitoring and remote control by a cloud server, and enables systems to be remotely monitored or remotely controlled to be operated by the cloud server.
[0003] For example, techniques have been proposed to allow a transmitter to appropriately transmit telemetry data collected by IoT devices, such as sensors, to a server.
[0004] Japanese Patent No. 6350770 Japanese Patent Laid-Open No. 2002-342187 Japanese Patent No. 4595438 Japanese Patent No. 4961994
[0005] When recovering from a power outage or cloud down, when the telemetry data stored locally in the transmitter is sent to the server, burst traffic may occur, temporarily increasing the load on the server and affecting the overall quality of service (QoS).
[0006] In view of the above problems, one object of the present disclosure is to provide a data transmission technique that enables a transmitter to transmit data in accordance with the amount of data that a server can process.
[0007] One aspect of the present disclosure relates to a transmitter having a transmitting unit that transmits a capacity confirmation to a server and a receiving unit that receives a notification of an allowable data amount from the server, wherein the transmitting unit divides and transmits the data to be transmitted to the server based on the allowable data amount and the data amount of the data to be transmitted.
[0008] According to the present disclosure, it is possible to provide a data transmission technique that enables a transmitter to transmit data according to the amount of data that a server can process.
[0009] FIG. 1 is a schematic diagram illustrating a cloud system according to an embodiment of the present disclosure. FIG. 2 is a block diagram illustrating a hardware configuration of a transmitter according to an embodiment of the present disclosure. FIG. 3 is a block diagram illustrating a functional configuration of a transmitter according to an embodiment of the present disclosure. FIG. 4 is a timing diagram illustrating a data transmission process according to an embodiment of the present disclosure. FIG. 5 is a timing diagram illustrating a data transmission process according to an embodiment of the present disclosure. FIG. 6 is a timing diagram illustrating a data transmission process according to an embodiment of the present disclosure. FIG. 7 is a timing diagram illustrating a data transmission process according to an embodiment of the present disclosure. FIG. 8 is a timing diagram illustrating a data transmission process according to an embodiment of the present disclosure. FIG. 9 is a flowchart illustrating a data transmission process according to an embodiment of the present disclosure.
[0010] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings.
[0011] In the following example, a cloud system for receiving telemetry data from IoT devices is disclosed.
[0012] [Cloud System] A cloud system according to an embodiment of the present disclosure will be described with reference to Fig. 1. Fig. 1 is a schematic diagram illustrating a cloud system according to an embodiment of the present disclosure.
[0013] 1 , the cloud system 10 includes a plurality of transmitters 100_1 to 100_4 and a server 200. The plurality of transmitters 100_1 to 100_4 and the server 200 are communicatively connected via a communication network 50 such as the Internet. Furthermore, each of the transmitters 100_1 to 100_4 (hereinafter, may be collectively referred to as a transmitter 100 or a transmitter 100_i) is communicatively connected to one or more IoT devices 20, collects telemetry data acquired by these IoT devices 20, and transmits the collected telemetry data to the server 200 via the communication network 50.
[0014] It should be noted that, although four transmitters 100_1 to 100_4 are shown in the illustrated embodiment, the present disclosure is not limited thereto and a different number of transmitters 100 may be utilized. Furthermore, each transmitter 100_i may be communicatively coupled to one or more IoT devices 20, or may be incorporated within an IoT device 20.
[0015] The server 200 is located on a communications network 50 (which may hereinafter be referred to as the cloud) and receives telemetry data from the transmitter 100, as will be described in more detail below.
[0016] When recovering from a power outage or cloud down, telemetry data is transmitted from the transmitters 100 all at once to the server 200, and the occurrence of such burst traffic can cause a sudden increase in the processing load of the server 200, resulting in a decrease in the overall quality of service (QoS). In an embodiment described below, in order to avoid the occurrence of such burst traffic, each transmitter 100 divides the data to be transmitted into one or more data portions and transmits the divided data portions at each transmission opportunity so as not to exceed the allowable data amount notified by the server 200. This makes it possible to avoid the occurrence of burst traffic and reduce situations such as the server 200 going down due to capacity overload.
[0017] Here, the transmitter 100 may be realized by any type of transceiver having an information processing function, and may have, for example, the hardware configuration shown in Fig. 2. That is, the transmitter 100 has a drive device 101, a storage device 102, a memory device 103, a processor 104, a user interface (UI) device 105, and a communication device 106, which are interconnected via a bus B.
[0018] Programs or instructions for realizing various functions and processes described below in transmitter 100 may be stored in a removable storage medium such as a CD-ROM (Compact Disk-Read Only Memory) or a flash memory. When the storage medium is set in drive device 101, the programs or instructions are installed from the storage medium to storage device 102 or memory device 103 via drive device 101. However, the programs or instructions do not necessarily have to be installed from a storage medium, and may be downloaded from any external device via a network or the like.
[0019] The storage device 102 is realized by a hard disk drive or the like, and stores installed programs or instructions as well as files, data, etc. used to execute the programs or instructions.
[0020] The memory device 103 is realized by a random access memory, a static memory, or the like, and when a program or instruction is activated, it reads and stores the program, instruction, data, or the like from the storage device 102. The storage device 102, the memory device 103, and the removable storage medium may be collectively referred to as a non-transitory storage medium.
[0021] The processor 104 may be realized by one or more central processing units (CPUs), graphics processing units (GPUs), processing circuitry, etc., each of which may be configured with one or more processor cores, and executes various functions and processes of the transmitter 100 (described below) in accordance with programs, instructions, data such as parameters necessary to execute the programs or instructions, etc., stored in the memory device 103. The user interface (UI) device 105 may be configured by input devices such as a keyboard, mouse, camera, and microphone, output devices such as a display, speakers, a headset, and a printer, and input / output devices such as a touch panel, and implements an interface between a user and the transmitter 100. For example, a user operates a GUI (Graphical User Interface) displayed on a display or touch panel using a keyboard, mouse, etc. to operate the transmitter 100.
[0022] The communication device 106 is realized by various communication circuits that execute communication processes with external devices, the Internet, a communication network such as a LAN (Local Area Network), and the like.
[0023] However, the above-described hardware configuration is merely an example, and the transmitter 100 according to the present disclosure may be realized by any other appropriate hardware configuration, and the server 200 may also be realized by a similar hardware configuration.
[0024] [Transmitter] Next, a transmitter 100 according to an embodiment of the present disclosure will be described. Fig. 3 is a block diagram showing a functional configuration of the transmitter 100 according to an embodiment of the present disclosure. As shown in Fig. 3, the transmitter 100 includes a transmitting unit 110 and a receiving unit 120. For example, one or more functional units of the transmitting unit 110 and the receiving unit 120 may be realized by one or more processors 104 executing one or more programs or instructions.
[0025] The transmitting unit 110 transmits a capacity confirmation to the server 200. That is, before starting transmission of telemetry data to the server 200, the transmitting unit 110 transmits a capacity confirmation to the server 200 to inquire about the amount of data that the server 200 can process. Here, the capacity confirmation may be performed periodically, such as every minute, every hour, or every day.
[0026] Furthermore, the capacity confirmation may inquire about the amount of data that the server 200 can process, and may indicate the amount of data to be transmitted. Here, the amount of data to be transmitted may be the amount of data that the transmitter 100 desires to transmit to the server 200. For example, upon recovery from a power outage or cloud down, a large amount of telemetry data collected from the IoT device 20 is locally buffered in the transmitter 100, and the capacity confirmation transmitted from the transmitting unit 110 will indicate a relatively large amount of data. On the other hand, during normal operation, the transmitter 100 does not locally buffer such a large amount of data to be transmitted, and the capacity confirmation transmitted from the transmitting unit 110 will indicate a normal amount of data.
[0027] Furthermore, the amount of data to be transmitted may be an amount of data to be transmitted that takes into account the processing load by the server 200. For example, when the amount of data to be transmitted is indicated by the amount of data under a normal processing load, data to be transmitted that has a processing load twice as high as the normal processing load may be notified as an amount of data that is twice the actual amount of data.
[0028] The receiving unit 120 receives a notification of the allowable data amount from the server 200. That is, in response to the capacity confirmation transmitted from the transmitting unit 110, the server 200 notifies the transmitter 100 of the allowable data amount as the amount of data that the server 200 can process for data transmitted from each transmitter 100, and the receiving unit 120 receives the notification. Such an allowable data amount may mean the maximum amount of data that each transmitter 100 is allowed to transmit at that time.
[0029] Based on the allowable data amount and the data amount of the data to be transmitted, transmitting unit 110 divides and transmits the data to be transmitted to server 200. That is, transmitting unit 110 compares the allowable data amount notified by server 200 with the data amount of the data to be transmitted buffered in transmitter 100, divides the data to be transmitted into data portions so that the allowable data amount is not exceeded, and transmits the divided data portions to server 200 at each transmission opportunity.
[0030] 4 is a timing diagram illustrating a data transmission process according to an embodiment of the present disclosure. In the illustrated embodiment, a transmitter 100_1 (transmitter #1) and a transmitter 100_2 (transmitter #2) periodically transmit telemetry data to the server 200.
[0031] In step S11, each of the transmitters 100_1 and 100_2 transmits a capacity confirmation to the server 200. For example, each of the transmitters 100_1 and 100_2 transmits the capacity confirmation in accordance with a predetermined transmission trigger, such as periodically. After transmitting the capacity confirmation, each of the transmitters 100_1 and 100_2 waits for a response from the server 200 for a predetermined time.
[0032] Here, the capacity confirmation is a query to the server 200 by the server 200 about the amount of data that can be processed by each of the transmitters 100_1 and 100_2. The capacity confirmation may also indicate the amount of data to be transmitted. That is, the transmitting unit 110 queries the amount of data that can be processed by the server 200 for each of the transmitters 100_1 and 100_2, and notifies the server 200 of the amount of data that each of the transmitters 100_1 and 100_2 desires to transmit.
[0033] In step S12, the server 200 notifies each of the transmitters 100_1 and 100_2 of the allowable data amount that each of the transmitters 100_1 and 100_2 is allowed to transmit to the server 200. Specifically, the server 200 determines the maximum data amount that each of the transmitters 100_1 and 100_2 can transmit to the server 200 at each transmission opportunity at that time, based on the data amount of data to be transmitted indicated in the capacity confirmation received from each of the transmitters 100_1 and 100_2 and the maximum processing capacity of the server 200, and notifies each of the transmitters 100_1 and 100_2 of the maximum data amount as the allowable data amount. The receiving unit 120 receives the notification indicating the allowable data amount from the server 200.
[0034] Here, the allowable data amount is a minimum guaranteed data amount c that is equally allocated to each transmitter 100_i that transmits data to the server 200, or a normal allowable data amount c that is allocated according to the data amount of data to be transmitted from each transmitter 100_i. i For example, the minimum guaranteed data volume c may be calculated by c=C / T×r, where C is the capacity of the server 200, and T is the total number of transmitters 100_i.
[0035] In addition, the normal allowable data volume c i is c i =c+(1-r)C×d i / D, where d i is the amount of data to be transmitted by the transmitter 100_i, and D is expressed as follows: D=Σ i d i Furthermore, r is a limiting rate that is set empirically and is an arbitrary value between 0 and 1 (for example, r=0.3). When r=1, it is the same as when the capacity C of the server 200 is equally divided among all the senders 100_i. Since the capacity C of the server 200 is a sufficiently large value, c, c i It is guaranteed that both d and d are sufficiently larger than the amount of data required for normal communication. i <<c i and any d i <<c.
[0036] For example, when two transmitters 100_1 and 100_2 transmit data to be transmitted, d1=d and d2=d, to the server 200, that is, when transmitting the same amount of data d, the server 200 may allocate an equal amount of allowable data to the transmitters 100_1 and 100_2. i d i = 2d, c = C / 2 × r = rc / 2. Also, Δc i = c i When set to -c, Δc 1 = Δc 2 = c(1-r) / 2. The server 200 assigns c to the transmitters 100_1 and 100_2 as the allowable data amount. 1, c 2 may be notified respectively.
[0037] On the other hand, when two transmitters 100_1 and 100_2 transmit data to be transmitted d1=d and d2=2d to the server 200, that is, when the data amounts of the data to be transmitted are different, the server 200 may allocate an allowable data amount according to the different data amounts of the transmitters 100_1 and 100_2. i d i = 3d, c = C / 2 × r = rc / 2. Also, Δc 1 = (1 - r) C × d 1 / D=C(1-r) / 3, Δc 2 = (1 - r) C × d 2 / D=2C(1−r) / 3. The server 200 sends the allowable data amount c to the transmitters 100_1 and 100_2. 1, c 2 may be notified respectively.
[0038] For example, when a large amount of data to be transmitted is buffered in the transmitters 100_1 and 100_2 upon recovery from a failure, the allowable data amount may be set in the same manner as above, so that if the two transmitters 100_1 and 100_2 are buffering approximately the same amount of data to be transmitted, the server 200 may allocate an equal amount of allowable data to the transmitters 100_1 and 100_2. On the other hand, if the two transmitters 100_1 and 100_2 are buffering different amounts of data to be transmitted, the server 200 may allocate an allowable data amount according to the different amounts of data of the transmitters 100_1 and 100_2.
[0039] In step S13, each of the transmitters 100_1 and 100_2 divides and transmits the data to be transmitted. Specifically, the transmitter 110 divides the data to be transmitted into data portions so that the amount of data transmitted at each transmission opportunity is equal to or less than the allowable data amount, and transmits each divided data portion to the server 200 at each transmission opportunity.
[0040] In the illustrated example, the transmitters 100_1 and 100_2 alternately transmit the data portions, but the division transmission according to the present disclosure is not limited to this, and any other transmission form may be applied. Steps S11 to S13 may be repeated, for example, periodically.
[0041] 5 is a timing diagram illustrating a data transmission process according to an embodiment of the present disclosure. In the illustrated embodiment, transmitter 100_1 (transmitter #1) and transmitter 100_2 (transmitter #2) periodically transmit telemetry data to server 200, but a case is illustrated in which they are unable to receive notification of the allowable data volume from server 200 at any time. Steps S21 to S23 are the same as steps S11 to S13 described above with reference to FIG. 4, and therefore, redundant description will be omitted.
[0042] In step S24, each of the transmitters 100_1 and 100_2 transmits a capacity confirmation to the server 200 and waits for a response from the server 200 for a predetermined time.
[0043] In step S25, the server 200 notifies each of the transmitters 100_1 and 100_2 of the allowable data amount in response to the capacity confirmation, but in this embodiment, it is assumed that each of the transmitters 100_1 and 100_2 was unable to receive the notification of the allowable data amount from the server 200 within a predetermined waiting time due to some reason such as a communication failure. Note that the reason why each of the transmitters 100_1 and 100_2 was unable to receive the allowable data amount from the server 200 is not necessarily limited to this, and there may also be cases where, for example, the server 200 received the capacity confirmation but was unable to notify the allowable data amount.
[0044] In step S26, if a response to the capacity confirmation transmitted in step S24 is not received within a predetermined waiting time, each of transmitters 100_1 and 100_2 divides and transmits the data to be transmitted to server 200 so as not to exceed the allowable data amount acquired in step S22. Specifically, transmitting unit 110 divides the data to be transmitted into data portions so that the data to be transmitted at each transmission opportunity is equal to or less than the allowable data amount acquired in the immediately preceding step S22, and transmits each divided data portion to server 200 at each transmission opportunity.
[0045] Note that the allowable data amount applied when a response to the capacity confirmation is not received within a predetermined waiting time is not necessarily limited to the allowable data amount most recently acquired. For example, the allowable data amount may be the minimum guaranteed data amount equally allocated to each transmitter 100_i described above. In this case, each transmitter 100_1, 100_2 may transmit the data to be transmitted to the server 200 in portions so as not to exceed the minimum guaranteed data amount c derived by c = Cr / 2. When the minimum guaranteed data amount c is applied as the allowable data amount, it can be guaranteed that the data to be transmitted from each transmitter 100_1, 100_2 will not exceed the capacity C of the server 200.
[0046] 6 is a timing diagram illustrating a data transmission process according to an embodiment of the present disclosure. In the illustrated embodiment, transmitter 100_1 (transmitter #1) and transmitter 100_2 (transmitter #2) periodically transmit telemetry data to server 200, but the server 200 fails to receive a capacity confirmation from transmitter 100_1 at some point. Steps S31 to S33 are the same as steps S11 to S13 described above with reference to FIG. 4, and therefore, a repeated description will be omitted.
[0047] In step S34, the server 200 receives the capacity confirmation from the transmitter 100_2 but fails to receive the capacity confirmation from the transmitter 100_1. For example, this may be because each of the transmitters 100_1 and 100_2 transmitted a capacity confirmation to the server 200, but the capacity confirmation from the transmitter 100_1 did not reach the server 200 due to some reason such as a communication failure, or because the transmitter 100_1 did not transmit the capacity confirmation to the server 200 due to a malfunction of the equipment, etc.
[0048] In step S35, if the server 200 receives a capacity confirmation from the transmitter 100_2 but does not receive a capacity confirmation from the transmitter 100_1 within a predetermined time, the server 200 notifies only the transmitter 100_2 of the allowable data amount.
[0049] In step S36, the transmitter 100_2 divides and transmits the data to be transmitted in accordance with the notified allowable data amount. Specifically, the transmitter 100_2 divides the data to be transmitted into data portions so as not to exceed the allowable data amount acquired in step S35, and transmits each data portion to the server 200 at each transmission opportunity.
[0050] On the other hand, since the transmitter 100_1 was unable to receive the allowable data amount from the server 200, similarly to step S26 described above with reference to Fig. 5 , the transmitter 100_1 applies the minimum guaranteed data amount or the allowable data amount previously acquired as the allowable data amount in step S36, and transmits the data to be transmitted in portions to the server 200. Note that until the transmitter 100_1 is able to receive a notification of the allowable data amount from the server 200, the transmitter 100_1 applies the minimum guaranteed data amount or the allowable data amount previously acquired as the allowable data amount in step S36, and transmits the data to be transmitted in portions to the server 200.
[0051] Next, a transmission process of divided data portions in divided transmission according to an embodiment of the present disclosure will be described. Generally, the processing load on the server 200 for telemetry data may vary depending on the data type, etc. That is, for telemetry data A and B with the same data volume, the server 200 may be able to process telemetry data A with a normal processing load, but may require twice the normal processing load to process telemetry data B. Therefore, in this embodiment, the transmitting unit 110 may determine the data volume of the data to be transmitted based on the processing load of the data to be transmitted by the server 200. This allows each transmitter 100_i to transmit telemetry data to the server 200 in accordance with the processing load of the server 200, enabling the server 200 to reliably process the telemetry data received from each transmitter 100_i.
[0052] 7 is a timing diagram illustrating a data transmission process according to an embodiment of the present disclosure. In the embodiment illustrated in FIG. 7, it is assumed that the allowable data volume notified by server 200 is a data volume equivalent to a total load of 6. To prevent the data volume equivalent to a total load of 6 from being exceeded, transmitter 110 divides and transmits the data portions constituting the data to be transmitted in chronological order.
[0053] As shown in FIG. 7 , transmitter 100_1 (transmitter #1) first holds data #70 to be transmitted as standby data. At transmission opportunity #1 for divided transmission, transmitter 100_1 selects data portions 71 to be transmitted at transmission opportunity #1 in the order in which each data portion of standby data 70 is stored so that the total load does not exceed 6, and transmits the selected data portions 71 to server 200 at transmission opportunity #1. In the illustrated embodiment, transmitter 110 selects one load 3 data and three load 1 data in chronological order, starting with the load 3 data stored first in standby data 70, so that the total load does not exceed 6, and transmits these one load 3 data and three load 1 data to server 200 at transmission opportunity #1. Meanwhile, the data portions not selected are held as standby data 72 to be transmitted at subsequent transmission opportunities.
[0054] At transmission opportunity #2, the transmitter 100_1 selects a data portion 73 to be transmitted at transmission opportunity #2 in the order in which each data portion of the queued data 72 is stored so that the total load does not exceed 6, and transmits the selected data portion 73 to the server 200 at transmission opportunity #2. In the illustrated embodiment, the transmitter 110 selects one piece of data for load 4 and one piece of data for load 1 in chronological order, starting from the data for load 4 that was stored earliest in the queued data 72, so that the total load does not exceed 6, and transmits these pieces of data for load 4 and one piece of data for load 1 to the server 200 at transmission opportunity #2. On the other hand, the data portions not selected are held as queued data 74 to be transmitted at subsequent transmission opportunities.
[0055] At transmission opportunity #3, transmitter 100_1 selects data portions 75 to be transmitted at transmission opportunity #3 in the order in which each data portion of standby data 74 is stored so that the total load does not exceed 6, and transmits the selected data portions 75 to server 200 at transmission opportunity #3. In the illustrated embodiment, transmitter 110 selects one piece of data for load 3 and two pieces of data for load 1 in chronological order, starting with the data for load 3 that was stored first in standby data 74, so that the total load does not exceed 6, and transmits this one piece of data for load 3 and two pieces of data for load 1 to server 200 at transmission opportunity #3. As a result, transmitter #1 completes transmission of all data portions of data 70 to be transmitted in divided transmission.
[0056] 8 is a timing diagram illustrating a data transmission process according to an embodiment of the present disclosure. In the embodiment illustrated in FIG. 8, it is assumed that the allowable data volume notified by server 200 is a data volume equivalent to a total load of 6. To avoid exceeding the data volume equivalent to a total load of 6, transmitter 110 divides and transmits data portions constituting the data to be transmitted according to priority. Here, the priority of each data portion may be determined according to the processing load, without limitation. In this case, a higher priority is set for a data portion with a larger processing load.
[0057] As shown in FIG. 8 , the transmitter 100_1 (transmitter #1) first holds the data 80 to be transmitted as standby data. At transmission opportunity #1 for divided transmission, the transmitter 100_1 selects data portions 81 to be transmitted at transmission opportunity #1 in order of priority of each data portion of the standby data 80 so that the total load does not exceed 6, and transmits the selected data portions 81 to the server 200 at transmission opportunity #1. In the illustrated embodiment, the transmitter 110 selects one data portion of load 3, one data portion of load 2, and one data portion of load 1 from the standby data 80 in order of priority, starting with the data portion of load 3 with the highest priority, so that the total load does not exceed 6, and transmits these data portions of load 3, load 2, and load 1 to the server 200 at transmission opportunity #1. On the other hand, the data portions not selected are held as standby data 82 to be transmitted at subsequent transmission opportunities. Note that data portions of the same load may or may not be selected in chronological order.
[0058] At transmission opportunity #2, the transmitter 100_1 selects data portions 83 to be transmitted at transmission opportunity #2 in order of priority of each data portion of the queued data 82 so that the total load does not exceed 6, and transmits the selected data portions 83 to the server 200 at transmission opportunity #2. In the illustrated embodiment, the transmitter 110 selects one piece of data for load 2 and four pieces of data for load 1 in order of priority from the queued data 82, starting with the data for load 2 with the highest priority, so that the total load does not exceed 6, and transmits this one piece of data for load 2 and four pieces of data for load 1 to the server 200 at transmission opportunity #2. On the other hand, the data portions not selected are held as queued data 84 to be transmitted at a subsequent transmission opportunity.
[0059] At transmission opportunity #3, transmitter 100_1 selects a data portion 85 to be transmitted at transmission opportunity #3 in order of priority of each data portion of waiting data 74 so that the total load does not exceed 6, and transmits the selected data portion 85 to server 200 at transmission opportunity #3. In the illustrated embodiment, transmitter 110 selects one piece of load 1 data in order of priority from waiting data 84, starting with data with the highest priority load 1, so that the total load does not exceed 6, and transmits one piece of load 1 data to server 200 at transmission opportunity #3. As a result, transmitter #1 completes transmission of all data portions of data 80 to be transmitted in divided transmission.
[0060] Here, the processing load of each data portion of the data to be transmitted may be calculated as follows: First, the threshold M of the allowable metric max (For example, a CPU utilization rate of 80%) is determined. max can be set as an upper limit for the system to operate while maintaining QoS, including auto-scaling.
[0061] Next, when testing the processing load on the server 200, data is sent simultaneously for each data type (kind) and metrics are measured. max The maximum number of data of a data type that does not exceed N max_kind The data types include, for example, normal data (normal), event data (event), device abnormality data (asset_alert), sensor abnormality data (sensor_alert), data requiring conversion (convert), and data older than a certain period of time (old).
[0062] Next, to set the weight of normal data to 1, the weight of data for each data type w kind , w kind = N max_kind / N max_normal Then, the N measured in the load test is max_normal is treated as the capacity C of the server 200.
[0063] Then, the amount of data of the data type kind among the data to be transmitted by the transmitter 100_i is N kind As,Σkind w kind N kind is the allowable data volume c (= cr / T), c i (=c+(1-r)C×d i The data to be transmitted is divided and transmitted so as not to exceed the maximum data size (D).
[0064] In this way, the load of the data portion can be determined for each data type based on the processing load of normal data that can be processed by the server 200 under normal processing load.
[0065] [Data Transmission Process] Next, a data transmission process according to an embodiment of the present disclosure will be described. Fig. 9 is a flowchart showing the data transmission process according to an embodiment of the present disclosure. The data transmission process is performed by the transmitter 100 described above, and more specifically, may be realized by one or more processors 104 of the transmitter 100 executing one or more programs or instructions stored in one or more memory devices 103.
[0066] 9 , in step S101, the transmitter 100 transmits a capacity confirmation to the server 200. The capacity confirmation is for each transmitter 100 to inquire about the allowable amount of data that can be transmitted to the server 200, and for each transmitter 100 to notify the server 200 of the amount of data that the transmitter 100 wishes to transmit. After transmitting the capacity confirmation, each transmitter 100 waits for a response from the server 200 for a predetermined waiting time.
[0067] In step S102, the transmitter 100 receives a notification of the allowable data amount. For example, the server 200 may notify each transmitter 100 of the allowable data amount based on the processing load of normal data that can be processed under a normal processing load.
[0068] In step S103, the transmitter 100 divides and transmits the data to be transmitted based on the allowable data amount. Specifically, the transmitter 100 divides the data to be transmitted into a plurality of data portions, selects a data portion so that the allowable data amount is not exceeded at each transmission opportunity, and transmits the selected data portion to the server 200.
[0069] According to the transmitter 100 and data transmission process described above, it is possible to transmit to the server 200 the amount of data that the server 200 can process without losing any data to be transmitted. Furthermore, it is possible to notify each transmitter 100 of the allowable amount of data that can be transmitted to the server 200 according to the amount of data that each transmitter 100 wishes to transmit. Furthermore, even if it is not possible for some reason to know the amount of data that each transmitter 100 wishes to transmit, each transmitter 100 can transmit at least the minimum guaranteed amount of data.
[0070] The following supplementary notes are further disclosed in relation to the above description. (Supplementary Note 1) A transmitter comprising: a transmitting unit that transmits a capacity confirmation to a server; and a receiving unit that receives a notification of an allowable data amount from the server, wherein the transmitting unit divides and transmits the data to be transmitted to the server based on the allowable data amount and the amount of data to be transmitted. (Supplementary Note 2) The transmitter according to Supplementary Note 1, wherein the transmitting unit divides the data to be transmitted into data portions so as not to exceed the allowable data amount, and transmits the data portions at each transmission opportunity. (Supplementary Note 3) The transmitter according to Supplementary Note 1 or 2, wherein the capacity confirmation indicates the amount of the data to be transmitted. (Supplementary Note 4) The transmitter according to any one of Supplements 1 to 3, wherein the allowable data amount indicates a first data amount that is allocated equally to each transmitter that transmits data to the server, or a second data amount that is allocated in accordance with the amount of data to be transmitted from each transmitter. (Supplementary Note 5) The transmitter according to Supplementary Note 4, wherein, when a notification of the allowable data amount cannot be received from the server, the transmitting unit divides and transmits the data to be transmitted to the server so that the first data amount is not exceeded. (Supplementary Note 6) The transmitter according to any one of Supplements 1 to 5, wherein, when a notification of the allowable data amount cannot be received from the server, the transmitting unit divides and transmits the data to be transmitted to the server so that the data does not exceed the allowable data amount most recently obtained from the server. (Supplementary Note 7) The transmitter according to Supplementary Note 4, wherein, when the server cannot receive the capacity confirmation, the receiving unit applies the first data amount as the allowable data amount. (Supplementary Note 8) The transmitter according to any one of Supplements 1 to 7, wherein the transmitting unit determines the data amount of the data to be transmitted based on the processing load of the server on the data to be transmitted. (Supplementary Note 9) The transmitter according to Supplementary Note 8, wherein the transmitting unit divides and transmits data portions constituting the data to be transmitted in chronological order. (Supplementary Note 10) The transmitter according to Supplementary Note 8, wherein the transmitting unit divides and transmits the data to be transmitted in accordance with the priority of the data portions constituting the data to be transmitted. (Supplementary Note 11) The transmitter according to Supplementary Note 10, wherein the priority is determined according to the processing load of the data portions.(Supplementary Note 12) A transmission method in which a transmitter executes the following: sending a capacity confirmation to a server, receiving a notification of an allowable data amount from the server, and dividing and transmitting the data to be transmitted to the server based on the allowable data amount and the data amount of the data to be transmitted. (Supplementary Note 13) A program that causes a transmitter to execute the following: sending a capacity confirmation to a server, receiving a notification of an allowable data amount from the server, and dividing and transmitting the data to be transmitted to the server based on the allowable data amount and the data amount of the data to be transmitted. (Supplementary Note 14) A cloud system comprising: a server; and one or more transmitters, each transmitter having a transmitting unit that transmits a capacity confirmation to the server, and a receiving unit that receives a notification of the allowable data amount from the server, and the transmitting unit divides and transmits the data to be transmitted to the server based on the allowable data amount and the data amount of the data to be transmitted.
[0071] Although examples of the present disclosure have been described in detail above, the present disclosure is not limited to the specific embodiments described above, and various modifications and variations are possible within the scope of the gist of the present disclosure as set forth in the claims.
[0072] The disclosures of the specification, drawings and abstract contained in Japanese Patent Application No. 2024-032168, filed March 4, 2024, are incorporated herein by reference in their entirety.
[0073] The present disclosure is useful for cloud systems for IoT devices.
[0074] 10 Cloud system 20 IoT device 50 Communication network 100 Transmitter 110 Transmission unit 120 Reception unit
Claims
1. A transmitter comprising: a transmitting unit that transmits a capacity confirmation to a server; and a receiving unit that receives a notification of an allowable data volume from the server, wherein the transmitting unit divides and transmits the data to be transmitted to the server based on the allowable data volume and the data volume of the data to be transmitted.
2. The transmitter according to claim 1, wherein the transmitting unit divides the data to be transmitted into data portions so as not to exceed the allowable data amount, and transmits the data portions at each transmission opportunity.
3. The transmitter of claim 1, wherein the capacity confirmation indicates the amount of data to be transmitted.
4. The transmitter of claim 1, wherein the allowable data amount indicates a first data amount that is allocated equally to each transmitter that transmits data to the server, or a second data amount that is allocated according to the amount of data to be transmitted by each transmitter.
5. A transmitter as described in claim 4, wherein, if notification of the allowable data volume is not received from the server, the transmitting unit divides and transmits the data to be transmitted to the server so that the first data volume is not exceeded.
6. A transmitter as described in claim 1, wherein, if notification of the allowable data volume is not received from the server, the transmitting unit divides and transmits the data to the server so as not to exceed the allowable data volume most recently obtained from the server.
7. The transmitter of claim 4, wherein if the server fails to receive the capacity confirmation, the receiver applies the first data amount as the allowed data amount.
8. The transmitter according to claim 1, wherein the transmitting unit determines the amount of data to be transmitted based on the processing load of the data to be transmitted by the server.
9. The transmitter according to claim 8, wherein said transmission unit divides and transmits data portions that make up said data to be transmitted in chronological order.
10. The transmitter according to claim 8, wherein said transmission unit divides and transmits the data to be transmitted in accordance with the priority of the data portions that make up the data to be transmitted.
11. The transmitter according to claim 10, wherein the priority is determined according to the processing load of the data portion.
12. A transmission method in which a transmitter performs the following steps: sending a capacity confirmation to a server; receiving notification of an allowable data volume from the server; and dividing and transmitting the data to be transmitted to the server based on the allowable data volume and the data volume of the data to be transmitted.
13. A program that causes a transmitter to execute the following steps: sending a capacity confirmation to a server; receiving notification of an allowable data volume from the server; and dividing and transmitting the data to be transmitted to the server based on the allowable data volume and the volume of the data to be transmitted.
14. A cloud system comprising: a server; and one or more transmitters, each transmitter comprising: a transmitting unit that transmits a capacity confirmation to the server; and a receiving unit that receives notification of an allowable data volume from the server, wherein the transmitting unit divides and transmits the data to be transmitted to the server based on the allowable data volume and the volume of the data to be transmitted.