Patent US7525958B2 successfully refreshed from Google Patents.
← Back to Patent Explorer
US7525958B2 Expired / Lapsed US ⏱️ 0.0 years remaining

Apparatus and method for two-stage packet classification using most specific filter matching and transport level sharing

Assignee: Intel Corp
•
Filing: 2004-04-08
•
Granted: 2009-04-28
•
Expires: 2024-04-08
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for two-stage packet classification. In the first stage, which may be implemented in software, a packet is classified on the basis of the packet's network path and, perhaps, its protocol. In the second stage, which may be implemented in hardware, the packet is classified on the basis of one or more transport level fields of the packet. An apparatus of two-stage packet classification may include a processing system for first stage code execution, a classification circuit for performing the second stage of classification, and a memory to store a number of bins, each bin including one or more rules.

Inventors

  • 👤 Alok Kumar
  • 👤 Michael E. Kounavis
  • 👤 Raj Yavatkar
  • 👤 Prashant R Chandra
  • 👤 Sridhar Lakshmanamurthy
  • 👤 Chen-Chi Kuo
  • 👤 Harrick M. Vin

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-27 09:03
CPC Classifications
H; H04; H04L; H04L47/00; H04L47/10; H04L47/24; H04L47/2441; H04L9/00; H04L9/40; H04L63/00; H04L63/02; H04L63/0227; H04L63/0236; H04L63/0263; H04L69/00; H04L69/22

Claims Analysis

