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

Stochastic circuit identification in a multi-protocol network switch

Assignee: HP Inc
•
Filing: 1996-10-02
•
Granted: 1999-09-07
•
Expires: 2016-10-02
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A flow based network switch function is based on a route cache and flow detect logic which generates hash codes for use in accessing the route cache. Flow detect logic is implemented with read-write register functions. A network switch which comprises a port for access to a communication medium to receive incoming frames. A route table memory has a set of accessible locations for storing routing information. The set of accessible locations is addressable in response to N bits, and locations in the set store a tag comprising M bits for identifying a network flow. Routing information is also stored in each of the accessible locations for the identified network flow. Flow detect logic is coupled with a port and monitors frames received by the port generate and N bit address, and an identifying tag comprising M bits for use in accessing the route table memory in response to an incoming frame on the port. Match logic is coupled with the route table memory and the flow detect logic, which accesses a particular location in the set of accessible locations in the route table memory in response to the N bit address, compares the identifying tag with the tag stored in the particular location to determine whether the incoming frame matches the network flow identified by the stored tag, and supplies the routing information for level 3 or higher stored in the particular location if a match occurs. If a match does not occur, a route table miss is indicated, and the frame is forwarded to multi-protocol routing algorithms for the purpose of generating the routing information for the incoming frame.

Inventors

  • 👤 Donald M. Bellenger

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 05:09
CPC Classifications
H; H04; H04L; H04L49/00; H04L49/25; H04L45/00; H04L45/74; H04L45/745; H04L49/30; H04L49/3009; H04L49/35; H04L49/351; H04L49/60; H04L49/602

Claims Analysis

Total Claims: 24
Claim 1
Independent Claim 199 words
A network switch, comprising: a port for access to a communication medium to receive incoming frames having particular frame formats; route table memory having a set of accessible locations for storing routing information, the set of accessible locations being addressable in response to N bits, and locations in the set storing a tag comprising M bits for identifying a network flow, and storing routing information for the network flow; flow detect logic, coupled with the port, which monitors frames received by the port and generates an N bit address and an identifying tag comprising M bits for use in accessing the route table memory in response to the particular frame format of an incoming frame; and match logic, coupled with the route table memory and the flow detect logic, which accesses a particular location in the set of accessible locations in the route table memory in response to the N bit address, compares the identifying tag with the tag stored in the particular location to determine whether the incoming frame matches the network flow identified by the stored tag, and supplies the routing information stored in the particular location if a match occurs, else signals a route table miss.
Claim 2
Dependent Claim 199 words
A network switch, comprising: a port for access to a communication medium to receive incoming frames having particular frame formats; route table memory having a set of accessible locations for storing routing information, the set of accessible locations being addressable in response to N bits, and locations in the set storing a tag comprising M bits for identifying a network flow, and storing routing information for the network flow; flow detect logic, coupled with the port, which monitors frames received by the port and generates an N bit address and an identifying tag comprising M bits for use in accessing the route table memory in response to the particular frame format of an incoming frame; and match logic, coupled with the route table memory and the flow detect logic, which accesses a particular location in the set of accessible locations in the route table memory in response to the N bit address, compares the identifying tag with the tag stored in the particular location to determine whether the incoming frame matches the network flow identified by the stored tag, and supplies the routing information stored in the particular location if a match occurs, else signals a route table miss.
Claim 3
Dependent Claim 14 words
The network switch of claim 1, wherein M plus N is 32 or greater.
Claim 4
Dependent Claim 14 words
The network switch of claim 1, wherein M plus N is 64 or greater.
Claim 5
Dependent Claim 70 words
The network switch of claim 1, wherein the flow detect logic includes: logic, coupled with the port, which computes a hash value in response to a set of control fields in the incoming frame, where the set of control fields correlates with a network frame format, and applies N bits of the hash value as the N bit address, and M bits of the hash value as the identifying tag.
Claim 6
Dependent Claim 28 words
The network switch of claim 4, wherein the hash value comprises a pseudo random number seeded in response to the set of control fields in the incoming frame.
Claim 7
Dependent Claim 33 words
The network switch of claim 1, including: logic, coupled with the match logic, for applying routing algorithms to generate route information for the incoming frame for use if a route table miss occurs.
Claim 8
Dependent Claim 44 words
The network switch of claim 1, wherein the incoming frame has a data link layer format and a network layer format, and said routing information stored in the set of accessible locations of the route table memory comprises routing information at the network layer.
Claim 9
Dependent Claim 302 words
A network switch comprising: a port for access to a communication medium to receive incoming frames; route table memory having a set of accessible locations for storing routing information, the set of accessible locations being addressable in response to N bits, and locations in the set storing a tag comprising M bits for identifying a network flow, and storing routing information for the network flow; flow detect logic coupled with the port, which monitors frames received by the port and generates an N bit address and an identifying tag comprising M bits for use in accessing the route table memory in response to an incoming frame; match logic, coupled with the route table memory and the flow detect logic, which accesses a particular location in the set of accessible locations in the route table memory in response to the N bit address, compares the identifying tag with the tag stored in the particular location to determine whether the incoming frame matches the network flow identified by the stored tag, and supplies the routing information stored in the particular location if a match occurs, else signals a route table miss, a plurality of flow detect filters, the flow detect filters including respectively a template register which stores a mask for a particular network frame format, and logic applying the mask to the incoming frame to generate a hash seed value from the incoming frame, and a pseudo random number generator responsive to the hash seed which generates a hash; and a selector, coupled with the plurality of flow detect filters, which selects a hash from the plurality of flow detect filters as the hash value, and applies N bits of the hash value as the N bit address, and M bits of the hash value as the identifying tag for the match logic.
Claim 10
Dependent Claim 302 words
A network switch comprising: a port for access to a communication medium to receive incoming frames; route table memory having a set of accessible locations for storing routing information, the set of accessible locations being addressable in response to N bits, and locations in the set storing a tag comprising M bits for identifying a network flow, and storing routing information for the network flow; flow detect logic coupled with the port, which monitors frames received by the port and generates an N bit address and an identifying tag comprising M bits for use in accessing the route table memory in response to an incoming frame; match logic, coupled with the route table memory and the flow detect logic, which accesses a particular location in the set of accessible locations in the route table memory in response to the N bit address, compares the identifying tag with the tag stored in the particular location to determine whether the incoming frame matches the network flow identified by the stored tag, and supplies the routing information stored in the particular location if a match occurs, else signals a route table miss, a plurality of flow detect filters, the flow detect filters including respectively a template register which stores a mask for a particular network frame format, and logic applying the mask to the incoming frame to generate a hash seed value from the incoming frame, and a pseudo random number generator responsive to the hash seed which generates a hash; and a selector, coupled with the plurality of flow detect filters, which selects a hash from the plurality of flow detect filters as the hash value, and applies N bits of the hash value as the N bit address, and M bits of the hash value as the identifying tag for the match logic.
Claim 11
Dependent Claim 14 words
The network switch of claim 8, wherein said template register comprises a read/write register.
Claim 12
Dependent Claim 66 words
The network switch of claim 8, wherein a flow detect filter in said plurality of flow detect filters includes: a read/write protocol filter register which stores a protocol filter identifying a protocol for which the template register is adapted; and mask enable logic responsive to the protocol filter which enables the logic applying the mask in response to processing the incoming frame with the protocol filter.
Claim 13
Dependent Claim 53 words
The network switch of claim 8, wherein a flow detect filter in said plurality of flow detect filters includes: a read/write protocol hierarchy register which stores a protocol hierarchy value identifying a priority for the protocol for which the template register is adapted; and wherein the selector is responsive to the protocol hierarchy.
Claim 14
Dependent Claim 99 words
The network switch of claim 8, wherein a flow detect filter in said plurality of flow detect filters includes: a read/write protocol filter register which stores a protocol filter identifying a protocol for which the template register is adapted; mask enable logic responsive to the protocol filter which enables the logic applying the mask in response to processing the incoming frame with the protocol filter; a read/write protocol hierarchy register which stores a protocol hierarchy value identifying a priority for the protocol for which the template register is adapted; and wherein the selector is responsive to the protocol hierarchy.
Claim 15
Dependent Claim 285 words
A network switch, comprising: a port for access to a communication medium to receive incoming frames having a data link layer format and a network layer format; route table memory having a set of accessible locations for storing routing information, the set of accessible locations being addressable in response to N bits, and locations in the set storing a tag comprising M bits for identifying a network flow, and storing network layer routing information for the network flow; a plurality of flow detect filters, the flow detect filters including respectively a read/write template register which stores a mask for a particular network frame format, and logic applying the mask to the incoming frame to generate a hash seed value from the incoming frame, and a pseudo random number generator responsive to the hash seed which generates a hash; a selector, coupled with the plurality of flow detect filters, which selects a hash from the plurality of flow detect filters as a hash value, and applies N bits of the hash value as an N bit address, and M bits of the hash value as an identifying tag for use in accessing the route table memory in response to an incoming frame; and match logic, coupled with the route table memory and the flow detect logic, which accesses a particular location in the set of accessible locations in the route table memory in response to the N bit address, compares the identifying tag with the tag stored in the particular location to determine whether the incoming frame matches the network flow identified by the stored tag, and supplies the routing information stored in the particular location if a match occurs, else signals a route table miss.
Claim 16
Dependent Claim 285 words
A network switch, comprising: a port for access to a communication medium to receive incoming frames having a data link layer format and a network layer format; route table memory having a set of accessible locations for storing routing information, the set of accessible locations being addressable in response to N bits, and locations in the set storing a tag comprising M bits for identifying a network flow, and storing network layer routing information for the network flow; a plurality of flow detect filters, the flow detect filters including respectively a read/write template register which stores a mask for a particular network frame format, and logic applying the mask to the incoming frame to generate a hash seed value from the incoming frame, and a pseudo random number generator responsive to the hash seed which generates a hash; a selector, coupled with the plurality of flow detect filters, which selects a hash from the plurality of flow detect filters as a hash value, and applies N bits of the hash value as an N bit address, and M bits of the hash value as an identifying tag for use in accessing the route table memory in response to an incoming frame; and match logic, coupled with the route table memory and the flow detect logic, which accesses a particular location in the set of accessible locations in the route table memory in response to the N bit address, compares the identifying tag with the tag stored in the particular location to determine whether the incoming frame matches the network flow identified by the stored tag, and supplies the routing information stored in the particular location if a match occurs, else signals a route table miss.
Claim 17
Dependent Claim 66 words
The network switch of claim 13, wherein a flow detect filter in said plurality of flow detect filters includes: a read/write protocol filter register which stores a protocol filter identifying a protocol for which the template register is adapted; and mask enable logic responsive to the protocol filter which enables the logic applying the mask in response to processing the incoming frame with the protocol filter.
Claim 18
Dependent Claim 53 words
The network switch of claim 13, wherein a flow detect filter in said plurality of flow detect filters includes: a read/write protocol hierarchy register which stores a protocol hierarchy value identifying a priority for the protocol for which the template register is adapted; and wherein the selector is responsive to the protocol hierarchy.
Claim 19
Dependent Claim 99 words
The network switch of claim 13, wherein a flow detect filter in said plurality of flow detect filters includes: a read/write protocol filter register which stores a protocol filter identifying a protocol for which the template register is adapted; mask enable logic responsive to the protocol filter which enables the logic applying the mask in response to processing the incoming frame with the protocol filter; a read/write protocol hierarchy register which stores a protocol hierarchy value identifying a priority for the protocol for which the template register is adapted; and wherein the selector is responsive to the protocol hierarchy.
Claim 20
Dependent Claim 14 words
The network switch of claim 13, wherein M plus N is 32 or greater.
Claim 21
Dependent Claim 14 words
The network switch of claim 13, wherein M plus N is 64 or greater.
Claim 22
Dependent Claim 369 words
A network switch, comprising: a port for access to a communication medium to receive incoming frames having a data link layer format and a network layer format; route table memory having a set of accessible locations for storing routing information, the set of accessible locations being addressable in response to N bits, and locations in the set storing a tag comprising M bits for identifying a network flow, and storing network layer routing information for the network flow; a plurality of flow detect filters, the flow detect filters including respectively a read/write template register which stores a mask for a particular network frame format, logic applying the mask to the incoming frame to generate a hash seed value from the incoming frame, a read/write protocol filter register which stores a protocol filter identifying a protocol for which the template register is adapted, mask enable logic responsive to the protocol filter which enables the logic applying the mask in response to processing the incoming frame with the protocol filter, a pseudo random number generator responsive to the hash seed which generates a hash, and a read/write protocol hierarchy register which stores a protocol hierarchy value identifying a priority for the protocol for which the template register is adapted; a selector, coupled with the plurality of flow detect filters, which selects a hash from the plurality of flow detect filters as a hash value in response to the protocol hierarchy values, and applies N bits of the hash value as an N bit address, and M bits of the hash value as an identifying tag for use in accessing the route table memory in response to an incoming frame, where M plus N is 32 or greater; and match logic, coupled with the route table memory and the flow detect logic, which accesses a particular location in the set of accessible locations in the route table memory in response to the N bit address, compares the identifying tag with the tag stored in the particular location to determine whether the incoming frame matches the network flow identified by the stored tag, and supplies the routing information stored in the particular location if a match occurs, else signals a route table miss.
Claim 23
Dependent Claim 369 words
A network switch, comprising: a port for access to a communication medium to receive incoming frames having a data link layer format and a network layer format; route table memory having a set of accessible locations for storing routing information, the set of accessible locations being addressable in response to N bits, and locations in the set storing a tag comprising M bits for identifying a network flow, and storing network layer routing information for the network flow; a plurality of flow detect filters, the flow detect filters including respectively a read/write template register which stores a mask for a particular network frame format, logic applying the mask to the incoming frame to generate a hash seed value from the incoming frame, a read/write protocol filter register which stores a protocol filter identifying a protocol for which the template register is adapted, mask enable logic responsive to the protocol filter which enables the logic applying the mask in response to processing the incoming frame with the protocol filter, a pseudo random number generator responsive to the hash seed which generates a hash, and a read/write protocol hierarchy register which stores a protocol hierarchy value identifying a priority for the protocol for which the template register is adapted; a selector, coupled with the plurality of flow detect filters, which selects a hash from the plurality of flow detect filters as a hash value in response to the protocol hierarchy values, and applies N bits of the hash value as an N bit address, and M bits of the hash value as an identifying tag for use in accessing the route table memory in response to an incoming frame, where M plus N is 32 or greater; and match logic, coupled with the route table memory and the flow detect logic, which accesses a particular location in the set of accessible locations in the route table memory in response to the N bit address, compares the identifying tag with the tag stored in the particular location to determine whether the incoming frame matches the network flow identified by the stored tag, and supplies the routing information stored in the particular location if a match occurs, else signals a route table miss.
Claim 24
Dependent Claim 14 words
The network switch of claim 19, wherein M plus N is 64 or greater.

References Cited (Backward Citations)

US5440564A Cited
US5434863A Cited
US5430709A Cited
US5473607A Cited
US5708659A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-09-06 2003-03-08 2003-09-07 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-09-06 2007-03-08 2007-09-07 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-09-06 2011-03-08 2011-09-07 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag