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

System and method for processing data packets

Assignee: Ascend Communications Inc
•
Filing: 1997-10-03
•
Granted: 2000-02-29
•
Expires: 2017-10-03
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An apparatus and method for processing a data packet to determine the routing of the data packet through a communications network is provided in which the data packet has a header portion and a data portion. The apparatus stores the header portion of the data packet, and processes the header portion of the data packet. The processing may include using a processing core for executing instructions for processing the header portion, searching through a route table to determine a route of the data packet, and searching through a table memory for information about the destination of the data packet in which the route table search, the table memory search and the processing core operate simultaneously to process the header portion and generate an internal header or a network media header. A modified header portion is generated to route the data packet through the communications network. A method for processing data packets to determine the route of the data packet is also provided in which a header portion is received from an incoming data packet, an search based on the received header portion is performed, a route look-up search is performed, and the information contained within the header portion is processed simultaneously for determining if the header portion is valid and generating an internal header or network media header based on the results of the route look-up search, the interface search, and other processing.

Inventors

  • 👤 Clark Bremer
  • 👤 Christine E. Severns
  • 👤 Brian D. Vanderwarn

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 09:56
CPC Classifications
H; H04; H04L; H04L49/00; H04L49/25; H04L49/30; H04L49/3009; H04L49/3027; H04L49/35; H04L49/351

Claims Analysis

Total Claims: 24
Claim 1
Independent Claim 232 words
An apparatus for processing a data packet to determine the routing of the data packet through a communications network, the data packet having a header portion and a data portion, the apparatus comprising: means for storing the header portion of the data packet; means, connected to the header storing means, for processing the header portion of the data packet; said processing means comprising: a processing core for executing instructions for processing the header portion, means, responsive to an instruction from the processing core and a first value contained within said header portion, for searching through a route table to determine a route of the data packet, means, responsive to an instruction from the processing core and a second value contained within said header portion, for searching through a table memory for information about the destination of the data packet, wherein said table memory includes an interface table storing information related to one or more interfaces and a circuit table storing information related to one or more virtual circuits, said processing core, said route table search means and said table memory search means operating simultaneously to process said header portion and generate one of an internal header and a network media header; and means for generating a modified header portion containing at least some of the received header portion together with said generated one of the internal header and the network media header.
Claim 2
Independent Claim 232 words
An apparatus for processing a data packet to determine the routing of the data packet through a communications network, the data packet having a header portion and a data portion, the apparatus comprising: means for storing the header portion of the data packet; means, connected to the header storing means, for processing the header portion of the data packet; said processing means comprising: a processing core for executing instructions for processing the header portion, means, responsive to an instruction from the processing core and a first value contained within said header portion, for searching through a route table to determine a route of the data packet, means, responsive to an instruction from the processing core and a second value contained within said header portion, for searching through a table memory for information about the destination of the data packet, wherein said table memory includes an interface table storing information related to one or more interfaces and a circuit table storing information related to one or more virtual circuits, said processing core, said route table search means and said table memory search means operating simultaneously to process said header portion and generate one of an internal header and a network media header; and means for generating a modified header portion containing at least some of the received header portion together with said generated one of the internal header and the network media header.
Claim 3
Dependent Claim 57 words
The apparatus of claim 1, wherein said header storing means comprises a first set of header registers and a second set of header registers so that while the processing means is processing the header contained in one of the set of header registers a new header portion may be stored in the other set of header registers.
Claim 4
Dependent Claim 21 words
The apparatus of claim 2, wherein said header storing means further comprises means for switching between said set of header registers.
Claim 5
Dependent Claim 63 words
The apparatus of claim 3, wherein said header storing means further comprises means for unloading a header portion from the first set of registers that has been processed by said processing core and loading a header portion into the first set of registers that has not been processed while the processing means is processing a header contained in the second set of registers.
Claim 6
Dependent Claim 28 words
The apparatus of claim 1, wherein said route table search means comprises a plurality of registers for communications between said processing core and said route table search means.
Claim 7
Dependent Claim 28 words
The apparatus of claim 1, wherein said table memory search means comprises a plurality of registers for communications between said processing core and said table memory search means.
Claim 8
Dependent Claim 59 words
The apparatus of claim 1 further comprising a central processor interface for controlling said processing core, said header storing means, said route table search means and said table memory search means and means for communicating between said central processor interface and said processing core, said header storing means, said route table search means and said table memory search means.
Claim 9
Dependent Claim 14 words
The apparatus of claim 7, wherein said communications means comprises a set of registers.
Claim 10
Dependent Claim 26 words
The apparatus of claim 1, wherein said processing core comprises an arithmetic logic unit and a sequence engine for executing instructions to process the header portion.
Claim 11
Dependent Claim 47 words
The apparatus of claim 2, wherein said header storing means further comprises means for storing information about a data packet that is being discarded so that the space in the header storing means occupied by the discarded packet and space in a data store are immediately reused.
Claim 12
Dependent Claim 22 words
The apparatus of claim 1, wherein said processing core comprises means for executing predetermined instructions that facilitate the processing of data packets.
Claim 13
Dependent Claim 35 words
The apparatus of claim 1 further comprising a central processing unit for controlling the processing core, the central processing unit comprising means for steering the processing core to one of a predetermined set of routines.
Claim 14
Independent Claim 192 words
A method for processing a data packet to determine the routing of the data packet through a communications network, the data packet having a header portion and a data portion, the method comprising: storing the header portion of the data packet; processing the header portion of the data packet; said processing comprising executing instructions for processing the header portion, searching, responsive to a first value contained within said header portion, through a route table to determine a route of the data packet, searching, responsive to a second value contained within said header portion, through a table memory for information about the destination of the data packet, wherein said table memory includes an interface table storing information related to one or more interfaces and a circuit table storing information related to one or more virtual circuits, said route table search and said table memory search operating simultaneously to process said header portion and generate one of an internal header and a network media header; and generating a modified header portion containing at least some of the received header portion together with said generated one of the internal header and the network media header.
Claim 15
Independent Claim 192 words
A method for processing a data packet to determine the routing of the data packet through a communications network, the data packet having a header portion and a data portion, the method comprising: storing the header portion of the data packet; processing the header portion of the data packet; said processing comprising executing instructions for processing the header portion, searching, responsive to a first value contained within said header portion, through a route table to determine a route of the data packet, searching, responsive to a second value contained within said header portion, through a table memory for information about the destination of the data packet, wherein said table memory includes an interface table storing information related to one or more interfaces and a circuit table storing information related to one or more virtual circuits, said route table search and said table memory search operating simultaneously to process said header portion and generate one of an internal header and a network media header; and generating a modified header portion containing at least some of the received header portion together with said generated one of the internal header and the network media header.
Claim 16
Dependent Claim 52 words
The method of claim 13, wherein said header storing comprises using a first set of header registers and a second set of header registers so that while processing the header contained in one of the set of header registers a new header portion is stored in the other set of header registers.
Claim 17
Dependent Claim 18 words
The method of claim 14, wherein said header storing further comprises switching between said set of header registers.
Claim 18
Dependent Claim 54 words
The method of claim 15, wherein said header storing further comprises unloading a header portion that has been processed by said processing core from the first set of registers and loading an unprocessed header portion into the first set of registers while the processing core processes a header in the second set of registers.
Claim 19
Dependent Claim 44 words
The method of claim 15, wherein said header storing further comprises storing information about a data packet that is being discarded so that the space in the header storing means occupied by the discarded packet and space in a data store are immediately reused.
Claim 20
Dependent Claim 31 words
The method of claim 13 further comprising controlling the processing core using a central processing unit, the controlling comprises steering the processing core to one of a predetermined set of routines.
Claim 21
Independent Claim 191 words
A method for processing data packets to determine the route of the data packet, the data packet having a header portion and a data portion, the method comprising: receiving a header portion of an incoming data packet; performing a flat table memory access based on a first value contained within the received header portion, wherein said flat table memory includes an interface table storing information related to one or more interfaces and a circuit table storing information related to one or more virtual circuits; performing a route look-up search simultaneously with said flat table memory access, said route table look-up search responsive to a second value contained within the received header portion; checking information contained within the header portion while said flat table memory access and said route look-up search are being performed for determining if the header portion is valid; generating one of an internal header and a network media header based on the results of the route look-up search and the flat table memory access; and generating a modified header portion including the received header portion and said generated one of the internal header and the network media header.
Claim 22
Independent Claim 191 words
A method for processing data packets to determine the route of the data packet, the data packet having a header portion and a data portion, the method comprising: receiving a header portion of an incoming data packet; performing a flat table memory access based on a first value contained within the received header portion, wherein said flat table memory includes an interface table storing information related to one or more interfaces and a circuit table storing information related to one or more virtual circuits; performing a route look-up search simultaneously with said flat table memory access, said route table look-up search responsive to a second value contained within the received header portion; checking information contained within the header portion while said flat table memory access and said route look-up search are being performed for determining if the header portion is valid; generating one of an internal header and a network media header based on the results of the route look-up search and the flat table memory access; and generating a modified header portion including the received header portion and said generated one of the internal header and the network media header.
Claim 23
Dependent Claim 46 words
The method of claim 19, wherein checking information in the header portion further comprises verifying a checksum value contained in the received header portion, decrementing a time-to-live counter contained with the header portion and generating a new checksum value to be inserted into the header portion.
Claim 24
Dependent Claim 58 words
The method of claim 19, further comprising processing a multicast data packet destined for a plurality of addresses comprising generating a header portion for each destination address, outputting a header and the same data portion for each destination address, and deleting the data portion from a buffer memory when the processing of the multicast data packet is completed.

References Cited (Backward Citations)

US5842224A Cited
US5398245A Cited
US5602841A Cited
US5598410A Cited
US5541920A Cited
US5841764A Cited
US5757799A Cited
US5781549A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag