IP Library Granted Patent US 8,965,911
Granted Patent B2
US 8,965,911 · App. 13/629,912 · Granted Feb 24, 2015

Searching and storing data in a tree data structure using prefix-matching node

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,965,911
App. No.
13/629,912
Granted
Feb 24, 2015
Kind
B2
Abstract

Nodes in a tree data structure are associated with respective node keys. At least some of the nodes are associated with at least one respective node rank. The structure is searched to attempt to identify a preferred prefix-matching node on the basis of attempting to find a prefix-matching node that has a prefix match with a search key and which has a preferred node rank relative to a node rank associated with a node which may have a longer prefix match. If the prefix-matching node is identified, a dependent node rank identifier associated with the prefix-matching node is used to determine that the prefix-matching node has the preferred node rank. The dependent node rank identifier indicates at least a node rank of a node which may have a longer prefix match than the prefix-matching node. The prefix-matching node is selected, if identified, as a preferred prefix-matching node.

Claims (32)

1. A method of searching a database using a search key, the database containing data stored in a tree data structure including a plurality of nodes that are associated with respective node keys, the method comprising:

searching the tree data structure to attempt to identify a preferred prefix-matching node on the basis of attempting to find a node that has a longer prefix match with the search key than a prefix-matching node that has a prefix match with the search key, wherein at least some of the nodes are associated with at least one respective node rank;

searching the tree structure to attempt to identify a preferred prefix-matching node on the basis of attempting to find a prefix-matching node that has a prefix match with the search key and which has a preferred node rank relative to a node rank associated with a node which may have a longer prefix match with the search key;

determining that the prefix-matching node, if identified, has the preferred node rank based at least in part on using a dependent node rank identifier associated with the prefix matching node, the dependent node rank identifier indicating at least a node rank of a node which may have a longer prefix match with the search key than the prefix-matching node; and

selecting the prefix-matching node which has the preferred node rank, if identified, as a preferred prefix-matching node, in preference to a node having a less-preferred node rank which may have a longer prefix match with the search key.

2. The method according to claim 1 , further comprising:

selecting the prefix-matching node as the preferred prefix-matching node if its node rank is at least one rank higher than the less-preferred node rank.

3. The method according to claim 1 , wherein the dependent node rank identifier indicates the node ranks of every node that may have a longer prefix match with the search key than the prefix-matching node.

4. The method according to claim 1 , wherein the tree data structure comprises a trie.

5. The method according to claim 1 , wherein the tree data structure comprises a radix trie.

6. The method according to claim 1 , wherein the dependent node rank identifier indicates that the node rank of the node which may have a longer prefix match with the search key than the prefix-matching node has a less preferred node rank relative to the node rank associated with the prefix-matching node.

7. A method of handling data in a communication system, the method comprising:

receiving traffic comprising a traffic parameter;

searching a traffic-handling database using a search key that is based on the traffic parameter and a method of searching the database according to claim 1 ;

retrieving traffic-handling information associated with the preferred prefix matching node; and

handling the received traffic based on the traffic-handling information.

8. The method according to claim 7 , wherein the communication system comprises a plurality of network parts, and wherein the method further comprises:

associating a given node with incoming traffic from a given network part;

associating the given node with a node rank based on a manner in which incoming traffic from the given network part is to be handled, wherein a higher node rank is associated with a preferred traffic-handling scheme.

9. The method according to claim 7 , wherein a first node rank is associated with high-priority traffic and wherein a second node rank is associated with low-priority traffic, incoming traffic being handled based on its priority.

10. The method according to claim 7 , wherein the traffic parameter comprises a traffic source identifier.

11. An apparatus for searching a database using a search key, the database containing data stored in a tree data structure including a plurality of nodes that are associated with respective node keys, the apparatus comprising a processor coupled to a memory, the processor being arranged to:

search the tree data structure to attempt to identify a preferred prefix-matching node on the basis of attempting to find a node that has a longer prefix match with the search key than a prefix-matching node that has a prefix match with the search key, wherein at least some of the nodes are associated with at least one respective node rank;

search the tree structure to attempt to identify a preferred prefix-matching node on the basis of attempting to find a prefix-matching node that has a prefix match with the search key and which has a preferred node rank relative to a node rank associated with a node which may have a longer prefix match with the search key;

determine that the prefix-matching node, if identified, has the preferred node rank based at least in part on using a dependent node rank identifier associated with the prefix matching node, the dependent node rank identifier indicating at least a node rank of a node which may have a longer prefix match with the search key than the prefix-matching node; and

select the prefix-matching node which has the preferred node rank, if identified, as a preferred prefix-matching node, in preference to a node having a less-preferred node rank which may have a longer prefix match with the search key.

12. A computer program product comprising a non-transitory computer-readable storage medium having computer readable instructions stored thereon, the computer readable instructions being executable by a computerized device to cause the computerized device to perform a method for searching a database using a search key, the database containing data stored in a tree data structure including a plurality of nodes that are associated with respective node keys, the method comprising:

searching the tree data structure to attempt to identify a preferred prefix-matching node on the basis of attempting to find a node that has a longer prefix match with the search key than a prefix-matching node that has a prefix match with the search key,

wherein at least some of the nodes are associated with at least one respective node rank, and wherein the method comprises:

searching the tree structure to attempt to identify a preferred prefix-matching node on the basis of attempting to find a prefix-matching node that has a prefix match with the search key and which has a preferred node rank relative to a node rank associated with a node which may have a longer prefix match with the search key;

determining that the prefix-matching node, if identified, has the preferred node rank based at least in part on using a dependent node rank identifier associated with the prefix matching node, the dependent node rank identifier indicating at least a node rank of a node which may have a longer prefix match with the search key than the prefix-matching node; and

selecting the prefix-matching node which has the preferred node rank, if identified, as a preferred prefix-matching node, in preference to a node having a less-preferred node rank which may have a longer prefix match with the search key.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2026
From: MICROSOFT TECHNOLOGY LICENSING, LLC
To: ALIANZA, INC.
Reel/Frame 075645/0892 →
CHANGE OF NAME Recorded May 13, 2026
From: ALIANZA, INC.
To: ALIANZA, LLC
Reel/Frame 075646/0037 →
SECURITY INTEREST Recorded May 6, 2025
From: ALIANZA, INC.; METASWITCH NETWORKS LTD
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 071191/0228 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 28, 2012
From: DINWOODIE, ADAM
To: METASWITCH NETWORKS LTD
Reel/Frame 029363/0215 →