IP Library Granted Patent US 7,423,981
Granted Patent B2
US 7,423,981 · App. 09/733,629 · Granted Sep 9, 2008

Method and apparatus for an incremental update of a longest prefix match lookup table

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,423,981
App. No.
09/733,629
Granted
Sep 9, 2008
Kind
B2
Abstract

A method and apparatus for performing an incremental update of a lookup table while the lookup table is available for searching is presented. To add or delete a route, a second set of routes is stored in a second memory space in the lookup table, while access is provided to the first set of routes stored in a first memory space in the lookup table. Access is provided to the first memory space through a first pointer stored in a subtree entry. After storing the second set of routes in the second memory space, access is switched to the first set of routes in the first memory space by replacing the first pointer stored in the subtree entry with a second pointer to the second memory space.

Claims (36)

1. A method for updating a lookup table comprising the steps of:

providing access to a first set of routes stored in nodes of a first subtree within a tree, the first subtree being accessed through a first pointer to a first subtree root node of the first subtree;

providing a second subtree disconnected from the tree, the second subtree being accessed through a second pointer to a second subtree root node of the second subtree and being initially inaccessible via the tree;

storing a second set of routes in nodes of the second subtree while access via the tree is provided to the first set of routes stored in the first subtree by the first pointer, the second set of routes being a copy of the first set of routes with at least a new route added or an existing route deleted; and

switching access to the second set of routes stored in the second subtree by replacing the first pointer to the first subtree root node with the second pointer to the second subtree root node to update the tree by replacing the first subtree with the second subtree.

2. The method as claimed in claim 1 further comprising the step of:

deallocating memory used by the first set of routes after switching access.

3. The method as claimed in claim 1 wherein the number of routes in the first set of routes is less than the number of routes in the second set of routes.

4. The method as claimed in claim 1 wherein the number of routes in the first set of routes is greater than the number of routes in the second set of routes.

5. An apparatus for updating a lookup table comprising:

a first subtree within a tree, the first subtree including a first subtree root node and a first set of routes stored in nodes of the first subtree, the first set of routes being initially accessible via the tree;

a first pointer to the first subtree root node;

a second subtree initially disconnected from the tree, the second subtree including a second subtree root node and a second set of routes stored in nodes of the second subtree, the second set of routes being a copy of the first set of routes with at least a new route added or an existing route deleted and being initially inaccessible via the tree;

a second pointer to the second subtree root node; and

logic to switch access to the second set of routes by replacing in the tree the first pointer to the first subtree root node with the second pointer to the second subtree root node to update the tree by replacing the first subtree with the second subtree.

6. The apparatus as claimed in claim 5 further comprising:

deallocation logic to deallocate memory used by the first set of routes after switching access.

7. The apparatus as claimed in claim 5 wherein the number of routes in the first set of routes is less than the number of routes in the second set of routes.

8. The apparatus as claimed in claim 5 wherein the number of routes in the first set of routes is greater than the number of routes in the second set of routes.

9. An apparatus for updating a lookup table comprising:

a first pointer to a first subtree root node of a first subtree within a tree, the first pointer providing access to a first set of routes stored in nodes of the first subtree;

a second pointer to a second subtree root node of a second subtree disconnected from the tree, the second pointer providing access to a second set of routes stored in nodes of the second subtree, the second set of routes being a copy of the first set of routes with at least a new route added or an existing route deleted and being initially inaccessible via the tree while access via the tree is provided to the first set of routes stored in the first subtree by the first pointer; and

logic to provide access to the second set of routes by replacing the first pointer to the first subtree root node with the second pointer to the second subtree root node to update the tree by replacing the first subtree with the second subtree.

10. The apparatus as claimed in claim 9 further comprising:

deallocation logic to deallocate memory used by the first set of routes after the first pointer is replaced.

11. The apparatus as claimed in claim 9 wherein the number of routes in the first set of routes is less than the number of routes in the second set of routes.

12. The apparatus as claimed in claim 9 wherein the number of routes in the first set of routes is greater than the number of routes in the second set of routes.

13. A method for updating a lookup table, the lookup table providing a longest prefix match for a destination address, comprising the steps of:

providing access to a first set of routes stored in nodes of a first subtree within a tree, the first subtree being accessed through a first pointer to a first subtree root node of the first subtree;

providing a second subtree disconnected from the tree, the second subtree being accessed through a second pointer to a second subtree root node of the second subtree and being initially inaccessible via the tree;

storing a second set of routes in nodes of the second subtree while access via the tree is provided to the first set of routes stored in the first subtree by the first pointer, the second set of routes being a copy of the first set of routes with at least a new route added or an existing route deleted; and

switching access to the second set of routes stored in the second subtree by replacing the first pointer to the first subtree root node with the second pointer to the second subtree root node to update the tree by replacing the first subtree with the second subtree.

14. The method of claim 13 , wherein the first set of routes and the second set of routes include a longest prefix route for the destination address.

15. The method of claim 14 , wherein the destination address includes an Internet Protocol address.

16. The method of claim 14 , wherein the second set of routes includes another route corresponding to the longest prefix route for another destination address.

17. The method of claim 13 , wherein the first set of routes and the second set of routes are associated with nodes at the bottom level of a subtree.

Assignments (1)
MERGER Recorded Jan 28, 2016
From: SATECH GROUP A.B. LIMITED LIABILITY COMPANY
To: CHARTOLEAUX KG LIMITED LIABILITY COMPANY
Reel/Frame 037613/0632 →