IP Library › Granted Patent US 8,135,752
Granted Patent B2
US 8,135,752 · App. 12/350,493 · Granted Mar 13, 2012

Deleting leaves in tree table structures

Assignee: International Business Machines Corporation
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 8,135,752
App. No.
12/350,493
Granted
Mar 13, 2012
Kind
B2
Abstract

Techniques and articles of manufacture are provided comprising computer readable programs that, when executed on the computer, cause the computer to delete a leaf from a patricia tree having leaf keys and pattern search control blocks containing a prefix and either an end-of-trail leaf or a pointer to another of the pattern search control blocks, by placing each of the prefixes in a tree prefix table; searching for a key in the tree; searching for the key in the prefix table if the tree searching does not find the key in the tree; confirming that the key is deleted if the key is not found in the prefix table; deleting the key from one of the pattern search control blocks; and collapsing the patricia tree by eliminating the left most pattern search control block from the patricia tree if the patricia tree searching finds the key.

Claims (21)

1. An article of manufacture comprising a computer disc medium having a computer readable program embedded in said medium, wherein the computer readable program, when executed on a computer, causes the computer to delete a leaf in a patricia tree leaf structure without interrupting the functioning of the patricia tree by:

providing a patricia tree leaf having a plurality of leaf keys, each of the keys having a pattern x bits in length wherein x is a positive integer, the patricia tree further comprising a plurality of pattern search control blocks, each of the pattern search control blocks configured to decode m bits and store 2m possible combinations of bits wherein m is a positive integer, each of the pattern search control blocks containing a prefix and either an end-of-trail leaf or a pointer to another of the pattern search control blocks;

placing each of the prefixes in a tree prefix table;

searching for a key in the patricia tree;

searching for the key in the prefix table if the patricia tree searching does not find the key in the patricia tree;

confirming that the key is deleted if the key is not found in the prefix table; and

deleting the key from one of the pattern search control blocks and collapsing the patricia tree by eliminating the left most pattern search control block from the patricia tree if the patricia tree searching finds the key.

2. The article of manufacture of claim 1 , wherein the prefix comprises an operational prefix and a history prefix, and wherein the computer readable program, when executed on the computer, causes the computer to search by:

looking in the operational prefixes of the prefix table to find a longest prefix match;

storing a found longest prefix match in an operational prefix of the prefix table; and

storing a prefix in one of the history prefixes of the prefix table if no longest prefix match is found.

3. The article of manufacture of claim 2 , wherein the computer readable program, when executed on the computer, causes the computer to:

maintain the table history prefixes to allow for updating of the operational table during insertions and deletions;

indicate with an end bit in each pattern search control block whether the pattern search control block contains a leaf or another node; and

indicate a size of a next pattern search control block with a mode bit in each pattern search control block.

4. The article of manufacture of claim 3 , wherein the computer readable program, when executed on the computer, causes the computer to:

determine if a prefix of a first prefix length has been received by reference to a corresponding history prefix in the prefix table if a prefix indicator is on;

move the received prefix to a pattern search control block entry and remove an operational prefix from the prefix table if determined that the first prefix length prefix has been received;

turn off the prefix indicator if no other shorter prefix exists;

update an operational prefix of the prefix table if the other shorter prefix exists; and

obtain a next longest prefix and copy it into a pattern search control block entry with its address if determined that the first prefix length prefix has not been received.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2011
From: BASSO, CLAUDE; CALVIGNAC, JEAN L.; DAVIS, GORDON T.; HEDDES, MARCO; PATEL, PIYUSH C.; PERRIN, STEVEN R.; RANDALL, GRAYSON W.; ROVNER, SONIA K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 026267/0724 →
Continuity (3)
Continuation 11462404 · Aug 4, 2006
Continuation 10453245 · Jun 3, 2003
Related Publication 20090125535A1 · May 14, 2009