WO2023139731A1 - データ転送システム、データ転送装置、データ転送方法、及び、データ転送プログラム - Google Patents
データ転送システム、データ転送装置、データ転送方法、及び、データ転送プログラム Download PDFInfo
- Publication number
- WO2023139731A1 WO2023139731A1 PCT/JP2022/002040 JP2022002040W WO2023139731A1 WO 2023139731 A1 WO2023139731 A1 WO 2023139731A1 JP 2022002040 W JP2022002040 W JP 2022002040W WO 2023139731 A1 WO2023139731 A1 WO 2023139731A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- priority
- data transfer
- unit
- transfer device
- Prior art date
Links
- 238000012546 transfer Methods 0.000 title claims abstract description 108
- 238000000034 method Methods 0.000 title claims description 40
- 230000005540 biological transmission Effects 0.000 claims abstract description 78
- 238000004891 communication Methods 0.000 claims description 43
- 238000004364 calculation method Methods 0.000 claims description 33
- 230000008859 change Effects 0.000 claims description 11
- 230000006870 function Effects 0.000 description 39
- 238000010586 diagram Methods 0.000 description 33
- 238000012544 monitoring process Methods 0.000 description 13
- 238000004458 analytical method Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 10
- 238000012986 modification Methods 0.000 description 9
- 230000004048 modification Effects 0.000 description 9
- 238000007405 data analysis Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 239000000872 buffer Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
Definitions
- the present invention relates to a data transfer system, a data transfer device, a data transfer method, and a data transfer program.
- the data generated by the Data Source (hereinafter also referred to as files) is transferred to the Remote SC (Super-Computer) for analysis.
- Data Source generates sensor information and simulation results.
- the data generated by the Data Source is either stored in the Data Source or sent and stored in the Temporary Storage of the DTN (Data Transfer Node) on the sending side to send the data.
- the DTN on the sending side transfers the data saved in Temporary Storage to the DTN on the opposite side.
- FTP protocol is used for data transfer. If the data has been encrypted or compressed, the DTN on the receiving side decrypts or decompresses it, and then transfers the received data to the Remote SC.
- the data generated by the Data Source may occur in bursts, and at certain times a large amount of data is generated faster than the data transmission speed between DTNs. For example, data is generated at a speed of 100 Gbps or more for a transmission speed of 100 Gbps. There are many possible use cases in which the data generation speed is faster than the data transmission speed, such as smart cities and communication with satellites.
- Non-Patent Documents 1 and 2 a method has been proposed in which multiple small files are aggregated into one large file, and the files are divided into the number that can be parallelized, and data is transferred (see Non-Patent Documents 1 and 2).
- Non-Patent Documents 1 and 2 propose a method of grouping small files into large files and transferring them, but since transfer starts after all files are generated, it is necessary to wait for file transfer until file generation is completed, which causes a delay in file transfer.
- the present invention has been made in view of the above circumstances, and an object of the present invention is to provide a technology capable of rapidly transferring data generated in large quantities at high speed, and capable of quickly starting analytical calculation of data.
- a data transfer system includes a data transfer device on the transmission side that bundles and transmits a plurality of data generated by a data generator, and a data transfer device on the reception side that receives the bundle of data and transmits it to a remote computer.
- a generating unit that sequentially packs a plurality of data distributed to respective distribution destinations into chunks each having a predetermined size or larger, and a transmitting unit that transmits each chunk to the data transfer device on the receiving side at the timing when the plurality of data are packed into each chunk, and the data transfer device on the receiving side includes a determination unit that determines the priority of the data according to the usage status of the data in the remote computer.
- a data transfer device comprises: a distribution unit that distributes a plurality of data generated by a data generator to distribution destinations with priorities corresponding to the respective priorities of the data according to the priority of the data determined according to the usage status of the data in the remote computer; a transmitting unit for transmitting each chunk to the data transfer device.
- a data transfer method is a data transfer method performed by a data transfer device, comprising: a step of distributing a plurality of data generated by a data generator to a distribution destination corresponding to the priority of each data according to the priority of the data determined according to the usage status of the data in the remote computer; and transmitting each of the chunks to the data transfer device at the determined timing.
- a data transfer program causes a computer to function as the data transfer device.
- FIG. 1 is a diagram showing the outline of the invention according to the first embodiment.
- FIG. 2 is a diagram showing the overall configuration of the data transfer system according to the first embodiment.
- FIG. 3 is a sequence diagram showing the data transfer method according to the first embodiment.
- FIG. 4 is a diagram showing a file transfer method according to the first embodiment.
- FIG. 5 is a processing diagram showing a chunk generation method according to the first embodiment.
- FIG. 6 is a flow diagram showing a chunk transmission method according to the first embodiment.
- FIG. 7 is a sequence diagram showing the data acquisition method according to the first embodiment.
- FIG. 8 is a sequence diagram showing a method of changing data priority according to the first embodiment.
- FIG. 9 is a diagram showing a modification of the invention according to the first embodiment.
- FIG. 1 is a diagram showing the outline of the invention according to the first embodiment.
- FIG. 2 is a diagram showing the overall configuration of the data transfer system according to the first embodiment.
- FIG. 3 is a sequence diagram showing the data
- FIG. 10 is a diagram showing the overall configuration of the data transfer system according to the modification of FIG.
- FIG. 11 is a sequence diagram showing a data transfer method according to the modification of FIG.
- FIG. 12 is a diagram showing the outline of the invention according to the second embodiment.
- FIG. 13 is a diagram showing the overall configuration of a data transfer system according to the second embodiment.
- FIG. 14 is a sequence diagram showing a data priority changing method according to the second embodiment.
- FIG. 15 is a diagram showing an overview of the invention according to the third embodiment.
- FIG. 16 is a diagram showing the overall configuration of a data transfer system according to the third embodiment.
- FIG. 17 is a flowchart showing a method for adjusting the number of chunk outputs according to the third embodiment.
- FIG. 18 is a diagram showing the hardware configuration of the DTN on the transmission side.
- the present invention is characterized in that data is transferred in units of chunks of a certain size or larger at the stage where data has been generated to some extent without waiting for the generation of all data. Since the transfer can be started if the chunk can be generated, the data transfer can be started before all the data is ready.
- the present invention is characterized in that, when generating chunks, the data is consolidated in order of priority determined by the order in which calculations are performed in the Remote SC or the order in which calculations are expected to be performed.
- the present invention is characterized in that the data priority is determined in advance based on statistical information such as past data usage status and setting by human input.
- ITER and simulation experiments experiments that generate large amounts of data and calculations that analyze the results are repeatedly performed while changing various parameters.
- the data used in the past analysis is highly likely to be used in the next analysis, and by determining the data priority according to the past data usage status, it is possible to shorten the data analysis calculation time.
- the present invention has the following features.
- the present invention is characterized by sending high-priority data to the DTN on the receiving side in advance before receiving a data request from the Remote SC.
- the present invention is characterized by dynamically changing the data priority when there is a change in the data analysis calculation in the Remote SC.
- the data priority is determined in advance by statistical processing or the like, the actual calculation order and the priority may not match, but by dynamically changing the data priority, the delay in starting the analysis calculation due to the mismatch can be alleviated.
- the present invention is characterized by monitoring the state of the communication network, or acquiring the state of the communication network from the network management device, and dynamically changing the data priority when congestion or the like occurs. For example, when the bandwidth of the communication network is narrowed, only essential data is sent, or data with low priority is discarded. By dynamically changing the data priority according to the state of the communication network, essential data can be reliably transferred even when the bandwidth of the communication network is limited due to congestion or the like and all data cannot be transferred.
- the present invention is characterized by monitoring the state of the Remote SC and adjusting the number of chunks to be sent to the DTN on the receiving side according to the usage of computational resources in the Remote SC. For example, when transferring chunks that exceed the calculation resources of the Remote SC, reduce the number of chunks. By adjusting the number of chunks according to the state of the Remote SC, it is possible to perform data analysis calculations in the desired time.
- the present invention is characterized by the fact that, exceptionally, data with the highest priority among multiple priorities is transmitted as it is, without performing the above-described process of aggregating it into chunks of a certain size or larger.
- the highest priority data can be transferred at the fastest speed because the delay caused by the process of chunking data is eliminated.
- FIG. 1 is a diagram showing the outline of the invention according to the first embodiment.
- the sending DTN manages the data (also called files) generated by the Data Source in Temporary Storage, and transfers the files to the receiving DTN according to the priority determination rules that indicate the priority of the files.
- the sending DTN aggregates the files generated by the Data Source into chunks (transmission chunks) of a certain size or larger and transfers them.
- each chunk of a certain size or more is aggregated and transferred in order from the file with the highest priority among the plurality of files. Since each chunk is set and transferred, file transfer can be started without waiting for the completion of all file generation, and the delay in file transfer can be reduced. In addition, since files with high priority are consolidated first, files with high priority can be delivered to Remote SC quickly, and data analysis calculation can be started quickly.
- FIG. 2 is a diagram showing the overall configuration of the data transfer system according to the first embodiment.
- This data transfer system comprises a sender DTN 1 , a receiver DTN 3 , a data generator 5 and a remote computer 7 .
- the transmitting side DTN 1 is a transmitting side data transfer device that bundles and transmits a plurality of data generated by the data generator 5 .
- the transmission-side DTN 1 includes a transmission/reception unit 11, a determination unit 12, a distribution unit 13, a generation unit 14, and a storage unit 15.
- the transmitting/receiving section 11 has a function of receiving the priority determination rule transmitted from the DTN 3 on the receiving side. Further, the transmitting/receiving section 11 has a function of receiving a plurality of data generated by the data generator 5 . Further, the transmitting/receiving section 11 has a function of transmitting each chunk to the receiving side DTN 3 at the timing when a plurality of data are packed into each chunk. Further, the transmitting/receiving section 11 has a function of transmitting high-priority data to the DTN 3 on the receiving side before receiving a data request from the DTN 3 on the receiving side.
- the transmission/reception unit 11 transfers chunks using protocols such as UDP, TCP, FTP, GridFTP, and MMCFTP.
- the transmission/reception unit 11 may transfer chunks using a protocol such as RDMA (Remote Direct Memory Access) instead of the FTP protocol.
- RDMA Remote Direct Memory Access
- the transmitter/receiver 11 may use a unique protocol instead of the existing protocol.
- the transmission/reception unit 11 may perform chunk transfer in parallel.
- the transmitting/receiving unit 11 may parallelize and transfer one chunk into a plurality of chunks, or may transfer a plurality of chunks in parallel.
- the transmission/reception unit 11 may perform QoS (Quality of Service) control, encryption, compression, etc. during chunk transfer. If communication other than chunks also flows through the communication network for chunk transfer, the transmitting/receiving unit 11 may perform shaper at the time of chunk transfer. In the distribution unit 13, when the same algorithm as the Packet Scheduler is used in the queue with priority, the Shaper can be combined (see References 1 and 2).
- QoS Quality of Service
- the determination unit 12 has a function of determining the priority of each data generated by the data generator 5 according to the priority of each data indicated by the priority determination rule and assigning the priority to each data.
- the allocating unit 13 has a function of allocating a plurality of data to which priority has been assigned to each of the priority allocation destinations corresponding to the priority of each data.
- the distribution unit 13 stores files or file pointers in a priority queue according to the priority determined by the determination unit 12 .
- the file body is stored in the storage unit 15 .
- the distribution unit 13 can apply any algorithm to the queue with priority and the scheduler for file distribution.
- the sorting unit 13 may use a priority queue using a tree structure such as a heap tree.
- the distribution unit 13 may use algorithms and implementation methods (Push-In-First-Out, Eiffel, etc.) introduced as Packet Scheduler.
- the sorting unit 13 may set finite levels of priority as introduced as Eiffel, and prepare a queue for each priority.
- the distribution unit 13 may use a Circular FFS-based Queue.
- the sorting unit 13 may use an approximation algorithm or a tree structure to find a queue with a high priority (see References 1 and 2 above).
- a generation part 14 has a function of generating a plurality of chunks each having a data size of a fixed size or more by solidifying a plurality of data distributed to each distribution destination in order from the distribution destination having a high priority for each chunk of a fixed size or more. For example, the generation unit 14 extracts a plurality of data stored in the priority queue or the storage unit 15 according to priority and generates chunks.
- the generation unit 14 may extract data in descending order of priority, or when data with the same priority accumulates above a certain amount or at a predetermined time, collect a certain size of data with the same priority and generate a chunk. If the size of the extracted data is larger than the size of the chunk, the generation unit 14 may divide the data into a plurality of pieces and generate a plurality of chunks for one piece of data.
- the storage unit 15 has a function of storing a plurality of data transmitted from the data generator 5 .
- the storage unit 15 may be inside the transmission DTN 1 or outside the transmission DTN 1 .
- the storage unit 15 is a RAMDisk or non-volatile memory with high read/write speed.
- the storage unit 15 may be a storage device having a storage structure in which a plurality of layers, such as a device with a high cost per unit capacity but a high read/write speed or a device with a low cost per unit capacity but a relatively slow read/write speed, is used.
- the storage unit 15 may be an external high-speed storage using NVMe-oF (NVM Express over Fabrics) or the like.
- the storage unit 15 may be a distributed file system such as Ceph, Google File System, Gfarm (see References 3-5).
- the receiving side DTN 3 is a receiving side data transfer device that receives a data bundle from the transmitting side DTN 1, restores the data bundle, expands (decodes, decompresses, etc.) if necessary, and transmits to the remote computer 7.
- the receiving side DTN 3 includes a transmitting/receiving section 31 , a determining section 32 , a collecting section 33 , a restoring section 34 and a storing section 35 .
- the transmission/reception unit 31 has a function of transmitting the priority determination rule to the transmission side DTN1. Further, the transmission/reception unit 31 has a function of receiving chunks transmitted from the transmission side DTN1.
- the determination unit 32 has a function of determining the priority of each data according to the usage status of the data in the remote computer 7 based on the information collected from the remote computer 7 and generating a priority determination rule indicating the priority of each data. Further, the determination unit 32 has a function of changing the priority of each data according to the change of the calculation contents in the remote computer 7 .
- the determining unit 32 performs statistical processing of data based on the user's data usage record, and determines the priority of each data based on the file title, attribute, generation time, generation location, content, and the like.
- the determination unit 32 may determine the priority of each data using past data usage conditions and using statistical processing such as deep learning and machine learning.
- the determination unit 32 may set the priority of files with the closest request deadline as the highest priority, such as EDF (Earliest Deadline First) scheduling. When a certain amount of time has passed and the value of the file has been lost, the determination unit 32 may set the priority of the file to the lowest priority or no priority, and discard the file without transferring the file.
- EDF Errorliest Deadline First
- the collection unit 33 has a function of collecting information from the remote computer 7 necessary for determining the priority determination rule.
- the restoration unit 34 has a function of extracting multiple pieces of data from the chunks transmitted from the transmission side DTN 1 and storing the multiple pieces of data in the storage unit 35 .
- the storage unit 35 has a function of storing a plurality of data.
- Data generator 5 is one or more Data Sources.
- the data generator 5 includes a generation section 51 and a storage section 52 .
- the generation unit 51 has a function of generating data, storing the data in the storage unit 52, and transmitting the data to the transmission side DTN1.
- the generator 51 is a supercomputer or a sensor.
- the generation unit 51 may be composed of a plurality of units.
- the storage unit 52 has a function of storing data.
- a remote computer 7 is one or more Remote SCs.
- the remote computer 7 includes a request unit 71 that requests data from the receiving DTN 3, a calculation unit 72 that analyzes and calculates the data, and a storage unit 73 that stores the data and analysis results of the data.
- FIG. 3 is a sequence diagram showing the data transfer method according to the first embodiment.
- Step S101 First, in the DTN 3 on the receiving side, the collection unit 33 collects from the remote computer 7 the information necessary for determining the priority determination rule. For example, the collection unit 33 collects data user information, data usage statistical information, data calculation results, data calculation interim results, and other past data.
- Step S102 Next, based on the information collected from the remote computer 7, the determination unit 32 determines the priority of each piece of data generated by the data generator 5 according to the usage status of the data in the remote computer 7, and generates a priority determination rule indicating the priority of each piece of data.
- the determination unit 32 may determine the priority of each data preset by the user as the priority of each data.
- the determination unit 32 may determine the priority of each data using a neural network, machine learning, or the like.
- the determination unit 32 may determine the overall priority independent of the user, or may determine the priority of each data for each user.
- Step S103 Next, the transmitting/receiving section 31 transmits the priority determination rule to the transmitting side DTN 1 via the communication network.
- Step S104 On the other hand, in the data generator 5, the generator 51 generates data.
- the generation unit 51 is a sensor, a simulator, or the like, and generates data to be calculated by the remote computer 7 .
- Data formats include files and the like.
- the storage unit 52 may be inside the data generator 5 or may be outside the data generator 5 .
- Step S106 Next, in the DTN 1 on the transmission side, the transmission/reception section 11 sequentially receives each file transmitted from the data generator 5 . After that, the determination unit 12 determines the priority of each file according to the priority determination rule from the DTN 3 on the receiving side, and assigns the priority to each data.
- Step S108 the generation unit 14 sequentially extracts files from each distribution destination in descending order of priority, and packs the extracted files into chunks of a certain size. As a result, multiple chunks (transmission chunks for transmission) in which one or more files are stored are generated. It should be noted that a chunk is a set of files that are grouped into a relatively large size in order to achieve high speed.
- the generation unit 14 may generate chunks by retrieving files in descending order of priority, or when files with the same priority have accumulated over a certain amount or when a predetermined time has come, a certain size of files with the same priority may be collected to generate chunks.
- the generation unit 14 may divide the file into a plurality of pieces and generate a plurality of chunks for one file.
- the generation unit 14 may generate chunks by compressing the file.
- Step S109 the transmission/reception unit 11 transmits each chunk to the receiving side DTN 3 via the communication network at the timing when each file is packed into each chunk.
- the transmitting/receiving unit 11 may transfer a plurality of chunks in parallel using a communication means such as GridFTP or MMCFTP that utilizes multiple TCP sessions, or may transfer the chunks using UDP, RDMA, or the like.
- RDMA the transmitting/receiving unit 11 may develop chunks on the memory and transfer files using a data structure such as a ring buffer as shown in FIG.
- the transmission/reception unit 11 may perform file transfer by batch processing.
- Step S110 Next, in the receiving side DTN3, the transmitting/receiving section 31 receives each chunk transmitted from the transmitting side DTN1. After that, the restoration unit 34 extracts files from each chunk. At this time, if the file has been encrypted or compressed, the restoration unit 34 decrypts or decompresses the file.
- Step S111 Finally, the restoration unit 34 stores each file extracted from each chunk in the storage unit 35 . Then, the transmission/reception unit 31 transmits the file to the remote computer 7 at the same time when the file is extracted from the chunk or when a file request is received from the remote computer 7 .
- the DTN 3 on the receiving side may perform either one of file storage and file transmission, or may perform both.
- FIG. 5 is a processing diagram showing a chunk generation method.
- Step S201 First, the DTN 1 on the sending side reads each file sent from the data generator 5 .
- the file name of the data generated by the data generator 5 contains a word indicating priority. Specifically, the word low is entered in the file name of the temperature sensor data, and the word high is entered in the file name of the pressure sensor data.
- Step S202 Next, the transmitting DTN 1 determines the priority of each file according to the data priority determined according to the data usage status, and assigns the priority to each file.
- the file priority is determined, for example, by the file name.
- Step S203 the DTN 1 on the sending side distributes each file to a priority distribution destination corresponding to the priority of each file, and packs the files into chunks of a certain size in descending order of priority.
- Step S204 Finally, the transmitting side DTN1 stores each chunk in each priority queue, and sequentially transmits the chunks stored in the higher priority queue to the receiving side DTN3. Specifically, the transmitting DTN 1 stores chunks with high priority in the high priority queue. Since the high priority queue generally has a large queue size, chunks can be made difficult to discard. Therefore, the number of chunks that can be transmitted per unit time is increased, and transmission can be performed with low delay. On the other hand, chunks with low priority are stored in the low priority queue.
- FIG. 6 is a flow diagram illustrating a chunk transmission method.
- priority classes is not limited to three, and may be two or more.
- FIG. 7 is a sequence diagram showing a data acquisition method.
- Step S301 First, in the remote computer 7, the request unit 71 requests data from the DTN 3 on the receiving side.
- Step S302 Next, when the data requested by the remote computer 7 is stored in the storage unit 35 in the receiving DTN 3 , the transmission/reception unit 31 transmits the data to the remote computer 7 .
- Step S303 On the other hand, if the data requested by the remote computer 7 is not stored in the storage unit 35 in the DTN 3 on the reception side, the transmission/reception unit 31 requests the data to the data generator 5 via the DTN 1 on the transmission side.
- Step S304 Next, in the data generator 5, the generation unit 51 reads out the data file requested by the remote computer 7 from the storage unit 52, and transmits the file to the transmission side DTN1. If the file does not exist in the storage unit 52, the generation unit 51 generates the file and transmits it to the transmission side DTN1.
- Step S305 Next, in the DTN 1 on the transmitting side, the generation unit 14 generates chunks of the file transmitted from the data generator 5 .
- Step S306 Next, the transmitting/receiving unit 11 transmits the chunk to the receiving side DTN 3 via the communication network.
- Step S307 After that, in the DTN3 on the receiving side, the restoration unit 34 retrieves the file from the chunks sent from the DTN1 on the sending side.
- Step S308 Finally, the transmission/reception unit 31 transmits the file to the remote computer 7 which is the source of the request.
- the transmission/reception unit 11 of the DTN 1 on the transmission side may transmit in advance to the DTN 3 on the reception side a high-priority file that is likely to be needed in the future when data is generated by the data generator 5. In that case, you may utilize the cache mechanism which can distribute data to a remote place like CDN.
- FIG. 8 is a sequence diagram showing a method of changing data priority.
- Step S401 First, in the DTN 3 on the receiving side, the collection unit 33 collects from the remote computer 7 the information necessary for determining the priority determination rule. For example, the collection unit 33 collects data user information, data usage statistical information, data calculation results, data calculation interim results, and other past data.
- Step S402 Next, based on the information collected from the remote computer 7, the determination unit 32 changes the priority of the data determined in step S102 when there is a change in the calculation content of the remote computer 7.
- the determining unit 32 changes the priority of data when there is a change in the type of data required for analytical calculation, the order of data use, the calculation method, or the like.
- Step S403 Next, the transmitting/receiving unit 31 transmits a priority determination rule indicating the priority of each data after change to the transmitting side DTN 1 via the communication network.
- Step S404 Finally, in the transmitting side DTN 1, the transmitting/receiving section 11 updates the past priority determination rule with the changed priority determination rule. After that, the determination unit 12 determines the priority of the file transmitted from the data generator 5 according to the updated priority determination rule.
- the DTN 1 on the transmitting side packs data into chunks of a certain size or more and transfers the data. Therefore, data transfer can be started at the timing when data equal to or larger than the size of a chunk is generated without waiting for the generation of all data, and the delay in data transfer can be reduced. In addition, since data is transmitted for each chunk of a certain size or larger, it is possible to avoid the problem of poor transfer performance when there is a large amount of small data.
- the DTN 1 on the transmitting side aggregates data starting with the data with the highest priority, so the data with the highest priority can be quickly delivered to the Remote SC, and analysis calculation can be started more quickly.
- the DTN 3 on the receiving side changes the priority of the data according to the data usage status in the Remote SC, so it is possible to deal with the case where the data usage does not match the priority, and by utilizing the data usage status in advance, it is possible to increase the certainty of the priority, and it is possible to proceed with the analysis calculation in the Remote SC with less delay.
- the transmitting side DTN 1 before receiving a data request from the receiving side DTN 3, the transmitting side DTN 1 sends high-priority data to the receiving side DTN 3. Therefore, files with high availability can be stored near the user of the destination. Therefore, it is possible to quickly respond to requests from users, use the files immediately when they want to use them, and proceed with analysis calculations on the remote SC with less delay.
- the DTN 3 on the receiving side changes the priority of the data according to the change in the calculation content in the Remote SC, so even if the order of calculations actually desired and the priority do not match, the delay in starting the analysis calculation due to the mismatch can be alleviated.
- FIG. 9 is a diagram showing a modification of the invention according to the first embodiment.
- the files generated by the Data Source were managed in Temporary Storage of the DTN on the sending side.
- the sending DTN receives only the Index of the data generated by the Data Source, manages it in Index Storage, and obtains the data itself from the Data Source when generating chunks.
- FIG. 10 is a diagram showing the overall configuration of a data transfer system according to a modification.
- the sending DTN 1 further comprises a request section 16.
- the request unit 16 has a function of requesting the data body from the data generator 5 .
- the generation unit 51 of the data generator 5 has a function of generating data, storing the data in the storage unit 52, and transmitting only the information of the data to the transmission side DTN 1 in advance.
- the generating unit 51 also has a function of transmitting the data body to the transmitting side DTN1 in response to a request from the transmitting side DTN1.
- FIG. 11 is a sequence diagram showing the data transfer method according to the modification.
- Steps S501-S504 This is the same as steps S101 to S104.
- Step S505 Next, in the data generator 5, the generation unit 51 stores the file body in the storage unit 52 each time it generates a file, and sequentially transmits the file information to the transmission side DTN1.
- the file information includes file name, data size, generation time, sensor information, and the like.
- Step S506 Next, in the DTN 1 on the transmission side, the transmission/reception section 11 sequentially receives each piece of file information transmitted from the data generator 5 . After that, the determination unit 12 determines the priority of each piece of file information according to the priority determination rule from the receiving side DTN 3, and assigns the priority to each piece of data information.
- Step S507 the distribution unit 13 distributes each file information to which the priority has been assigned to the distribution destination of the priority corresponding to the priority of each file information.
- Step S508 Next, the request unit 16 requests the data generator 5 for the file body corresponding to the file information of each distribution destination in descending order of priority.
- Step S509 Next, in the data generator 5, the generation unit 51 sequentially transmits each file body requested by the transmission side DTN1 to the transmission side DTN1.
- Step S510 Next, in the DTN 1 on the transmission side, the generation unit 14 solidifies each file body transmitted from the data generator 5 into chunks of a certain size.
- Steps S511-S513 This is the same as steps S109 to S111.
- FIG. 12 is a diagram showing the outline of the invention according to the second embodiment.
- the DTN on the receiving side dynamically changes the data priority according to the state of the communication network between DTNs. Therefore, even if the bandwidth of the communication network is restricted due to congestion or the like and all data cannot be transferred, essential data can be reliably transferred.
- FIG. 13 is a diagram showing the overall configuration of a data transfer system according to the second embodiment.
- the second embodiment further comprises a network management device 9 that manages the communication network.
- the DTN 3 on the receiving side further comprises a first monitoring section 36 .
- the first monitoring unit 36 has a function of monitoring the state of the communication network between the DTN1 on the transmitting side and the DTN3 on the receiving side.
- the determination unit 32 of the DTN3 on the receiving side has a function of changing the priority of data according to the state of the communication network between the DTN1 on the transmitting side and the DTN3 on the receiving side.
- FIG. 14 is a sequence diagram showing a data priority change method according to the second embodiment.
- Step S601 First, in the DTN3 on the receiving side, the first monitoring unit 36 collects the state information of the communication network between the DTN1 on the transmitting side and the DTN3 on the receiving side. At this time, the first monitoring unit 36 may collect the state information from the network management device 9 .
- the data priority is changed according to the state of the communication network between the sending side DTN1 and the receiving side DTN3, so even if the bandwidth of the communication network is limited due to congestion or the like and all data cannot be transferred, essential data can be transferred reliably.
- FIG. 15 is a diagram showing an overview of the invention according to the third embodiment.
- the DTN on the transmitting side adjusts the number of chunks to be transmitted to the DTN on the receiving side according to the usage of computational resources in the Remote SC. As a result, it becomes possible to execute the analytical calculation of the data in a desired time.
- FIG. 16 is a diagram showing the overall configuration of a data transfer system according to the third embodiment.
- the DTN 3 on the receiving side further comprises a second monitoring section 37.
- the second monitoring unit 37 has a function of monitoring the usage of computing resources in the remote computer 7 .
- the transmission/reception unit 11 of the DTN 1 on the transmission side has a function of adjusting the number of chunks to be transmitted to the DTN 3 on the reception side according to the usage of computational resources in the remote computer 7 .
- step S103 shown in Fig. 3 the transmission/reception unit 31 transmits usage information of the computational resources in the remote computer 7 to the transmission side DTN1.
- step S109 shown in FIG. 3 the transmitting/receiving unit 11 of the DTN 1 on the transmitting side reduces the number of chunks to be output to the communication network based on the usage status of computational resources (CPU usage rate, memory usage rate, etc.) in the remote computer 7, if the remote computer 7 cannot perform calculations even if the file is transferred at high speed, or if the remote computer 7 cannot receive the file.
- the transmitting/receiving unit 11 may reduce the bandwidth of the communication network and release communication resources for communication traffic, power cost, and other processes.
- FIG. 17 is a flow diagram showing a method for adjusting the number of chunk outputs.
- Step S701 First, in the transmitting side DTN1, the transmitting/receiving section 11 sets the upper limit of the bandwidth that can be used in the communication network between the transmitting side DTN1 and the receiving side DTN3.
- Step S702 Next, the transmitting/receiving unit 11 measures the usage of the band currently used in the communication network.
- Step S703 Next, the transmitting/receiving unit 11 compares the upper limit value of the band with the usage amount of the band.
- Step S704 If the bandwidth usage is less than the upper limit of the bandwidth, the transmitter/receiver 11 returns to step S702. If the bandwidth usage is greater than or equal to the upper limit of the bandwidth, the transmitter/receiver 11 proceeds to step S705.
- Step S705 The transmission/reception unit 11 reduces the number of chunks to be output to the communication network.
- the transmitting/receiving unit 11 fairly reduces the number of transmissions per unit time by changing the allocation numbers of I, M, and N assigned to high priority, medium priority, and low priority to "I-1,” "M-1,” and "N-1,” respectively.
- the transmission/reception unit 11 reduces the number of transmissions per unit time according to the priority by changing the allocation numbers of I, M, and N times to "I ⁇ 0" times, "M-10" times, and "N-100" times, respectively.
- the transmitting side DTN 1 adjusts the number of chunks to be transmitted to the receiving side DTN 3 according to the usage status of the computational resources in the remote computer 7, so that data analysis calculation can be executed in a desired time.
- the DTN on the transmitting side transmits the data with the highest priority to the DTN on the receiving side as it is, without performing processing to aggregate the data into chunks of a certain size or larger. This eliminates the delay caused by the process of grouping data into chunks, and allows the highest priority data to be transferred at the highest speed.
- the generation unit 14 of the DTN 1 on the transmission side has a function of passing the data of a certain size or less (highest priority data) distributed to the destination with the highest priority to the transmission/reception unit 11 as it is, without performing the process of consolidating it into chunks of a certain size or more.
- step S108 shown in FIG. 3 the generation unit 14 passes the files of a certain size or less (the highest priority files) to the transmission/reception unit 11 as they are, without performing the process of consolidating them into chunks of a certain size or more, for the files of a certain size or less (the highest priority files) that have been allocated to the "high priority" destination of "low priority”, “medium priority", and "high priority".
- step S109 shown in FIG. 3 the transmission/reception unit 11 transmits the highest priority file to the reception side DTN 3 via the communication network at the timing when the file is delivered from the generation unit 14.
- the highest priority is the highest priority among the different priorities. If low priority, medium priority, high priority, and highest priority are included, the highest priority is the highest priority. If low priority, medium priority, and high priority are included, high priority is the highest priority. At this time, the high priority may not be treated as the highest priority.
- the data with the highest priority is sent to the DTN on the receiving side as it is without being processed into chunks of a certain size or larger, so the delay caused by the processing of chunking data is eliminated and the fastest transfer is possible.
- the fifth embodiment further comprises an acceleration device.
- the acceleration device is arranged at each of the packet input/output terminals of the DTN1 on the transmission side and the DTN3 on the reception side, and is a device that speeds up data by, for example, performing protocol conversion. Especially when the communication network is long-distance, if it is desired to use RDMA to achieve high-speed data transfer over a long distance, the acceleration device can be used to achieve high-speed chunk transfer.
- the accelerator can acquire the amount of transmission data transmitted by the transmission side DTN1. Therefore, in the receiving DTN 3, the first monitoring unit 36 may collect state information such as the communication network from the accelerator, and the determining unit 32 may determine or change the priority of the data based on the state of the communication network collected from the accelerator.
- the accelerator can acquire the amount of transmitted data using known technologies such as SNMP (Simple Network Management Protocol). In addition to the amount of data to be transmitted, the acceleration device can also acquire the remaining number of received chunk data buffers and queues of the DTN 3 on the receiving side. Accelerators are known in the art.
- the accelerator may be incorporated into each DTN as a NIC, etc., incorporated into the DTN with software, etc., or installed as a separate node from the DTN. Based on the data priority, the acceleration device may also set requirements for the optical path to be connected.
- chunks can be transferred at high speed.
- the first to fifth embodiments may be combined.
- the sender DTN1 may adjust the number of chunks to be sent to the receiver DTN3 according to the state of the communication network.
- the DTN 3 on the receiving side may dynamically change the data priority according to the usage of computational resources in the remote computer 7 .
- the transmission side DTN 1 of the present embodiment described above can be realized using a general-purpose computer system including, for example, a CPU 901, a memory 902, a storage 903, a communication device 904, an input device 905, and an output device 906, as shown in FIG.
- Memory 902 and storage 903 are storage devices.
- CPU 901 executes a predetermined program loaded on memory 902 to realize each function of transmitting side DTN 1 .
- the sender DTN1 may be implemented in one computer.
- the sender DTN1 may be implemented with multiple computers.
- the sender DTN1 may be a virtual machine implemented on a computer.
- a program for the transmitting DTN 1 can be stored in computer-readable recording media such as HDD, SSD, USB memory, CD, and DVD.
- the program for the sending DTN1 can also be distributed via a communication network.
- the receiving side DTN3 has the same hardware configuration as the receiving side DTN3.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
データ生成機で生成された複数のデータを束ねて送信する送信側のデータ転送装置1と、前記データの束を受信してリモート計算機へ送信する受信側のデータ転送装置3と、を備えたデータ転送システムにおいて、前記送信側のデータ転送装置1は、データの優先度に従い、前記データ生成機で生成された複数のデータをそれぞれ各データの優先度に対応する優先度の振り分け先へ振り分ける振分部13と、優先度の高い振り分け先から順に、各振り分け先にそれぞれ振り分けられた複数のデータを一定サイズ以上のチャンク毎に固める生成部14と、当該複数のデータが各チャンクにそれぞれ固められたタイミングで、前記各チャンクをそれぞれ前記受信側のデータ転送装置へ送信する送信部11と、を備え、前記受信側のデータ転送装置3は、前記リモート計算機でのデータの利用状況に応じて、前記データの優先度を決定する決定部32を備える。
Description
本発明は、データ転送システム、データ転送装置、データ転送方法、及び、データ転送プログラムに関する。
近年のHPC(High Performance Computing)技術やセンサ技術の発展によって、高エネルギー物理学、天文学、地球物理学、生物学等の技術分野では、センサ又はシミュレータから膨大なデータが生成され、そのデータを迅速に解析する技術が必要とされている。例えば、ITERの核融合炉実験では将来的に50GByte/secのデータが生成され、そのデータの解析がITER計画の参加国や参加地域で行われる。このとき、データの生成場所とデータの解析場所とが地理的に大きく離れており、センサ又はシミュレータから生成された膨大なデータを高速にデータの解析場所へ転送する必要がある。
従来のシステムでは、Data Sourceで発生したデータ(以降、ファイルともいう)をRemote SC(Super-Computer)へ転送して解析することが行われる。Data Sourceではセンサ情報やシミュレーション結果が生成される。Data Sourceで生成されたデータは、Data Sourceで保存されるか、データを送信するために送信側のDTN(Data Transfer Node)のTemporary Storageに送信されて保存される。送信側のDTNは、Temporary Storageに保存されたデータを対向側のDTNに転送する。データ転送にはFTPのプロトコルが用いられる。受信側のDTNは、データに対して暗号化や圧縮が行われていた場合には復号や解凍した後に、受信したデータをRemote SCへ転送する。
Data Sourceで生成されるデータはバースト的に発生することがあり、ある時間ではデータのDTN間の伝送速度よりも高速に多量のデータが生成される。例えば、100Gbpsの伝送速度に対して100Gbps以上の速度でデータが生成される。データの生成速度がデータの伝送速度よりも高速なユースケースとしては、スマートシティ、衛星との通信等、数多く想定される。
光ネットワーク技術の進展によって、DTN間の通信ネットワークは、大陸間を跨ぐような長距離であっても数百Gbps級の性能を達成している。しかしながら、データの生成速度に対して通信ネットワークの遅延が大きく、その一方で通信ネットワークの帯域が一般的な帯域よりも大きい場合、その通信ネットワークの帯域を最大限に活用できるようなデータ転送を実現することは難しい。
つまり、数十Gbps級の通信ネットワークにおいて、TCPのようなパケット到達を保証するプロトコルを単純に利用する場合には、帯域を埋めることつまりワイヤーレートを達成することは難しい。FTPといったTCPを利用したファイル転送において、小さいファイルが多いファイル群を転送する場合には、TCPのスロースタートという性質や利用可能なTCPセッション数の枯渇が原因で所望の転送性能が出ない。単純にUDPを利用する場合にも、NIC(Network Interface Card)のハードウェアオフロード等の機構が利用できないため、ワイヤーレートを出すことが難しい。
また、保存されているデータを遠隔地に配布する方法としては、CDN(Content Delivery Network)のように、利用可能性のデータを利用先のユーザの近くに保存しておくことで、ユーザからのリクエストに迅速に応答する方法がある。しかし、データの生成処理とデータの転送処理とが同時に行われるようなシステムにおいては、同様の方法を採用しても転送を高速化できない。
そこで、複数の小さなファイルを1つの大きなファイルに固め、並列化可能な数だけそのファイルを分割してデータ転送を行う方法が提案されている(非特許文献1、2参照)。
Mehmet Balman、外8名、"Experiences with 100Gbps Network Applications"、In Proceedings of the fifth international workshop on Data-Intensive Distributed Computing Date、2012年6月、p.33- p.42.
Kenjiro Yamanaka、外8名、"High-performance data transfer for full data replication between iter and the remote experimentation centre"、Fusion Engineering and Design 138、2019年、p.202- p.209
(第1課題)
特に長距離の場合において、Data SourceからRemote SCに100Gbps級のファイル転送を実現することは単純ではない。非特許文献1、2では小さなファイルを大きなファイルに固めて転送する方法を提案しているが、すべてのファイルを生成した後に転送を開始するため、ファイル生成が終了するまでファイル転送を待機する必要があり、ファイル転送に遅延が発生する。
特に長距離の場合において、Data SourceからRemote SCに100Gbps級のファイル転送を実現することは単純ではない。非特許文献1、2では小さなファイルを大きなファイルに固めて転送する方法を提案しているが、すべてのファイルを生成した後に転送を開始するため、ファイル生成が終了するまでファイル転送を待機する必要があり、ファイル転送に遅延が発生する。
(第2課題)
短距離の場合においては、ファイルを固めることなく100Gbps級の転送速度を達成できる可能性があるが、最初に計算したいファイルが最初に転送される保証はない。この点、Remote SCでは表示したいファイルがある程度決まっている又は予想できることから、先に送りたいファイルの優先度が決まるはずである。Data Sourceでのデータ生成速度がDTN間のデータ転送速度よりも高い場合には、この優先度を考慮する必要がある。
短距離の場合においては、ファイルを固めることなく100Gbps級の転送速度を達成できる可能性があるが、最初に計算したいファイルが最初に転送される保証はない。この点、Remote SCでは表示したいファイルがある程度決まっている又は予想できることから、先に送りたいファイルの優先度が決まるはずである。Data Sourceでのデータ生成速度がDTN間のデータ転送速度よりも高い場合には、この優先度を考慮する必要がある。
(発明の目的)
本発明は、上記事情に鑑みてなされたものであり、本発明の目的は、高速かつ多量に生成されるデータを高速に転送可能であり、データの解析計算を早く開始可能な技術を提供することである。
本発明は、上記事情に鑑みてなされたものであり、本発明の目的は、高速かつ多量に生成されるデータを高速に転送可能であり、データの解析計算を早く開始可能な技術を提供することである。
本発明の一態様のデータ転送システムは、データ生成機で生成された複数のデータを束ねて送信する送信側のデータ転送装置と、前記データの束を受信してリモート計算機へ送信する受信側のデータ転送装置と、を備えたデータ転送システムにおいて、前記送信側のデータ転送装置は、データの優先度に従い、前記データ生成機で生成された複数のデータをそれぞれ各データの優先度に対応する優先度の振り分け先へ振り分ける振分部と、優先度の高い振り分け先から順に、各振り分け先にそれぞれ振り分けられた複数のデータを一定サイズ以上のチャンク毎に固める生成部と、当該複数のデータが各チャンクにそれぞれ固められたタイミングで、前記各チャンクをそれぞれ前記受信側のデータ転送装置へ送信する送信部と、を備え、前記受信側のデータ転送装置は、前記リモート計算機でのデータの利用状況に応じて、前記データの優先度を決定する決定部を備える。
本発明の一態様のデータ転送装置は、リモート計算機でのデータの利用状況に応じて決定されたデータの優先度に従い、データ生成機で生成された複数のデータをそれぞれ各データの優先度に対応する優先度の振り分け先へ振り分ける振分部と、優先度の高い振り分け先から順に、各振り分け先にそれぞれ振り分けられた複数のデータを一定サイズ以上のチャンク毎に固める生成部と、当該複数のデータが各チャンクにそれぞれ固められたタイミングで、前記各チャンクをそれぞれデータ転送装置へ送信する送信部と、を備える。
本発明の一態様のデータ転送方法は、データ転送装置で行うデータ転送方法において、リモート計算機でのデータの利用状況に応じて決定されたデータの優先度に従い、データ生成機で生成された複数のデータをそれぞれ各データの優先度に対応する優先度の振り分け先へ振り分けるステップと、優先度の高い振り分け先から順に、各振り分け先にそれぞれ振り分けられた複数のデータを一定サイズ以上のチャンク毎に固めるステップと、当該複数のデータが各チャンクにそれぞれ固められたタイミングで、前記各チャンクをそれぞれデータ転送装置へ送信するステップと、を行う。
本発明の一態様のデータ転送プログラムは、上記データ転送装置としてコンピュータを機能させる。
本発明によれば、高速かつ多量に生成されるデータを高速に転送可能であり、データの解析計算を早く開始可能な技術を提供できる。
以下、図面を参照して、本発明の実施形態を説明する。図面の記載において同一部分には同一符号を付し説明を省略する。
[発明の概要]
第1課題に対し、本発明は、すべてのデータの生成を待機することなく、データがある程度生成された段階で、一定サイズ以上のチャンク単位でデータを転送する点を特徴とする。チャンクを生成できれば転送開始できるので、すべてのデータが揃う前にデータ転送を開始可能となる。
第1課題に対し、本発明は、すべてのデータの生成を待機することなく、データがある程度生成された段階で、一定サイズ以上のチャンク単位でデータを転送する点を特徴とする。チャンクを生成できれば転送開始できるので、すべてのデータが揃う前にデータ転送を開始可能となる。
第2課題に対し、本発明は、チャンクを生成する際、Remote SCで計算を行う順番又は計算を行うと予想される順番等によって決定される優先度の高い順にデータを固める点を特徴とする。優先度の高いデータを先に固めて転送することで、データの解析計算を早く開始可能となる。
この点について、本発明は、過去のデータ利用状況等の統計情報や人の入力による設定等を基に、予めデータ優先度を決定する点を特徴とする。ITERやシミュレーション実験では、大きなデータを生成する実験と結果を解析する計算とが様々なパラメータを変化させながら繰り返し行われる。過去の解析に利用したデータは次の解析で利用する可能性が高く、過去のデータ利用状況に応じてデータ優先度を決定することで、データの解析計算時間を短縮可能となる。
本発明は、上記3つの特徴以外にも以下更なる特徴がある。
本発明は、Remote SCからデータ要求を受ける前に、高優先度のデータを受信側のDTNへ予め送信しておく点を特徴とする。利用可能性の高いデータを利用先のユーザの近くに保存しておくことで、ユーザからのリクエストに迅速に応答でき、そのデータを利用したい場合にすぐに利用可能となる。
本発明は、Remote SCでのデータ解析計算に変更があった際に、データ優先度を動的に変更する点を特徴とする。データ優先度が統計処理等によって予め決定されていた場合、実際に行いたい計算順序と優先度とが一致しないことがあるが、データ優先度を動的に変更することで、その不一致による解析計算開始の遅延を緩和可能となる。
本発明は、通信ネットワークの状態を監視し、又はネットワーク管理装置から通信ネットワークの状態を取得し、輻輳等が発生した際に、データ優先度を動的に変更する点を特徴とする。例えば、通信ネットワークの帯域が絞られた場合には、必須のデータのみを送ったり、優先度の低いデータを破棄したりする。通信ネットワークの状態に応じてデータ優先度を動的に変更することで、輻輳等によって通信ネットワークの帯域が制限され、すべてのデータを転送できない場合でも、必須のデータを確実に転送可能となる。
本発明は、Remote SCの状態を監視し、Remote SCでの計算リソースの使用状況に応じて、受信側のDTNへ送信するチャンク数を調整する点を特徴とする。例えば、Remote SCの計算リソース以上のチャンクを転送していた場合には、チャンク数を削減する。Remote SCの状態に応じてチャンク数を調整することで、データの解析計算を所望時間で実行可能となる。
本発明は、複数の優先度のうち最も高い最高優先度のデータについては、例外的に、上述した一定サイズ以上のチャンクに固める処理を行うことなく、そのまま送信する点を特徴とする。データをチャンクに固める処理による遅延がなくなるので、最高優先度のデータについては最も高速に転送可能となる。
[第1実施形態]
(発明の概要)
図1は、第1実施形態に係る発明の概要を示す図である。
(発明の概要)
図1は、第1実施形態に係る発明の概要を示す図である。
第1実施形態において、送信側DTNは、Data Sourceで生成されたデータ(ファイルともいう)をTemporary Storageで管理し、ファイルの優先度を示す優先度決定ルールに従ってファイルを受信側DTNへ転送する。このとき、送信側DTNは、ファイルの転送性能を高めるため、Data Sourceで生成されたファイルを一定サイズ以上のチャンク(送信チャンク)に固めて転送する。
つまり、第1実施形態では、複数のファイルのうち優先度の高いファイルから順に一定サイズ以上の1つのチャンク毎に固めて転送する。チャンク毎に固めて転送するので、すべてのファイル生成の終了を待機することなくファイル転送を開始可能となり、ファイル転送の遅延を小さくすることができる。また、優先度の高いファイルから固めるので、優先度の高いファイルを早くRemote SCに届けることができ、データの解析計算を早く開始できる。
(全体のシステム構成)
図2は、第1実施形態に係るデータ転送システムの全体構成を示す図である。このデータ転送システムは、送信側DTN1と、受信側DTN3と、データ生成機5と、リモート計算機7と、を備える。
図2は、第1実施形態に係るデータ転送システムの全体構成を示す図である。このデータ転送システムは、送信側DTN1と、受信側DTN3と、データ生成機5と、リモート計算機7と、を備える。
(送信側DTN1の機能)
送信側DTN1は、データ生成機5で生成された複数のデータを束ねて送信する送信側のデータ転送装置である。送信側DTN1は、送受信部11と、決定部12と、振分部13と、生成部14と、保存部15と、を備える。
送信側DTN1は、データ生成機5で生成された複数のデータを束ねて送信する送信側のデータ転送装置である。送信側DTN1は、送受信部11と、決定部12と、振分部13と、生成部14と、保存部15と、を備える。
(送受信部11の機能)
送受信部11は、受信側DTN3から送信された優先度決定ルールを受信する機能を備える。また、送受信部11は、データ生成機5で生成された複数のデータを受信する機能を備える。更に、送受信部11は、複数のデータが各チャンクにそれぞれ固められたタイミングで、各チャンクをそれぞれ受信側DTN3へ送信する機能を備える。更に、送受信部11は、受信側DTN3からデータの要求を受ける前に、優先度の高いデータを受信側DTN3へ送信する機能を備える。
送受信部11は、受信側DTN3から送信された優先度決定ルールを受信する機能を備える。また、送受信部11は、データ生成機5で生成された複数のデータを受信する機能を備える。更に、送受信部11は、複数のデータが各チャンクにそれぞれ固められたタイミングで、各チャンクをそれぞれ受信側DTN3へ送信する機能を備える。更に、送受信部11は、受信側DTN3からデータの要求を受ける前に、優先度の高いデータを受信側DTN3へ送信する機能を備える。
送受信部11は、UDP、TCP、FTP、GridFTP、MMCFTP等のプロトコルを用いてチャンクを転送する。送受信部11は、FTP系のプロトコルに代えて、RDMA(Remote Direct Memory Access)等のプロトコルを用いてチャンクを転送してもよい。送受信部11は、既存のプロトコルに代えて、独自のプロトコルを用いてもよい。
送受信部11は、チャンク転送を並列に行ってもよい。例えば、送受信部11は、1つのチャンクを複数に並列化して転送してもよいし、複数のチャンクを並列に転送してもよい。
送受信部11は、チャンク転送時に、QoS(Quality of Service)制御、暗号化、圧縮等を行ってもよい。チャンク転送の通信ネットワークにチャンク以外の通信も流れる場合には、送受信部11は、チャンク転送時にShaperを行ってもよい。振分部13において、優先度付きQueueでPacket Schedulerと同じアルゴリズムを用いた場合には、Shaperを組み合わせることができる(参考文献1、2参照)。
参考文献1;Anirudh Sivaraman、外9名、“Programmable packet scheduling at line rate“、In Proceedings of the 2016 ACM SIGCOMM Conference、p.44-p.57。
参考文献2;Ahmed Saeed、外6名、“Eiffel: Efficient and flexible software packet scheduling”、In 16th {USENIX} Symposium on Networked Systems Design and Implementation ({NSDI} 19)、2019年、p.17-p.32。
(決定部12の機能)
決定部12は、優先度決定ルールに示された各データの優先度に従い、データ生成機5で生成された複数のデータの各優先度をそれぞれ決定し、その優先度を各データにそれぞれ付与する機能を備える。
決定部12は、優先度決定ルールに示された各データの優先度に従い、データ生成機5で生成された複数のデータの各優先度をそれぞれ決定し、その優先度を各データにそれぞれ付与する機能を備える。
(振分部13の機能)
振分部13は、優先度が付与された複数のデータをそれぞれ各データの優先度に対応する優先度の振り分け先へ振り分ける機能を備える。例えば、振分部13は、決定部12で決定された優先度に従い、ファイルまたはファイルのポインタを優先度付きQueueに保存する。ファイルのポインタを優先度付きQueueに保存する場合、ファイル本体は保存部15に保存される。
振分部13は、優先度が付与された複数のデータをそれぞれ各データの優先度に対応する優先度の振り分け先へ振り分ける機能を備える。例えば、振分部13は、決定部12で決定された優先度に従い、ファイルまたはファイルのポインタを優先度付きQueueに保存する。ファイルのポインタを優先度付きQueueに保存する場合、ファイル本体は保存部15に保存される。
振分部13は、優先度付きQueueやファイル振り分け用のスケジューラに、任意のアルゴリズムを適用できる。振分部13は、ヒープ木等の木構造を利用した優先度付きQueueを用いてもよい。振分部13は、Packet Schedulerとして紹介されているアルゴリズム及び実装方法(Push-In-First-Out、Eiffel等)を用いてもよい。振分部13は、Eiffelとして紹介されているように有限段階の優先度を設定し、優先度毎にQueueを用意してもよい。振分部13は、Circular FFS-based Queueを用いてもよい。振分部13は、優先度の高いQueueを見つけるために、近似アルゴリズムを利用してもよいし、木構造を利用してもよい(上記参考文献1、2参照)。
(生成部14の機能)
生成部14は、優先度の高い振り分け先から順に、各振り分け先にそれぞれ振り分けられた複数のデータを一定サイズ以上のチャンク毎に固めることで、一定以上のデータサイズからなる複数のチャンクをそれぞれ生成する機能を備える。例えば、生成部14は、優先度付きQueue又は保存部15に保存されたデータを優先度に従い複数取り出してチャンクを生成する。
生成部14は、優先度の高い振り分け先から順に、各振り分け先にそれぞれ振り分けられた複数のデータを一定サイズ以上のチャンク毎に固めることで、一定以上のデータサイズからなる複数のチャンクをそれぞれ生成する機能を備える。例えば、生成部14は、優先度付きQueue又は保存部15に保存されたデータを優先度に従い複数取り出してチャンクを生成する。
生成部14は、優先度の高い順にデータを取り出してもよいし、同じ優先度のデータが一定以上たまったとき又は既定の時刻になったときに、その同じ優先度のデータを一定サイズ分集めてチャンクを生成してもよい。生成部14は、取り出したデータのサイズがチャンクのサイズよりも大きい場合、そのデータを複数に分割し、1つのデータに対して複数のチャンクを生成してもよい。
(保存部15の機能)
保存部15は、データ生成機5から送信された複数のデータを保存する機能を備える。保存部15は、送信DTN1の内部にあってもよいし、送信DTN1の外部にあってもよい。
保存部15は、データ生成機5から送信された複数のデータを保存する機能を備える。保存部15は、送信DTN1の内部にあってもよいし、送信DTN1の外部にあってもよい。
例えば、保存部15は、読み書きの速度が高速なRAMDiskや不揮発性メモリである。保存部15は、単位容量あたりのコストは高いが読み書き速度が速い装置や単位容量あたりのコストが安いが読み書きが比較的遅い装置等を複数の層にしたストレージ構造の記憶装置でもよい。保存部15は、NVMe-oF(NVM Express over Fabrics)等を用いた外部の高速なストレージでもよい。保存部15は、Ceph、Google File System、Gfarmのような分散ファイルシステムでもよい(参考文献3~5参照)。
参考文献3;Sage A. Weil、外4名、“Ceph: A scalable, high-performance distributed file system”、In Proceedings of the 7th symposium on Operating systems design and implementation、2006年11月、p.307-p.320。
参考文献4;Sanjay Ghemawat、外2名、“The Google file system”、In Proceedings of the nineteenth ACM symposium on Operating systems principles、p.29-p.43。
参考文献5;建部 修見、外4名、“ペタバイトスケールデータインテンシブコンピューティングのためのGrid Datafarm アーキテクチャ”、情報処理学会論文誌:ハイパフォーマンスコンピューティングシステム、情報処理学会、Vol.43、No.SIG 6 (HPS5)、2002年9月、p.184-p.195。
(受信側DTN3の機能)
受信側DTN3は、送信側DTN1からのデータの束を受信し、そのデータの束を復元し、必要に応じて展開(復号化、解凍等)し、リモート計算機7へ送信する受信側のデータ転送装置である。受信側DTN3は、送受信部31と、決定部32と、収集部33と、復元部34と、保存部35と、を備える。
受信側DTN3は、送信側DTN1からのデータの束を受信し、そのデータの束を復元し、必要に応じて展開(復号化、解凍等)し、リモート計算機7へ送信する受信側のデータ転送装置である。受信側DTN3は、送受信部31と、決定部32と、収集部33と、復元部34と、保存部35と、を備える。
(送受信部31の機能)
送受信部31は、優先度決定ルールを送信側DTN1へ送信する機能を備える。また、送受信部31は、送信側DTN1から送信されたチャンクを受信する機能を備える。
送受信部31は、優先度決定ルールを送信側DTN1へ送信する機能を備える。また、送受信部31は、送信側DTN1から送信されたチャンクを受信する機能を備える。
(決定部32の機能)
決定部32は、リモート計算機7から収集した情報を基に、リモート計算機7でのデータの利用状況に応じて各データの優先度をそれぞれ決定し、各データの優先度を示す優先度決定ルールを生成する機能を備える。また、決定部32は、リモート計算機7での計算内容の変更に応じて、各データの優先度を変更する機能を備える。
決定部32は、リモート計算機7から収集した情報を基に、リモート計算機7でのデータの利用状況に応じて各データの優先度をそれぞれ決定し、各データの優先度を示す優先度決定ルールを生成する機能を備える。また、決定部32は、リモート計算機7での計算内容の変更に応じて、各データの優先度を変更する機能を備える。
例えば、決定部32は、ユーザのデータ利用実績からデータの統計処理等を行い、ファイルのタイトル、属性、生成時間、生成場所、内容等に基づき、各データの優先度を決定する。シミュレーションや実験を繰り返す場合、決定部32は、過去のデータ利用状況を利用し、ディープラーニングや機械学習等の統計処理を利用して各データの優先度を決定してもよい。
決定部32は、EDF(Earliest Deadline First)スケジューリングのように、要求期限の近いファイルの優先度を最高優先度としてもよい。決定部32は、ある程度時間が経過し、ファイルの価値が無くなった場合には、そのファイルの優先度を最低優先度又は優先度なしとし、ファイル転送を行わずに破棄させるようにしてもよい。
(収集部33の機能)
収集部33は、優先度決定ルールを決定するために必要な情報をリモート計算機7から収集する機能を備える。
収集部33は、優先度決定ルールを決定するために必要な情報をリモート計算機7から収集する機能を備える。
(復元部34の機能)
復元部34は、送信側DTN1から送信されたチャンクから複数のデータを取り出し、その複数のデータを保存部35に保存する機能を備える。
復元部34は、送信側DTN1から送信されたチャンクから複数のデータを取り出し、その複数のデータを保存部35に保存する機能を備える。
(保存部35の機能)
保存部35は、複数のデータを保存する機能を備える。
保存部35は、複数のデータを保存する機能を備える。
(データ生成機5の構成)
データ生成機5は、1つ以上のData Sourceである。データ生成機5は、生成部51と、保存部52と、を備える。生成部51は、データを生成し、そのデータを保存部52に保存し、そのデータを送信側DTN1へ送信する機能を備える。例えば、生成部51は、スーパーコンピュータやセンサである。生成部51は、複数で構成されていてもよい。保存部52は、データを保存する機能を備える。
データ生成機5は、1つ以上のData Sourceである。データ生成機5は、生成部51と、保存部52と、を備える。生成部51は、データを生成し、そのデータを保存部52に保存し、そのデータを送信側DTN1へ送信する機能を備える。例えば、生成部51は、スーパーコンピュータやセンサである。生成部51は、複数で構成されていてもよい。保存部52は、データを保存する機能を備える。
(リモート計算機7の構成)
リモート計算機7は、1つ以上のRemote SCである。リモート計算機7は、受信側DTN3に対してデータを要求する要求部71と、そのデータを解析計算する計算部72と、そのデータやデータの解析結果を保存する保存部73と、を備える。
リモート計算機7は、1つ以上のRemote SCである。リモート計算機7は、受信側DTN3に対してデータを要求する要求部71と、そのデータを解析計算する計算部72と、そのデータやデータの解析結果を保存する保存部73と、を備える。
(データ転送方法)
図3は、第1実施形態に係るデータ転送方法を示すシーケンス図である。
図3は、第1実施形態に係るデータ転送方法を示すシーケンス図である。
ステップS101;
まず、受信側DTN3において、収集部33は、優先度決定ルールを決定するために必要な情報をリモート計算機7から収集する。例えば、収集部33は、データの利用者情報、データ利用の統計情報、データの計算結果、データの計算途中結果、その他の過去データ等を収集する。
まず、受信側DTN3において、収集部33は、優先度決定ルールを決定するために必要な情報をリモート計算機7から収集する。例えば、収集部33は、データの利用者情報、データ利用の統計情報、データの計算結果、データの計算途中結果、その他の過去データ等を収集する。
ステップS102;
次に、決定部32は、リモート計算機7から収集した情報を基に、リモート計算機7でのデータの利用状況に応じ、データ生成機5により生成される各データの優先度をそれぞれ決定し、各データの優先度を示す優先度決定ルールを生成する。
次に、決定部32は、リモート計算機7から収集した情報を基に、リモート計算機7でのデータの利用状況に応じ、データ生成機5により生成される各データの優先度をそれぞれ決定し、各データの優先度を示す優先度決定ルールを生成する。
このとき、決定部32は、ユーザが予め設定した各データの優先度をそのまま各データの優先度として決定してもよい。決定部32は、ニューラルネットワークや機械学習等を用いて各データの優先度を決定してもよい。決定部32は、ユーザに依存しない全体的な優先度を決定してもよいし、ユーザ毎に各データの優先度をそれぞれ決定してもよい。
ステップS103;
次に、送受信部31は、上記優先度決定ルールを通信ネットワークを介して送信側DTN1へ送信する。
次に、送受信部31は、上記優先度決定ルールを通信ネットワークを介して送信側DTN1へ送信する。
ステップS104;
一方、データ生成機5において、生成部51は、データを生成する。生成部51は、センサやシミュレータ等であり、リモート計算機7で計算したいデータを生成する。データの形式は、ファイル等がある。
一方、データ生成機5において、生成部51は、データを生成する。生成部51は、センサやシミュレータ等であり、リモート計算機7で計算したいデータを生成する。データの形式は、ファイル等がある。
ステップS105;
次に、生成部51は、ファイルを生成する毎にファイルを送信側DTN1へ順次送信する。このとき、生成部51は、そのファイルを保存部52に保存してもよい。保存部52は、データ生成機5の内部にあってもよいし、データ生成機5の外部にあってもよい。
次に、生成部51は、ファイルを生成する毎にファイルを送信側DTN1へ順次送信する。このとき、生成部51は、そのファイルを保存部52に保存してもよい。保存部52は、データ生成機5の内部にあってもよいし、データ生成機5の外部にあってもよい。
ステップS106;
次に、送信側DTN1において、送受信部11は、データ生成機5から送信された各ファイルを順次受信する。その後、決定部12は、受信側DTN3からの優先度決定ルールに従い、各ファイルの優先度をそれぞれ決定し、その優先度を各データにそれぞれ付与する。
次に、送信側DTN1において、送受信部11は、データ生成機5から送信された各ファイルを順次受信する。その後、決定部12は、受信側DTN3からの優先度決定ルールに従い、各ファイルの優先度をそれぞれ決定し、その優先度を各データにそれぞれ付与する。
ステップS107;
次に、振分部13は、優先度が付与された各ファイルをそれぞれ各ファイルの優先度に対応する優先度の振り分け先へ振り分ける。具体的には、振分部13は、優先度順にファイルが取り出せるように優先度付きQueue等のデータ構造を活用し、各ファイルを優先度付きQueueに保存する。このとき、振分部13は、ファイルのポインタを優先度付きQueueに保存してもよい。
次に、振分部13は、優先度が付与された各ファイルをそれぞれ各ファイルの優先度に対応する優先度の振り分け先へ振り分ける。具体的には、振分部13は、優先度順にファイルが取り出せるように優先度付きQueue等のデータ構造を活用し、各ファイルを優先度付きQueueに保存する。このとき、振分部13は、ファイルのポインタを優先度付きQueueに保存してもよい。
ステップS108;
次に、生成部14は、優先度の高い順に各振り分け先からファイルを順次取り出し、取り出した各ファイルを一定サイズのチャンク毎に固める。これにより、1つ以上のファイルが格納された複数のチャンク(送信用の送信チャンク)が生成される。なお、チャンクとは、高速性を実現するために、ある程度大きなサイズに纏められたファイルの集合である。
次に、生成部14は、優先度の高い順に各振り分け先からファイルを順次取り出し、取り出した各ファイルを一定サイズのチャンク毎に固める。これにより、1つ以上のファイルが格納された複数のチャンク(送信用の送信チャンク)が生成される。なお、チャンクとは、高速性を実現するために、ある程度大きなサイズに纏められたファイルの集合である。
このとき、生成部14は、優先度の高い順にファイルを取り出してチャンクを生成してもよいし、同じ優先度のファイルが一定以上たまったとき又は既定の時刻になったときに、その同じ優先度のファイルを一定サイズ分集めてチャンクを生成してもよい。生成部14は、取り出したファイルのサイズがチャンクのサイズよりも大きい場合、そのファイルを複数に分割し、1つのファイルに対して複数のチャンクを生成してもよい。生成部14は、ファイルを圧縮してチャンクを生成してもよい。
ステップS109;
次に、送受信部11は、各ファイルが各チャンクにそれぞれ固められたタイミングで、各チャンクをそれぞれ通信ネットワークを介して受信側DTN3へ送信する。このとき、送受信部11は、GridFTPやMMCFTP等、TCPの複数セッションを活用する通信手段を用いて複数のチャンクを並列転送してもよいし、UDPやRDMA等を用いて転送してもよい。RDMAを用いる場合、送受信部11は、チャンクをメモリ上に展開し、図4に示すようなリングバッファ等のデータ構造を用いてファイル転送を行ってもよい。送受信部11は、バッチ処理でファイル転送を行ってもよい。
次に、送受信部11は、各ファイルが各チャンクにそれぞれ固められたタイミングで、各チャンクをそれぞれ通信ネットワークを介して受信側DTN3へ送信する。このとき、送受信部11は、GridFTPやMMCFTP等、TCPの複数セッションを活用する通信手段を用いて複数のチャンクを並列転送してもよいし、UDPやRDMA等を用いて転送してもよい。RDMAを用いる場合、送受信部11は、チャンクをメモリ上に展開し、図4に示すようなリングバッファ等のデータ構造を用いてファイル転送を行ってもよい。送受信部11は、バッチ処理でファイル転送を行ってもよい。
ステップS110;
次に、受信側DTN3において、送受信部31は、送信側DTN1から送信された各チャンクを受信する。その後、復元部34は、各チャンクからそれぞれファイルを取り出す。このとき、復元部34は、そのファイルに暗号化や圧縮が行われていた場合には、ファイルの復号化や解凍を行う。
次に、受信側DTN3において、送受信部31は、送信側DTN1から送信された各チャンクを受信する。その後、復元部34は、各チャンクからそれぞれファイルを取り出す。このとき、復元部34は、そのファイルに暗号化や圧縮が行われていた場合には、ファイルの復号化や解凍を行う。
ステップS111;
最後に、復元部34は、各チャンクからそれぞれ取り出した各ファイルを保存部35に保存する。そして、送受信部31は、チャンクからファイルを取り出すと同時に、又はリモート計算機7からファイル要求を受けた際に、ファイルをリモート計算機7へ送信する。受信側DTN3は、ファイル保存とファイル送信のうち、一方のみを行ってもよいし、両方を行ってもよい。
最後に、復元部34は、各チャンクからそれぞれ取り出した各ファイルを保存部35に保存する。そして、送受信部31は、チャンクからファイルを取り出すと同時に、又はリモート計算機7からファイル要求を受けた際に、ファイルをリモート計算機7へ送信する。受信側DTN3は、ファイル保存とファイル送信のうち、一方のみを行ってもよいし、両方を行ってもよい。
(チャンク生成方法)
図5は、チャンク生成方法を示す処理図である。
図5は、チャンク生成方法を示す処理図である。
ステップS201;
まず、送信側DTN1は、データ生成機5から送信された各ファイルを読み込む。例えば、データ生成機5により生成されるデータのファイル名には、優先度を示す言葉が入力されている。具体的には、温度センサーデータのファイル名にはlowという言葉がファイル名に入力され、圧力センサーデータのファイル名にはhighという言葉がファイル名に入力されている。
まず、送信側DTN1は、データ生成機5から送信された各ファイルを読み込む。例えば、データ生成機5により生成されるデータのファイル名には、優先度を示す言葉が入力されている。具体的には、温度センサーデータのファイル名にはlowという言葉がファイル名に入力され、圧力センサーデータのファイル名にはhighという言葉がファイル名に入力されている。
ステップS202;
次に、送信側DTN1は、データの利用状況に応じて決定されたデータ優先度に従い、各ファイルの優先度をそれぞれ決定して各ファイルにそれぞれ付与する。ファイルの優先度は、例えば、ファイル名で判定する。
次に、送信側DTN1は、データの利用状況に応じて決定されたデータ優先度に従い、各ファイルの優先度をそれぞれ決定して各ファイルにそれぞれ付与する。ファイルの優先度は、例えば、ファイル名で判定する。
ステップS203;
次に、送信側DTN1は、各ファイルをそれぞれ各ファイルの優先度に対応する優先度の振り分け先へ振り分け、優先度の高い順に一定サイズのチャンク毎に固める。
次に、送信側DTN1は、各ファイルをそれぞれ各ファイルの優先度に対応する優先度の振り分け先へ振り分け、優先度の高い順に一定サイズのチャンク毎に固める。
ステップS204;
最後に、送信側DTN1は、各チャンクをそれぞれ各優先度のキューに格納し、優先度の高いキューに格納されたチャンクから順に受信側DTN3へ送信する。具体的には、送信側DTN1は、優先度の高いチャンクを高優先キューに格納する。高優先キューは一般にキューサイズが大きいので、チャンクを廃棄しにくくすることができる。そのため、単位時間あたりに送信できるチャンク数が多くなり、低遅延に送信できる。一方、優先度の低いチャンクは低優先キューに格納する。
最後に、送信側DTN1は、各チャンクをそれぞれ各優先度のキューに格納し、優先度の高いキューに格納されたチャンクから順に受信側DTN3へ送信する。具体的には、送信側DTN1は、優先度の高いチャンクを高優先キューに格納する。高優先キューは一般にキューサイズが大きいので、チャンクを廃棄しにくくすることができる。そのため、単位時間あたりに送信できるチャンク数が多くなり、低遅延に送信できる。一方、優先度の低いチャンクは低優先キューに格納する。
(チャンク送信方法)
図6は、チャンク送信方法を示すフロー図である。
図6は、チャンク送信方法を示すフロー図である。
ステップS204-1,S204-2;
最初に、送信側DTN1は、高優先度に割り当てられたI回の割当数に到達するまで、高優先キューに格納された高優先度の各チャンクの送信を繰り返す。
最初に、送信側DTN1は、高優先度に割り当てられたI回の割当数に到達するまで、高優先キューに格納された高優先度の各チャンクの送信を繰り返す。
ステップS204-3,S204-4;
次に、高優先度のチャンクの送信回数がI回に到達した場合、送信側DTN1は、中優先度に割り当てられたM回の割当数に到達するまで、中優先キューに格納された中優先度の各チャンクの送信を繰り返す。
次に、高優先度のチャンクの送信回数がI回に到達した場合、送信側DTN1は、中優先度に割り当てられたM回の割当数に到達するまで、中優先キューに格納された中優先度の各チャンクの送信を繰り返す。
ステップS204-5,S204-6;
最後に、中優先度のチャンクの送信回数がM回に到達した場合、送信側DTN1は、低優先度に割り当てられたN回の割当数に到達するまで、低優先キューに格納された低優先度の各チャンクの送信を繰り返す。
最後に、中優先度のチャンクの送信回数がM回に到達した場合、送信側DTN1は、低優先度に割り当てられたN回の割当数に到達するまで、低優先キューに格納された低優先度の各チャンクの送信を繰り返す。
なお、優先度のクラス数は、3つに限らず、2つ以上であればよい。
(データ取得方法)
図7は、データ取得方法を示すシーケンス図である。
図7は、データ取得方法を示すシーケンス図である。
ステップS301;
まず、リモート計算機7において、要求部71は、受信側DTN3に対してデータを要求する。
まず、リモート計算機7において、要求部71は、受信側DTN3に対してデータを要求する。
ステップS302;
次に、受信側DTN3において、リモート計算機7から要求されたデータが保存部35に保存されている場合には、送受信部31は、そのデータをリモート計算機7へ送信する。
次に、受信側DTN3において、リモート計算機7から要求されたデータが保存部35に保存されている場合には、送受信部31は、そのデータをリモート計算機7へ送信する。
ステップS303;
一方、受信側DTN3において、リモート計算機7から要求されたデータが保存部35に保存されていない場合には、送受信部31は、そのデータを送信側DTN1を介してデータ生成機5へ要求する。
一方、受信側DTN3において、リモート計算機7から要求されたデータが保存部35に保存されていない場合には、送受信部31は、そのデータを送信側DTN1を介してデータ生成機5へ要求する。
ステップS304;
次に、データ生成機5において、生成部51は、リモート計算機7から要求されたデータのファイルを保存部52から読み出し、そのファイルを送信側DTN1へ送信する。そのファイルが保存部52にない場合、生成部51は、そのファイルを生成して送信側DTN1へ送信する。
次に、データ生成機5において、生成部51は、リモート計算機7から要求されたデータのファイルを保存部52から読み出し、そのファイルを送信側DTN1へ送信する。そのファイルが保存部52にない場合、生成部51は、そのファイルを生成して送信側DTN1へ送信する。
ステップS305;
次に、送信側DTN1において、生成部14は、データ生成機5から送信されたファイルのチャンクを生成する。
次に、送信側DTN1において、生成部14は、データ生成機5から送信されたファイルのチャンクを生成する。
ステップS306;
次に、送受信部11は、そのチャンクを通信ネットワークを介して受信側DTN3へ送信する。
次に、送受信部11は、そのチャンクを通信ネットワークを介して受信側DTN3へ送信する。
ステップS307;
その後、受信側DTN3において、復元部34は、送信側DTN1から送信されたチャンクからファイルを取り出す。
その後、受信側DTN3において、復元部34は、送信側DTN1から送信されたチャンクからファイルを取り出す。
ステップS308;
最後に、送受信部31は、そのファイルを要求元のリモート計算機7へ送信する。
最後に、送受信部31は、そのファイルを要求元のリモート計算機7へ送信する。
なお、送信側DTN1の送受信部11は、リモート計算機7からデータ要求を受ける前に、データ生成機5でデータが生成された時点で将来必要になりそうな優先度の高いファイルを受信側DTN3へ予め送信してもよい。その際、CDNのようなデータを遠隔地に配布可能なキャッシュ機構を活用してもよい。
(データ優先度の変更方法)
図8は、データ優先度の変更方法を示すシーケンス図である。
図8は、データ優先度の変更方法を示すシーケンス図である。
ステップS401;
まず、受信側DTN3において、収集部33は、優先度決定ルールを決定するために必要な情報をリモート計算機7から収集する。例えば、収集部33は、データの利用者情報、データ利用の統計情報、データの計算結果、データの計算途中結果、その他の過去データ等を収集する。
まず、受信側DTN3において、収集部33は、優先度決定ルールを決定するために必要な情報をリモート計算機7から収集する。例えば、収集部33は、データの利用者情報、データ利用の統計情報、データの計算結果、データの計算途中結果、その他の過去データ等を収集する。
ステップS402;
次に、決定部32は、リモート計算機7から収集した情報を基に、リモート計算機7での計算内容に変更がある場合、ステップS102で決定していたデータの優先度を変更する。例えば、決定部32は、解析計算に必要なデータの種類、データの使用順序、計算方法等に変更がある場合、データの優先度を変更する。
次に、決定部32は、リモート計算機7から収集した情報を基に、リモート計算機7での計算内容に変更がある場合、ステップS102で決定していたデータの優先度を変更する。例えば、決定部32は、解析計算に必要なデータの種類、データの使用順序、計算方法等に変更がある場合、データの優先度を変更する。
ステップS403;
次に、送受信部31は、変更後の各データの優先度を示す優先度決定ルールを通信ネットワークを介して送信側DTN1へ送信する。
次に、送受信部31は、変更後の各データの優先度を示す優先度決定ルールを通信ネットワークを介して送信側DTN1へ送信する。
ステップS404;
最後に、送信側DTN1において、送受信部11は、過去の優先度決定ルールを変更後の優先度決定ルールで更新する。以降、更新後の優先度決定ルールに従い、決定部12は、データ生成機5から送信されたファイルの優先度を決定する。
最後に、送信側DTN1において、送受信部11は、過去の優先度決定ルールを変更後の優先度決定ルールで更新する。以降、更新後の優先度決定ルールに従い、決定部12は、データ生成機5から送信されたファイルの優先度を決定する。
(効果)
第1実施形態によれば、送信側DTN1が、データを一定サイズ以上のチャンク毎に固めて転送を行うので、すべてのデータの生成を待つことなく、チャンクのサイズ以上のデータが生成されたタイミングでデータ転送を開始でき、データ転送の遅延を小さくすることができる。また、一定サイズ以上のチャンク毎にデータを送信するので、小さいデータが多い場合に転送性能が出ない問題を回避できる。
第1実施形態によれば、送信側DTN1が、データを一定サイズ以上のチャンク毎に固めて転送を行うので、すべてのデータの生成を待つことなく、チャンクのサイズ以上のデータが生成されたタイミングでデータ転送を開始でき、データ転送の遅延を小さくすることができる。また、一定サイズ以上のチャンク毎にデータを送信するので、小さいデータが多い場合に転送性能が出ない問題を回避できる。
また、第1実施形態によれば、送信側DTN1が、チャンクを生成する際に優先度の高いデータからデータを固めるので、優先度の高いデータを早くRemote SCに届けることができ、より早く解析計算開始することができる。
また、第1実施形態によれば、受信側DTN3が、Remote SCでのデータ利用状況に応じてデータの優先度を変更するので、優先度に合わないデータの使い方をした場合に対応できると共に、事前のデータの利用状況を活用することでより優先度の確からしさを高めることができ、より低遅延にRemote SCで解析計算を進めることができる。
また、第1実施形態によれば、送信側DTN1が、受信側DTN3からデータの要求を受ける前に、優先度の高いデータを受信側DTN3へ送信するので、利用可能性の高いファイルを利用先のユーザの近くに保存可能となることから、ユーザからのリクエストに迅速に応答でき、そのファイルを利用したい場合にすぐ利用でき、より低遅延にRemote SCで解析計算を進めることができる。
また、第1実施形態によれば、受信側DTN3が、Remote SCでの計算内容の変更に応じてデータの優先度を変更するので、実際に行いたい計算順序と優先度とが一致しない場合であっても、その不一致による解析計算開始の遅延を緩和できる。
(第1実施形態の変形例)
図9は、第1実施形態に係る発明の変形例を示す図である。
図9は、第1実施形態に係る発明の変形例を示す図である。
第1実施形態では、Data Sourceで生成されたファイルを送信側DTNのTemporary Storageで管理した。一方、この変形例では、送信側DTNは、Data Sourceで生成されたデータのIndexのみを受け取ってIndex Storageで管理し、チャンク生成時にData Sourceからデータ本体を取得する。
図10は、変形例に係るデータ転送システムの全体構成を示す図である。
この変形例において、送信側DTN1は、要求部16を更に備える。要求部16は、データ生成機5に対してデータ本体を要求する機能を備える。
この変形例において、データ生成機5の生成部51は、データを生成し、そのデータを保存部52に保存し、そのデータの情報のみを送信側DTN1へ予め送信する機能を備える。また、生成部51は、送信側DTN1からの要求に応じてデータ本体を送信側DTN1へ送信する機能を備える。
図11は、変形例に係るデータ転送方法を示すシーケンス図である。
ステップS501~S504;
ステップS101~S104と同じである。
ステップS101~S104と同じである。
ステップS505;
次に、データ生成機5において、生成部51は、ファイルを生成する毎に、ファイル本体を保存部52に保存し、ファイル情報を送信側DTN1へ順次送信する。ファイル情報には、ファイル名、データサイズ、生成時刻、センサ情報等が含まれる。
次に、データ生成機5において、生成部51は、ファイルを生成する毎に、ファイル本体を保存部52に保存し、ファイル情報を送信側DTN1へ順次送信する。ファイル情報には、ファイル名、データサイズ、生成時刻、センサ情報等が含まれる。
ステップS506;
次に、送信側DTN1において、送受信部11は、データ生成機5から送信された各ファイル情報を順次受信する。その後、決定部12は、受信側DTN3からの優先度決定ルールに従い、各ファイル情報の優先度をそれぞれ決定し、その優先度を各データ情報にそれぞれ付与する。
次に、送信側DTN1において、送受信部11は、データ生成機5から送信された各ファイル情報を順次受信する。その後、決定部12は、受信側DTN3からの優先度決定ルールに従い、各ファイル情報の優先度をそれぞれ決定し、その優先度を各データ情報にそれぞれ付与する。
ステップS507;
次に、振分部13は、優先度が付与された各ファイル情報をそれぞれ各ファイル情報の優先度に対応する優先度の振り分け先へ振り分ける。
次に、振分部13は、優先度が付与された各ファイル情報をそれぞれ各ファイル情報の優先度に対応する優先度の振り分け先へ振り分ける。
ステップS508;
次に、要求部16は、優先度の高い順に、各振り分け先のファイル情報に対応するファイル本体をデータ生成機5へ要求する。
次に、要求部16は、優先度の高い順に、各振り分け先のファイル情報に対応するファイル本体をデータ生成機5へ要求する。
ステップS509;
次に、データ生成機5において、生成部51は、送信側DTN1から要求された各ファイル本体を送信側DTN1へ順次送信する。
次に、データ生成機5において、生成部51は、送信側DTN1から要求された各ファイル本体を送信側DTN1へ順次送信する。
ステップS510;
次に、送信側DTN1において、生成部14は、データ生成機5から送信された各ファイル本体を一定サイズのチャンク毎に固める。
次に、送信側DTN1において、生成部14は、データ生成機5から送信された各ファイル本体を一定サイズのチャンク毎に固める。
ステップS511~S513;
ステップS109~S111と同じである。
ステップS109~S111と同じである。
[第2実施形態]
図12は、第2実施形態に係る発明の概要を示す図である。
図12は、第2実施形態に係る発明の概要を示す図である。
第2実施形態において、受信側のDTNは、DTN間の通信ネットワークの状態に応じて、データ優先度を動的に変更する。そのため、輻輳等によって通信ネットワークの帯域が制限され、すべてのデータを転送できない場合でも、必須のデータを確実に転送可能となる。
図13は、第2実施形態に係るデータ転送システムの全体構成を示す図である。
第2実施形態において、通信ネットワークを管理するネットワーク管理装置9を更に備える。
第2実施形態において、受信側DTN3は、第1監視部36を更に備える。第1監視部36は、送信側DTN1と受信側DTN3との間の通信ネットワークの状態を監視する機能を備える。
第2実施形態において、受信側DTN3の決定部32は、送信側DTN1と受信側DTN3との間の通信ネットワークの状態に応じて、データの優先度を変更する機能を備える。
図14は、第2実施形態に係るデータ優先度の変更方法を示すシーケンス図である。
ステップS601;
まず、受信側DTN3において、第1監視部36は、送信側DTN1と受信側DTN3との間の通信ネットワークの状態情報を収集する。このとき、第1監視部36は、その状態情報をネットワーク管理装置9から収集してもよい。
まず、受信側DTN3において、第1監視部36は、送信側DTN1と受信側DTN3との間の通信ネットワークの状態情報を収集する。このとき、第1監視部36は、その状態情報をネットワーク管理装置9から収集してもよい。
ステップS602;
次に、決定部32は、送信側DTN1と受信側DTN3との間の通信ネットワークにおいて、帯域制限、輻輳、障害等が発生している場合、ファイルの優先度を変更する。例えば、決定部32は、輻輳が発生している場合、すべてのファイルを受信できない可能性があるので、優先度の低いファイルの転送をあきらめたり、必須のファイルを先に転送したりするため、ファイルの優先度を変更する。
次に、決定部32は、送信側DTN1と受信側DTN3との間の通信ネットワークにおいて、帯域制限、輻輳、障害等が発生している場合、ファイルの優先度を変更する。例えば、決定部32は、輻輳が発生している場合、すべてのファイルを受信できない可能性があるので、優先度の低いファイルの転送をあきらめたり、必須のファイルを先に転送したりするため、ファイルの優先度を変更する。
ステップS603~S604;
ステップS403~S404と同じである。
ステップS403~S404と同じである。
第2実施形態によれば、送信側DTN1と受信側DTN3との間の通信ネットワークの状態に応じてデータ優先度を変更するので、輻輳等によって通信ネットワークの帯域が制限され、すべてのデータを転送できない場合でも、必須のデータを確実に転送できる。
[第3実施形態]
図15は、第3実施形態に係る発明の概要を示す図である。
図15は、第3実施形態に係る発明の概要を示す図である。
第3実施形態において、送信側のDTNは、Remote SCでの計算リソースの使用状況に応じて、受信側のDTNへ送信するチャンク数を調整する。これにより、データの解析計算を所望時間で実行可能となる。
図16は、第3実施形態に係るデータ転送システムの全体構成を示す図である。
第3実施形態において、受信側DTN3は、第2監視部37を更に備える。第2監視部37は、リモート計算機7での計算リソースの使用状況を監視する機能を備える。
第3実施形態において、送信側DTN1の送受信部11は、リモート計算機7での計算リソースの使用状況に応じて、受信側DTN3へ送信するチャンク数を調整する機能を備える。
ここで、第3実施形態に係るデータ転送方法を説明する。
図3に示したステップS103において、送受信部31は、リモート計算機7での計算リソースの使用状況情報を送信側DTN1へ送信する。
図3に示したステップS109において、送信側DTN1の送受信部11は、リモート計算機7での計算リソースの使用状況(CPU使用率、メモリ使用率等)を基に、高速にファイル転送したとしても、リモート計算機7で計算できない場合、リモート計算機7でファイルを受け取れない場合には、通信ネットワークへ出力するチャンク数を削減する。このとき、送受信部11は、通信ネットワークの帯域を抑え、通信量や電力コスト、他の処理への通信リソースの解放等を行ってもよい。
図17は、チャンク出力数の調整方法を示すフロー図である。
ステップS701;
まず、送信側DTN1において、送受信部11は、送信側DTN1と受信側DTN3との間の通信ネットワークで使用可能な帯域の上限値を設定する。
まず、送信側DTN1において、送受信部11は、送信側DTN1と受信側DTN3との間の通信ネットワークで使用可能な帯域の上限値を設定する。
ステップS702;
次に、送受信部11は、上記通信ネットワークで現在使用している帯域の使用量を測定する。
次に、送受信部11は、上記通信ネットワークで現在使用している帯域の使用量を測定する。
ステップS703;
次に、送受信部11は、帯域の上限値と帯域の使用量とを比較する。
次に、送受信部11は、帯域の上限値と帯域の使用量とを比較する。
ステップS704;
帯域の使用量が帯域の上限値未満の場合、送受信部11は、ステップS702へ戻る。帯域の使用量が帯域の上限値以上の場合、送受信部11は、ステップS705へ進む。
帯域の使用量が帯域の上限値未満の場合、送受信部11は、ステップS702へ戻る。帯域の使用量が帯域の上限値以上の場合、送受信部11は、ステップS705へ進む。
ステップS705;
送受信部11は、上記通信ネットワークへ出力するチャンク数を削減する。
送受信部11は、上記通信ネットワークへ出力するチャンク数を削減する。
例えば、送受信部11は、高優先度、中優先度、低優先度にそれぞれ割り当てられていたI回、M回、N回の各割当数をそれぞれ「I-1」回、「M-1」回、「N-1」回に変更することで、単位時間あたりの送信回数を公平に削減する。
例えば、送受信部11は、I回、M回、N回の各割当数をそれぞれ「I±0」回、「M-10」回、「N-100」回に変更することで、単位時間あたりの送信回数を優先度に応じて削減する。
第3実施形態によれば、送信側DTN1が、リモート計算機7での計算リソースの使用状況に応じて受信側DTN3へ送信するチャンク数を調整するので、データの解析計算を所望時間で実行できる。
[第4実施形態]
第4実施形態において、送信側のDTNは、最も高い最高優先度のデータについては、一定サイズ以上のチャンクに固める処理を行うことなく、そのまま受信側のDTNへ送信する。これにより、データをチャンクに固める処理による遅延がなくなり、最高優先度のデータについては最も高速に転送可能となる。
第4実施形態において、送信側のDTNは、最も高い最高優先度のデータについては、一定サイズ以上のチャンクに固める処理を行うことなく、そのまま受信側のDTNへ送信する。これにより、データをチャンクに固める処理による遅延がなくなり、最高優先度のデータについては最も高速に転送可能となる。
第4実施形態において、送信側DTN1の生成部14は、優先度の最も高い振り分け先に振り分けられた一定サイズ以下のデータ(最高優先度のデータ)については、一定サイズ以上のチャンクに固める処理を行わず、そのまま送受信部11へ渡す機能を備える。
ここで、第4実施形態に係るデータ転送方法を説明する。
図3に示したステップS108において、生成部14は、「低優先」、「中優先」、「高優先」のうち優先度の最も高い「高優先」の振り分け先に振り分けられた一定サイズ以下のファイル(最高優先度のファイル)については、一定サイズ以上のチャンクに固める処理を行わず、そのまま送受信部11へ渡す。
図3に示したステップS109において、送受信部11は、その最高優先度のファイルについては、そのファイルが生成部14から渡されたタイミングで、通信ネットワークを介して受信側DTN3へ送信する。
なお、最高優先度とは、互いに異なる各優先度のうち優先度の最も高い優先度をいう。低優先度、中優先度、高優先度、最高優先度を含む場合、最高優先度が最高優先度となる。低優先度、中優先度、高優先度を含む場合、高優先度が最高優先度となる。このとき、高優先度を最高優先度として取り扱わないようにしてもよい。
第4実施形態によれば、最も高い最高優先度のデータについては、一定サイズ以上のチャンクに固める処理を行うことなく、そのまま受信側のDTNへ送信するので、データをチャンクに固める処理による遅延がなくなり、最も高速に転送できる。
[第5実施形態]
第5実施形態では、加速装置を更に備える。加速装置は、送信側DTN1と受信側DTN3との各パケット入出力端のそれぞれに配置され、例えばプロトコル変換を行うことでデータを高速化する装置である。特に通信ネットワークが長距離である場合において、RDMAを用いて遠距離で高速なデータ転送を実現したい場合に、加速装置を用いることで、チャンク転送の高速化を実現できる。
第5実施形態では、加速装置を更に備える。加速装置は、送信側DTN1と受信側DTN3との各パケット入出力端のそれぞれに配置され、例えばプロトコル変換を行うことでデータを高速化する装置である。特に通信ネットワークが長距離である場合において、RDMAを用いて遠距離で高速なデータ転送を実現したい場合に、加速装置を用いることで、チャンク転送の高速化を実現できる。
また、加速装置は、送信側DTN1が送信する送信データ量等を取得可能である。それ故、受信側DTN3において、第1監視部36は、加速装置から通信ネットワーク等の状態情報を収集し、決定部32は、加速装置から収集した通信ネットワークの状態に基づき、データの優先度を決定又は変更してもよい。
なお、加速装置は、SNMP(Simple Network Management Protocol)等の公知技術を用いて、送信データ量を取得可能である。加速装置は、送信データ量以外に、受信側DTN3の受信チャンクデータのバッファやキューの残数等も取得可能である。加速装置は、公知技術である。
加速装置は、各DTNにNIC等として組み込んでもよいし、DTNの内部にソフトウェア等で組み込んでもよいし、DTNとは別のノードとして設置されてもよい。加速装置は、データ優先度を基に、接続する光パスの要件設定等も行ってもよい。
第5実施形態によれば、加速装置を設置するので、チャンクを高速に転送できる。
[第6実施形態]
第1実施形態~第5実施形態を組み合わせてもよい。例えば、送信側DTN1は、通信ネットワークの状態に応じて、受信側DTN3へ送信するチャンク数を調整してもよい。受信側DTN3は、リモート計算機7での計算リソースの使用状況に応じて、データ優先度を動的に変更してもよい。
第1実施形態~第5実施形態を組み合わせてもよい。例えば、送信側DTN1は、通信ネットワークの状態に応じて、受信側DTN3へ送信するチャンク数を調整してもよい。受信側DTN3は、リモート計算機7での計算リソースの使用状況に応じて、データ優先度を動的に変更してもよい。
[その他]
本発明は、上記実施形態に限定されない。本発明は、本発明の要旨の範囲内で数々の変形が可能である。
本発明は、上記実施形態に限定されない。本発明は、本発明の要旨の範囲内で数々の変形が可能である。
上記説明した本実施形態の送信側DTN1は、例えば、図18に示すように、CPU901と、メモリ902と、ストレージ903と、通信装置904と、入力装置905と、出力装置906と、を備えた汎用的なコンピュータシステムを用いて実現できる。メモリ902及びストレージ903は、記憶装置である。当該コンピュータシステムにおいて、CPU901がメモリ902上にロードされた所定のプログラムを実行することにより、送信側DTN1の各機能が実現される。
送信側DTN1は、1つのコンピュータで実装されてもよい。送信側DTN1は、複数のコンピュータで実装されてもよい。送信側DTN1は、コンピュータに実装される仮想マシンであってもよい。送信側DTN1用のプログラムは、HDD、SSD、USBメモリ、CD、DVD等のコンピュータ読取り可能な記録媒体に記憶できる。送信側DTN1用のプログラムは、通信ネットワークを介して配信することもできる。
受信側DTN3は、受信側DTN3と同様のハードウェア構成を備える。
1:送信側DTN
11:送受信部
12:決定部
13:振分部
14:生成部
15:保存部
16:要求部
3:受信側DTN
31:送受信部
32:決定部
33:収集部
34:復元部
35:保存部
36:第1監視部
37:第2監視部
5:データ生成機
51:生成部
52:保存部
7:リモート計算機
71:要求部
72:計算部
73:保存部
9:ネットワーク管理装置
901:CPU
902:メモリ
903:ストレージ
904:通信装置
905:入力装置
906:出力装置
11:送受信部
12:決定部
13:振分部
14:生成部
15:保存部
16:要求部
3:受信側DTN
31:送受信部
32:決定部
33:収集部
34:復元部
35:保存部
36:第1監視部
37:第2監視部
5:データ生成機
51:生成部
52:保存部
7:リモート計算機
71:要求部
72:計算部
73:保存部
9:ネットワーク管理装置
901:CPU
902:メモリ
903:ストレージ
904:通信装置
905:入力装置
906:出力装置
Claims (9)
- データ生成機で生成された複数のデータを束ねて送信する送信側のデータ転送装置と、前記データの束を受信してリモート計算機へ送信する受信側のデータ転送装置と、を備えたデータ転送システムにおいて、
前記送信側のデータ転送装置は、
データの優先度に従い、前記データ生成機で生成された複数のデータをそれぞれ各データの優先度に対応する優先度の振り分け先へ振り分ける振分部と、
優先度の高い振り分け先から順に、各振り分け先にそれぞれ振り分けられた複数のデータを一定サイズ以上のチャンク毎に固める生成部と、
当該複数のデータが各チャンクにそれぞれ固められたタイミングで、前記各チャンクをそれぞれ前記受信側のデータ転送装置へ送信する送信部と、を備え、
前記受信側のデータ転送装置は、
前記リモート計算機でのデータの利用状況に応じて、前記データの優先度を決定する決定部
を備えるデータ転送システム。 - 前記送信部は、
前記受信側のデータ転送装置からデータの要求を受ける前に、優先度の高いデータを前記受信側のデータ転送装置へ送信する請求項1に記載のデータ転送システム。 - 前記決定部は、
前記リモート計算機での計算内容の変更に応じて、前記データの優先度を変更する請求項1に記載のデータ転送システム。 - 前記決定部は、
前記送信側のデータ転送装置と前記受信側のデータ転送装置との間の通信ネットワークの状態に応じて、前記データの優先度を変更する請求項1に記載のデータ転送システム。 - 前記送信部は、
前記リモート計算機での計算リソースの使用状況に応じて、前記受信側のデータ転送装置へ送信するチャンク数を調整する請求項1に記載のデータ転送システム。 - 前記生成部は、
一定サイズ以下かつ優先度の最も高い最高優先度のデータについては、前記一定サイズ以上のチャンクに固めない請求項1に記載のデータ転送システム。 - リモート計算機でのデータの利用状況に応じて決定されたデータの優先度に従い、データ生成機で生成された複数のデータをそれぞれ各データの優先度に対応する優先度の振り分け先へ振り分ける振分部と、
優先度の高い振り分け先から順に、各振り分け先にそれぞれ振り分けられた複数のデータを一定サイズ以上のチャンク毎に固める生成部と、
当該複数のデータが各チャンクにそれぞれ固められたタイミングで、前記各チャンクをそれぞれデータ転送装置へ送信する送信部と、
を備えるデータ転送装置。 - データ転送装置で行うデータ転送方法において、
リモート計算機でのデータの利用状況に応じて決定されたデータの優先度に従い、データ生成機で生成された複数のデータをそれぞれ各データの優先度に対応する優先度の振り分け先へ振り分けるステップと、
優先度の高い振り分け先から順に、各振り分け先にそれぞれ振り分けられた複数のデータを一定サイズ以上のチャンク毎に固めるステップと、
当該複数のデータが各チャンクにそれぞれ固められたタイミングで、前記各チャンクをそれぞれデータ転送装置へ送信するステップと、
を行うデータ転送方法。 - 請求項7に記載のデータ転送装置としてコンピュータを機能させるデータ転送プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/002040 WO2023139731A1 (ja) | 2022-01-20 | 2022-01-20 | データ転送システム、データ転送装置、データ転送方法、及び、データ転送プログラム |
JP2023574981A JPWO2023139731A1 (ja) | 2022-01-20 | 2022-01-20 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/002040 WO2023139731A1 (ja) | 2022-01-20 | 2022-01-20 | データ転送システム、データ転送装置、データ転送方法、及び、データ転送プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023139731A1 true WO2023139731A1 (ja) | 2023-07-27 |
Family
ID=87348360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2022/002040 WO2023139731A1 (ja) | 2022-01-20 | 2022-01-20 | データ転送システム、データ転送装置、データ転送方法、及び、データ転送プログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2023139731A1 (ja) |
WO (1) | WO2023139731A1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110019557A1 (en) * | 2009-07-21 | 2011-01-27 | Microsoft Corporation | Packet aggregation |
WO2013183649A1 (ja) * | 2012-06-08 | 2013-12-12 | 日本電気株式会社 | 通信装置、通信システム、通信方法及びプログラム |
US20180007108A1 (en) * | 2015-03-13 | 2018-01-04 | Gurulogic Microsystems Oy | Method of communicating data packets within data communication systems |
US20190239048A1 (en) * | 2018-01-16 | 2019-08-01 | Skylo Technologies Inc. | Devices and methods for specialized machine-to-machine communication transmission network modes via edge node capabilities |
-
2022
- 2022-01-20 WO PCT/JP2022/002040 patent/WO2023139731A1/ja active Application Filing
- 2022-01-20 JP JP2023574981A patent/JPWO2023139731A1/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110019557A1 (en) * | 2009-07-21 | 2011-01-27 | Microsoft Corporation | Packet aggregation |
WO2013183649A1 (ja) * | 2012-06-08 | 2013-12-12 | 日本電気株式会社 | 通信装置、通信システム、通信方法及びプログラム |
US20180007108A1 (en) * | 2015-03-13 | 2018-01-04 | Gurulogic Microsystems Oy | Method of communicating data packets within data communication systems |
US20190239048A1 (en) * | 2018-01-16 | 2019-08-01 | Skylo Technologies Inc. | Devices and methods for specialized machine-to-machine communication transmission network modes via edge node capabilities |
Also Published As
Publication number | Publication date |
---|---|
JPWO2023139731A1 (ja) | 2023-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9602437B1 (en) | System and method for accelerating network applications using an enhanced network interface and massively parallel distributed processing | |
US12074808B1 (en) | Distributed artificial intelligence extension modules for network switches | |
US10931588B1 (en) | Network switch with integrated compute subsystem for distributed artificial intelligence and other applications | |
US7310339B1 (en) | Packet messaging method and apparatus | |
US7957392B2 (en) | Method and apparatus for high-performance bonding resequencing | |
US20130097608A1 (en) | Processor With Efficient Work Queuing | |
CN107257329B (zh) | 一种数据分段卸载发送方法 | |
CN110546923A (zh) | 可扩展实时消息传送系统中的消息的选择性分发 | |
US20170012906A1 (en) | Accelerated data transfer using thread pool for parallel operations | |
CN102170396A (zh) | 一种基于区分服务的云存储系统QoS控制方法 | |
CN101741884B (zh) | 一种分布式存储方法和装置 | |
CN107454017B (zh) | 一种云数据中心网络中混合数据流协同调度方法 | |
Hua et al. | Scheduling heterogeneous flows with delay-aware deduplication for avionics applications | |
JPWO2014061481A1 (ja) | 適応的圧縮アルゴリズムを用いたデータ転送装置及びデータ転送システム | |
KR20130097973A (ko) | 작업 부하를 고려한 하드웨어 가속화 기반의 대규모 데이터의 분산 처리 장치 및 방법 | |
RU202244U1 (ru) | Устройство вычисления оптимального размера пакета по критерию минимума общего времени передачи сообщения | |
US11310164B1 (en) | Method and apparatus for resource allocation | |
WO2023139731A1 (ja) | データ転送システム、データ転送装置、データ転送方法、及び、データ転送プログラム | |
Kettaneh et al. | Falcon: Low latency, network-accelerated scheduling | |
CN109672626B (zh) | 一种基于排队延迟利用的服务聚合方法 | |
US10673768B2 (en) | Managing data compression | |
CN108399099A (zh) | 文件安全存储和内容保护方法 | |
CN109688421B (zh) | 请求消息处理方法、装置及系统、服务器、存储介质 | |
CN112148474A (zh) | 面向负载均衡的龙芯大数据一体机自适应任务分割方法及系统 | |
CN108388658A (zh) | 数据文件可靠存储方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22921889 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2023574981 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |