IP Library Granted Patent US 7,636,372
Granted Patent B2
US 7,636,372 · App. 10/975,070 · Granted Dec 22, 2009

Method and system for providing smart offload and upload

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,636,372
App. No.
10/975,070
Granted
Dec 22, 2009
Kind
B2
Abstract

Provided is a system and method for performing smart offloads between computer applications module and a network interfacing device within a data communications system. The method includes receiving data requests from the computer applications module and determining whether the received data requests require offloading. The received requests are forwarded along a first data path to the network interfacing device if offloading is required. If offloading is not required, the received data requests are forwarded along a secondary data path to a host protocol stack for processing. Next, the protocol processing is performed and the processed data requests are forwarded to the network interfacing device.

Claims (34)

1. An apparatus for transferring data between a computer applications module and a network interfacing device (NID), the apparatus comprising:

a switching module configured to (i) receive the data from the applications module, (ii) assess conditions associated with transferring the received data, (iii) determine whether a more efficient transfer can be established based on the assessed conditions, and (iv) switch the transferred data based on the determination; and

a protocol stack configured to receive transferred data when the received data is assessed to be a first type;

wherein the NID is configured to receive transferred data when the received data is assessed to be a second type, the second type transferred data bypassing the protocol stack.

2. The apparatus of claim 1 , wherein the data is representative of a transmission control protocol connection.

3. The apparatus of claim 1 , wherein the data is representative of packetized information.

4. The apparatus of claim 1 , wherein the assessed conditions include state variables.

5. The apparatus of claim 1 , wherein the protocol stack includes a stacking portion and an optimization portion.

6. The apparatus of claim 5 , wherein the protocol stack receives the first type transferred data along a first path;

wherein the NID receives second type data along a second path; and

wherein the optimization portion is configured to determine whether future first and second type data is transferred along the first data path or the second data path.

7. An apparatus for transferring data between an applications portion and a network, comprising:

a first switch, configured to receive data from the applications portion, assess conditions associated with transferring the received data to the network, determine whether a more efficient transfer can be established based on the assessed conditions, and switch the transferred data based on the determination;

a first stack configured to (i) receive the transferred data from the switch when the assessed conditions are representative of a first environment and (ii) process the transferred data to produce a first output;

a migrating portion, including a second stack, configured to (i) receive the transferred data from the switch when the assessed conditions are representative of a second environment and (ii) process the transferred data to produce a second output; and

a network interface device (NID) including a third stack communicably coupled to the first stack and the migrating portion;

wherein the migrating portion is configured to dynamically move the transferred data between the second stack and the third stack in accordance with predetermined requirements.

8. The apparatus of claim 7 , wherein the conditions include at least one of connection count limits, state variables, status of open requests, assigned TCP ports, IP addresses, and protocol elements.

9. The apparatus of claim 7 , wherein the first stack is software based.

10. The apparatus of claim 9 , wherein the third stack is hardware based.

11. The apparatus of claim 10 , wherein the first stack is a host TCP stack;

wherein the second stack is an alternate TCP stack; and

wherein the third stack is a TCP offload engine.

12. The apparatus of claim 11 , wherein the migrating portion includes a second switch.

13. The apparatus of claim 12 , wherein the second stack includes an optimization module.

14. A method for transferring data between a computer applications module and a network interface device within a data communications system, the method comprising:

receiving data requests from the computer applications module;

determining if a more efficient transfer can be established by assessing system conditions including the data requests, determining if the data requests are associated with an offload connection, and switching the transferred data based on the determination;

forwarding the received data requests for a first type processing if an offload is not required;

forwarding the received data requests for a second type processing if an offload is required;

wherein the receiving, determining, and forwarding are performed via a switching module; and

performing at least one of the first and second type processing.

15. The method of claim 14 , wherein the first type processing includes processing host protocol stack processing.

16. The method of claim 15 , wherein the second type processing includes network interface device protocol stack processing.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF MERGER PREVIOUSLY RECORDED AT REEL: 047195 FRAME: 0827. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Nov 5, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047924/0571 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047195/0827 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2004
From: FAN, KAN FRANKIE; MCDANIEL, SCOTT
To: BROADCOM CORPORATION
Reel/Frame 015939/0772 →