Data transfer control system and data transfer control method
The data transfer control system manages data load from multiple on-site terminals to a cloud server by adjusting data transfer timing, addressing overlapping issues and adapting to changes, thus preventing load concentration and ensuring efficient data processing.
Patent Information
- Application Number
- JP2024114076
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-17
- Publication Date
- 2026-01-29
AI Technical Summary
Existing data transfer systems struggle to manage and control data load from multiple on-site terminals to a cloud server, leading to potential performance degradation due to overlapping data transfers and difficulty in adjusting to changes in the number of terminals or services.
A data transfer control system with a data processing device that manages data transfer timing based on load information, using a data transfer timing management unit to set and control data transmission timing across multiple data transmitting devices, including a data transfer timing control unit to adjust timing as needed.
The system effectively manages data transfer load by setting appropriate timing, preventing data reception concentration and processing overload, and adapts to changes in the number of terminals or data volume.
Smart Images

Figure 2026013617000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a data transfer control system and a data transfer control method for transferring data from devices located on-site, such as in a building, to a server application operated in the cloud or the like. [Background technology]
[0002] In recent years, due to improvements in the performance of terminals installed in buildings and other on-site locations and an increase in the number of sensors connected to these devices, various services (applications) are now running on on-site terminals, and a wide variety of data is now being sent from multiple on-site terminals installed in multiple buildings to servers operating in the cloud, etc., and a large number of these on-site terminals are now operating in various locations.
[0003] In such cases, the services that run on the field terminals are run by separate programs, and the timing of data acquisition and transfer is separate for each program. If the timing of data transfers within the same field terminal overlaps, it is possible to adjust the transfer timing using a data transfer buffer, etc. However, if data transfers from multiple terminals overlap on the server side, writing to the database, etc. will be concentrated, and depending on the amount of data received simultaneously, mutual adjustment is not necessarily easy, and there is a possibility that the performance of services that use these databases will decrease.
[0004] A conventional invention of this type is described in Patent Document 1 (International Publication No. 2023 / 089785). In Patent Document 1, data with multiple priorities is transmitted by time division multiplexing inside a field terminal or the like. The document also describes a technology for controlling the data transfer load on the terminal side by providing a schedule queue and a priority queue to avoid overlapping data transmission timing, and transferring data through the schedule queue and the priority queue, respectively. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] International Publication No. 2023 / 089785 Summary of the Invention [Problem to be solved by the invention]
[0006] The technology described in Patent Document 1 makes it possible to distribute the timing of data transfers by running multiple services inside a terminal. However, it is not possible to control the data transfer load from multiple on-site terminals located in multiple buildings on the server application side running on the cloud, and it is also difficult to flexibly respond to changes such as an increase or decrease in the number of terminals or services. [Means for solving the problem]
[0007] In order to solve at least one of the above problems, the data transfer control system of the present invention is a data transfer control system having a plurality of data transmitting devices and a data processing device that receives data transmitted from the plurality of data transmitting devices, wherein the data processing device has a data transfer timing management unit that sets the timing of data transfer in the data transmitting device based on data transmission load information of an application that transmits data from the data transmitting device to the data processing device, and the data transmitting device has a data transfer timing control unit that controls the timing of data transfer at the timing set by the data transfer timing management unit. [Effects of the Invention]
[0008] According to the present invention, it is possible to set and control the appropriate timing for transmitting data to the server between multiple field terminals, and if there is a change in the situation, such as an increase or decrease in the number of terminals or the amount of data transmitted, it is possible to avoid concentration of load during data reception and subsequent processing by reviewing the timing of data transmission.
[0009] Furthermore, problems, configurations and effects other than those described above will become apparent from the following description of the embodiments. [Brief explanation of the drawings]
[0010] [Figure 1] 1 is a diagram illustrating an example of the overall configuration of a data transfer control system according to a first embodiment. [Figure 2] FIG. 2 is a diagram illustrating an example of the configuration of an application execution platform according to a first embodiment. [Figure 3] FIG. 2 is a diagram illustrating an example of the configuration of a field terminal according to the first embodiment. [Figure 4A] FIG. 2 is a diagram illustrating an example of a table configuration of a service information DB according to the first embodiment. [Figure 4B] FIG. 2 is a diagram illustrating an example of a table configuration of a terminal information DB according to the first embodiment. [Figure 4C] FIG. 2 is a diagram illustrating an example of a table configuration of a slot setting information DB according to the first embodiment. [Figure 4D] FIG. 2 is a diagram illustrating an example of a table configuration of a slot allocation information DB according to the first embodiment. [Figure 4E] 10 is a diagram illustrating an example of a table configuration of a flow slot allocation information DB in the first embodiment. FIG. [Figure 4F] FIG. 10 is a diagram illustrating an example of a table configuration of a slot adjustment trigger information DB according to the first embodiment. [Figure 4G] FIG. 2 is a diagram illustrating an example of a table configuration of a learning data information DB according to the first embodiment. [Figure 4H] FIG. 2 is a diagram illustrating an example of a table configuration of a slot information DB according to the first embodiment. [Figure 4I] FIG. 2 is a diagram illustrating an example of a table configuration of a sensor information DB according to the first embodiment. [Figure 5] 10 is a flowchart showing a flow of a slot allocation process in the first embodiment. [Figure 6A] 10 is a flowchart showing the flow of a slot setting process in the first embodiment. [Figure 6B] FIG. 4 is a diagram illustrating an example of a format of a request signal in the first embodiment. [Figure 6C] FIG. 10 is a diagram illustrating an example of a format of a response signal in the first embodiment. [Figure 7] 10 is a flowchart showing the flow of a slot adjustment process in the first embodiment. [Figure 8] 10 is a flowchart showing the flow of a flexible slot allocation process from a field terminal in the first embodiment. [Figure 9] 10 is a flowchart showing the flow of a shift slot allocation process from the application execution platform in the first embodiment. [Figure 10] FIG. 10 is a diagram illustrating an example of a screen configuration for viewing a slot allocation status in the first embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0011] Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.
[0012] In the following examples, the components (including element steps, etc.) are not necessarily essential unless otherwise specified or considered to be clearly essential in principle.
[0013] Furthermore, when describing processing by a program, the program or functional units may be described as the main components, but the main hardware component of these is a processor or an information processing device (computer) configured to include the processor. The information processing device executes processing according to the program read into memory using resources such as memory and communication interfaces as appropriate through the processor. In addition to a CPU, a GPU (Graphical Processing Unit) or a DSP (Digital Signal Processor) may also be used as the processor. Furthermore, processing to realize a function is not limited to software program processing, and can also be implemented using a dedicated circuit. Dedicated circuits such as an FPGA (Field Programmable Gate Array) or ASIC (Application Specific Integrated Circuit) can be used. [Example]
[0014] 1 is a schematic diagram of the overall configuration of a data transfer control system 100 in this embodiment, illustrating an example of a configuration in which an application execution platform 20 on a cloud 1 aggregates and stores data from field terminals 30 installed in multiple buildings 2. That is, the application execution platform 20 assigns the timing of data transfer for each field terminal 30, and the field terminals 30 connected via a network 10 transfer data at the assigned timing, thereby controlling (adjusting) the load of receiving data in the application execution platform 20.
[0015] More specifically, in the data transfer control system 100, a data receiving unit 214 and a data transfer timing management unit 211 operate mainly within the application execution platform 20 that operates on the cloud 1, and a data transmitting unit 311 that mainly transmits data received from multiple sensors 40 and a data transfer timing control unit 313 that controls the transfer timing operate within the field terminals 30 located in multiple buildings 2 (other processing units within the application execution platform 20 and the field terminals 30 will be described later).
[0016] 1, only one application execution platform 20 is installed, but the number is not limited to this, and multiple servers may be connected over a network to achieve the same functions. Also, although the application execution platform 20 is configured to run on the cloud 1, it may be executed in a location other than the cloud, such as in the building where the administrator performs his or her work.
[0017] Building 2 is made up of one or more buildings, each of which is installed with an on-site terminal 30. In this case, there may be multiple on-site terminals in one building 2. Furthermore, multiple sensors 40 may be installed in each building 2, and the number and types of sensors 40 may be different. Furthermore, the on-site terminals 30 and the multiple sensors 40 in building 2 are connected by an in-house LAN (Local Area Network), and the in-house LAN may be connected via a wired LAN, wireless LAN, or short-range wireless, for example, or multiple connection methods may be used in combination.
[0018] With this configuration, each field terminal 30 shares slots that are defined on a common time axis as divisions (timings) for data transmission, and by transmitting data collected from the sensors 40 at slots (timings) assigned to each by the application execution platform 20, it is possible to suppress concentration of load on the data receiving unit 214 of the application execution platform 20.
[0019] The application execution platform 20 corresponds to a data processing device in the claims, and the field terminal 30 corresponds to a data transmission device in the claims.
[0020] In this embodiment, the terms "data transfer" and "data transmission" are used to mean the same thing unless otherwise specified.
[0021] 2 is a diagram showing an example of the configuration of application execution platform 20. Application execution platform 20 is configured by a general-purpose computer, and its processing contents are stored in the form of a program (software) in auxiliary storage device 204. A CPU (Central Processing Unit) 202 reads the program from auxiliary storage device 204, deploys (loads) it into memory 201, and executes it. Application execution platform 20 communicates with other servers via network I / F 205.
[0022] The I / O (input / output interface) 203 is a user interface that allows a user to input instructions to the application execution platform 20 and present the results of program execution, etc., to the user. Input / output devices (e.g., keyboard, mouse, touch panel, display, printer, etc.) are connected to the I / O (203). A user interface provided by a management terminal (not shown) connected via a network may also be connected to the I / O (203).
[0023] The CPU (202) is a processor that executes programs loaded from the auxiliary storage device 204 into the memory 201. The memory 201 includes a ROM (Read Only Memory), which is a non-volatile storage element, and a RAM (Random Access Memory), which is a volatile storage element. The ROM stores unchanging programs (e.g., a Basic Input Output System (BIOS)). The RAM is a high-speed, volatile storage element such as a DRAM (Dynamic Random Access Memory), and temporarily stores programs stored in the auxiliary storage device 204 and data used when the programs are executed.
[0024] Specifically, the following programs are loaded into the memory 201 from the auxiliary storage device 204: a data transfer timing management unit 211, a slot adjustment trigger monitoring unit 212, a flow slot allocation control unit 213, a data receiving unit 214, and a service application 220, and are executed by the CPU (202) to function as each processing unit.
[0025] The data transfer timing management unit 211 creates and allocates slots when service operation starts, transmits slot allocation information to the field terminal 30, and adjusts slots when conditions are met in the slot adjustment trigger monitoring unit 212. Details of these processes will be described later.
[0026] The slot adjustment trigger monitoring unit 212 monitors whether the conditions for requiring slot readjustment are met. The monitoring results are stored in the slot adjustment trigger information DB (256) of the auxiliary storage device 204.
[0027] The transfer slot allocation control unit 213 manages which terminal a transfer slot is allocated to when a request from the field terminal 30 is received or when a transfer slot allocation condition, which will be described later, is met. Details of this process will be described later.
[0028] The data receiving unit 214 receives and stores data transmitted from the field terminal 30. The data receiving unit 214 also receives various signals such as requests to the above-mentioned flow slot allocation control unit 213, and transfers them to a predetermined processing unit.
[0029] The service application 220 is an application for providing a service running on the application execution platform 20. For example, it may include a web application that processes data collected from the field terminal 30, allows the user to view the data, or allows the user to perform a predetermined operation, or a batch processing application that performs processing triggered by a certain time, but it may also include various other applications without being limited to these.
[0030] The auxiliary storage device 204 is a large-capacity, non-volatile storage device such as a magnetic storage device (HDD: Hard Disk Drive) or a flash memory (SSD: Solid State Drive), and stores the programs executed by the CPU 202 as described above and data used when the programs are executed. That is, the auxiliary storage device 204 stores a service information DB (251), a terminal information DB (252), a slot setting information DB (253), a slot allocation information DB (254), a flow slot allocation information DB (255), a slot adjustment trigger information DB (256), and a learning data storage DB (257). Details of these DBs will be described later.
[0031] The application execution infrastructure 20 is a computer system configured on one physical computer or on multiple logical or physical computers, and programs stored in memory 201 may run in separate threads on the same computer, or may run on virtual computers built on multiple physical computer resources. The application execution infrastructure 20 and other devices may also be housed in a single physical or logical computer. All or part of the processing performed by executing a program may be implemented by hardware (e.g., a field-programmable gate array).
[0032] 3 is a diagram showing an example of the configuration of the field terminal 30. The field terminal 30 is configured by a general-purpose computer, and its processing contents are stored in the form of a program (software) in an auxiliary storage device 304. A CPU (Central Processing Unit) 302 reads the program from the auxiliary storage device 304, deploys it in memory 301, and executes it. The field terminal 30 communicates with the application execution platform 20 of the cloud 1 via a network I / F (305).
[0033] The I / O (input / output interface) 303 is a user interface that allows a user to input instructions to the field terminal 30 and present the results of program execution, etc., to the user. Input / output devices (e.g., keyboard, mouse, touch panel, display, printer, etc.) are connected to the I / O (303). A user interface provided by a management terminal (not shown) connected via a network may also be connected to the I / O (303).
[0034] The CPU (302) is a processor that executes programs loaded from the auxiliary storage device 304 into the memory 301. The memory 301 includes a ROM (Read Only Memory), which is a non-volatile storage element, and a RAM (Random Access Memory), which is a volatile storage element. The ROM stores unchanging programs (e.g., a Basic Input Output System (BIOS)). The RAM is a high-speed, volatile storage element such as a DRAM (Dynamic Random Access Memory), and temporarily stores programs stored in the auxiliary storage device 304 and data used when the programs are executed.
[0035] Specifically, the programs of the data transmission unit 311, sensor data aggregation unit 312, data transfer timing control unit 313, slot information update unit 314, and flow slot allocation request unit 315 are loaded from the auxiliary storage device 304 into the memory 301, and are executed by the CPU (302) to operate as each processing unit.
[0036] The data transmission unit 311 transmits data collected from the sensor 40 by the sensor data aggregation unit 312 to the application execution platform 20. As described above, the sensor data aggregation unit 312 transfers the data collected from the sensor 40 to the data transmission unit 311. The sensor data aggregation unit 312 corresponds to a transmission data aggregation unit in the claims.
[0037] The data transfer timing control unit 313 controls the time at which the data transmission unit 311 is allowed to transmit data based on slot allocation information transmitted from the data transfer timing management unit 212 of the application execution base 20 .
[0038] The slot information update unit 314 rewrites the information in the slot information DB (351) of the auxiliary storage device 304 when instructed by the data transfer timing management unit 212 of the application execution base 20 to change or update a slot.
[0039] If a preset condition is met, the flow slot allocation request unit 315 transmits a flow slot allocation request to the application execution platform 20. The service application 320 is an application for providing a service running on the field terminal 30, and includes, for example, batch processing for performing processing triggered by a certain time, but may also include various other applications.
[0040] The auxiliary storage device 304 is a large-capacity, non-volatile storage device such as a magnetic storage device (HDD: Hard Disk Drive) or a flash memory (SSD: Solid State Drive), and stores a slot information DB (351) and a sensor information DB (352). Details of these DBs will be described later.
[0041] All or part of the processing realized by executing a program may be realized by hardware (for example, a field-programmable gate array).
[0042] 4A to 4I show examples of the data structures and contents of various tables present in the auxiliary storage device 204 of the application execution platform 20 and the auxiliary storage device 304 of the field terminal 30. FIG.
[0043] 4A shows the data structure of the service information DB (251) and an example of its contents, storing information about services executed on the application execution platform 20 or the on-site terminal 30. Specifically, the DB contains a service information identifier 4A01, which has a unique value among the service information, a service name 4A02, and an average load 4A03, which indicates the level of load generated when the service is executed. Here, the average load specifies the frequency of data transfer requests between the application execution platform 20 and the on-site terminal 30 when the service is executed on the on-site terminal 30, and this value is used in the slot allocation process, which will be described later. Note that the average load 4A03 is not limited to any information that can be used in the slot allocation process, and may be, for example, the average bandwidth used when the service is running or the CPU load.
[0044] 4B shows the data structure of the terminal information DB (252) and an example of its contents, which stores information about terminals that are connected to and operate on the application execution platform 20. That is, the DB has a terminal information identifier 4B01 that has a unique value among the terminal information, a terminal name 4B02 that indicates the name of the terminal, a service used 4B03 that indicates which service is being used on the terminal, and an installation location 4B04 that indicates where the terminal is installed.
[0045] 4C shows the data structure of the slot setting information DB (253) and an example of its contents, which stores various conditions for generating data transfer slots in the slot allocation processing flow described later. Specifically, it has a maximum slot number 4C01 indicating the maximum number of slots to be created in one cycle, a slot unit 4C02 indicating the time width of one slot to be created, a slot capacity 4C03 indicating how much can be allocated per slot, a slot filling rate 4C04 indicating how much leeway should be allowed when allocating slots, and a floating slot rate 4C05 indicating what percentage of slots should be floating slots.
[0046] For example, if the slot unit 4C02 uses a time width, the maximum number of slots is "60," and the slot unit is "1 second," then 60 slots, with a maximum of 60 seconds per cycle, will be allocated to the terminal. The slot capacity 4C03 stores, for example, the number of requests or bandwidth. The floating slot ratio 4C05 specifies, in percentage, what percentage of the slot capacity 4C03 will be allocated as floating slots, and the slot filling rate 4C04 indicates what percentage will be allocated excluding this. These values are not limited to the examples shown above.
[0047] 4D shows the data structure of the slot allocation information DB (254) and an example of its contents, which stores information on which field terminal 30 is assigned to each slot, and has a slot number 4D01 and an assigned terminal 4D02. Here, the assigned terminal 4D02 stores a terminal identified by a terminal information identifier 4B01 in the terminal information DB (252).
[0048] 4E shows the data structure of the floating slot allocation information DB (255) and an example of its contents, and stores information on which field terminal 30 is assigned to each floating slot, and has a slot number 4E01 and an assigned terminal 4E02. Here, the assigned terminal 4E02 stores a terminal identified by the terminal information identifier 4B01 in the terminal information DB (252). Here, a floating slot is an emergency slot that is additionally assigned when there is a possibility that data transmission cannot be performed using only the previously assigned slot (sometimes referred to as a "normal slot" to distinguish it from a floating slot), such as when the amount of data transmission from the field terminal 30 increases rapidly for some reason.
[0049] 4F shows the data structure of the slot adjustment trigger information DB (256) and an example of its contents. This DB stores information about the conditions for timing slot adjustment, which will be described later in the slot adjustment processing flow. Specifically, the DB contains a slot adjustment trigger information identifier 4F01, which has a unique value among the slot adjustment trigger information; a trigger name 4F02, which indicates the name of the trigger; a trigger condition 4F03, which indicates the conditions under which the trigger must be met for the trigger to operate; and an adjustment content 4F04, which indicates the type of adjustment to be performed when the trigger condition is activated. The trigger conditions and adjustment content will be exemplified in the slot adjustment processing flow, which will be described later.
[0050] 4G shows the data structure and an example of the contents of the learning data information DB (257), which is used during slot adjustment processing and floating slot allocation processing. That is, it stores information on when and what kind of load was applied to each field terminal 30, and has a learning data information identifier 4G01 that has a unique value among the learning data information, a terminal information identifier 4G02 that indicates which field terminal 30 the learning data is information about, a start date and time 4G03 and an end date and time 4G04 that indicate when this data started and until when, and a data transfer amount 4G05 that indicates what kind of load was applied at that time.
[0051] Figure 4H shows the data structure of the slot information DB (351) and an example of its contents. It stores the slot to which the field terminal 30 is assigned, and has an assigned slot 4H01 indicating the assigned slot number and an assigned flow slot 4H02 indicating the assigned flow slot number.
[0052] 4I shows the data structure of the sensor information DB (352) and an example of its contents, and stores information on which sensor the on-site terminal 30 is communicating with to acquire information. That is, a sensor information identifier 4I01 having a unique value among the sensor information, a sensor name 4I02 indicating the name of the sensor, an installation location 4I03 indicating where the sensor is installed in building 2, and a data type 4I04 indicating what kind of data the sensor collects are stored. The sensor information DB corresponds to the transmission data information DB recited in the claims.
[0053] 5 is a flowchart of the slot allocation process in this embodiment. This flow is executed when slots for data transfer have not yet been created and slot allocation is performed for the first time, or when the overall slot allocation is reset and reallocation is performed. Note that, unless otherwise specified, the processes performed in this processing flow are performed by the data transfer timing management unit 211 of the application execution platform 20.
[0054] First, in step S501, the data transfer timing management unit 211 loads necessary data from the service information DB (251), terminal information DB (252), and slot setting information DB (253).
[0055] Next, in step S502, the number of required slots is determined, and slots are created. First, information (service name 4A02, average load 4A03 in FIG. 4A) on which services are being operated at each terminal and the average load imposed when operating those services is obtained from the service information DB (251) and the terminal information DB (252). Then, based on this information, the load on the entire system is calculated. Then, based on various conditions set in the slot setting information 253, the number of slots to be created at this point is determined. Specifically, first, the load on each terminal is calculated from the used service in the terminal information DB 252 and the average load 4A03 in the service information DB 251, and this is calculated for each terminal and added up to calculate the overall load. Then, the number of required slots is calculated using the slot capacity 4C03, flow slot ratio 4C05, and slot filling rate 4C04 in the slot setting information DB (253) using the following (Equation 1) (decimals after the decimal point are rounded up to integers in the calculation result of Equation 1).
[0056]
number
[0057] If the number of slots exceeds the maximum number of slots 4C01 in the slot setting information DB (253), an error message saying "Cannot set" is displayed on the slot allocation setting screen shown in Fig. 10. Alternatively, if a cloud is used and some available resources on the cloud can be automatically increased to increase the maximum number of slots, such processing may be performed.
[0058] Then, in step S503, the data transmission timing of each terminal is assigned to the slot created in S502. That is, terminals included in the terminal information DB 252 are assigned in order, starting with the slot with the lowest number. If assigning that terminal would exceed the slot filling rate, the terminal is assigned to the next slot. For example, in the slot setting information DB (253) shown in FIG. 4C, the floating slot ratio 4C05 per slot is "20%." Of the remaining 80%, the slot filling rate 4C04 is "60%," so 80 x 60 = 48% is available for assignment. Furthermore, since the slot capacity 4C03 is "20 requests / second," 20 x 48% = 9.6 requests can be assigned per slot. For example, if the average loads of terminals with terminal information identifiers 4B01 of "001," "002," "003," and "004" in the terminal information DB (252) are "1 request / sec," "4 requests / sec," "3 requests / sec," and "2 requests / sec," respectively, then terminals with terminal information identifiers 4B01 of "001," "002," and "003" can be assigned to slot number "01," but a terminal with terminal information identifier 4B01 of "004" will be assigned to the next slot number, "02." Note that, although assignment is performed in order of terminal number starting from the first slot here, assignment may also be performed using a predetermined assignment algorithm, etc.
[0059] Thereafter, in step S504, allocation to floating slots is performed in the same manner as for data transmission timing in an emergency from each terminal. Then, in step S505, the allocation results of steps S503 and S504 are registered in the slot allocation information DB (254) (FIG. 4D) and floating slot allocation information DB (255) (FIG. 4E), respectively. With the above processing, the slot allocation processing flow is completed.
[0060] Next, we will explain the process by which each on-site terminal 30 loads and transfers data from its own terminal into the slot allocated to each on-site terminal 30 as described above. Figure 6A is a flow chart showing the slot setting process, which shows how to load transfer data into a predetermined slot when the on-site terminal 30 is placed in building 2 and starts operating.
[0061] First, in step S601, the operation of the field terminal 30 is started. This is realized, for example, by the user directly turning on the power of the field terminal 30, or by starting a specific application on the field terminal 30.
[0062] Next, in step S602, the service application 320 of the field terminal 30, in accordance with the operation of each service, transmits the data and additional information acquired from each sensor 40 by the sensor data aggregator 312 to the data receiver 214 of the application execution platform 20 as a request signal via the data transmitter 311. Here, the additional information is, for example, the terminal information identifier of the field terminal 30 (4B01 in FIG. 4B) or the sensor information identifier of the sensor 40 (4I01 in FIG. 4I), and is information for identifying what data is from which field terminal 30, and is transmitted, for example, in a JSON format signal as shown in FIG. 6B. That is, in FIG. 6B, 6B01 is the terminal information identifier 4B01, 6B02 is the sensor information identifier 4I01, 6B03 is the acquisition date and time of the sensor information, 6B04 is the type of sensor information (here, "temperature"), and 6B05 is the acquired sensor information (here, the temperature is "17 degrees Celsius").
[0063] Next, in step S603, upon receiving the request signal transmitted in step S602, the data receiving unit 214 of the application execution platform 20 acquires the terminal information identifier 4B01 included in the additional information, queries the data transfer timing management unit 211 about slot settings, and the data transfer timing management unit 211 refers to the slot allocation information DB (254) and the floating slot allocation information DB (255), and transmits (replies) the allocated slot information of the terminal as a response (response signal) to the source on-site terminal 30 upon receiving the data. Figure 6C is an example of this response signal, in which 6C01 is status information (here, "success" indicating that the response was successful), and 6C02 is allocated slot information, which includes a slot number 6C02a of a normal slot (here, slot number "05") and a floating slot number 6C02b (here, slot number "01").
[0064] Next, in step S604, the data transmitting unit 311 of the field terminal 30 that has received the response signal acquires the allocated slot information and transfers it to the data transfer timing control unit 313. The data transfer timing control unit 313 stores the acquired slot information in the slot information DB (351) (FIG. 4H).
[0065] Then, in step S605, when the field terminal 30 newly transmits sensor data or the like, the data transfer unit 311 queries the data transfer timing control unit 313, adjusts the data transmission timing according to the slot information recorded in the slot information DB (351), and transmits the data.
[0066] In the application execution platform 20, the data receiving unit 214 records which field terminal 30 has transmitted data, when, and how much data, and stores the data as learning data in the learning data storage DB (257) (see FIG. 4G). At this time, when storing the learning data, the learning data to be stored may be selected by storing only cases where the data deviates by a certain percentage or more from the average load of the service information DB (251) (such as when a large amount of data greater than a predetermined amount than the average load has been received) (step S606).
[0067] Next, the slot adjustment process will be explained. Each field terminal 30 transmits sensor data and the like to the application execution base 20 according to the slot allocation set as described above. However, if there is a subsequent change in the number of field terminals 30, an addition of a service, or an increase in the amount of data transmission, the application execution base 20 may need to adjust the slot allocation that was set earlier. Figure 7 shows the flow for performing this slot adjustment process.
[0068] First, in step S701, the slot adjustment trigger monitoring unit 212 of the application execution platform 20 monitors the data transmission status, such as the number of field terminals 30 and the amount of data transferred, and checks whether one or more trigger conditions 4F03 are satisfied based on the slot adjustment trigger information DB (256) (FIG. 4F). If any of them are satisfied, the process proceeds to step S702; if not, step S701 is executed again after a predetermined time has elapsed.
[0069] In step S702, slots are adjusted according to the adjustment content 4F04 in the slot adjustment trigger information DB (256) (FIG. 4F). Various cases are possible for the trigger condition 4F03, and FIG. 4F shows examples of those conditions and adjustment content. For example, a trigger condition 4F03 with a slot adjustment trigger information identifier 4F01 of "001" occurs when the data transfer volume of a specific service at a specific terminal exceeds the average load of the service information, and a trigger condition 4F03 with a slot adjustment trigger information identifier 4F01 of "004" occurs when the total data transfer volume of a specific terminal exceeds the slot filling rate; these may occur simultaneously. The trigger conditions and adjustment content are not limited to these, and additional settings may be made as needed.
[0070] Then, in step S703, the data receiving unit 214 adds information about the result of the above-mentioned slot adjustment process (reassignment, etc.) to a response signal in response to the data transfer from the field terminal 30, and notifies it in the same manner as the example response format in Fig. 6C. With the above processing, the slot adjustment process flow is completed.
[0071] Next, we will explain the floating slot allocation in this embodiment. The floating slot allocation is a method of reducing the load on data transfer by also using the allocated floating slot 4H02 set in Fig. 4H when the amount of data transmitted from the field terminal 30 temporarily increases due to some factor. In other words, while the slot adjustment process described in Fig. 7 is a semi-permanent change (measure) such as a change in the number of terminals, this floating slot allocation is a temporary measure, and when the above factor is resolved, data transfer using the floating slot is canceled.
[0072] Flow slot allocation may be triggered by a request from the on-site terminal 30 to the application execution platform 20, or may be performed by monitoring various conditions on the application execution platform 20 side as well. Figure 8 shows the processing flow when a flow slot allocation is requested from the on-site terminal 30.
[0073] First, in step S801, the flow slot allocation request unit 315 of the on-site terminal 30 monitors various conditions of the terminal itself and checks whether the conditions meet preset flow slot allocation conditions. If they do, the process proceeds to step S802; if they do not, step S801 is executed again after a predetermined time has elapsed. Here, possible conditions for flow slot allocation include a temporary large increase in the amount of data transmitted by the on-site terminal 30, a large amount of data that has not been transmitted due to a poor network connection, or an increase in the importance of data transmission from the terminal itself due to a disaster or the like, but are not limited to these.
[0074] In step S802, the flow slot allocation request unit 315 transmits a flow slot allocation request to the flow slot allocation control unit 213 of the application execution platform 20.
[0075] Next, in step S803, the flow slot allocation control unit 213 allocates flow slots to the flow slots in descending order of priority from the flow slot allocation requests at that time, and notifies the result to the flow slot allocation request unit 315 of the field terminal 30, which then stores the allocated slot information in the slot information DB 351. The flow slot allocation priority here is determined by the flow slot allocation conditions, and this priority is assumed to be predetermined.
[0076] Thereafter, in step S804, the data transmitting unit 311 transmits data using the newly allocated floating slots in addition to the already allocated slots.
[0077] Thereafter, in step S805, the liquidation slot allocation request unit 315 checks the liquidation slot allocation conditions again, and if the conditions have been cancelled, the process proceeds to step S806, and if not, the data transfer continues as is.
[0078] In step S806, the flow slot allocation request unit 315 of the field terminal 30 deletes the flow slot allocation information from the slot information DB 351 and sends a cancellation request to the flow slot allocation management unit 215 of the application execution platform 20, and the flow slot allocation management unit 215 cancels the flow slot allocation of the field terminal in question and terminates the processing.
[0079] In the above flow, a request for flow slot allocation is made when the flow slot allocation conditions are met, but in cases where transmission data has accumulated due to poor network connection, for example, control may be performed to temporarily allow data transmission in slots other than the allocated slot.
[0080] 9 shows a flow slot allocation flow when a flow slot is allocated from the application execution platform 20 side. First, in step S901, the flow slot allocation control unit 213 of the application execution platform 20 monitors the surrounding environment, the data reception status from the field terminal 30, etc., and checks whether the pre-set flow slot allocation conditions are met. If the conditions are met, the process proceeds to step S902; if not, step S901 is executed again after a predetermined time has elapsed. Examples of conditions for allocating flow slots include, but are not limited to, when a disaster occurs and the importance of data from terminals in a certain area increases, when the contents of the learning data storage DB (257) indicate that the amount of data received is expected to increase in the future, and when signs of data transmitted from the field terminal 30 indicate that the amount of data transmitted from the field terminal is expected to increase in the future.
[0081] In step S902, the flow slot allocation control unit 213 allocates flow slots in order of priority to terminals with higher importance, taking into consideration whether or not there is a flow slot allocation request from the field terminal 30 at that time (for example, step S802 in FIG. 8). The flow slot allocation priority here is determined by the flow slot allocation conditions, and this priority is predetermined.
[0082] Thereafter, in step S903, the flow slot allocation control unit 213 transmits a flow slot allocation instruction including the allocated flow slot information to the field terminal 30, and the flow slot allocation request unit 315 of the field terminal 30, which receives the instruction, stores the allocated flow slot information in the slot information DB 351. Then, in step S904, the data transmission unit 311 of the field terminal 30 transmits data using the newly allocated flow slot in addition to the already allocated slot.
[0083] After a predetermined time has elapsed, in step S905, the flow slot allocation control unit 213 checks the situation and determines whether the flow slot allocation condition has been canceled. If the condition has been canceled, the process proceeds to step S907, and if not, the process proceeds to step S906.
[0084] In step S906, the flow slot allocation management unit 215 checks whether there is a request to cancel the flow slot allocation from the field terminal 30 that performed the flow slot allocation, and if there is a request to cancel, proceeds to step S907, and if there is no request, executes step S905 again after a predetermined time has elapsed.
[0085] Then, in step S907, the flow slot allocation management unit 215 cancels the allocation of the flow slot, and in step S908, the flow slot allocation management unit 215 transmits a flow slot allocation cancellation instruction to the field terminal 30, and the process ends.
[0086] 10 shows an example of a slot allocation status confirmation screen 1001 for viewing current slot allocation information. The slot allocation status confirmation screen 1001 is provided on a display device or the like of the I / O (203) of the application execution platform 20. This screen shows slot information set in the slot setting DB (253) (FIG. 4B) as slot setting 1002.
[0087] Normal slot allocation status 1003 shows which terminal is currently allocated to which slot, and the allocated bandwidth status of that slot. Also, floating slot allocation status 1004 shows which terminal is currently allocated to which floating slot, and the allocated bandwidth status of that floating slot. This screen allows you to check the allocation status for slots at that time, and the status when the allocation status changes due to slot adjustment.
[0088] As explained above, according to this embodiment, it is possible to set and control the appropriate timing for transmitting data to the server between multiple field terminals, and also, if there is a change in the situation, such as an increase or decrease in the number of terminals or the amount of data transmitted, it is possible to avoid concentration of load during data reception and subsequent processing by reviewing the timing of data transmission. [Explanation of symbols]
[0089] 1: Cloud 2: Building 10: Network 20: Application execution platform 30: Field terminal 40: Sensor
Claims
1. A data transfer control system having a plurality of data transmission devices and a data processing device that receives data transmitted from the plurality of data transmission devices, the data processing device has a data transfer timing management unit that sets timing of data transfer in the data transmission device based on data transmission load information of an application that transmits data from the data transmission device to the data processing device; the data transmitting device has a data transfer timing control unit that controls the timing of data transfer at the timing set by the data transfer timing management unit; A data transfer control system comprising:
2. 2. The data transfer control system according to claim 1, The data processing device includes: a service information DB that records the names of the services of the application and the average loads of the data transmissions; a terminal information DB that records information including the types of the applications executed by the plurality of data transmission devices; a slot setting information DB that records information about configuration conditions of data transfer slots that define the timing of data transfer in the data transmitting device; a slot allocation information DB that records information about the timing of data transfer set by the data transfer timing management unit; a data receiving unit that receives data from the data transmitting device; and The data transmission device a slot information DB that records information about the data transfer timing set by the data transfer timing management unit; a transmission data information DB that records information about a device from which data is to be transmitted to the data processing device; a transmission data aggregation unit that acquires and aggregates data to be transmitted to the data processing device; a data transmission unit that transmits the data aggregated by the transmission data aggregation unit to the data processing device at the data transfer timing; having A data transfer control system comprising:
3. 3. The data transfer control system according to claim 2, The data processing device includes: a slot adjustment trigger monitoring unit that monitors a data transmission status of the data transmitting device, and the slot adjustment trigger monitoring unit readjusts the data transfer timing when a trigger condition previously set in a slot adjustment trigger information DB is satisfied; The data transmission device transmitting data to the data processing device at the data transfer timing readjusted by the data processing device; A data transfer control system comprising:
4. 4. The data transfer control system according to claim 3, The trigger condition is at least one of an increase or decrease in the number of the services, an increase or decrease in the number of the data transmission devices, a change in the amount of the transmitted data, and the occurrence of a disaster. A data transfer control system comprising:
5. 5. The data transfer control system according to claim 4, The data processing device includes: In the data transfer timing management unit, a floating slot is created which is used only under specific conditions, in addition to a normal slot which is used for data transfer under normal circumstances; dynamically allocating the floating slots to the data transmission device to control the timing of data transfer from the data transmission device; A data transfer control system comprising:
6. 6. The data transfer control system according to claim 5, the data transmitting device monitors its own status, and when a predetermined condition is met, requests the data processing device to allocate the floating slot; A data transfer control system comprising:
7. 7. The data transfer control system according to claim 6, A data transfer control system, characterized in that the data processing device monitors the data transmitted from the data transmission device, and allocates the floating slot when a predetermined condition is met.
8. 8. The data transfer control system according to claim 7, the data processing device has an input / output interface for displaying information regarding the data transfer timing performed by the data transfer timing management unit; A data transfer control system comprising:
9. 1. A data transfer control method for receiving data transmitted from a plurality of data transmission devices by a data processing device, comprising: setting a timing for data transfer in the data transmission device in the data processing device based on data transmission load information of an application that transmits data from the data transmission device to the data processing device; data is transferred from the data transmitting device to the data processing device at the set data transfer timing; A data transfer control method comprising:
Citation Information
Patent Citations
Transmission device, communication system, transmission method, and program
WO2023089785A1