Communication control method and program

The communication control method optimizes unicast communication schedules to minimize overlap and reduce data transmission time by rearranging start times, addressing inefficiencies in existing multicast and unicast methods.

WO2026047825A1PCT designated stage Publication Date: 2026-03-05NT T INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/030337
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-26
Publication Date
2026-03-05

AI Technical Summary

Technical Problem

Existing multicast communication methods, such as UDP, lack reliability in ensuring packet arrival, and methods like TCP unicast communication are inefficient in utilizing network connections fully, leading to prolonged data transmission times when sending data to multiple nodes.

Method used

A communication control method and program that determines a tentative communication schedule for unicast communication among multiple nodes and rearranges the schedule to ensure earlier start times for subsequent data transmissions, minimizing overlap and optimizing network utilization.

Benefits of technology

Reduces data transmission time by optimizing communication schedules, allowing for faster data distribution to multiple nodes using unicast communication.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024030337_05032026_PF_FP_ABST
    Figure JP2024030337_05032026_PF_FP_ABST
Patent Text Reader

Abstract

A communication control method according to the present disclosure includes: a step for determining a temporary communication schedule, which is a communication schedule for unicast communication by a plurality of nodes for transmitting data to a plurality of destination nodes, by means of a prescribed scheme; and a step for restructuring the communication schedule of the plurality of nodes in accordance with the temporary communication schedule so that transmission of an (i+1)th (i=1, 2, ..., and n-1) data item starts earlier as compared to a case in which the (i+1)th data item is transmitted after an i-th data item has been transmitted.
Need to check novelty before this filing date? Find Prior Art

Description

Communication control method and program

[0001] The present disclosure relates to a communication control method and a program.

[0002] Consider a case in which multiple nodes (in the example shown in Figure 8, five nodes #1 to #5) are connected by lines of the same capacity via a switch SW in a network as shown in Figure 8, and the same data is multicast from one node (for example, node #1) to the other nodes (nodes #2 to #5).

[0003] Generally, when sending data to multiple nodes, multicast communication using UDP (User Datagram Protocol) is considered, but UDP does not have a function to guarantee packet arrival, such as retransmission control in the event of packet loss, and there are issues with reliability. Therefore, to reliably multicast data to multiple nodes, a method of performing unicast communication multiple times using the more reliable TCP (Transmission Control Protocol) is considered.

[0004] Representative algorithms for transmitting data to multiple nodes by combining unicast communications include "Linear," in which a source node sequentially transmits data to all destination nodes; "Chain," in which a node that was a destination node in the previous step becomes a source node in the next step; and "Binomial Tree," which uses a binary tree to distribute data in parallel (see, for example, Non-Patent Document 1).

[0005] 9 is a diagram showing an example of a communication schedule to which a binomial tree is applied when the same data is transmitted from node #1 to nodes #2 to #5 in the network shown in FIG. 8. In FIG. 9, the horizontal axis represents time. Also, in FIG. 9, the elapsed time (one slot) when data is unicast communicated from one node to another node is represented as X. Also, in each slot, a node marked with "T" represents a transmitting node, and a node marked with "R" represents a receiving node. Note that, in this example, communication scheduling is considered when each node device cannot simultaneously transmit and receive data, but this scheduling method can be applied to both cases where simultaneous transmission and reception are possible and cases where simultaneous transmission and reception are not possible.

[0006] In the example shown in Figure 9, in the first slot, node #1 transmits data to node #2. In the second slot, node #1 transmits data to node #3, and node #2 transmits data to node #4. In the third slot, node #1 transmits data to node #5. In this way, data distribution from node #1 to all other nodes (nodes #2 to #5) is completed in a total time of 3X.

[0007] Hosono, Iwasawa, and Makino, "Evaluation of MPI Collective Communication Performance on the Supercomputer Fugaku," Information Processing Society of Japan Research Report Vol. 2021-HPC-182 No. 15, December 7, 2021.

[0008] When distributing data to multiple nodes, a method that applies "Binomial Tree" can complete data distribution in a shorter time than "Linear" or "Chain" methods. However, even when using Binomial Tree, there are cases where the lines connecting each node are not fully utilized for data transmission and reception during the data distribution process. For example, in the example shown in Figure 9, in the third slot, only communication is performed from node #1 to node #5, and nodes #2 to #4 must wait for this communication. By creating a communication schedule that minimizes the time spent waiting for other nodes to complete communication during the data distribution process, it is possible to shorten the time required for data transmission.

[0009] In consideration of the above-mentioned problems, the purpose of the present disclosure is to provide a communication control method and program that can shorten the time required for data transmission when sending the same data from one node to multiple nodes.

[0010] A communication control method according to one embodiment is a communication control method for controlling communication among a plurality of nodes in a communication system in which the plurality of nodes are capable of unicast communication and n pieces of data of the same size are transmitted from one source node among the plurality of nodes to a plurality of destination nodes. The method determines a tentative communication schedule for unicast communication by the plurality of nodes for transmitting data to each of the plurality of destination nodes using a predetermined method, and reorganizes the communication schedules of the plurality of nodes in accordance with the tentative communication schedule so that the start of transmission of the i+1th piece of data is earlier than when the i+1th piece of data is transmitted after the i (i = 1, 2, ..., n-1)th piece of data is transmitted.

[0011] A program according to an embodiment causes a computer to execute the above-described communication control method.

[0012] According to the present disclosure, when the same data is transmitted from one node to multiple nodes, the time required for data transmission can be reduced.

[0013] 8 is a diagram illustrating an example of a configuration of a control device according to an embodiment of the present disclosure. FIG. 9 is a flowchart illustrating an example of an operation of the control device illustrated in FIG. 1. FIG. 10 is a diagram illustrating an example of rearrangement of a communication schedule by a control unit illustrated in FIG. 1. FIG. 11 is a diagram illustrating an example of rearrangement of a communication schedule by a control unit illustrated in FIG. 1. FIG. 12 is a diagram illustrating an example of rearrangement of a communication schedule by a control unit illustrated in FIG. 1. FIG. 13 is a diagram illustrating an example of rearrangement of a communication schedule by a control unit illustrated in FIG. 1. FIG. 14 is a diagram illustrating an example of rearrangement of a communication schedule by a control unit illustrated in FIG. 1. FIG. 15 is a diagram illustrating an example of rearrangement of a communication schedule by a control unit illustrated in FIG. 1. FIG. 16 is a diagram illustrating an example of a communication schedule when one piece of data is divided into three in the communication system illustrated in FIG. 8. FIG. 17 is a diagram illustrating an example of a communication schedule when one piece of data is divided into four in the communication system illustrated in FIG. 8. FIG. 18 is a diagram illustrating an example of a communication schedule when one piece of data is divided into n in the communication system illustrated in FIG. 8. FIG. 19 is a diagram illustrating an example of a configuration of a communication system. FIG. 19 is a diagram illustrating another example of rearrangement of a communication schedule by a control unit illustrated in FIG. 1. FIG. 19 is a diagram illustrating another example of rearrangement of a communication schedule by a control unit illustrated in FIG. 1. FIG. 5 is a diagram for explaining another example of rearrangement of a communication schedule by the control unit shown in FIG. 1. FIG. 6 is a diagram for explaining another example of rearrangement of a communication schedule by the control unit shown in FIG. 1. FIG. 7 is a diagram for explaining another example of rearrangement of a communication schedule by the control unit shown in FIG. 1. FIG. 8 is a diagram for explaining another example of rearrangement of a communication schedule by the control unit shown in FIG. 1. FIG. 9 is a diagram for explaining another example of rearrangement of a communication schedule by the control unit shown in FIG. 1. FIG. 10 is a diagram for explaining another example of rearrangement of a communication schedule by the control unit shown in FIG. 5. FIG. 11 is a diagram for explaining an example of a communication schedule when one piece of data is divided into three in the communication system shown in FIG. 5. FIG. 12 is a diagram for explaining an example of a communication schedule when one piece of data is divided into four in the communication system shown in FIG. 5. FIG. 13 is a diagram for explaining an example of a communication schedule when one piece of data is divided into n in the communication system shown in FIG. 5.8 is a diagram illustrating an example of a configuration of a communication system. It is a diagram illustrating an example of a communication schedule when a Binomial Tree is applied to the communication system illustrated in FIG.

[0014] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings.

[0015] FIG. 1 is a diagram illustrating an example of a configuration of a control device 10 according to an embodiment of the present disclosure. The control device 10 according to the present disclosure is a device that controls communication by each node in a communication system, such as that shown in FIG. 8 , including multiple nodes (nodes #1 to #5 in the example shown in FIG. 8 ) capable of unicast communication via a switch SW. In this system, n data items of the same size are transmitted from one node (a source node) among the multiple nodes to all other nodes (multiple destination nodes). The following describes an example in which node #1 transmits n data items of the same size to all other nodes. In this case, the control device 10 creates a communication schedule for each of the multiple nodes before transmitting the data and notifies the other nodes of the communication schedule. The control device 10 is mounted, for example, on node #1, which is the source node. Alternatively, the control device 10 may be provided as a device separate from nodes #1 to #5 and connected to nodes #1 to #5 via a switch SW. Alternatively, each node may be equipped with a control device 10, and scheduling may be performed at each node based on the same algorithm after providing each node with the size of the data to be transmitted and received and the number of nodes.

[0016] As shown in FIG. 1 , a control device 10 according to this embodiment includes a control unit 11 , a storage unit 12 , and a communication unit 13 .

[0017] The control unit 11 includes at least one processor, at least one programmable circuit, at least one dedicated circuit, or any combination thereof. The processor may be a general-purpose processor such as a central processing unit (CPU) or a graphics processing unit (GPU), or a dedicated processor specialized for a specific process. The programmable circuit may be, for example, a field-programmable gate array (FPGA). The dedicated circuit may be, for example, an application-specific integrated circuit (ASIC). The control unit 11 controls each component of the control unit 10 and executes processes related to the operation of the control unit 10. For example, the control unit 11 determines a tentative communication schedule for unicast communication by multiple nodes using a predetermined method for transmitting data to each of multiple destination nodes. Then, the control unit 11 rearranges the communication schedules of the multiple nodes according to the tentative communication schedule so that the start of transmission of the (i+1)th data item among n data items is earlier than when the (i+1)th data item is transmitted after the (i=1, 2, ..., n-1)th data item is transmitted.

[0018] The storage unit 12 includes at least one semiconductor memory, at least one magnetic memory, at least one optical memory, or any combination thereof. The semiconductor memory is, for example, a random access memory (RAM), a read-only memory (ROM), or a flash memory. The RAM is, for example, a static random access memory (SRAM) or a dynamic random access memory (DRAM). The ROM is, for example, an electrically erasable programmable read-only memory (EEPROM). The flash memory is, for example, a solid-state drive (SSD). The magnetic memory is, for example, a hard disk drive (HDD). The storage unit 12 functions as, for example, a main storage device, an auxiliary storage device, or a cache memory. The storage unit 12 stores information used in the operation of the control device 10 and information obtained by the operation of the control device 10.

[0019] The communication unit 13 includes at least one communication module. The communication module is, for example, a module compatible with a LAN communication standard such as Ethernet (registered trademark). The communication unit 13 communicates with each node via a switch SW. The communication unit 13 receives information used in the operation of the control device 10 and transmits information obtained by the operation of the control device 10. The communication unit 13 may be shared with a communication module used to send and receive actual data in multicast communication, or may be a dedicated port for exchanging only information related to the operation of the control device 10.

[0020] The functions of the control device 10 are realized by executing a program according to this embodiment on a processor serving as the control unit 11. That is, the functions of the control device 10 are realized by software. The program causes a computer to execute the operations of the control device 10, thereby causing the computer to function as the control device 10. That is, the computer functions as the control device 10 by executing the operations of the control device 10 in accordance with the program.

[0021] The program can be stored in a non-transitory computer-readable medium. Examples of the non-transitory computer-readable medium include a flash memory, a magnetic recording device, an optical disk, a magneto-optical recording medium, and a ROM. The program can be distributed by selling, transferring, or lending a portable medium, such as a Secure Digital (SD) card, a Digital Versatile Disc (DVD), or a Compact Disc Read Only Memory (CD-ROM), on which the program is stored. The program can also be distributed by storing the program in a server's storage and transferring it from the server to another computer. The program can also be provided as a program product.

[0022] A computer temporarily stores a program stored on a portable medium or transferred from a server in its main storage device. The computer then reads the program stored in the main storage device with a processor and executes processing in accordance with the read program. The computer may also read the program directly from the portable medium and execute processing in accordance with the program. The computer may also execute processing in accordance with the received program each time a program is transferred from the server to the computer. Processing may also be executed by a so-called ASP (Application Service Provider) type service that realizes functions by issuing execution instructions and obtaining results without transferring a program from the server to the computer. A program is information used for processing by an electronic computer and includes anything equivalent to a program. For example, data that is not a direct instruction to a computer but has properties that define computer processing falls under the category of "something equivalent to a program."

[0023] Some or all of the functions of the control device 10 may be realized by a programmable circuit or a dedicated circuit as the control unit 11. In other words, some or all of the functions of the control device 10 may be realized by hardware.

[0024] Next, the operation of the control device 10 according to this embodiment will be described. Fig. 2 is a flowchart showing an example of the operation of the control device 10 according to this embodiment, and is a diagram for explaining a communication control method executed by the control device 10 according to this embodiment.

[0025] As described above, in this embodiment, n pieces of data of the same size are transmitted from one node to other nodes. In the following, node #1 is assumed to be the source node and to transmit n pieces of data of the same size to all other nodes (destination nodes). The n pieces of data may be n independent pieces of data of the same size, or may be data obtained by dividing one piece of data into n pieces of the same size. In the following, it is assumed that the n pieces of data are data obtained by dividing one piece of data into n pieces of the same size.

[0026] The control unit 11 creates a schedule (provisional communication schedule) for unicast communication by a plurality of nodes for transmitting data to each of a plurality of destination nodes using a predetermined method. The control unit 11 creates the provisional communication schedule, for example, according to a binomial tree (step S11).

[0027] 3A is a diagram showing an example of a tentative communication schedule created according to a binomial tree when transmitting data from node #1 to nodes #2 to #5. In FIG. 3A, the elapsed time (one slot) when one node transmits one piece of data to another node through unicast communication is represented as X. In each slot, a node marked with "T" indicates a transmitting node, and a node marked with "R" indicates a receiving node.

[0028] As shown in Figure 3A, the control unit 11 creates a tentative communication schedule in which, for example, in the first slot, node #1 transmits data to node #2, in the second slot, node #1 transmits data to node #3, node #2 transmits data to node #4, and in the third slot, node #1 transmits data to node #5.

[0029] Referring again to FIG. 2, the control unit 11 divides one piece of data into n pieces of equal size (n is an integer equal to or greater than 2). Hereinafter, as shown in FIG. 3B, the description will be given assuming that one piece of data is divided into first and second pieces of data. Also, as shown in FIG. 3B, in each slot, the node that transmits the i-th (i = 1, 2, ..., n-1) piece of data obtained by dividing one piece of data into n pieces of data will be referred to as "Ti," and the node that receives the i-th data will be referred to as "Ri." In the example shown in FIG. 3B, one piece of data is divided into first and second pieces of data. Therefore, the node that transmits the first piece of data will be referred to as "T1," and the node that receives the first piece of data will be referred to as "R1." Also, the node that transmits the second piece of data will be referred to as "T2," and the node that receives the second piece of data will be referred to as "R2."

[0030] 2, the control unit 11 rearranges the communication schedule so that transmission of the (i+1)th data is started after the i-th data has been transmitted (step S13). As described above, since one data is divided into the first data and the second data, the control unit 11 rearranges the communication schedule so that transmission of the second data is started after the first data has been transmitted according to the tentative communication schedule. Specifically, as shown in FIG. 3C, the control unit 11 rearranges the communication schedule so that in the first slot, node #1 transmits the first data to node #2, in the second slot, node #1 transmits the first data to node #3, and node #2 transmits the first data to node #4, in the third slot, node #1 transmits the first data to node #5, in the fourth slot, node #1 transmits the second data to node #2, in the fifth slot, node #1 transmits the second data to node #3, and node #2 transmits the second data to node #4, and in the sixth slot, node #1 transmits the second data to node #5. As described above, the first and second data are obtained by dividing one piece of data to be transmitted into two pieces. Therefore, as shown in Fig. 3C, the elapsed time (one slot) when each of the first and second data is unicast transmitted from one node to another node is X / 2.

[0031] Referring again to Figure 2, the control unit 11 rearranges the communication schedules of the multiple nodes so that the start of transmission of the i+1th data is earlier than when the i+1th data is transmitted after the ith data (Figure 3C) according to the tentative communication schedule.

[0032] Specifically, the control unit 11 determines whether or not an empty slot can be created in the communication schedule shown in Fig. 3C (step S14). An empty slot is a slot that can be rearranged so that transmission and reception of the i-th data and the i+1-th data do not overlap when the start of transmission of the i+1-th data is advanced by one slot.

[0033] In the example shown in Figure 3C, if the transmission of the second data is advanced by one slot, the transmission of the first data by node #1 to node #5 and the transmission of the second data by node #1 to node #2 will overlap. However, as shown in Figure 3D, by changing the node that transmits the first data to node #5 from node #1 to, for example, node #4, it is possible to prevent the transmission of the first data to node #5 and the transmission of the second data to node #2 from overlapping. In this case, the control unit 11 determines that an empty slot can be created.

[0034] Referring again to FIG. 2, if it is determined that an empty slot cannot be created (step S14: No), the control unit 11 instructs each node to transmit and receive data according to the current communication schedule, and ends the processing.

[0035] If it is determined that an empty slot can be created (step S14: Yes), the control unit 11 rearranges the communication schedule for the first data so that an empty slot can be created, as shown in Fig. 3D (step S15). Specifically, the control unit 11 changes the node that transmits the first data to node #5 in the third slot from node #1 to node #4. Note that, since data is received in steps S11 to S13 in order from the lowest numbered node this time, when rearranging the schedule in step S15, it is easier to secure an empty slot by changing the destination node to a higher numbered node as much as possible, so in this example, it was changed to node #4, which has a higher number. However, this is not limited to this, and it may also be changed to node #3.

[0036] Then, as shown in FIG. 3E, the control unit 11 advances the communication schedule of the (i+1)th data (second data) by one slot (step S16).

[0037] In this way, the control unit 11 rearranges the communication schedules of the plurality of nodes for the i-th data so that the start of transmission of the (i+1)-th data is advanced. Specifically, when the control unit 11 advances the start of transmission of the (i+1)-th data, the control unit 11 rearranges the communication schedules of the plurality of nodes for the i-th data so that communication of the i-th data and communication of the (i+1)-th data do not overlap in each of the plurality of nodes.

[0038] 3F is a diagram showing the communication schedules for the first and second data after rearrangement. As shown in FIG. 3F, by rearranging the communication schedules of multiple nodes for the i-th data, the time required to send and receive the first and second data can be reduced by X / 2 (=3X-5X / 2) compared to when the communication schedule is not rearranged (FIG. 3C).

[0039] Referring back to FIG. 2, after the process of step S16, the control unit 11 returns to the process of step S14.

[0040] 3A to 3F are diagrams illustrating an example of dividing one piece of data into two, but this is not limiting. Figures 4A to 4C are diagrams illustrating examples of communication schedules when the number of nodes is five and one piece of data is divided into three, four, and n, respectively.

[0041] When one piece of data is divided into three, as shown in FIG. 4A, the time required to send and receive the data can be reduced by 2X / 3 (= 3X - 7X / 3). When one piece of data is divided into four, as shown in FIG. 4B, the time required to send and receive the data can be reduced by 3X / 4 (= 3X - 9X / 4). In other words, when there are five nodes and one piece of data is divided into n, as shown in FIG. 4C, the time required to send and receive the data can be reduced by (n - 1)X / n (= 3X - (2n + 1)X / n).

[0042] In the following, as shown in FIG. 5, an example will be described in which node #1 is the source node and transmits data to all other nodes (nodes #2 to #9).

[0043] First, the control unit 11 creates a tentative communication schedule for transmitting data from node #2 to node #9, respectively, according to a predetermined method (e.g., a binomial tree). For example, as shown in FIG. 6A , the control unit 11 creates a tentative communication schedule in which, in the first slot, node #1 transmits the first data to node #2, in the second slot, node #1 transmits the first data to node #3, node #2 transmits the first data to node #4, in the third slot, node #1 transmits the first data to node #5, node #2 transmits the first data to node #6, node #3 transmits the first data to node #7, node #4 transmits the first data to node #8, and in the fourth slot, node #1 transmits the first data to node #9. The control unit 11 also creates a tentative communication schedule for the second data, in which data transmission and reception are performed in the fifth to eighth slots in the same manner as the first data.

[0044] In the example shown in FIG. 6A, if the transmission of the second data is advanced by one slot, the transmission of the first data by node #1 to node #9 and the transmission of the second data by node #1 to node #2 will overlap in the fourth slot. However, as shown in FIG. 6B, by changing the node transmitting the first data to node #9 from node #1 to node #8 in the fourth slot, it is possible to prevent the overlap of the transmission of the first data to node #9 and the transmission of the second data to node #2. Note that in this example, since data is received in order from the lowest numbered node in steps S11 to S13, when rescheduling in step S15, it is easier to secure free slots by changing the new node to a higher numbered node whenever possible, so in this example, the new node was changed to the higher numbered node #8. However, this is not limited to this, and the new node may be changed to any of nodes #3 to #7.

[0045] Therefore, as shown in Fig. 6C, the control unit 11 changes the node that transmits the first data to node #9 in the fourth slot from node #1 to node #8. Also, the control unit 11 advances the communication schedule of the multiple nodes for the second data by one slot. Therefore, as shown in Fig. 6D, the control unit 11 rearranges the communication schedule so that the first data is transmitted from node #8 to node #9 in the fourth slot and transmission of the second data starts in the fourth slot.

[0046] When rearranging the schedule, the control unit 11 may not only change the data transmitting / receiving nodes within the same slot, but may also utilize nodes in other slots. In this example, in the communication schedule shown in FIG. 6D, if the first data transmission by nodes #1 and #2 in the third slot is moved to another slot (e.g., the fourth slot) as shown in FIG. 6E, the second data transmission can be advanced by another slot. Therefore, as shown in FIG. 6E, the control unit 11 changes the first data transmission by nodes #1 and #2 in the third slot to the first data transmission by nodes #5 and #6 in the fourth slot. Furthermore, the control unit 11 changes the reception of the first data transmitted from nodes #5 and #6 by nodes #7 and #8 in the third slot to the fourth slot. Furthermore, the control unit 11 changes the data transmission from node #8 to node #9 in the fourth slot to the fifth slot.

[0047] In the example shown in Figures 3A to 3F, rearranging the communication schedules of multiple nodes for the i-th data (first data) made it possible to advance the communication schedule for the (i+1)th data (second data). However, simply rearranging the communication schedules of multiple nodes for the i-th data may not be enough to advance the communication schedule for the (i+1)th data. In this case, the control unit 11 may further rearrange the communication schedules of multiple nodes for the (i+1)th data. In this example, if the start of transmission of the second data in the communication schedule shown in Figure 6E were advanced by one slot, the transmission of the first data by node #8 in the fifth slot and the reception of the second data by node #8 in the sixth slot would overlap. Therefore, as shown in Figure 6F, the control unit 11 shifts the reception of the second data by node #8 in the sixth slot to the seventh slot. Furthermore, the control unit 11 shifts the transmission of the second data by node #4, the sender of the second data to node #8, to the seventh slot.

[0048] Then, the control unit 11 advances the communication schedule of the (i+1)th data (second data) by one slot, as shown in FIG. 6G.

[0049] In this way, the control unit 11 may further re-arrange the communication schedules of the multiple nodes for the (i+1)th data. Specifically, when the start of transmission of the (i+1)th data is advanced, the control unit 11 re-arranges the communication schedules for the (i)th data and the (i+1)th data in each of the multiple nodes so that communication of the (i)th data and communication of the (i+1)th data do not overlap.

[0050] 6H is a diagram showing the communication schedules for the first and second data after rearrangement. As shown in FIG. 6H, by rearranging the communication schedules for the i-th data and the (i+1)-th data, the time required to transmit and receive the first and second data can be reduced by X (= 4X - 6X / 2) compared to when the communication schedule is not rearranged (FIG. 6A). One slot in FIG. 6H is half the length of one slot when the data is not divided (FIG. 9). Therefore, in FIG. 6H, the time required to transmit and receive data can be reduced by the amount equivalent to one slot when the data is not divided.

[0051] 6A to 6H have been described using an example in which one piece of data is divided into two, but this is not limiting. Figures 7A to 7C are diagrams showing examples of communication schedules when one piece of data is divided into three, four, and n, respectively, in a case in which there are nine nodes.

[0052] When one piece of data is divided into three, as shown in FIG. 7A, the time required to send and receive the data can be reduced by 4X / 3 (= 4X - 8X / 3). When one piece of data is divided into four, as shown in FIG. 7B, the time required to send and receive the data can be reduced by 6X / 4 (= 4X - 10X / 4). In other words, when there are nine nodes and one piece of data is divided into n, as shown in FIG. 7C, the time required to send and receive the data can be reduced by 2(n - 1)X / n (= 4X - (2n + 1)X / n).

[0053] As described above, the control device 10 according to this embodiment includes a control unit 11. The control unit 11 determines a tentative communication schedule, which is a communication schedule for unicast communication by a plurality of nodes for transmitting data to each of a plurality of destination nodes, using a predetermined method. Then, the control unit 11 rearranges the communication schedule according to the tentative communication schedule so that the start of transmission of the (i+1)th data is earlier than when the (i+1)th data is transmitted after the i-th data.

[0054] By rearranging the communication schedule for unicast communication by multiple nodes, which was created according to the provisional communication schedule, so that the start of transmission of the i+1th data is earlier, it is possible to reduce the time required for data transmission when sending the same data from one node to multiple nodes.

[0055] The following additional notes are provided regarding the above-described embodiments.

[0056] [Supplementary Item 1] A communication control method for controlling communication among a plurality of nodes in a communication system that includes a plurality of nodes capable of unicast communication, and in which one source node among the plurality of nodes transmits n pieces of data of the same size to a plurality of destination nodes, the method comprising: determining, by a predetermined method, a tentative communication schedule that is a communication schedule for unicast communication by the plurality of nodes for transmitting data to each of the plurality of destination nodes; and rearranging the communication schedules of the plurality of nodes according to the tentative communication schedule so that the start of transmission of the i+1th data is earlier than when the i+1th data is transmitted after the i (i=1, 2, ..., n-1)th data.

[0057] [Supplementary Item 2] The communication control method according to Supplementary Item 1, wherein the communication schedule for the i-th data is rearranged so that the start of transmission of the i+1-th data is advanced.

[0058] [Supplementary Item 3] In the communication control method described in Supplementary Item 2, when the start of transmission of the i+1th data is advanced, the communication schedule for the i-th data is rearranged in each of the plurality of nodes so that communication of the i-th data and communication of the i+1th data do not overlap.

[0059] [Supplementary Item 4] The communication control method according to claim 2, wherein the communication schedule is further re-created for the (i+1)th data.

[0060] [Supplementary Item 5] In the communication control method described in Supplementary Item 3, when the start of transmission of the i+1th data is advanced, the communication schedule for the i-th data and the i+1th data is rearranged in each of the plurality of nodes so that communication of the i-th data and communication of the i+1th data do not overlap.

[0061] [Supplementary Item 6] The communication control method according to any one of Supplementary Items 1 to 5, wherein the n pieces of data are data obtained by dividing one piece of data into n pieces of the same size.

[0062] [Supplementary Item 7] A control device for controlling communication of a plurality of nodes in a communication system, which comprises a plurality of nodes capable of unicast communication and in which one source node among the plurality of nodes transmits n pieces of data of the same size to a plurality of destination nodes, the control device comprising: a control unit configured to: determine a tentative communication schedule, which is a communication schedule for unicast communication by the plurality of nodes for transmitting data to each of the plurality of destination nodes, using a predetermined method; and reorganize the communication schedules of the plurality of nodes according to the tentative communication schedule so that the start of transmission of the i+1th data is earlier than when the i+1th data is transmitted after the i (i=1, 2, ..., n-1)th data.

[0063] [Supplementary Item 8] A non-transitory storage medium storing a program executable by a computer, the non-transitory storage medium storing a program that causes the computer to execute the communication control method described in any one of Supplementary Items 1 to 6.

[0064] Although the above-described embodiments have been described as typical examples, it will be apparent to those skilled in the art that many modifications and substitutions can be made within the spirit and scope of the present disclosure. Therefore, the present invention should not be interpreted as being limited by the above-described embodiments, and various modifications and alterations are possible without departing from the scope of the claims. For example, multiple building blocks shown in the block diagrams of the embodiments can be combined into one, or one building block can be divided.

[0065] 10 Control device 11 Control unit 12 Storage unit 13 Communication unit

Claims

1. A communication control method for controlling communication among a plurality of nodes in a communication system that is composed of a plurality of nodes capable of unicast communication, and in which one source node among the plurality of nodes transmits n pieces of data of the same size to a plurality of destination nodes, the method comprising: determining a tentative communication schedule, which is a communication schedule for unicast communication by the plurality of nodes for transmitting data to each of the plurality of destination nodes, using a predetermined method; and reorganizing the communication schedules of the plurality of nodes in accordance with the tentative communication schedule so that the start of transmission of the i+1th data is earlier than when the i+1th data is transmitted after the i (i=1, 2, ..., n-1)th data is transmitted.

2. A communication control method according to claim 1, wherein the communication schedule for the i-th data is rearranged so that the start of transmission of the i+1-th data is advanced.

3. A communication control method according to claim 2, wherein the communication schedule is further re-arranged for the i+1th data.

4. A program for causing a computer to execute the communication control method according to claim 1.

Citation Information

Patent Citations

  • Content distribution apparatus, content distribution network and content distribution method

    JP2007041899A

  • Contents distribution system, node device, server device, contents distribution method, contents relay processing program, and schedule generation processing program

    JP2010232782A

  • Delivery schedule creating program, delivery schedule creating method, and delivery schedule creating apparatus

    JP2017212661A

  • Communication control program, communication control method, and information processing apparatus

    JP2020178180A