Communication device management program
First Claim
1. A communication device management method, comprising:
- generating a virtual ID used to specify a memory area for receiving data which is not associated with a memory area and corresponds to a process of acquiring data from a remote node via a network upon receipt of a request from the process;
transmitting to the remote node the virtual ID corresponding to the process;
reserving, via the network, a data receiving memory area used to store data by RDMA (Remote Direct Memory Access) of a communication device in a memory space upon receipt of an address acquisition request with a specified virtual ID from the remote node;
storing, via the network, a record of association between the specified virtual ID and the data receiving memory area in a storage device;
notifying, via the network, the remote node of a beginning address and a size of the reserved data receiving memory area; and
when transmission data from the remote node is stored into the reserved data receiving memory area by RDMA, consulting the record stored in the storage device to identify the process corresponding to the data receiving memory area storing the transmission data, and outputting an instruction to the communication device to forward the transmission data stored in the reserved data receiving memory area to a memory area managed by the identified process.
2 Assignments
0 Petitions
Accused Products
Abstract
A communication device management program that enables efficient use of memory space in receiving data using remote direct memory access (RDMA) techniques. The receiving node transmits a virtual ID corresponding to a receiving process to a remote sending node. A sending process in the sending node specifies this virtual ID when starting data transmission. If the receiving node has not reserved a memory area corresponding to that virtual ID, the sending node transmits a reservation request to the receiving node, which causes a data receiving memory area to be reserved for use by a communication device in the receiving node. In the sending node, the sending communication device begins sending transmission data in RDMA mode, from a memory area managed by the sending process to the reserved data receiving memory area. The receiving communication device directs incoming transmission data to a memory area managed by the receiving process.
41 Citations
10 Claims
-
1. A communication device management method, comprising:
-
generating a virtual ID used to specify a memory area for receiving data which is not associated with a memory area and corresponds to a process of acquiring data from a remote node via a network upon receipt of a request from the process; transmitting to the remote node the virtual ID corresponding to the process; reserving, via the network, a data receiving memory area used to store data by RDMA (Remote Direct Memory Access) of a communication device in a memory space upon receipt of an address acquisition request with a specified virtual ID from the remote node; storing, via the network, a record of association between the specified virtual ID and the data receiving memory area in a storage device; notifying, via the network, the remote node of a beginning address and a size of the reserved data receiving memory area; and when transmission data from the remote node is stored into the reserved data receiving memory area by RDMA, consulting the record stored in the storage device to identify the process corresponding to the data receiving memory area storing the transmission data, and outputting an instruction to the communication device to forward the transmission data stored in the reserved data receiving memory area to a memory area managed by the identified process.
-
-
2. A communication device management method comprising:
-
receiving a virtual ID used to specify a memory area for receiving data by a remote node which is not associated with a memory area and corresponds to a first process in the remote node from the remote node via a network and storing the virtual ID in a storage device, the virtual ID generated by the remote node upon receipt of a request from the first process; consulting the storage device to determine whether the remote node has reserved a data receiving memory area corresponding to the virtual ID upon receipt of a transmission request from a second process; transmitting, via the network, a reservation request with the virtual ID for the data receiving memory area used to store data by RDMA (Remote Direct Memory Access) to the remote node when the data receiving memory area has not been reserved; storing data, via the network, indicating the memory area in the storage device after associating the data with the virtual ID upon receipt of a reservation response indicating a beginning address and a size of the reserved data receiving memory area from the remote node, and storing the address in the storage device; and consulting, via the network, the storage device to identify the beginning address and the size of the data receiving memory area corresponding to the virtual ID specified by the transmission request and, to a communication device, outputting a data transmission instruction to store transmission data stored in a memory area managed by the second process to into the data receiving memory area in the remote node by the RDMA.
-
-
3. A communication management apparatus, comprising:
-
a communication device; and one or more processors configured to perform a procedure comprising; generating a virtual ID used to specify a memory area for receiving data which is not associated with a memory area and corresponds to a process of acquiring data from a remote node via a network upon receipt of a request from the process; transmitting to the remote node the virtual ID corresponding to the process; reserving, via the network, a data receiving memory area used to store data by RDMA (Remote Direct Memory Access) of the communication device in a memory space upon receipt of an address acquisition request with a specified virtual ID from the remote node; storing, via the network, a record of association between the specified virtual ID and the data receiving memory area; notifying, via the network, the remote node of a beginning address and a size of the reserved data receiving memory area; and when transmission data from the remote node is stored into the reserved data receiving memory area by the RDMA, consulting the record stored in the storage device to identify the process corresponding to the data receiving memory area storing the transmission data, and outputting an instruction to the communication device to forward the transmission data stored in the reserved data receiving memory area to a memory area managed by the identified process.
-
-
4. A communication management apparatus for carrying out data transmission to a remote node, comprising:
-
a communication device; and one or more processors configured to perform a procedure comprising; receiving a virtual ID used to specify a memory area for receiving data by a remote node which is not associated with a memory area and corresponds to a first process in the remote node from the remote node via a network and storing the virtual ID in a storage device, the virtual ID generated by the remote node upon receipt of a request from the first process; consulting the storage device to determine whether the remote node has reserved a data receiving memory area corresponding to the virtual ID upon receipt of a transmission request from a second process; transmitting, via the network, a reservation request with the virtual ID for the data receiving memory area used to store data by RDMA (Remote Direct Memory Access) to the remote node when the data receiving memory area has not been reserved; storing, via the network, data indicating the memory area in the storage device after associating the data with the virtual ID upon receipt of a reservation response indicating a beginning address and a size of the reserved data receiving memory area from the remote node; and consulting, via the network, the storage device to identify the beginning address and the size of the data receiving memory area corresponding to the virtual ID specified by the transmission request and, to the communication device, outputting a data transmission instruction to store transmission data stored in a memory area managed by the second process into the data receiving memory area in the remote node by the RDMA.
-
-
5. A non-transitory computer-readable storage medium storing a communication device management program, the program causing a computer to perform a method, the method comprising:
-
generating a virtual ID used to specify a memory area for receiving data which is not associated with a memory area and corresponds to a process of acquiring data from a remote node via a network upon receipt of a request from the process; transmitting to the remote node the virtual ID corresponding to the process; reserving, via the network, a data receiving memory area used to store data by RDMA (Remote Direct Memory Access) of a communication device in a memory space upon receipt of an address acquisition request with a specified virtual ID from the remote node; storing, via the network, a record of association between the specified virtual ID and the data receiving memory area in a storage device; notifying, via the network, the remote node of a beginning address and a size of the reserved data receiving memory area; and when transmission data from the remote node is stored into the reserved data receiving memory area by the RDMA, consulting the record stored in the storage device to identify the process corresponding to the data receiving memory area storing the transmission data, and outputting an instruction to the communication device to forward the transmission data stored in the reserved data receiving memory area to a memory area managed by the identified process. - View Dependent Claims (7, 8, 9)
-
-
6. A non-transitory computer-readable storage medium storing a communication device management program, the program causing a computer to perform a method, the method comprising:
-
receiving a virtual ID used to specify a memory area for receiving data by a remote node which is not associated with a memory area and corresponds to a first process in the remote node from the remote node via a network and storing the virtual ID in a storage device, the virtual ID generated by the remote node upon receipt of a request from the first process; consulting the storage device to determine whether the remote node has reserved a data receiving memory area corresponding to the virtual ID upon receipt of a transmission request from a second process; transmitting, via the network, a reservation request with the virtual ID for the data receiving memory area used to store data by RDMA (Remote Direct Memory Access) to the remote node when the data receiving memory area has not been reserved; storing, via the network, data indicating the memory area in the storage device after associating the data with the virtual ID upon receipt of a reservation response indicating a beginning address and a size of the reserved data receiving memory area from the remote node, and storing the address in the storage device; and consulting, via the network, the storage device to identify the beginning address and the size of the data receiving memory area corresponding to the virtual ID specified by the transmission request and, to a communication device, outputting a data transmission instruction to store transmission data stored in a memory area managed by the second process into the data receiving memory area in the remote node by the RDMA. - View Dependent Claims (10)
-
Specification