Claims
- 1. In a first host computer coupled to a network, a method for exchanging data with a second host computer also coupled to said network, said method comprising:
employing a first Tx Transmit Control Block (Tx TCB) to facilitate transmitting first data associated with a bi-directional data flow from said first host computer to said second host computer, said first data being transmitted using the TCP protocol, said first Tx TCB being associated with said first host computer and is configured for storing transmit-facilitating parameters associated with said transmitting said first data using said TCP protocol; and employing a first Rx Transmit Control Block (Rx TCB) to facilitate receiving second data associated with said bi-directional data flow, said second data being transmitted from said second host computer to said first host computer using said TCP protocol, said first Rx TCB being associated with said first host computer and is configured for storing receive-facilitating parameters associated with said receiving said second data using said TCP protocol, wherein said first Tx TCB and said first Rx TCB are employed to simultaneously service a transmit request pertaining said first data and a receive request pertaining said second data.
- 2. The method of claim 1 wherein said first Tx TCB and said first Rx TCB are implemented in an integrated circuit other than a host processor of said first host computer.
- 3. The method of claim 1 wherein said first Tx TCB and said first Rx TCB are implemented on a network interface card (NIC card) that is configured to be detachably coupled to a bus of said first host computer.
- 4. The method of claim 3 wherein said employing said first Tx TCB and said employing said first Rx TCB represent processes offloaded from a host processor of said first host computer.
- 5. The method of claim 4 further comprising employing said first Tx TCB to transmit third data from said first host computer to said second host computer, a first portion of said third data being obtained from a portion of said second data by circuitries of said integrated circuit after said second data is received, a second portion of said third data being obtained from said transmit-facilitating parameters in said Tx TCB.
- 6. The method of claim 5 wherein said first portion of said third data is obtained from said portion of said second data without requiring said portion of said second data to be processed outside of said NIC card.
- 7. The method of claim 6 wherein said third data pertains to an acknowledgement acknowledging that said second data has been received at said first host computer.
- 8. The method of claim 1 wherein said first data is received at said second host computer using a second Rx TCB, said second Rx TCB being associated with said second host computer and is configured for storing receive-facilitating parameters associated with receiving said first data at said second host computer using said TCP protocol.
- 9. The method of claim 8 wherein said second data is transmitted from said second host computer using a second Tx TCB, said second Tx TCB being associated with said second host computer and is configured for storing transmit-facilitating parameters associated with transmitting said second data from said second host computer using said TCP protocol.
- 10. The method of claim 1 further comprising employing a set of Tx TCBs to facilitate transmitting data associated with a set of bi-directional data flows between said first host computer and a set of other host computers, said set of Tx TCBs being associated with said first host computer, each of said set of Tx TCBs being configured to store transmit-facilitating parameters to facilitate transmitting data with a respective one of said set of other host computers, said set of other host computers being coupled to said network.
- 11. The method of claim 10 further comprising employing a set of Rx TCBs to facilitate receiving data associated with said set of bi-directional data flows, said set of Rx TCBs being associated with said first host computer, each of said set of Rx TCBs being configured to store receive-facilitating parameters to facilitate receiving data from said respective one of said set of other host computers, wherein a process for servicing a transmit request associated with one of said set of bi-directional data flows and occurs simultaneously with a process for servicing a receive request associated with said one of said set of bi-directional data flows.
- 12. The method of claim 1 wherein said employing a first Rx Transmit Control Block (Rx TCB) to facilitate receiving said second data includes ordering out-of-order packets received at said first host computer before a packet having a correct packet number arrive at said first host computer.
- 13. The method of claim 12 wherein said ordering said out-of-order packets employs buffer parameters stored in said first Rx TCB.
- 14. Circuitries for facilitating data exchange via a network, said circuitries being associated with a first host computer coupled to said network, said network also being coupled to a second host computer, said circuitries comprising:
means for facilitating transmitting first data associated with a bi-directional data flow from said first host computer to said second host computer, said first data being transmitted using the TCP protocol, said means for facilitating transmitting being associated with said first host computer and is configured for storing transmit-facilitating parameters associated with transmitting said first data using said TCP protocol; and means for facilitating receiving second data associated with said bi-directional data flow, said second data being transmitted from said second host computer to said first host computer using said TCP protocol, said means for facilitating receiving being associated with said first host computer and is configured for storing receive-facilitating parameters associated with receiving said second data using said TCP protocol, wherein said means for facilitating transmitting and said means for facilitating receiving are employed simultaneously to facilitate simultaneous transmitting said first data and receiving said second data by said circuitries.
- 15. The circuitries of claim 14 wherein said means for facilitating transmitting and said means for facilitating receiving are implemented on a network interface card (NIC card) that is configured to be detachably coupled to a bus of said first host computer.
- 16. The circuitries of claim 14 further comprising means for ordering out-of-order packets received at said first host computer before a packet having a correct packet number arrive at said first host computer.
- 17. The circuitries of claim 16 wherein said means for ordering said out-of-order packets employs buffer parameters stored in said means for facilitating receiving.
- 18. On a network interface card (NIC card) coupled to a first host computer, a method for exchanging data via a network coupled to said first host computer and a second host computer, said method comprising:
transmitting, using transmit-facilitating parameters stored in a first Tx Transmit Control Block (Tx TcB) associated with said NIC card, first data associated with a bi-directional data flow, said first data being transmitted from said first host computer to said second host computer, said first data being transmitted using the TCP protocol; and receiving, using receive-facilitating parameters stored in a first Rx Transmit Control Block (Rx TcB) associated with said NIC card, second data associated with said bi-directional data flow, said second data being transmitted from said second host computer to said first host computer, said second data being transmitted using the TCP protocol, wherein said Tx TcB and said Rx TcB are employed to facilitate simultaneous transmitting said first data and receiving said second data by said NIC card.
- 19. The method of claim 18 further comprising transmitting, using said first Tx TCB, third data from said first host computer to said second host computer, at least a portion of said third data being obtained from a portion of said second data by circuitries of said NIC card after said second data is received at said NIC card.
- 20. The method of claim 19 wherein said portion of said third data is obtained from said portion of said second data without requiring said portion of said second data to be processed outside of said NIC card.
- 21. The method of claim 20 wherein said third data pertains to an acknowledgement acknowledging that said second data has been received at said integrated circuit associated with said first host computer.
- 22. The method of claim 18 wherein said first data is received at said second host computer using a second Rx TCB, said second Rx TCB being associated with said second host computer and is configured for storing receive-facilitating parameters associated with receiving said first data at said second host computer using said TCP protocol.
- 23. The method of claim 22 wherein said second data is transmitted from said second host computer using a second Tx TCB, said second Tx TCB being associated with said second host computer and is configured for storing transmit-facilitating parameters associated with transmitting said second data from said second host computer using said TCP protocol.
- 24. The method of claim 18 wherein said receiving said second data further includes ordering out-of-order packets received at said NIC card before a packet having a correct packet number arrive at said NIC card.
- 25. The method of claim 24 wherein said ordering said out-of-order packets employs buffer parameters stored in said first Rx TcB.
Parent Case Info
[0001] This application claims priority under 35 USC 119(e) of the following patent application, which is incorporated by reference herein METHOD OF IMPLEMENTING TRANSMISSION CONTROL PROTOCOL/INTERNET PROTOCOL IN HARDWARE (A/No. 60/316,651, filed Aug. 31, 2001).
[0002] This application incorporates by reference the following patent applications
[0003] 1 APPARATUS AND METHODS FOR TRANSMITTING DATA AT HIGH SPEED USING TCP/IP (ATECP002-R2/SNG-026A), filed on even date herewith.
[0004] 2 APPARATUS AND METHODS FOR RECEIVING DATA AT HIGH SPEED USING TCP/IP (ATECP002-R3/SNG-027A), filed on even date herewith.
[0005] 3 METHODS AND APPARATUS FOR PARTIALLY REORDERING DATA PACKETS (ATECP002-R4/SNG-030/A), filed on even date herewith.
[0006] 4 SYSTEMS AND METHODS FOR IMPLEMENTING HOST-BASED SECURITY IN A COMPUTER NETWORK (ATECP008/SNG-029A), filed on even date herewith.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60316651 |
Aug 2001 |
US |