IP Library Granted Patent US 7,764,687
Granted Patent B1
US 7,764,687 · App. 10/401,904 · Granted Jul 27, 2010

Longest prefix match search technique

Assignee: Meriton Networks US Inc.
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,764,687
App. No.
10/401,904
Granted
Jul 27, 2010
Kind
B1
Abstract

A router identifies in a data packet an address of a network device. An algorithm determines that the address and a first prefix in a tree data structure match up to a first mask length of the first prefix. The algorithm maintains the first prefix in a temporary storage location if there is a match, and determines whether the address and a second prefix in the tree data structure match up to a second mask length of the second prefix, wherein an external node of the second prefix is linked below an external node of the first prefix, and wherein the second mask length is longer than the first mask length. The algorithm maintains the second prefix as a better match of the address, if the address and the second prefix match up to the mask length of the second prefix.

Claims (24)

1. A method, comprising:

identifying in a data packet a first address of a network device;

determining whether a first prefix in a tree data structure matches the most significant bits of the first address up to the length of a first prefix mask for the first prefix;

maintaining the first prefix in a temporary storage location if there is a match;

determining whether a second prefix in the tree data structure matches the most significant bits of the first address up to the length of a second prefix mask for the second prefix, and wherein the length of the prefix mask for the second prefix is longer than the length of the prefix mask for the first prefix; and

replacing the first prefix with the second prefix in the temporary storage location as a better match of the first address, if the first address matches the second prefix up to the length of the prefix mask for the second prefix.

2. The method of claim 1 , wherein identifying the first address in the data packet comprises identifying a destination address of the data packet.

3. The method of claim 1 , wherein identifying the first address in the data packet comprises identifying a source address of the data packet.

4. The method of claim 1 , wherein determining that the address matches a first prefix in a tree data structure up to the length of the prefix mask for the first prefix comprises determining that the first address matches a second address in a routing table up to the length of the prefix mask for the first prefix, wherein the routing table is implemented as the tree data structure.

5. The method of claim 1 , wherein determining whether the address matches the second prefix in the tree data structure up to the length of the prefix mask of the second prefix, comprises determining whether the address matches the second prefix in the tree data structure up to the length of the prefix mask of the second prefix, wherein second prefix is linked below the first prefix.

6. The method of claim 1 , wherein maintaining the second prefix as the better match of the first address comprises maintaining the second prefix in the temporary storage location in place of the first prefix.

7. The method of claim 1 , wherein determining whether the first address matches the second prefix in the tree data structure up to the length of the prefix mask of the second prefix, comprises determining whether the first address matches the second prefix in the tree data structure up to the length of the prefix mask of the second prefix, wherein second prefix is indirectly linked below the first prefix.

8. A computer-readable medium embedded with a computer executable program including instructions comprising:

identifying in a data packet a first address of a network device;

determining whether a first prefix in a tree data structure matches the most significant bits of the first address up to the length of a first prefix mask for the first prefix;

maintaining the first prefix in a temporary storage location if there is a match;

determining whether a second prefix in the tree data structure matches the most significant bits of the first address up to the length of a second prefix mask for the second prefix, and wherein the length of the prefix mask for the second prefix is longer than the length of the prefix mask for the first prefix; and

replacing the first prefix with the second prefix in the temporary storage location as a better match of the first address, if the first address matches the second prefix up to the length of the prefix mask for the second prefix.

9. The computer-readable medium of claim 8 , identifying in the data packet the first address of the network device comprises identifying a destination address of the data packet.

10. The computer-readable of claim 8 , wherein determining that the address matches a first prefix in a tree data structure up to the length of the prefix mask for the first prefix comprises determining that the first address matches a second address in a routing table up to the length of the prefix mask for the first prefix, wherein the routing table is implemented as the tree data structure.

11. The computer-readable medium of claim 8 , wherein second prefix is linked below the first prefix.

12. The computer-readable medium of claim 8 , wherein maintaining the second prefix as a better match of the address comprise sequences of instructions comprises:

maintaining the second prefix in the temporary storage location in place of the first prefix.

13. The computer-readable medium of claim 8 , wherein second prefix is indirectly linked below the first prefix.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2017
From: LINKEDIN CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 044746/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2016
From: XTERA COMMUNICATIONS, INC.
To: LINKEDIN CORPORATION
Reel/Frame 038979/0876 →
RELEASE OF SECURITY INTEREST Recorded Jun 2, 2014
From: HORIZON TECHNOLOGY FINANCE CORPORATION
To: XTERA COMMUNICATIONS, INC.
Reel/Frame 033076/0377 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 5, 2012
From: MERITON NETWORKS, INC.
To: XTERA COMMUNICATIONS, INC.
Reel/Frame 028541/0891 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2012
From: MERITON NETWORKS US, INC.
To: MERITON NETWORKS, INC.
Reel/Frame 028388/0810 →
MERGER Recorded Sep 16, 2009
From: MAHI NETWORKS, INC.
To: MERITON NETWORKS US INC.
Reel/Frame 023237/0541 →
SECURITY AGREEMENT Recorded Feb 27, 2007
From: MERITON NETWORKS INC.
To: HORIZON TECHNOLOGY FUNDING COMPANY LLC
Reel/Frame 018934/0670 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2003
From: GAO, BIAO; YANG, YIBIN; CHEN, CHARLES
To: MAHI NETWORKS, INC.
Reel/Frame 013929/0638 →
Continuity (1)
Provisional Application 6036882700 · Mar 28, 2002