Total Claims: 55
Claim 1
Independent Claim 311 words
A method comprising, providing a plurality of bins stored in a memory, each of the bins including a number of rules, each rule specifying a source port range and a destination port range; identifying, from the plurality of bins, a bin corresponding to a network path and a protocol of a received packet; comparing a source port and a destination port of the received packet with the rules of the corresponding bin; and if the source port of the received packet is within the source port range of a rule and the destination port of the received packet is within the destination port range of the rule, applying an action associated with the rule to the received packet; wherein identifying a bin corresponding to a network path and a protocol of a received packet comprises: searching a source address data structure to find a first index and a third index, the first index associated with a fully specified filter having a source prefix matching the source address of the packet, the third index associated with a partially specified filter having a source prefix matching the source address of the packet; searching a destination address data structure to find a second index and a fourth index, the second index associated with a fully specified filter having a destination prefix matching the destination address of the packet, the fourth index associated with a partially specified filter having a destination prefix matching the destination address of the packet; forming a key from the first index, the second index, and the protocol; and searching a primary table for an entry matching the key, the primary table including a number of entries, each entry corresponding to one of a fully specified filter, a fully specified filter intersection, and an indicator filter; wherein an entry of the primary table matching the key will identify the corresponding bin.
Claim 2
Independent Claim 311 words
A method comprising, providing a plurality of bins stored in a memory, each of the bins including a number of rules, each rule specifying a source port range and a destination port range; identifying, from the plurality of bins, a bin corresponding to a network path and a protocol of a received packet; comparing a source port and a destination port of the received packet with the rules of the corresponding bin; and if the source port of the received packet is within the source port range of a rule and the destination port of the received packet is within the destination port range of the rule, applying an action associated with the rule to the received packet; wherein identifying a bin corresponding to a network path and a protocol of a received packet comprises: searching a source address data structure to find a first index and a third index, the first index associated with a fully specified filter having a source prefix matching the source address of the packet, the third index associated with a partially specified filter having a source prefix matching the source address of the packet; searching a destination address data structure to find a second index and a fourth index, the second index associated with a fully specified filter having a destination prefix matching the destination address of the packet, the fourth index associated with a partially specified filter having a destination prefix matching the destination address of the packet; forming a key from the first index, the second index, and the protocol; and searching a primary table for an entry matching the key, the primary table including a number of entries, each entry corresponding to one of a fully specified filter, a fully specified filter intersection, and an indicator filter; wherein an entry of the primary table matching the key will identify the corresponding bin.
Claim 3
Dependent Claim 25 words
The method of claim 1 , wherein the rule matching the source and destination ports of the received packet comprises a highest priority matching rule.
Claim 4
Dependent Claim 50 words
The method of claim 1 , wherein: the source port range of each rule is specified by a source port lower bound and a source port upper bound; and the destination port range of each rule is specified by a destination port lower bound and a destination port upper bound.
Claim 5
Dependent Claim 106 words
The method of claim 3 , wherein: the source port of the received packet is within the source port range of a rule if the packet's source port is greater than or equal to the source port lower bound of the rule and less than or equal to the source port upper bound of the rule; and the destination port of the received packet is within the destination port range of the rule if the packet's destination port is greater than or equal to the destination port lower bound of the rule and less than or equal to the destination port upper bound of the rule.
Claim 6
Dependent Claim 106 words
The method of claim 1 , wherein identifying a bin corresponding to a network path and a protocol of a received packet comprises: identifying, from a number of entries in a data structure, an entry having a source address prefix matching a source address of the received packet, the matching entry including a first identifier; identifying, from a number of entries in another data structure, an entry having a destination address prefix matching a destination address of the received packet, the matching entry including a second identifier; and identifying, from the number of bins, a bin corresponding to the first and second identifiers and the protocol.
Claim 7
Dependent Claim 111 words
The method of claim 1 , further comprising: searching a first of two secondary tables for an entry matching a key formed from the third index and the protocol, the first secondary table including a number of entries, each entry corresponding to a partially specified filter; and searching a second of the two secondary tables for an entry matching a key formed from the fourth index and the protocol, the second secondary table including a number of entries, each entry corresponding to a partially specified filter; wherein, if no match is found in the primary table, a matching entry in one of the two secondary tables will identify the corresponding bin.
Claim 8
Dependent Claim 36 words
The method of claim 6 , wherein, if no match is found in the primary table or either of the secondary tables, the corresponding bin comprises a default bin associated with an entire two-dimensional address space.
Claim 9
Dependent Claim 127 words
The method of claim 1 , further comprising: searching the source address data structure to find a fifth index associated with a wide filter having a source prefix matching the source address of the packet; searching the destination address data structure to find a sixth index associated with a wide filter having a destination prefix matching the destination address of the packet; forming a second key from the fifth index, the sixth index, and the protocol; and searching a wide filter table for an entry matching the second key, the wide filter table including a number of entries, each entry corresponding to a wide filter; wherein, if no match is found in the primary table, a matching entry the wide filter table will identify the corresponding bin.
Claim 10
Dependent Claim 31 words
The method of claim 8 , wherein each wide filter contained in the wide filter table comprises a fully specified filter having a number of indicator filters exceeding a specified threshold.
Claim 11
Independent Claim 322 words
A method comprising: identifying, from a plurality of bins stored in a memory, a bin corresponding to a network path of a received packet, each of the bins including a number of rules, the corresponding bin further corresponding to a protocol associated with the received packet; issuing a command to a classification circuit, the command identifying the corresponding bin; copying the rules of the corresponding bin from the memory to the classification circuit, wherein the classification circuit compares at least one transport level field of the received packet with each of the rules and provides a match signal if a rule matches the at least one transport level field of the packet; and in response to the match signal, applying an action associated with the matching rule to the received packet, wherein identifying a bin corresponding to a network path of a received packet comprises: searching a source address data structure to find a first index and a third index, the first index associated with a fully specified filter having a source prefix matching the source address of the packet, the third index associated with a partially specified filter having a source prefix matching the source address of the packet; searching a destination address data structure to find a second index and a fourth index, the second index associated with a fully specified filter having a destination prefix matching the destination address of the packet, the fourth index associated with a partially specified filter having a destination prefix matching the destination address of the packet; forming a key from the first index, the second index, and the protocol; and searching a primary table for an entry matching the key, the primary table including a number of entries, each entry corresponding to one of a fully specified filter, a fully specified filter intersection, and an indicator filter; and wherein an entry of the primary table matching the key will identify the corresponding bin.
Claim 12
Independent Claim 322 words
A method comprising: identifying, from a plurality of bins stored in a memory, a bin corresponding to a network path of a received packet, each of the bins including a number of rules, the corresponding bin further corresponding to a protocol associated with the received packet; issuing a command to a classification circuit, the command identifying the corresponding bin; copying the rules of the corresponding bin from the memory to the classification circuit, wherein the classification circuit compares at least one transport level field of the received packet with each of the rules and provides a match signal if a rule matches the at least one transport level field of the packet; and in response to the match signal, applying an action associated with the matching rule to the received packet, wherein identifying a bin corresponding to a network path of a received packet comprises: searching a source address data structure to find a first index and a third index, the first index associated with a fully specified filter having a source prefix matching the source address of the packet, the third index associated with a partially specified filter having a source prefix matching the source address of the packet; searching a destination address data structure to find a second index and a fourth index, the second index associated with a fully specified filter having a destination prefix matching the destination address of the packet, the fourth index associated with a partially specified filter having a destination prefix matching the destination address of the packet; forming a key from the first index, the second index, and the protocol; and searching a primary table for an entry matching the key, the primary table including a number of entries, each entry corresponding to one of a fully specified filter, a fully specified filter intersection, and an indicator filter; and wherein an entry of the primary table matching the key will identify the corresponding bin.
Claim 13
Dependent Claim 16 words
The method of claim 10 , wherein the matching rule comprises a highest priority matching rule.
Claim 14
Dependent Claim 26 words
The method of claim 10 , wherein the at least one transport level field of the received packet comprises a source port and a destination port.
Claim 15
Dependent Claim 34 words
The method of claim 12 , wherein each rule of a bin includes a source port lower bound, a source port upper bound, a destination port lower bound, and a destination port upper bound.
Claim 16
Dependent Claim 92 words
The method of claim 13 , wherein a rule matches the at least one transport level field of the packet if: the source port of the received packet is greater than or equal to the source port lower bound of the rule and less than or equal to the source port upper bound of the rule; and the destination port of the received packet is greater than or equal to the destination port lower bound of the rule and less than or equal to the destination port upper bound of the rule.
Claim 17
Dependent Claim 103 words
The method of claim 10 , wherein identifying a bin corresponding to a network path of a received packet comprises: identifying, from a number of entries in a data structure, an entry having a source address prefix matching the source address of the received packet, the matching entry including a first identifier; identifying, from a number of entries in another data structure, an entry having a destination address prefix matching the destination address of the received packet, the matching entry including a second identifier; and identifying, from the number of bins, a bin corresponding to the first and second identifiers and the protocol.
Claim 18
Dependent Claim 111 words
The method of claim 10 , further comprising: searching a first of two secondary tables for an entry matching a key formed from the third index and the protocol, the first secondary table including a number of entries, each entry corresponding to a partially specified filter; and searching a second of the two secondary tables for an entry matching a key formed from the fourth index and the protocol, the second secondary table including a number of entries, each entry corresponding to a partially specified filter; wherein, if no match is found in the primary table, a matching entry in one of the two secondary tables will identify the corresponding bin.
Claim 19
Dependent Claim 36 words
The method of claim 16 , wherein, if no match is found in the primary table or either of the secondary tables, the corresponding bin comprises a default bin associated with an entire two-dimensional address space.
Claim 20
Dependent Claim 127 words
The method of claim 10 , further comprising: searching the source address data structure to find a fifth index associated with a wide filter having a source prefix matching the source address of the packet; searching the destination address data structure to find a sixth index associated with a wide filter having a destination prefix matching the destination address of the packet; forming a second key from the fifth index, the sixth index, and the protocol; and searching a wide filter table for an entry matching the second key, the wide filter table including a number of entries, each entry corresponding to a wide filter; wherein, if no match is found in the primary table, a matching entry the wide filter table will identify the corresponding bin.
Claim 21
Dependent Claim 31 words
The method of claim 18 , wherein each wide filter contained in the wide filter table comprises a fully specified filter having a number of indicator filters exceeding a specified threshold.
Claim 22
Independent Claim 281 words
An apparatus comprising: a memory, the memory having a plurality of bins stored therein, each bin including a number of rules; a processing system, the processing system programmed to identify, from the plurality of bins, a bin corresponding to a network path of a received packet; and a classification circuit coupled with the memory and the processing system, the classification circuit to identify, from the rules of the corresponding bin, a rule matching at least one transport level field of the packet, wherein to identify a bin corresponding to a network path of a received packet, the processing system is programmed to perform operations including: searching a source address data structure to find a first index and a third index, the first index associated with a fully specified filter having a source prefix matching the source address of the packet, the third index associated with a partially specified filter having a source prefix matching the source address of the packet; searching a destination address data structure to find a second index and a fourth index, the second index associated with a fully specified filter having a destination prefix matching the destination address of the packet, the fourth index associated with a partially specified filter having a destination prefix matching the destination address of the packet; forming a key from the first index, the second index, and the protocol; and searching a primary table for an entry matching the key, the primary table including a number of entries, each entry corresponding to one of a fully specified filter, a fully specified filter intersection, and an indicator filter; wherein an entry of the primary table matching the key will identify the corresponding bin.
Claim 23
Independent Claim 281 words
An apparatus comprising: a memory, the memory having a plurality of bins stored therein, each bin including a number of rules; a processing system, the processing system programmed to identify, from the plurality of bins, a bin corresponding to a network path of a received packet; and a classification circuit coupled with the memory and the processing system, the classification circuit to identify, from the rules of the corresponding bin, a rule matching at least one transport level field of the packet, wherein to identify a bin corresponding to a network path of a received packet, the processing system is programmed to perform operations including: searching a source address data structure to find a first index and a third index, the first index associated with a fully specified filter having a source prefix matching the source address of the packet, the third index associated with a partially specified filter having a source prefix matching the source address of the packet; searching a destination address data structure to find a second index and a fourth index, the second index associated with a fully specified filter having a destination prefix matching the destination address of the packet, the fourth index associated with a partially specified filter having a destination prefix matching the destination address of the packet; forming a key from the first index, the second index, and the protocol; and searching a primary table for an entry matching the key, the primary table including a number of entries, each entry corresponding to one of a fully specified filter, a fully specified filter intersection, and an indicator filter; wherein an entry of the primary table matching the key will identify the corresponding bin.
Claim 24
Dependent Claim 23 words
The apparatus of claim 20 , wherein the rule matching the at least one transport level field comprises a highest priority matching rule.
Claim 25
Dependent Claim 54 words
The apparatus of claim 20 , wherein the at least one transport level field of the packet includes a source port and a destination port, and wherein each rule of a bin includes a source port lower bound, a source port upper bound, a destination port lower bound, and a destination port upper bound.
Claim 26
Dependent Claim 87 words
The apparatus of claim 22 , wherein the classification circuit comprises: a first comparison circuit to compare the source port of the received packet with the source port lower and upper bounds of one of the rules; a second comparison circuit to compare the destination port of the received packet with the destination port lower and upper bounds of the rule; and an output circuit to output a match signal if a rule of the corresponding bin matches the source and destination ports of the received packet.
Claim 27
Dependent Claim 91 words
The apparatus of claim 23 , wherein the rule matches the source and destination ports of the received packet if: the source port of the received packet is greater than or equal to the source port lower bound of the rule and less than or equal to the source port upper bound of the rule; and the destination port of the received packet is greater than or equal to the destination port lower bound of the rule and less than or equal to the destination port upper bound of the rule.
Claim 28
Dependent Claim 112 words
The apparatus of claim 20 , wherein to identify a bin corresponding to a network path of a received packet, the processing system is programmed to perform operations including: identifying, from a number of entries in a data structure, an entry having a source address prefix matching the source address of the received packet, the matching entry including a first identifier; identifying, from a number of entries in another data structure, an entry having a destination address prefix matching the destination address of the received packet, the matching entry including a second identifier; and identifying, from the number of bins, a bin corresponding to the first and second identifiers and the protocol.
Claim 29
Dependent Claim 133 words
The apparatus of claim 20 , wherein to identify a bin corresponding to a network path of a received packet, the processing system is programmed to perform operations further including: searching a first of two secondary tables for an entry matching a key formed from the third index and the protocol, the first secondary table including a number of entries, each entry corresponding to a partially specified filter; and searching a second of the two secondary tables for an entry matching a key formed from the fourth index and the protocol, the second secondary table including a number of entries, each entry corresponding to a partially specified filter; wherein, if no match is found in the primary table, a matching entry in one of the two secondary tables will identify the corresponding bin.
Claim 30
Dependent Claim 36 words
The apparatus of claim 26 , wherein, if no match is found in the primary table or either of the secondary tables, the corresponding bin comprises a default bin associated with an entire two-dimensional address space.
Claim 31
Dependent Claim 149 words
The apparatus of claim 20 , wherein to identify a bin corresponding to a network path of a received packet, the processing system is programmed to perform operations further including: searching the source address data structure to find a fifth index associated with a wide filter having a source prefix matching the source address of the packet; searching the destination address data structure to find a sixth index associated with a wide filter having a destination prefix matching the destination address of the packet; forming a second key from the fifth index, the sixth index, and the protocol; and searching a wide filter table for an entry matching the second key, the wide filter table including a number of entries, each entry corresponding to a wide filter; wherein, if no match is found in the primary table, a matching entry the wide filter table will identify the corresponding bin.
Claim 32
Dependent Claim 31 words
The apparatus of claim 28 , wherein each wide filter contained in the wide filter table comprises a fully specified filter having a number of indicator filters exceeding a specified threshold.
Claim 33
Dependent Claim 21 words
The apparatus of claim 20 , wherein the memory, the processing system, and the classification circuit comprise a single processing device.
Claim 34
Independent Claim 327 words
A system , comprising: a bus; a processing device coupled with the bus, the processing device including a memory, the memory having a plurality of bins stored therein, each bin including a number of rules, a processing engine, the processing engine programmed to identify, from the plurality of bins, a bin corresponding to a network path of a received packet, the corresponding bin further corresponding to a protocol associated with the received packet, and a classification circuit coupled with the memory and the processing engine, the classification circuit to identify, from the rules of the corresponding bin, a rule matching at least one transport level field of the packet; and a network interface coupled with the bus, the network interface to couple the system with an optical link, wherein to identify a bin corresponding to a network path of a received packet, the processing engine is programmed to perform operations including: searching a source address data structure to find a first index and a third index, the first index associated with a fully specified filter having a source prefix matching the source address of the packet, the third index associated with a partially specified filter having a source prefix matching the source address of the packet; searching a destination address data structure to find a second index and a fourth index, the second index associated with a fully specified filter having a destination prefix matching the destination address of the packet, the fourth index associated with a partially specified filter having a destination prefix matching the destination address of the packet; forming a key from the first index, the second index, and the protocol; and searching a primary table for an entry matching the key, the primary table including a number of entries, each entry corresponding to one of a fully specified filter, a fully specified filter intersection, and an indicator filter; wherein an entry of the primary table matching the key will identify the corresponding bin.
Claim 35
Independent Claim 327 words
A system , comprising: a bus; a processing device coupled with the bus, the processing device including a memory, the memory having a plurality of bins stored therein, each bin including a number of rules, a processing engine, the processing engine programmed to identify, from the plurality of bins, a bin corresponding to a network path of a received packet, the corresponding bin further corresponding to a protocol associated with the received packet, and a classification circuit coupled with the memory and the processing engine, the classification circuit to identify, from the rules of the corresponding bin, a rule matching at least one transport level field of the packet; and a network interface coupled with the bus, the network interface to couple the system with an optical link, wherein to identify a bin corresponding to a network path of a received packet, the processing engine is programmed to perform operations including: searching a source address data structure to find a first index and a third index, the first index associated with a fully specified filter having a source prefix matching the source address of the packet, the third index associated with a partially specified filter having a source prefix matching the source address of the packet; searching a destination address data structure to find a second index and a fourth index, the second index associated with a fully specified filter having a destination prefix matching the destination address of the packet, the fourth index associated with a partially specified filter having a destination prefix matching the destination address of the packet; forming a key from the first index, the second index, and the protocol; and searching a primary table for an entry matching the key, the primary table including a number of entries, each entry corresponding to one of a fully specified filter, a fully specified filter intersection, and an indicator filter; wherein an entry of the primary table matching the key will identify the corresponding bin.
Claim 36
Dependent Claim 23 words
The system of claim 31 , wherein the rule matching the at least one transport level field comprises a highest priority matching rule.
Claim 37
Dependent Claim 54 words
The system of claim 31 , wherein the at least one transport level field of the packet includes a source port and a destination port, and wherein each rule of a bin includes a source port lower bound, a source port upper bound, a destination port lower bound, and a destination port upper bound.
Claim 38
Dependent Claim 87 words
The system of claim 33 , wherein the classification circuit comprises: a first comparison circuit to compare the source port of the received packet with the source port lower and upper bounds of one of the rules; a second comparison circuit to compare the destination port of the received packet with the destination port lower and upper bounds of the rule; and an output circuit to output a match signal if a rule of the corresponding bin matches the source and destination ports of the received packet.
Claim 39
Dependent Claim 91 words
The system of claim 34 , wherein the rule matches the source and destination ports of the received packet if: the source port of the received packet is greater than or equal to the source port lower bound of the rule and less than or equal to the source port upper bound of the rule; and the destination port of the received packet is greater than or equal to the destination port lower bound of the rule and less than or equal to the destination port upper bound of the rule.
Claim 40
Dependent Claim 112 words
The system of claim 31 , wherein to identify a bin corresponding to a network path of a received packet, the processing engine is programmed to perform operations including: identifying, from a number of entries in a data structure, an entry having a source address prefix matching the source address of the received packet, the matching entry including a first identifier; identifying, from a number of entries in another data structure, an entry having a destination address prefix matching the destination address of the received packet, the matching entry including a second identifier; and identifying, from the number of bins, a bin corresponding to the first and second identifiers and the protocol.
Claim 41
Dependent Claim 133 words
The system of claim 31 , wherein to identify a bin corresponding to a network path of a received packet, the processing engine is programmed to perform operations further including: searching a first of two secondary tables for an entry matching a key formed from the third index and the protocol, the first secondary table including a number of entries, each entry corresponding to a partially specified filter; and searching a second of the two secondary tables for an entry matching a key formed from the fourth index and the protocol, the second secondary table including a number of entries, each entry corresponding to a partially specified filter; wherein, if no match is found in the primary table, a matching entry in one of the two secondary tables will identify the corresponding bin.
Claim 42
Dependent Claim 36 words
The system of claim 37 , wherein, if no match is found in the primary table or either of the secondary tables, the corresponding bin comprises a default bin associated with an entire two-dimensional address space.
Claim 43
Dependent Claim 149 words
The system of claim 31 , wherein to identify a bin corresponding to a network path of a received packet, the processing engine is programmed to perform operations farther including: searching the source address data structure to find a fifth index associated with a wide filter having a source prefix matching the source address of the packet; searching the destination address data structure to find a sixth index associated with a wide filter having a destination prefix matching the destination address of the packet; forming a second key from the fifth index, the sixth index, and the protocol; and searching a wide filter table for an entry matching the second key, the wide filter table including a number of entries, each entry corresponding to a wide filter; wherein, if no match is found in the primary table, a matching entry the wide filter table will identify the corresponding bin.
Claim 44
Dependent Claim 31 words
The system of claim 39 , wherein each wide filter contained in the wide filter table comprises a fully specified filter having a number of indicator filters exceeding a specified threshold.
Claim 45
Dependent Claim 16 words
The system of claim 31 , wherein the memory comprises a static random access memory (SRAM).
Claim 46
Dependent Claim 338 words
An article of manufacture comprising: a computer-readable medium encoded with computer-executable instructions that, when accessed by a machine, causes the machine, to: identify, from a plurality of bins stored in a memory, a bin corresponding to a network path of a received packet, and farther corresponding to a protocol associated with the received packet, each of the bins including a number of rules; issue a command to a classification circuit, the command identifying the corresponding bin; copy the rules of the corresponding bin from the memory to the classification circuit, wherein the classification circuit compares at least one transport level field of the received packet with each of the rules and provides a match signal if a rule matches the at least one transport level field of the packet; in response to the match signal, apply an action associated with the matching rule to the received packet; and when identifying a bin corresponding to a network path of a received packet, to: search a source address data structure to find a first index and a third index, the first index associated with a filly specified filter having a source prefix matching the source address of the packet, the third index associated with a partially specified filter having a source prefix matching the source address of the packet; search a destination address data structure to find a second index and a fourth index, the second index associated with a filly specified filter having a destination prefix matching the destination address of the packet, the fourth index associated with a partially specified filter having a destination prefix matching the destination address of the packet; form a key from the first index, the second index, and the protocol; and search a primary table for an entry matching the key, the primary table including a number of entries, each entry corresponding to one of a fully specified filter, a fully specified filter intersection, and an indicator filter; wherein an entry of the primary table matching the key will identify the corresponding bin.
Claim 47
Dependent Claim 338 words
An article of manufacture comprising: a computer-readable medium encoded with computer-executable instructions that, when accessed by a machine, causes the machine, to: identify, from a plurality of bins stored in a memory, a bin corresponding to a network path of a received packet, and farther corresponding to a protocol associated with the received packet, each of the bins including a number of rules; issue a command to a classification circuit, the command identifying the corresponding bin; copy the rules of the corresponding bin from the memory to the classification circuit, wherein the classification circuit compares at least one transport level field of the received packet with each of the rules and provides a match signal if a rule matches the at least one transport level field of the packet; in response to the match signal, apply an action associated with the matching rule to the received packet; and when identifying a bin corresponding to a network path of a received packet, to: search a source address data structure to find a first index and a third index, the first index associated with a filly specified filter having a source prefix matching the source address of the packet, the third index associated with a partially specified filter having a source prefix matching the source address of the packet; search a destination address data structure to find a second index and a fourth index, the second index associated with a filly specified filter having a destination prefix matching the destination address of the packet, the fourth index associated with a partially specified filter having a destination prefix matching the destination address of the packet; form a key from the first index, the second index, and the protocol; and search a primary table for an entry matching the key, the primary table including a number of entries, each entry corresponding to one of a fully specified filter, a fully specified filter intersection, and an indicator filter; wherein an entry of the primary table matching the key will identify the corresponding bin.
Claim 48
Dependent Claim 18 words
The article of manufacture of claim 42 , wherein the matching rule comprises a highest priority matching rule.
Claim 49
Dependent Claim 57 words
The article of manufacture of claim 42 , wherein the at least one transport level field of the received packet comprises a source port and a destination port, and wherein each rule of a bin includes a source port lower bound, a source port upper bound, a destination port lower bound, and a destination port upper bound.
Claim 50
Dependent Claim 94 words
The article of manufacture of claim 44 , wherein a rule matches the at least one transport level field of the packet if: the source port of the received packet is greater than or equal to the source port lower bound of the rule and less than or equal to the source port upper bound of the rule; and the destination port of the received packet is greater than or equal to the destination port lower bound of the rule and less than or equal to the destination port upper bound of the rule.
Claim 51
Dependent Claim 115 words
The article of manufacture of claim 42 , wherein the computer-executable instructions, when accessed, further causes the machine, when identifying a bin corresponding to a network path of a received packet, to: identify, from a number of entries in a data structure, an entry having a source address prefix matching the source address of the received packet, the matching entry including a first identifier; identify, from a number of entries in another data structure, an entry having a destination address prefix matching the destination address of the received packet, the matching entry including a second identifier; and identify, from the number of bins, a bin corresponding to the first and second identifiers and the protocol.
Claim 52
Dependent Claim 122 words
The article of manufacture of claim 42 , wherein the computer-executable instructions, when accessed, further causes the machine to: search a first of two secondary tables for an entry matching a key formed from the third index and the protocol, the first secondary table including a number of entries, each entry corresponding to a partially specified filter; and search a second of the two secondary tables for an entry matching a key formed from the fourth index and the protocol, the second secondary table including a number of entries, each entry corresponding to a partially specified filter; wherein, if no match is found in the primary table, a matching entry in one of the two secondary tables will identify the corresponding bin.
Claim 53
Dependent Claim 38 words
The article of manufacture of claim 47 , wherein, if no match is found in the primary table or either of the secondary tables, the corresponding bin comprises a default bin associated with an entire two-dimensional address space.
Claim 54
Dependent Claim 138 words
The article of manufacture of claim 42 , wherein the computer-executable instructions, when accessed, further causes the machine to: search the source address data structure to find a fifth index associated with a wide filter having a source prefix matching the source address of the packet; search the destination address data structure to find a sixth index associated with a wide filter having a destination prefix matching the destination address of the packet; form a second key from the fifth index, the sixth index, and the protocol; and search a wide filter table for an entry matching the second key, the wide filter table including a number of entries, each entry corresponding to a wide filter; wherein, if no match is found in the primary table, a matching entry the wide filter table will identify the corresponding bin.
Claim 55
Dependent Claim 33 words
The article of manufacture of claim 49 , wherein each wide filter contained in the wide filter table comprises a fully specified filter having a number of indicator filters exceeding a specified threshold.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2012-04-27 2012-10-27 2013-04-28 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2016-04-27 2016-10-27 2017-04-28 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2020-04-27 2020-10-27 2021-04-28 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag