IP Library Granted Patent US 7,653,070
Granted Patent B2
US 7,653,070 · App. 11/228,060 · Granted Jan 26, 2010

Method and system for supporting efficient and cache-friendly TCP session lookup operations based on canonicalization tags

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,653,070
App. No.
11/228,060
Granted
Jan 26, 2010
Kind
B2
Abstract

Aspects of a method and system for efficient and cache-friendly TCP session lookup operations based on canonicalization tags are presented. Aspects of the method may include searching a plurality of tag fields, retrieved via a single memory read operation, to locate a reference to a control block that includes context information for a communication session. Aspects of the system may include a processor that searches a plurality of tag fields, retrieved via a single memory read operation, to locate a reference to a control block that includes context information for a communication session.

Claims (30)

1. A method for receiving information via a communications network, the method comprising:

search a plurality of tag fields, retrieved via a single memory read operation, to locate a reference to a control block, said control block comprising context information for a communication session;

retrieving said plurality of tag fields at a location based on a hash table entry value that is computed based on packet header information;

computing a tag value based on said packet header information; and

computing one or both of said computed tag value and said computed hash table entry value, based on one or more of a local Internet protocol address, a local port, a remote Internet protocol address, and a remote port.

2. A method for receiving information via a communications network, the method comprising:

searching a plurality of tag fields, retrieved via a single memory read operation, to locate a reference to a control block, said control block comprising context information for a communication session;

retrieving said plurality of tag fields at a location based on a hash table entry value that is computed based on packet header information;

computing a tag value based on said packet header information; and

computing a current index value based on said computed tag value and a current one of said retrieved plurality of tag fields.

3. The method according to claim 2 , comprising computing a subsequent index value based on said computed tag value and a subsequent one of said retrieved plurality of tag fields.

4. The method according to claim 3 , comprising selecting a valid index value among one or both of said computed current index value and said computed subsequent index value.

5. The method according to claim 4 , comprising retrieving said control block based on said selected valid index value.

6. The method according to claim 5 , comprising comparing at least a portion of said retrieved control block and at least a portion of said packet header information.

7. A system for receiving information via a communications network, the system comprising:

a processor that is operable to:

search a plurality of tag fields, retrieved via a single memory read operation, to locate a reference to a control block, said control block comprising context information for a communication session;

retrieve said plurality of tag fields at a location based on a hash table entry value that is computed based on packet header information;

compute a tag value based on said packet header information; and

compute one or both of said computed tag value and/or said computed hash table entry value, based on one or more of a local Internet protocol address, a local port, a remote Internet protocol address, and/or a remote port.

8. A system for receiving information via a communications network, the system comprising:

a processor that is operable to:

search a plurality of tag fields, retrieved via a single memory read operation, to locate a reference to a control block, said control block comprising context information for a communication session;

retrieve said plurality of tag fields at a location based on a hash table entry value that is computed based on packet header information;

compute a tag value based on said packet header information; and

to compute a current index value based on said computed tag value and a current one of said retrieved plurality of tag fields.

9. The system according to claim 8 , wherein said processor is operable to compute a subsequent index value based on said computed tag value and a subsequent one of said retrieved plurality of tag fields.

10. The system according to claim 9 , wherein said processor is operable to select a valid index value among one or both of said computed current index value and said computed subsequent index value.

11. The system according to claim 10 , wherein said processor is operable to retrieve said control block based on said selected valid index value.

12. The system according to claim 11 , wherein said processor is operable to compare at least a portion of said retrieved control block and at least a portion of said packet header information.

Assignments (5)
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 19, 2005
From: PONG, FONG
To: BROADCOM CORPOARTION
Reel/Frame 016912/0361 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2005
From: PONG, FONG
To: BROADCOM CORPORATION
Reel/Frame 016912/0406 →