IP Library Granted Patent US 7,233,579
Granted Patent B1
US 7,233,579 · App. 10/327,341 · Granted Jun 19, 2007

Routing table for forwarding Internet Protocol (IP) packets through a communications network

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,233,579
App. No.
10/327,341
Granted
Jun 19, 2007
Kind
B1
Abstract

Described are a system and computer-implemented method for searching and updating a routing table for forwarding IP packets through a communications network. Records containing IP address prefixes are organized in a binary tree data structure. When inserting a new record, one of the records in the binary tree data structure is identified as an enclosing record having an associated record data range that encloses record data of the new record. An enclosing pointer of the new record is set to point to the identified enclosing record. When searching for a longest matching prefix for a destination IP address, the binary tree data structure is traversed and one of the records in the binary tree data structure is identified as an enclosing record, which is returned as the longest matching prefix.

Claims (24)

1. A method of adding a new record to a plurality of records organized in a binary tree structure, the method comprising:

identifying one of the records organized in the binary tree structure as an enclosing record having an associated record data range that encloses record data of the new record;

setting an enclosing pointer of the new record to point to the identified enclosing record; and

identifying one of the records organized in the binary tree structure as a neighboring record of the new record, and setting a neighboring pointer of the new record to point to the neighboring record.

2. The method of claim 1 , further comprising identifying each record organized in the binary tree structure with record data that are enclosed by a record data range associated with the record data of the new record, and setting an enclosing pointer of each identified enclosed record to point to the new record.

3. The method of claim 1 , further comprising organizing the plurality of records according to a second data structure, inserting the new record into an insertion location in the second data structure, and inserting the new record into an insertion location in the binary tree structure.

4. The method of claim 1 , wherein the record data of the new record include an IP address prefix.

5. The method of claim 1 , further comprising identifying one of the records organized in the binary tree structure as a previous record having record data that more closely precedes in order the record data of the new record than any of the other records in the binary tree data structure.

6. The method of claim 5 , further comprising setting a next pointer of the previous record to point to the new record.

7. The method of claim 5 , wherein the step of identifying the enclosing record includes determining whether a record data range associated with the record data of the previous record encloses the record data of the new record.

8. The method of claim 5 , wherein the step of identifying the enclosing record includes following an enclosing pointer of the previous record to a candidate enclosing record in the binary tree structure if the record data range associated with the record data of the previous record does not enclose the record data of the new record.

9. The method of claim 1 , further comprising identifying one of the records organized in the binary tree structure as a next record having record data that more closely follows in order the record data of the new record than any other record in the binary tree data structure.

10. The method of claim 9 , further comprising setting a next pointer of the new record to point to the next record.

11. The method of claim 9 , further comprising setting an enclosing pointer of the next record to point to the new record if a record data range associated with the record data of the new record encloses record data of the next record.

12. The method of claim 9 , further comprising traversing a neighboring pointer of the next record to a neighboring record.

13. The method of claim 12 , further comprising setting an enclosing pointer of the neighboring record to point to the new record if a record data range associated with the record data of the new record encloses record data of the neighboring record.

14. A method of determining a route for an IP packet having a destination IP address, the method comprising:

organizing a plurality of records in a binary tree structure, each record having record data that include an IP address prefix for use in routing IP packets;

determining that the binary tree structure lacks a given record with record data that match the destination IP address;

identifying one of the records organized in the binary tree structure as a previous record having record data that more closely precede in order the record data of a new record than any of the other records in the binary tree structure; and

determining that the record data of the previous record are the longest matching prefix in the plurality of records for the destination IP address if the record data range associated with the record data of the previous record encloses the record data of the new record.

15. The method of claim 14 , further comprising traversing an enclosing pointer from the previous record to a candidate enclosing record if the record data range associated with the record data of the previous record does not enclose the record data of the new record.

16. The method of claim 15 further comprising determining that the record data of the candidate enclosing record is the longest matching prefix in the plurality of records for the destination IP address if a record data range associated with the record data of the candidate enclosing record encloses the record data of the new record.

17. The method of claim 14 , further comprising searching for the given record along a search path determined by the binary tree structure until a record is accessed that indicates that the binary tree structure is in an intermediate state, and searching for the given record along a second search path determined by the second data structure in response to the record that indicates that the binary tree structure is in an intermediate state.

Assignments (17)
(SECURITY INTEREST) GRANTOR'S NAME CHANGE Recorded Sep 21, 2023
From: AVAYA INC.
To: AVAYA LLC
Reel/Frame 065019/0231 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 61087/0386) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063690/0359 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 53955/0436) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063705/0023 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001) Recorded May 18, 2023
From: GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT
To: ZANG, INC. (FORMER NAME OF AVAYA CLOUD INC.); AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; HYPERQUALITY, INC.; HYPERQUALITY II, LLC; CAAS TECHNOLOGIES, LLC; AVAYA MANAGEMENT L.P.
Reel/Frame 063779/0622 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 4, 2023
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 063542/0662 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 3, 2023
From: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; KNOAHSOFT INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB [COLLATERAL AGENT]
Reel/Frame 063742/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 45124/FRAME 0026 Recorded Apr 26, 2023
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: AVAYA HOLDINGS CORP.; AVAYA INC.; AVAYA MANAGEMENT L.P.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063457/0001 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 5, 2022
From: AVAYA INC.; INTELLISIST, INC.; AVAYA MANAGEMENT L.P.; AVAYA CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 061087/0386 →
SECURITY INTEREST Recorded Sep 25, 2020
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 053955/0436 →
SECURITY INTEREST Recorded Jan 23, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 045124/0026 →
RELEASE OF SECURITY INTEREST Recorded Jan 11, 2018
From: CITICORP USA, INC.
To: AVAYA, INC.; SIERRA HOLDINGS CORP.
Reel/Frame 045045/0564 →
SECURITY INTEREST Recorded Jan 10, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 045034/0001 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 030083/0639 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVAYA INC.
Reel/Frame 045012/0666 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 023892/0500 Recorded Dec 15, 2017
From: CITIBANK, N.A.
To: AVAYA INC.
Reel/Frame 044891/0564 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 025863/0535 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST, NA
To: AVAYA INC.
Reel/Frame 044892/0001 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001 Recorded Dec 15, 2017
From: CITIBANK, N.A.
To: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS LLC (FORMERLY KNOWN AS OCTEL COMMUNICATIONS CORPORATION); VPNET TECHNOLOGIES, INC.
Reel/Frame 044893/0531 →
SECURITY INTEREST Recorded Jan 27, 2017
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS CORPORATION; VPNET TECHNOLOGIES, INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 041576/0001 →