← Back to Patent Explorer
US6781990B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Method and system for managing traffic in a packet network environment

Assignee: Extreme Networks Inc
•
Filing: 2002-02-11
•
Granted: 2004-08-24
•
Expires: 2022-02-11
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A network switch includes a first content addressable memory (CAM), a second CAM, a binding lookup table (BLT), and a packet manager. The BLT extracts two sets of header information from ingressing packets. The first set is applied the first CAM to retrieve a service policy index. The second set of header information is applied to the second CAM to determine whether a connection already exists. If a connection exists, a flow transmission control block (fTCB) pointer is retrieved from the second CAM. Otherwise, if there is no current connection for the packet, a check is made of the service policy index to determine the level of service associated with the packet. Based on the assigned service level, a new fTCB pointer is retrieved, or alternatively, client and server TCB pointers are retrieved. The packet manager then processes the packet according to which TCB pointer is retrieved.

Inventors

  • 👤 Rahoul Puri
  • 👤 Todd E. Wayne

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 13:44
CPC Classifications
H; H04; H04L; H04L45/00; H04L45/54; H04L45/74; H04L45/745; H04L45/7453

Claims Analysis

Total Claims: 33
Claim 1
Independent Claim 87 words
A method of processing packet traffic in a network, comprising: assigning a plurality of hosts to a plurality of service levels; providing a database for storing a plurality of transmission control blocks (TCBs) grouped according to the service levels; extracting header information from a packet; determining a service level corresponding to the packet based on the header information; accessing a transmission control block (TCB) in the database based on the service level corresponding to the packet; and processing the packet according to information contained in the TCB.
Claim 2
Independent Claim 87 words
A method of processing packet traffic in a network, comprising: assigning a plurality of hosts to a plurality of service levels; providing a database for storing a plurality of transmission control blocks (TCBs) grouped according to the service levels; extracting header information from a packet; determining a service level corresponding to the packet based on the header information; accessing a transmission control block (TCB) in the database based on the service level corresponding to the packet; and processing the packet according to information contained in the TCB.
Claim 3
Dependent Claim 45 words
The method of claim 1 , further comprising: assigning a plurality of TCB indexes to each of the service levels; retrieving one of the TCB indexes corresponding to the service level of the packet; and accessing the database using the one of the TCB indexes.
Claim 4
Dependent Claim 40 words
The method of claim 2 , wherein the TCB indexes include at least one index selected from the group consisting of a flow TCB index, a server TCB index, a client TCB index, and an instruction for processing the packet.
Claim 5
Dependent Claim 25 words
The method of claim 3 , wherein the instruction for processing the packet is selected from the group consisting of DROP, RESET, IGNORE, and FORWARD.
Claim 6
Dependent Claim 30 words
The method of claim 2 , wherein at least one of the TCB indexes includes a flag for indicating that resources for processing the packet are to be speculatively allocated.
Claim 7
Dependent Claim 25 words
The method of claim 1 , wherein the header information includes a destination internet protocol (IP) address, a destination port, and an IP protocol field.
Claim 8
Dependent Claim 35 words
The method of claim 1 , wherein the step of determining a service level includes: applying the header information to a content addressable memory (CAM) to retrieve a service policy index indicating the service level.
Claim 9
Dependent Claim 31 words
The method of claim 1 , wherein the at least one of the TCBs is selected from the group consisting of a flow TCB, a server TCB, and a client TCB.
Claim 10
Dependent Claim 28 words
The method of claim 8 , wherein the flow TCB includes a plurality of data fields for maintaining a connection between a client host and a server host.
Claim 11
Dependent Claim 24 words
The method of claim 8 , wherein the server TCB includes a plurality of data fields for maintaining a connection to a server host.
Claim 12
Dependent Claim 24 words
The method of claim 8 , wherein the client TCB includes a plurality of data fields for maintaining a connection to a client host.
Claim 13
Dependent Claim 28 words
The method of claim 1 , further comprising: accessing the TCB in the database based on a determination of whether the packet is associated with an existing connection.
Claim 14
Independent Claim 121 words
A method of processing a packet in a network switch, comprising: extracting a five-tuple from header information included in the packet; extracting a three-tuple from the header information; determining a service index based on the three-tuple determining whether the packet is associated with an existing connection, based on the five-tuple; if so, retrieving a previously assigned flow transmission control block (TCB) pointer associated with the packet; if not, assigning a new flow TCB pointer or a client TCB pointer and a server TCB pointer pair to the packet based on the service policy index; and processing the packet as a function of the previously assigned flow TCB pointer, the new flow TCB pointer, or the client and server TCB pointer pair.
Claim 15
Independent Claim 121 words
A method of processing a packet in a network switch, comprising: extracting a five-tuple from header information included in the packet; extracting a three-tuple from the header information; determining a service index based on the three-tuple determining whether the packet is associated with an existing connection, based on the five-tuple; if so, retrieving a previously assigned flow transmission control block (TCB) pointer associated with the packet; if not, assigning a new flow TCB pointer or a client TCB pointer and a server TCB pointer pair to the packet based on the service policy index; and processing the packet as a function of the previously assigned flow TCB pointer, the new flow TCB pointer, or the client and server TCB pointer pair.
Claim 16
Dependent Claim 25 words
The method of claim 13 , further comprising: accessing a memory for storing a plurality of TCBs using a TCB pointer associated with the packet.
Claim 17
Dependent Claim 21 words
The method of claim 13 , wherein a TCB pointer associated with the packet includes an instruction for processing the packet.
Claim 18
Dependent Claim 25 words
The method of claim 15 , wherein the instruction for processing the packet is selected from the group consisting of DROP, RESET, IGNORE, and FORWARD.
Claim 19
Dependent Claim 33 words
The method of claim 13 , wherein a TCB pointer associated with the packet includes a flag for indicating that resources within the switch for processing the packet are to be speculatively allocated.
Claim 20
Dependent Claim 36 words
The method of claim 13 , wherein the step of determining a service policy index includes: applying the three-tuple to a first content addressable memory (CAM) to retrieve a service policy index indicating the service level.
Claim 21
Dependent Claim 43 words
The method of claim 13 , further comprising: applying the five-tuple to a second content addressable memory (CAM); if a CAM miss occurs, indicating a new connection; and if a CAM hit occurs, retrieving the previously assigned flow TCB pointer from the CAM.
Claim 22
Dependent Claim 35 words
The method of claim 13 , wherein the step of processing includes using the TCB pointer assigned to the packet as a logical address for pointer to an array of memory locations in a buffer.
Claim 23
Independent Claim 111 words
A system for processing packet traffic in a network, comprising: a content addressable memory (CAM) for storing a plurality of service policy indexes associated with a plurality of hosts; a database for storing a plurality of transmission control blocks (TCBs) grouped according to a plurality of service levels; a binding lookup table for extracting header information from a packet and applying the extracted header information to the CAM to retrieve a service policy index corresponding to the packet; and a packet manager for accessing a transmission control block (TCB) in the database based on the retrieved service policy index and for processing the packet according to information contained in the TCB.
Claim 24
Independent Claim 111 words
A system for processing packet traffic in a network, comprising: a content addressable memory (CAM) for storing a plurality of service policy indexes associated with a plurality of hosts; a database for storing a plurality of transmission control blocks (TCBs) grouped according to a plurality of service levels; a binding lookup table for extracting header information from a packet and applying the extracted header information to the CAM to retrieve a service policy index corresponding to the packet; and a packet manager for accessing a transmission control block (TCB) in the database based on the retrieved service policy index and for processing the packet according to information contained in the TCB.
Claim 25
Dependent Claim 25 words
The system of claim 21 , further comprising: a central processing unit (CPU) configured to pre-load the plurality of service policy indexes into the CAM.
Claim 26
Dependent Claim 51 words
The system of claim 21 , further comprising: means for assigning a plurality of TCB indexes to each of the service levels; means for retrieving one of the TCB indexes corresponding to the service level of the packet; and means for accessing the database using the one of the TCB indexes.
Claim 27
Dependent Claim 21 words
The system of claim 21 , wherein a TCB pointer associated with the packet includes an instruction for processing the packet.
Claim 28
Dependent Claim 25 words
The method of claim 21 , wherein the instruction for processing the packet is selected from the group consisting of DROP, RESET, IGNORE, and FORWARD.
Claim 29
Dependent Claim 200 words
A network switch for processing a packet, comprising: a binding lookup table for extracting a five-tuple and a three-tuple from header information included in the packet; a first content addressable memory (CAM), responsive to the three-tuple, for outputting a service policy index; a second content addressable memory (CAM), responsive to the five-tuple, for outputting a previously assigned flow transmission control block (TCB) pointer; means for detecting a CAM miss when applying the five-tuple to the second CAM; a flow TCB first-in-first-out (FIFO) memory for storing new flow TCB pointers; a client TCB FIFO memory for storing client TCB pointers; a server TCB memory for storing server TCB pointers; means for retrieving a new flow TCB pointer or a client TCB pointer and a server TCB pointer from the TCB FIFO memories and the server TCB memory, respectively, in the event of a CAM miss and based on the service policy index; and a database for storing a plurality of client TCBs, server TCBs, and flow TCBs; and a packet manager for accessing the database and processing the packet as a function of the previously assigned flow TCB pointer, the new flow TCB pointer, or the client and server TCB pointers.
Claim 30
Dependent Claim 200 words
A network switch for processing a packet, comprising: a binding lookup table for extracting a five-tuple and a three-tuple from header information included in the packet; a first content addressable memory (CAM), responsive to the three-tuple, for outputting a service policy index; a second content addressable memory (CAM), responsive to the five-tuple, for outputting a previously assigned flow transmission control block (TCB) pointer; means for detecting a CAM miss when applying the five-tuple to the second CAM; a flow TCB first-in-first-out (FIFO) memory for storing new flow TCB pointers; a client TCB FIFO memory for storing client TCB pointers; a server TCB memory for storing server TCB pointers; means for retrieving a new flow TCB pointer or a client TCB pointer and a server TCB pointer from the TCB FIFO memories and the server TCB memory, respectively, in the event of a CAM miss and based on the service policy index; and a database for storing a plurality of client TCBs, server TCBs, and flow TCBs; and a packet manager for accessing the database and processing the packet as a function of the previously assigned flow TCB pointer, the new flow TCB pointer, or the client and server TCB pointers.
Claim 31
Dependent Claim 21 words
The switch of claim 26 , wherein a TCB pointer associated with the packet includes an instruction for processing the packet.
Claim 32
Dependent Claim 25 words
The switch of claim 27 , wherein the instruction for processing the packet is selected from the group consisting of DROP, RESET, IGNORE, and FORWARD.
Claim 33
Dependent Claim 33 words
The switch of claim 26 , wherein a TCB pointer associated with the packet includes a flag for indicating that resources within the switch for processing the packet are to be speculatively allocated.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2007-08-24 2008-02-23 2008-08-24 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2011-08-24 2012-02-23 2012-08-24 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2015-08-24 2016-02-23 2016-08-24 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag