Method and apparatus for transmitting data to network and method and apparatus for receiving data from network
First Claim
1. A method of transmitting data to a network, said method comprising:
- a step in which a driver secures a transmission buffer from a storage apparatus for outgoing data;
a step in which said driver stores outgoing data received from a high order process in said transmission buffer;
a step in which said driver adds the transmission buffer storing said outgoing data to a transmission buffer queue;
a step in which an offload engine transmits the outgoing data stored in each transmission buffer on said transmission buffer queue to said network in a sequence of the transmission buffers on the transmission buffer queue upon detecting one or more transmission buffers on said transmission buffer queue;
a step in which said offload engine adds each transmission buffer which had stored said transmitted outgoing data to one of a plurality of notification queues, wherein said one of said plurality of notification queues corresponds to said high order process had transmitted said outgoing data to said driver, referring to information on a corresponding relationship between each high order process and each notification queue; and
a step in which said driver releases the transmission buffers on said notification queue.
1 Assignment
0 Petitions
Accused Products
Abstract
A TOE (TCP/IP Offload Engine) can transmit data to and receive data from a network without causing a plurality of high order processes to influence each other in a computer mounted by a plurality of processors, each of which is mounted by a plurality of cores. The TOE 101 generates a notification queue for each high order process. The TOE driver 102 holds information that tells which high order process corresponds to which socket and which notification queue. When transmitting data, the outgoing data are temporarily held on the transmission buffer queue 102-4 and the transmission buffer is added to the notification queue that corresponds to the relevant high order process after the transmission. When receiving data, the incoming data are stored in the reception buffer on the reception buffer queue 102-3 and the reception buffer is added to the notification queue that corresponds to the relevant high order process.
-
Citations
20 Claims
-
1. A method of transmitting data to a network, said method comprising:
-
a step in which a driver secures a transmission buffer from a storage apparatus for outgoing data; a step in which said driver stores outgoing data received from a high order process in said transmission buffer; a step in which said driver adds the transmission buffer storing said outgoing data to a transmission buffer queue; a step in which an offload engine transmits the outgoing data stored in each transmission buffer on said transmission buffer queue to said network in a sequence of the transmission buffers on the transmission buffer queue upon detecting one or more transmission buffers on said transmission buffer queue; a step in which said offload engine adds each transmission buffer which had stored said transmitted outgoing data to one of a plurality of notification queues, wherein said one of said plurality of notification queues corresponds to said high order process had transmitted said outgoing data to said driver, referring to information on a corresponding relationship between each high order process and each notification queue; and a step in which said driver releases the transmission buffers on said notification queue. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of receiving data from a network, said method comprising:
-
a step in which a driver secures a reception buffer from a storage apparatus for incoming data; a step in which said driver adds said reception buffer to a reception buffer queue; a step in which an offload engine stores the incoming data received from said network in said reception buffer on said reception buffer queue in a sequence of the reception buffers on the reception buffer queue; a step in which said offload engine adds each reception buffer storing said received incoming data to one of a plurality of notification queues, wherein said one of said plurality of notification queues corresponds to a high order process which is designated by said incoming data, referring to information on a corresponding relationship between each high order process and each notification queue; and a step in which said driver delivers the incoming data in the reception buffers on said notification queue to said high order process in a sequence of the reception buffers on the reception notification queue. - View Dependent Claims (9, 10)
-
-
11. An apparatus for transmitting data to a network, said apparatus comprising:
-
a unit for securing a transmission buffer from a storage apparatus for outgoing data; a unit for storing the outgoing data received from a high order process in said transmission buffer; a unit for adding the transmission buffer storing said outgoing data to a transmission buffer queue; a unit for transmitting the outgoing data stored in each transmission buffer on said transmission buffer queue to said network in a sequence of the transmission buffers on the transmission buffer queue upon detecting one or more transmission buffers on said transmission buffer queue; a unit for adding each transmission buffer which had stored said transmitted outgoing data to one of a plurality of notification queues, wherein said one of said plurality of notification queues corresponds to said high order process which had transmitted said outgoing data, referring to information on a corresponding relationship between each high order process and each notification queue; and a unit for releasing the transmission buffers on said notification queue. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. An apparatus for receiving data from a network, said apparatus comprising:
-
a unit for securing a reception buffer from a storage apparatus for incoming data; a unit for adding said reception buffer to a reception buffer queue; a unit for storing the incoming data received from said network in said reception buffer on said reception buffer queue in a sequence of the reception buffers on the reception buffer queue; a unit for adding each reception buffer storing said received incoming data to one of a plurality of notification queues, wherein said one of said plurality of notification queues corresponds to said high order process, which is designated by said incoming data, referring to information on a corresponding relationship between each high order process and each notification queue; and a unit for delivering the incoming data in the reception buffers on said notification queue to said high order process in a sequence of the reception buffers on the reception notification queue. - View Dependent Claims (19, 20)
-
Specification