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

Routing in a multi-layer distributed network element

Assignee: Oracle America Inc
•
Filing: 1997-06-30
•
Granted: 1999-07-06
•
Expires: 2017-06-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A multi-layer distributed network element for relaying packets according to known routing protocols. A distributed architecture of multiple subsystems delivers routing at wire-speed performance across subnetworks. Each subsystem includes a forwarding memory and an associated memory and is configured to identify unicast and multicast packets for routing purposes, modify the packets in hardware, including replace VLAN information, and forward the packets to the next hop. The routing decisions are made in the inbound subsystem, and packets are forwarded, if necessary given the network topology, through a separate outbound subsystem.

Inventors

  • 👤 Ariel Hendel
  • 👤 Shimon Muller
  • 👤 William T. Zaumen
  • 👤 Louise Yeung

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-05 19:15
CPC Classifications
H; H04; H04L; H04L12/00; H04L12/02; H04L12/16; H04L12/18; H04L12/28; H04L12/46; H04L12/4641; H04L12/4645; H04L45/00; H04L45/60; H04L49/00; H04L49/60; H04L49/602

Claims Analysis

Total Claims: 23
Claim 1
Independent Claim 197 words
In a network element for receiving and forwarding packets between nodes, the network element having first and second subsystems coupled by an internal link, the subsystems having separate first and second forwarding memories, respectively, a method for relaying packets comprising the steps of: receiving a packet by the first sub-system, the packet having a first header portion; determining whether the packet should be forwarded in accordance with a routing protocol in response to parsing the first header portion of the packet; searching the first forwarding memory for a first entry that matches a second header portion of the packet; replacing part of the first header portion of the packet with a next hop address in response to the second header portion of the packet matching the first entry, the next hop address being associated with the first entry, the next hop address being an address of a neighbor node; sending the packet having the next hop address to the second subsystem through the internal link; and forwarding the packet to the neighbor node in response to matching the next hop address in the first header portion of the packet with an entry in the second forwarding memory.
Claim 2
Dependent Claim 197 words
In a network element for receiving and forwarding packets between nodes, the network element having first and second subsystems coupled by an internal link, the subsystems having separate first and second forwarding memories, respectively, a method for relaying packets comprising the steps of: receiving a packet by the first sub-system, the packet having a first header portion; determining whether the packet should be forwarded in accordance with a routing protocol in response to parsing the first header portion of the packet; searching the first forwarding memory for a first entry that matches a second header portion of the packet; replacing part of the first header portion of the packet with a next hop address in response to the second header portion of the packet matching the first entry, the next hop address being associated with the first entry, the next hop address being an address of a neighbor node; sending the packet having the next hop address to the second subsystem through the internal link; and forwarding the packet to the neighbor node in response to matching the next hop address in the first header portion of the packet with an entry in the second forwarding memory.
Claim 3
Dependent Claim 28 words
A method as in claim 1 wherein the first header portion comprises a Layer 2 destination address, and the second header portion comprises a Layer 3 destination address.
Claim 4
Dependent Claim 32 words
A method as in claim 1 wherein the step of determining whether the packet should be forwarded includes determining whether the first header portion matches an address assigned to the network element.
Claim 5
Dependent Claim 64 words
A method as in claim 1 further comprising sending a control signal to the second subsystem over the internal link in response to the second header portion matching the first entry; and prior to forwarding the packet replacing part of a third header portion of the packet with an address of the second subsystem in response to the second subsystem receiving the control signal.
Claim 6
Dependent Claim 17 words
A method as in claim 4 wherein the third header portion comprises a Layer 2 source address.
Claim 7
Dependent Claim 52 words
A method as in claim 1, wherein the step of: sending the packet to the second subsystem includes the step of sending the packet to an internal port of the first subsystem, the internal port coupling the internal link, the internal port being identified by a value associated with the first entry.
Claim 8
Dependent Claim 40 words
A method as in claim 4 wherein the step of: replacing a third header portion of the first packet includes replacing part of the third header portion with a L2 address of a second external port in the second subsystem.
Claim 9
Dependent Claim 51 words
A method as in claim 1 further comprising the step of: updating a time to live field of the packet in response to determining by the first subsystem that the packet be forwarded in accordance with a routing protocol; and compensating a header checksum of the packet by the first subsystem.
Claim 10
Dependent Claim 35 words
A method as in claim 4 further comprising the step of: computing a cyclic redundancy code (CRC) of the packet by the second subsystem after replacing part of the third header portion of the packet.
Claim 11
Dependent Claim 38 words
A method as in claim 4 further comprising the step of: inserting a Virtual local area network IDentification (VID) of the second subsystem into the packet in response to receiving a NEW TAG notification over the internal link.
Claim 12
Dependent Claim 168 words
A network element for receiving and forwarding multicast packets between nodes, comprising: first subsystem having a first forwarding memory, the first subsystem configured to determine whether a multicast packet should be multicast routed based upon a first entry in the first forwarding memory matching a header portion of the packet, the first subsystem further including a multicast route indication associated with the first entry; second subsystem having a second forwarding memory being separate from the first forwarding memory, the second forwarding memory including a second entry; and an internal link coupling the first and second subsystems for passing the multicast packet from the first subsystem to the second subsystem, wherein the second subsystem is configured to forward a plurality of packets to a plurality of neighbor nodes in response to receiving the multicast packet over the internal link, the second entry matching the header portion of the packet, and replacing a third header portion of each of the plurality of packets with an address of the second subsystem.
Claim 13
Dependent Claim 168 words
A network element for receiving and forwarding multicast packets between nodes, comprising: first subsystem having a first forwarding memory, the first subsystem configured to determine whether a multicast packet should be multicast routed based upon a first entry in the first forwarding memory matching a header portion of the packet, the first subsystem further including a multicast route indication associated with the first entry; second subsystem having a second forwarding memory being separate from the first forwarding memory, the second forwarding memory including a second entry; and an internal link coupling the first and second subsystems for passing the multicast packet from the first subsystem to the second subsystem, wherein the second subsystem is configured to forward a plurality of packets to a plurality of neighbor nodes in response to receiving the multicast packet over the internal link, the second entry matching the header portion of the packet, and replacing a third header portion of each of the plurality of packets with an address of the second subsystem.
Claim 14
Dependent Claim 18 words
A network element as in claim 11 wherein the first and second entries each comprises network layer addresses.
Claim 15
Dependent Claim 26 words
A network element as in claim 11 wherein the third header portion of each of the plurality of packets comprises a data link layer source address.
Claim 16
Dependent Claim 37 words
A network element as in claim 11 wherein the second subsystem receives a second control signal over the internal link from the first subsystem, in response to which a search of the second forwarding memory is conducted.
Claim 17
Dependent Claim 22 words
A network element as in claim 14 wherein the search results in the second entry matching the header portion of the packet.
Claim 18
Dependent Claim 27 words
A network element as in claim 11 wherein the internal link is further configured to pass queuing priority information from the first subsystem to the second subsystem.
Claim 19
Dependent Claim 49 words
A network element as in claim 14 wherein the search results in a third entry matching the header portion, the second subsystem further including a third control indication associated with the third entry in response to which the second subsystem overrides queuing priority indication received from the first subsystem.
Claim 20
Dependent Claim 157 words
A router comprising: first subsystem having a first forwarding memory, the first subsystem determines whether a received packet should be routed based upon a first header portion of the packet matching an address of the router; second subsystem having a second forwarding memory being separate from the first forwarding memory; and an internal link coupling the first and second subsystems, the first subsystem replaces part of the first header portion with a next hop address in response to matching a second header portion of the packet with a first entry in the first forwarding memory, the next hop address being an address of a neighbor node, the first subsystem sending the packet with the next hop address to the second subsystem over the internal link, and the second subsystem forwards the packet to the neighbor node in response to the next hop address in the first header portion matching a second entry in the second forwarding memory.
Claim 21
Dependent Claim 157 words
A router comprising: first subsystem having a first forwarding memory, the first subsystem determines whether a received packet should be routed based upon a first header portion of the packet matching an address of the router; second subsystem having a second forwarding memory being separate from the first forwarding memory; and an internal link coupling the first and second subsystems, the first subsystem replaces part of the first header portion with a next hop address in response to matching a second header portion of the packet with a first entry in the first forwarding memory, the next hop address being an address of a neighbor node, the first subsystem sending the packet with the next hop address to the second subsystem over the internal link, and the second subsystem forwards the packet to the neighbor node in response to the next hop address in the first header portion matching a second entry in the second forwarding memory.
Claim 22
Dependent Claim 30 words
A router as in claim 18 wherein the address of the network element is a layer 2 address of an external port of the first subsystem that receives the packet.
Claim 23
Dependent Claim 144 words
The router of claim 18 further comprising third subsystem having a third forwarding memory and being coupled to the first and second subsystems via first and second internal links, respectively, a second packet being received by the second subsystem, the second subsystem replaces part of a third header portion of the second packet with a second next hop address of a second neighbor node in response to matching part of a fourth header portion of the second packet with a third entry in the second forwarding memory, the second subsystem sends the second packet including the second next hop address to the third subsystem over the second internal link, and the third subsystem forwards the second packet to the second neighbor node in response to the second next hop address in the third header portion matching a fourth entry in the third forwarding memory.

References Cited (Backward Citations)

US4652874A Cited
US4850042A Cited
US4807111A Cited
US4899333A Cited
US4922503A Cited
US4933938A Cited
US5220562A Cited
US5278830A Cited
US5210746A Cited
US5301333A Cited
US5309437A Cited
US5231633A Cited
US5150358A Cited
US5481540A Cited
US5251205A Cited
US5293379A Cited
US5500860A Cited
US5392432A Cited
US5461624A Cited
US5313454A Cited
US5343471A Cited
US5742760A Cited
US5720032A Cited
US5457681A Cited
US5425028A Cited
US5291482A Cited
US5490252A Cited
US5410540A Cited
US5649109A Cited
US5410722A Cited
US5459714A Cited
US5485578A Cited
US5386413A Cited
US5477537A Cited
US5455820A Cited
US5426736A Cited
US5394402A Cited
US5450399A Cited
US5555405A Cited
US5515376A Cited
US5610905A Cited
US5473607A Cited
US5422838A Cited
US5485455A Cited
US5790546A Cited
US5570365A Cited
US5535202A Cited
US5459717A Cited
US5602841A Cited
US5572522A Cited
US5592476A Cited
US5461611A Cited
US5583981A Cited
US5600641A Cited
US5751967A Cited
US5640605A Cited
US5619500A Cited
US5594727A Cited
US5490139A Cited
US5675741A Cited
US5784573A Cited
US5726977A Cited
US5745048A Cited
US5706472A Cited
US5561666A Cited
US5633865A Cited
US5608726A Cited
US5802047A Cited
US5619661A Cited
US5734865A Cited
US5636371A Cited
US5651002A Cited
US5754540A Cited
US5691984A Cited
US5740175A Cited
US5757771A Cited
US5684800A Cited
US5754801A Cited
US5740375A Cited
US5781549A Cited
US5724358A Cited
US5764634A Cited
US5742604A Cited
US5740171A Cited
US5757795A Cited
US5802052A Cited
US5748905A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag