IP Library Granted Patent US 7,274,706
Granted Patent B1
US 7,274,706 · App. 09/841,943 · Granted Sep 25, 2007

Methods and systems for processing network data

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,274,706
App. No.
09/841,943
Granted
Sep 25, 2007
Kind
B1
Abstract

Methods and systems for processing data communicated over a network. In one aspect, an exemplary embodiment includes processing a first group of network packets in a first processor which executes a first network protocol stack, where the first group of network packets are communicated through a first network interface port, and processing a second group of network packets in a second processor which executes a second network protocol stack, where the second group of network packets is communicated through the first network interface port. Other methods and systems are also described.

Claims (17)

1. A method of processing data which is communicated over a computer network, said method comprising:

pre-allocating portions of a memory to a first network processing offload processor and a second network processing offload processor;

receiving a first packet header data from a first network interface port, performing a hashing function on said first packet header data to identify said first network processing offload processor and processing only said first packet header's network layer data on said first network processing offload processor;

receiving a second packet header data from said first network interface port, performing said hashing function on said second packet header data to identify said second network processing offload processor and processing only said second packet header's network layer data on said second network processing offload processor;

identifying said second network processing offload processor as responsible for handling a first connection that said first packet is a component of;

identifying said first network processing offload processor as being responsible for handling a second connection that said second packet is a component of;

processing said first packet header data in said second network processing offload processor to executes a first transport layer network protocol stack for said first packet, executing a first socket software program with said second network processing offload processor and transmitting a first application data associated with said first packet header data to a host processing system, wherein said second network processing offload processor communicates with at least one host processor of said host processing system;

processing said second packet header data in said first network processing offload processor to execute a second transport layer network protocol stack, executing a second socket software program with said first network processing offload processor and transmitting a second application data associated with said second packet header data to said host processing system, wherein said first network processing offload processor communicates with at least one host processor of said host processing system;

processing of a third packet header data comprising executing a third socket software program with said first network processing offload processor, receiving a third application data from said host processing system and through execution of said first network processing offload processor preparing said third packet header data and causing said third application data and said third packet header data to be transmitted over said computer network through said first network interface port;

processing of a fourth packet header data comprising executing a fourth socket software program with said second network processing offload processor, receiving a fourth application data from said host processing system and through execution of said second network processing offload processor preparing said fourth packet header data associated with said fourth application data and causing said fourth application data and said fourth packet header data to be transmitted over said computer network through said first network interface port;

synchronizing access to said memory by said first and second network processing offload processors; and

maintaining a communication channel between said first network processing offload processor and said second network processing offload processor.

2. A method as in claim 1 wherein said first transport layer network protocol stack and said second transport layer network protocol stack are separate processing threads.

3. A method as in claim 2 wherein said separate processing threads each comprise separate operating system software processing logic.

4. A method as in claim 1 wherein said first transport layer network protocol stack and said second transport layer network protocol stack use the same network protocols.

5. A method as in claim 1 wherein said first network interface port comprises an Ethernet interface.

6. A method as is claim 1 wherein said network layer is IP and said transport layer is TCP.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2009
From: ZIAI, SYRUS
To: RAMBUS INC.
Reel/Frame 023668/0876 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2002
From: ARCHWAY DIGITAL SOLUTIONS, INC., FORMALLY ARCHWAY DIGITAL SYSTEMS, INC., FORMALLY DIGITAL ARCHWAY, INC.
To: ZIAI, SYRUS
Reel/Frame 013245/0721 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2001
From: NGUYEN, TUNG; PONG, FONG; JORDAN, PAUL; ZIAI, SYRUS; CHANG, AL; GROHOSKI, GREG
To: DIGITAL ARCHWAY, INC.
Reel/Frame 011739/0966 →