Method and apparatus for ternary PATRICIA trie blocks
First Claim
Patent Images
1. A computer implemented method for creating a labeled PATRICIA trie block, the computer implemented method comprising the steps of:
- selecting a size of said labeled PATRICIA trie block;
defining a size of a header of said labeled PATRICIA trie block;
determining a number of nodes of a PATRICIA trie;
determining a number of pointers of said nodes;
determining a number of bits for an offset value of said labeled PATRICIA block;
determining a number of bits of a left sub-tree of the PATRICIA trie;
using a bit aligned representation to allow an increase in the number of pointers;
determining a number of bits for a status indicator of said labeled PATRICIA trie block, wherein the labeled PATRICIA trie block is maximum the number of pointers, the number of pointers determines a fanout in said PATRICIA trie block;
creating the labeled PATRICIA trie block based on said determining a number of bits for a status indicator and the determining of said fanout;
the determining of said fanout comprises the steps of;
selecting a number of bits devoted to storing a number of nodes for a first practice value;
selecting a number of bits devoted to a number of left leaves for a second practical value;
selecting a number of bits devoted to said offset value for a third practice value;
selecting a number of bits devoted to said number of pointers for a fourth practical value;
said second practical value and said third practical value are substantially equal; and
selected values for said second practical value and said third practical value adhere to an inequality, where said third practice value plus logarithm sub two of sum of said second practical value, said third practical value and said fourth practical value is equal to or larger than logarithm sub two of block size, header size and said first practical value.
3 Assignments
0 Petitions
Accused Products
Abstract
An architecture and method for efficient termination of variable length keys in a PATRICIA trie is disclosed. By adding a null-labeled link, it is possible to terminate such variable length PATRICIA trie nodes, allowing to overcome the need for complex termination solutions. Specifically, a ternary PATRICIA block is introduced.
-
Citations
8 Claims
-
1. A computer implemented method for creating a labeled PATRICIA trie block, the computer implemented method comprising the steps of:
-
selecting a size of said labeled PATRICIA trie block; defining a size of a header of said labeled PATRICIA trie block; determining a number of nodes of a PATRICIA trie; determining a number of pointers of said nodes; determining a number of bits for an offset value of said labeled PATRICIA block; determining a number of bits of a left sub-tree of the PATRICIA trie; using a bit aligned representation to allow an increase in the number of pointers; determining a number of bits for a status indicator of said labeled PATRICIA trie block, wherein the labeled PATRICIA trie block is maximum the number of pointers, the number of pointers determines a fanout in said PATRICIA trie block; creating the labeled PATRICIA trie block based on said determining a number of bits for a status indicator and the determining of said fanout; the determining of said fanout comprises the steps of; selecting a number of bits devoted to storing a number of nodes for a first practice value; selecting a number of bits devoted to a number of left leaves for a second practical value; selecting a number of bits devoted to said offset value for a third practice value; selecting a number of bits devoted to said number of pointers for a fourth practical value; said second practical value and said third practical value are substantially equal; and selected values for said second practical value and said third practical value adhere to an inequality, where said third practice value plus logarithm sub two of sum of said second practical value, said third practical value and said fourth practical value is equal to or larger than logarithm sub two of block size, header size and said first practical value. - View Dependent Claims (2)
-
-
3. A computer implemented method for creating a labeled PATRICIA trie block, the computer implemented method comprising the steps of:
-
selecting a size of said labeled PATRICIA trie block; defining a size of a header of said labeled PATRICIA trie block; determining a number of nodes of a PATRICIA trie; determining a number of pointers of said nodes; determining a number of bits for an offset value of said labeled PATRICIA trie block; using a bit aligned representation to allow an increase in the number of pointers; determining a number of bits of a left sub-tree of the PATRICIA trie; determining a number of bits for a status indicator of said labeled PATRICIA trie block; wherein the labeled PATRICIA trie block is maximum the number of pointers, the number of pointers determines a fanout in said PATRICIA trie block; wherein the status indicator comprises an indication of labels respective of each node of said PATRICIA trie block; wherein said indication of null-labels comprise any of all labels present, no null-label, no left label, and no right label; creating the labeled PATRICIA trie block based on said determining a number of bits for a status indicator and the determining of said fanout; the determining of said fanout comprises the steps of; selecting a number of bits devoted to storing a number of nodes for a first practice value; selecting a number of bits devoted to a number of left leaves for a second practical value; selecting a number of bits devoted to said offset value for a third practice value; selecting a number of bits devoted to said number of pointers for a fourth practical value; said second practical value and said third practical value are substantially equal; and selected values for said second practical value and said third practical value adhere to an inequality, wherein said third practice value plus logarithm sub two of sum of said second practical value, said third practical value and said fourth practical value is equal to or larger than logarithm sub two of block size, header size and said first practical value. - View Dependent Claims (4)
-
-
5. A computer memory, said computer memory containing computer program instructions for operating a computer to create a labeled PATRICIA trie block, said computer program instructions executing a computer implemented method comprising the steps of:
-
selecting a size of said labeled PATRICIA trie block; defining a size of a header of said labeled PATRICIA trie block; determining a number of nodes of a PATRICIA trie; determining a number of pointers of said nodes; determining a number of bits for an offset value of said labeled PATRICIA trie block; using a bit aligned representation to allow an increase in the number of pointers; determining a number of bits of a left sub-tree of the PATRICIA trie; determining a number of bits for a status indicator of said labeled PATRICIA trie block; wherein the labeled PATRICIA trie block is maximum the number of pointers, the number of pointers determines a fanout in said PATRICIA trie block; wherein the status indicator comprises an indication of labels respective of each node of said PATRICIA trie block; wherein said indication of null-labels comprise any of all labels present, no null-label, no left label, and no right label; creating the labeled PATRICIA trie block based on said determining a number of bits for a status indicator and the determining of said fanout; the determining of said fanout comprises the steps of; selecting a number of bits devoted to storing a number of nodes for a first practice value; selecting a number of bits devoted to a number of left leaves for a second practical value; selecting a number of bits devoted to said offset value for a third practice value; selecting a number of bits devoted to said number of pointers for a fourth practical value; said second practical value and said third practical value are substantially equal; and selected values for said second practical value and said third practical value adhere to an inequality, wherein said third practice value plus logarithm sub two of sum of said second practical value, said third practical value and said fourth practical value is equal to or larger than logarithm sub two of block size, header size and said first practical value. - View Dependent Claims (6)
-
-
7. A computer memory, said computer memory containing computer program instructions for operating a computer to create a labeled PATRICIA trie block, said computer program instructions executing a computer implemented method comprising the steps of:
-
selecting a size of said labeled PATRICIA trie block; defining a size of a header of said labeled PATRICIA trie block; determining a number of nodes of a PATRICIA trie; determining a number of pointers of said nodes; determining a number of bits for an offset value of said labeled PATRICIA trie block; using a bit aligned representation to allow an increase in the number of pointers; determining a number of bits of a left sub-tree of the PATRICIA trie; determining a number of bits for a status indicator of said labeled PATRICIA trie block; wherein the labeled PATRICIA trie block is maximum the number of pointers, the number of pointers determines a fanout in said PATRICIA trie block; creating the labeled PATRICIA trie block based on said determining a number of bits for a status indicator and the determining of said fanout; the determining of said fanout comprises the steps of; selecting a number of bits devoted to storing a number of nodes for a first practice value; selecting a number of bits devoted to a number of left leaves for a second practical value; selecting a number of bits devoted to said offset value for a third practice value; selecting a number of bits devoted to said number of pointers for a fourth practical value; said second practical value and said third practical value are substantially equal; and selected values for said second practical value and said third practical value adhere to an inequality, wherein said third practice value plus logarithm sub two of sum of said second practical value, said third practical value and said fourth practical value is equal to or larger than logarithm sub two of block size, header size and said first practical value. - View Dependent Claims (8)
-
Specification