Data collection system
The data collection system optimizes data transfer timing on the server side to reduce load and power consumption at data sources, addressing packet loss and resource inefficiencies in existing systems.
Patent Information
- Application Number
- PCT/JP2024/003648
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-05
- Publication Date
- 2025-08-14
AI Technical Summary
Existing data collection systems place a significant load on data sources due to immediate data transmission requests, leading to potential packet loss and increased power consumption, especially in wide-area networks with multiple data sources.
A data collection system where the server determines the timing of data acquisition based on network conditions and application needs, reducing the load on data sources by managing data transmission through Remote Direct Memory Access (RDMA) and adjusting data transfer policies.
This approach minimizes packet loss and reduces power consumption at data sources by optimizing data transfer timing, allowing efficient data collection without overburdening the data sources and conserving network resources.
Smart Images

Figure JP2024003648_14082025_PF_FP_ABST
Abstract
Description
Data Collection System
[0001] The present disclosure relates to communication control for data collection.
[0002] A data collection system has been proposed that collects data from data sources such as user terminals and sensors to a server (see, for example, Patent Document 1). In Patent Document 1, the data source determines whether to transmit data and makes a request to establish a communication path based on the determination result.
[0003] Remote Direct Memory Access (RDMA) is being considered as a method for transferring data at high speed (see, for example, Patent Document 1 and Non-Patent Document 1). RDMA transfers data from the memory of a local computer to the memory of a different remote computer by DMA (direct data transfer between peripheral devices, main memory (RAM), etc., without going through the CPU).
[0004] PCT / JP2021 / 028660
[0005] RFC5040 (https: / / www.rfc-editor.org / rfc / rfc5040.html)
[0006] In Patent Document 1, the data source is responsible for the function of requesting establishment of a communication path, which causes a problem of a large load on the data source. Therefore, an object of the present disclosure is to reduce the load on the data source during data transfer.
[0007] The system of the present disclosure includes the server of the present disclosure and a plurality of data sources connected to the server via a communication network.
[0008] The server of the present disclosure is connected to a data source via a communication network and executes the method of the present disclosure, which includes receiving a data occurrence notification from the data source indicating that data has occurred, determining whether to acquire data from the data source using information obtained by the server, and acquiring data from the data source based on the result of the determination.
[0009] The server of the present disclosure may have a function for performing processing using data acquired from the data source, and may determine to acquire data from the data source when the function uses data from the data source.
[0010] The above disclosures can be combined as much as possible.
[0011] According to the present disclosure, the load on the data source during data transfer can be reduced.
[0012] 1 shows an example of a system configuration of the present disclosure. 2 shows an example of a sequence executed by the system of the present disclosure. 3 shows an example of a configuration of a data source 10. 4 shows an example of a configuration of a transmission management unit 60. 5 shows an example of a configuration of a server 30. 6 shows an example of a requirements table. 7 shows an example of a transmission policy table. 8 shows an example of a data notification table. 9 is a flow diagram showing an example of the operation of a data transmission timing control function. 10 shows an example of a sequence executed by the system of the present disclosure. 11 shows an example of a configuration of a data source 10.
[0013] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. Note that the present disclosure is not limited to the embodiments shown below. These implementation examples are merely illustrative, and the present disclosure can be implemented in various forms with various modifications and improvements based on the knowledge of those skilled in the art. Note that components with the same reference numerals in this specification and drawings indicate the same components.
[0014] If data is sent immediately after it is generated at the data source, packet loss may occur due to traffic collision. Therefore, the system disclosed herein determines the timing of data transmission on the server side. In the first embodiment, the server acquires data from the data source at the timing determined by the server.
[0015] This allows the server to receive data according to the communication and application status, enabling data to be sent and received without packet loss. It also allows data to be received when the server and application need it. It also reduces the amount of processing at the data source, reducing the load on the data source and power consumption.
[0016] In the present disclosure, the data source may determine the timing for transmitting a data generation notification. In a second embodiment, the data source transmits the data generation notification at the timing determined by the data source. This allows the data source to accumulate and transmit a certain amount of data. In this way, by sending notifications in bulk, the load and power consumption on the sending side can be reduced, and by performing reception processing in bulk, the receiving load can also be reduced.
[0017] To transfer data using RDMA in a wide-area communication network, a communication path must be set up for each flow in advance. Therefore, when collecting data from multiple data sources, a large amount of network resources is required. In order for multiple data sources to use limited network resources, it is necessary to adjust the timing of data transfers to avoid traffic collisions from each data source.
[0018] As mentioned above, the diversification of data collection systems has led to the emergence of sensors and data sources with few power sources. Therefore, in this disclosure, the timing of data transfer is determined on the server side. This makes it possible to avoid traffic collisions without placing a load on the data source during data transfer.
[0019] (First embodiment) Fig. 1 shows an example of a system configuration of the present disclosure. The system of the present disclosure includes a plurality of data sources 10, a transmission management unit 60, and a server 30. The plurality of data sources 10, the transmission management unit 60, and the server 30 are connected via a communication network 20. The data sources 10 are terminals that have user-side sensor data. The server 30 is a terminal that collects data from the data sources 10. The transmission management unit 60 has a function of managing control of transmission of sensor data from the plurality of data sources 10 to the server 30.
[0020] 2 shows an example of a sequence executed by the system of the present disclosure. When the multiple data sources 10 acquire sensing data from the sensors 50, they transmit a data generation notification to the server 30 indicating that data has been generated (S11). When the server 30 receives the data generation notification, it determines whether or not to acquire the sensing data. In this embodiment, an example is shown in which, when a first data generation notification is received, in step S31, it determines that the sensing data is to be "held" and not acquired, and when a second data generation notification is received, in step S32, it decides to acquire the sensing data.
[0021] When the server 30 determines to acquire the sensing data, it acquires the sensing data from the data source 10 (S12). In this embodiment, any method may be used to acquire the sensing data from the data source 10 to the server 30. For example, TCP (Transmission Control Protocol) or RDMA may be used. For example, in step S11, the data source 10 may transmit the amount of sensing data and the memory address where the sensing data is stored in addition to the data generation notification. In this case, in step S12, the server 30 can read the sensing data from the memory of the data source 10 based on the memory address and data amount included in the data generation notification.
[0022] In this way, the server 30 of this embodiment receives a data generation notification from the data source 10, uses the information obtained by the server 30 to determine whether or not to acquire data from the data source 10, and acquires the data from the data source 10 based on the result of the determination.
[0023] 3 shows an example of the configuration of the data source 10. The data source 10 includes a data storage function 11, a data occurrence notification function 12, and a data transmission / reception function 13. The data storage function 11 stores sensing data from the sensor 50. When sensing data is stored in the data storage function 11, the data occurrence notification function 12 transmits a "data occurrence notification" to the server 30. The data transmission / reception function 13 transmits the sensing data stored in the data storage function 11 to the server 30.
[0024] 4 shows an example configuration of the transmission management unit 60. The transmission management unit 60 includes a requirement receiving function 61, a transmission policy determination function 62, a transmission policy sending function 63, and a transmission policy determination rule. The requirement receiving function 61 receives data transfer requirements from the server 30. The transmission policy determination function 62 determines a transmission policy for each data source 10 or each application 30A in accordance with the data transfer requirements in accordance with the transmission policy determination rule. The transmission policy sending function 63 sends the determined transmission policy to the server 30.
[0025] The transmission policy includes a transmission start timing and a transmission end timing, and can be exemplified as follows: First transmission policy: Data is transmitted immediately after it is generated, and transmission ends immediately. Second transmission policy: Data is transmitted after a certain amount of data has accumulated, and transmission ends immediately. Third transmission policy: Data is transmitted immediately after it is generated, and transmission ends after a certain amount of time has passed. Fourth transmission policy: Data is transmitted after a certain amount of data has accumulated, and transmission ends after a certain amount of time has passed.
[0026] The transmission policy determination rule determines a transmission policy for each data source 10 and each application 30A according to the data transfer requirements. For example, the following can be exemplified: (i) If the allowable delay time is equal to or less than a set time and the data generation frequency is equal to or less than a set value, the first transmission policy described above is determined; (ii) If the allowable delay time is greater than a set time and the data generation frequency is equal to or less than a set value, the second transmission policy described above is determined; (iii) If the allowable delay time is equal to or less than a set time and the data generation frequency is greater than a set value, the third transmission policy described above is determined.
[0027] 5 shows an example configuration of the server 30. The server 30 includes an application 30A, a data generation notification receiving function 31, a data receiving function 32, a requirement notification function 34, a transmission policy receiving function 35, and a data transmission timing control function 36. The application 30A has a function for performing arbitrary processing using sensing data collected from the data sources 10. The data generation notification receiving function 31 receives data generation notifications from each data source 10. The data receiving function 32 receives sensing data from each data source 10. The requirement notification function 34 reads data transfer requirements from the requirement table and transmits the read data transfer requirements to the transmission management unit 60. The transmission policy receiving function 35 receives a transmission policy from the transmission management unit 60 and stores it in the transmission policy table 19. The data transmission timing control function 36 controls the transmission timing of the sensing data.
[0028] 6 shows an example of the requirements table. In the requirements table, the allowable delay time, data generation frequency, and data generation amount of each data source 10 are stored as data transfer requirements, linked to the application 30A. The allowable delay time is the allowable delay time from when data is generated until it reaches the server. The data generation amount is the amount of data generated at one time in the sensor 50. The data transfer requirements may also include application requirements.
[0029] When the server 30 receives the transmission policy from the transmission management unit 60, it stores it in the transmission policy table 19. As a result, a transmission policy suitable for each data source 10 is stored in the transmission policy table of each data source 10, as shown in FIG.
[0030] The data transmission timing control function 36 uses a "data notification table" as shown in FIG. 8 to manage the time of reception of a data generation notification from the data source 10 as the data generation time. In this embodiment, an example is shown in which the data notification table manages the generation time and data amount of the sensing data together with the memory address in each data source 10. Then, the data transmission timing control function 36 uses information stored in the data notification table, the requirement table, and the transmission policy table to determine whether or not to acquire sensing data from the data source 10. This determination can be made using any information available in the server 30.
[0031] Here, the information of the server 30 used for the determination of the data transmission timing control function 36 is, for example, information of the application 30A. When the application 30A uses the sensing data of the data source 10, the data transmission timing control function 36 determines to acquire the sensing data from the data source 10. A wide variety of applications depending on the sensor 50 are conceivable as the application 30A.
[0032] 9 shows an example of the operation of the data transmission timing control function 36 based on the data generation notification. The data transmission timing control function 36 waits until it receives the data generation notification (S321), and when the amount of data generation included in the data generation notification is equal to or greater than a set value (S323), it starts acquiring sensing data from the data source 10 (S324). This allows the server 30 to acquire all of the sensing data from the data source 10 at once.
[0033] 9, when the application 30A requires sensing data (S235), the data transmission timing control function 36 may execute step S324 to start acquiring the sensing data required by the application 30A. As an example, a case will be described in which the sensor 50 is a camera and the application 30A performs person tracking. In steps S321 and S322, the data transmission timing control function 36 determines to acquire sensing data from the data source 10 when the amount of sensing data accumulated in the data source 10 becomes equal to or greater than a threshold.
[0034] When the application 30A detects a person or a person behaving suspiciously, the application 30A transmits a request for sensing data to the data transmission timing control function 36 (S325). Then, the data transmission timing control function 36 executes step S31 and determines to acquire sensing data from the data source 10. As a result, the server 30 starts acquiring sensing data from the data source 10 that has transmitted video / images of the detected person, and continuously receives the sensing data and provides it to the application 30A. At this time, when the server 30 receives a data occurrence notification from the corresponding data source 10, the server 30 sets the data transmission timing control function 36 so that it determines to acquire sensing data in step S31.
[0035] In the above-described step S31, step S31 is executed when a data generation notification is received, but as in the present embodiment, the data transmission timing control function 36 may execute step S31 by an interrupt process triggered by a request for sensing data from the application 30A. In this way, the data transmission timing control function 36 can determine to acquire sensing data from the data source 10 at both the timing of threshold determination and application interrupt.
[0036] When the interrupt process of step S325 occurs, the data transmission timing control function 36 may transition to a waiting state for the interrupt process. In this case, the data transmission timing control function 36 does not need to determine to acquire sensing data from the data source 10 until it receives a request for sensing data from the next application 30A.
[0037] Second Embodiment In this embodiment, similar to the first embodiment, a transmission management unit 60 is further provided, which controls the timing of transmitting a data generation notification.
[0038] 10 shows an example of a sequence executed by the system of the present disclosure. In this embodiment, the data source 10 executes step S21 before step S11. In step S21, when the data source 10 acquires sensing data from the sensor 50, it determines whether or not to transmit a data occurrence notification based on the transmission policy. In this embodiment, an example is shown in which it is determined in steps S21-1 and S21-3 that the data occurrence notification is not to be transmitted, and then it is determined in step S21-2 that the data occurrence notification is to be transmitted.
[0039] In this embodiment, the data transmission timing control function 36 of the server 30 determines whether or not to acquire sensing data by interrupt processing triggered by a sensing data request from the application 30A (S31-2). If it is determined to acquire sensing data in this determination, the data receiving function 32 transmits a data request to the data source 10 (S32). Upon receiving the data request, the data source 10 transmits sensing data (S12).
[0040] Here, the data source 10 may perform step S11 before step S12, and may transmit the amount of sensing data and the memory address where the sensing data is stored using the data generation notification.
[0041] 11 shows an example of the configuration of the data source 10. In addition to the functions of the first embodiment, the data source 10 of this embodiment further includes a requirement notification function 14, a transmission policy receiving function 15, and a data transmission timing control function 16. The requirement notification function 14 reads data transfer requirements from the requirement table and transmits the read data transfer requirements to the transmission management unit 60. The transmission policy receiving function 15 receives a transmission policy from the transmission management unit 60. The data transmission timing control function 16 controls the data generation notification function 12 in accordance with the transmission policy table.
[0042] The requirements table and the transmission policy table are as described in the first embodiment. When the data source 10 receives a transmission policy from the transmission management unit 60, it stores it in the transmission policy table 19. As a result, a transmission policy suitable for each data source 10 is stored in the transmission policy table of each data source 10, as shown in Fig. 6. The data occurrence notification function 12 makes the determination in step S21 in accordance with the transmission policy table.
[0043] Other Embodiments The device of the present invention can also be realized by a computer and a program, and the program can be recorded on a recording medium or provided via a network.
[0044] Furthermore, in this embodiment, an example has been shown in which the data collected by the server 30 is sensing data, but the present disclosure can be applied to any data that is required to be collected, such as user terminals, sensors, and in-vehicle systems.
[0045] 10: Data source 11: Data storage function 12: Data occurrence notification function 13: Data transmission / reception function 14: Requirement notification function 15: Transmission policy reception function 16: Data transmission timing control function 20: Communication network 30: Server 30A: Application 31: Data occurrence notification reception function 32: Data reception function 33: Communication path request function 34: Requirement notification function 35: Transmission policy reception function 36: Data transmission timing control function 50: Sensor 60: Transmission management unit 61: Requirement reception function 62: Transmission policy determination function 63: Transmission policy transmission function
Claims
1. A server connected to a data source via a communications network, which receives a data occurrence notification from the data source indicating that data has been generated, uses information obtained by the server to determine whether or not to acquire data from the data source, and acquires data from the data source based on the result of the determination.
2. The server according to claim 1, wherein the server has a function for performing processing using data acquired from the data source, and when the data from the data source is used in the function, the server determines that data is acquired from the data source.
3. A system comprising: a server according to claim 1 or 2; and a plurality of data sources connected to the server via a communication network.
4. A method executed by a server connected to a data source via a communications network, which method comprises receiving a data occurrence notification from the data source indicating that data has been generated, using information obtained by the server to determine whether or not to acquire data from the data source, and acquiring data from the data source based on the result of the determination.
Citation Information
Patent Citations
Communication device, communication method, and communication program
JP2013042247A
Information processing system, information processing apparatus, method of controlling information processing system, and program for controlling information processing apparatus
JP2016045510A
Network with a constrained usage model supporting remote direct memory access
US20080002578A1