EP0970430A1 - Method for implementing an associative memory based on a digital trie structure - Google Patents

Method for implementing an associative memory based on a digital trie structure

Info

Publication number
EP0970430A1
EP0970430A1 EP98908122A EP98908122A EP0970430A1 EP 0970430 A1 EP0970430 A1 EP 0970430A1 EP 98908122 A EP98908122 A EP 98908122A EP 98908122 A EP98908122 A EP 98908122A EP 0970430 A1 EP0970430 A1 EP 0970430A1
Authority
EP
European Patent Office
Prior art keywords
node
nodes
bits
address
quad
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP98908122A
Other languages
German (de)
English (en)
French (fr)
Inventor
Matti Tikkanen
Jukka-Pekka Iivonen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Oyj
Original Assignee
Nokia Networks Oy
Nokia Oyj
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Networks Oy, Nokia Oyj filed Critical Nokia Networks Oy
Publication of EP0970430A1 publication Critical patent/EP0970430A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90339Query processing by using parallel associative memories or content-addressable memories

Definitions

  • the present invention generally relates to implementation of an associative memory, particularly to implementation of an associative memory based on a digital trie structure.
  • the solution in accordance with the invention is intended for use primarily in connection with central memory databases.
  • Suitable applications particularly include databases in which there are a large number of insertions and deletions compared to retrievals.
  • Such applications include visitor location registers (VLR) in mobile communications networks.
  • VLR visitor location registers
  • digital trie The prior art unidimensional directory structure termed digital trie (the word “trie” is derived from the English word “retrieval”) is the underlying basis of the principle of the present invention.
  • Digital tries can be implemented in two types: bucket tries, and tries having no buckets.
  • a digital bucket trie structure is a tree-shaped structure composed of two types of nodes: buckets and trie nodes.
  • a bucket is a data structure containing a number of data units or a number of pointers to data units or a number of search key/pointer pairs (the number may include only one data unit, one pointer or one key/pointer pair).
  • a trie node is an array guiding the retrieval, having a size of two by the power of k (2 k ) elements. If an element in a trie node is in use, it refers either to a trie node at the next level in the directory tree or to a bucket. In other cases, the element is free (empty).
  • Search in the database proceeds by examining the search key (which in the case of a subscriber database in a mobile telephone network or a telephone exchange, for instance, is typically the binary numeral corresponding to the telephone number of the subscriber) k bits at a time.
  • the bits to be searched are selected in such a way that at the root level of the structure (in the first trie node), k leftmost bits are searched; at the second level of the structure, k bits next to the leftmost bits are searched, etc.
  • the bits to be searched are interpreted as an unsigned binary integer that is employed directly to index the element array contained in the trie node, the index indicating a given element in the array. If the element indicated by the index is free, the search will terminate as unsuccessful.
  • the routine branches off in the trie node either to a trie node at the next level or to a bucket. If the element refers to a bucket containing a key, the key stored therein is compared with the search key. The entire search key is thus compared only after the search has encountered a bucket. Where the keys are equal, the search is successful, and the desired data unit is obtained at the storage address indicated by the pointer of the bucket. Where the keys differ, the search terminates as unsuccessful.
  • a bucketless trie structure has no buckets, but reference to a data unit is effected from a trie node at the lowest level of a tree-shaped hierarchy, called a leaf node. Unlike buckets, the leaf nodes in a bucketless structure cannot contain data units but only pointers to data units. Also a bucket structure has leaf nodes, and hence trie nodes containing at least one pointer to a bucket (bucket structure) or to a data unit (bucketless structure) are leaf nodes. The other nodes in the trie are internal nodes. Trie nodes may thus be either internal nodes or leaf nodes.
  • Buckets containing a record are denoted with references A, B, C, D...H...M, N, O and P. Thus a bucket is a node that does not point to a lower level in the tree.
  • Trie nodes are denoted with references IN1...IN5 and elements in the trie node with reference NE in Figure 1.
  • the search is performed on the basis of the search key of record H, for example, by first extracting from the search key the two leftmost bits (01) and interpreting them, which delivers the second element of node IN1 , containing a pointer to node IN3 at the next level. At this level, the two next bits (11) are extracted from the search key, thus yielding the fourth element of that node, pointing to record H.
  • a bucket may contain (besides a search key) an actual data file (also called by the more generic term data unit).
  • an actual data file also called by the more generic term data unit.
  • the data relating to subscriber A Figure 1
  • the data relating to subscriber B Figure 1
  • a key-pointer pair is stored in the bucket, and in the second embodiment a key and actual data are stored, even though the key is not indispensable.
  • the search key may also be multidimensional. In other words, it may comprise a number of attributes (for example the family name and one or more forenames of a subscriber).
  • a multidimensional trie structure is disclosed in international application No. PCT/FI95/00319 (published under number WO 95/34155).
  • address computation is performed in such a way that a given predetermined number of bits at a time is selected from each dimension independently of the other dimensions.
  • a fixed limit independent of the other dimensions is set for each dimension in any individual trie node of the trie structure, by predetermining the number of search key bits to be searched in each dimension.
  • the memory circuit requirement can be curbed when the distribution of the values of the search keys is known in advance, in which case the structure can be implemented in a static form.
  • the idea of the invention is to use in the structure a fixed node size of four (elements) and to replace successive quad nodes providing only one path downward in the tree with (one or more) compressed node(s) in which the information needed for proceeding in the structure and for restructuring the nodes is collected from one or more successive quad nodes, without any storage space being needed for element arrays.
  • the idea is to use an opti- mum node size in view of storage space requirement and memory efficiency, and moreover to further diminish storage space requirement for successive quad nodes providing only one path downward in the tree (and not having an optimum fill rate).
  • the idea is to curb storage space requirement particularly in conjunction with non-uniform key distributions by reducing the depth of the structure by means of compressed nodes.
  • the solution in accordance with the invention also ensures effective performance of set operations, as the structure is an order-preserving digital trie.
  • Figure 1 illustrates the use of a unidimensional digital trie structure in the maintenance of subscriber data in a telephone exchange
  • Figure 2 shows a multidimensional trie structure
  • Figure 3 shows a three-dimensional memory structure
  • Figure 4 illustrates a memory structure in accordance with the invention
  • Figure 5 illustrates implementation of address computation in the memory of the invention
  • Figures 6a and 6b illustrate replacement of quad nodes with compressed nodes
  • Figures 7a...7c show the principle of forming a compressed node
  • Figures 8a and 8b show an example of the maintenance of the memory structure
  • Figure 9 illustrates the structure of a compressed node employed in the memory
  • Figure 10a illustrates the limitation posed by the word length employed on combining the nodes
  • Figure 10b shows the structure of a collecting node to be formed from the node chain of Figure 10a
  • Figure 11 shows the memory arrangement in accordance with the invention on block diagram level.
  • the trie structure has a multidimensional (generally n-dimensional) implementation.
  • a multidimensional structure is otherwise fully similar to the unidimensional structure described at the beginning, but the element array contained in the trie node is multidimensional.
  • Figure 2 exemplifies a two-dimensional 2 2* 2 1 structure, in which one dimension in the element array comprises four elements and the other dimension two elements. Buckets pointed to from the elements in the trie node are indicated with circles in the figure.
  • n integers (n>2) each of which may have a value in the range
  • the predetermined fixed parameter is the total length of the search key in each dimension. If for example one dimension of the search key has 256 attributes (such as first names) at most, the total length of the search key is 8 bits.
  • the multidimensional array is linearized, i.e. converted to be unidirectional, in the address computation operation (that is, in proceeding in the directory tree).
  • the linearization is an arithmetic operation that can be performed on arrays of all sizes. Hence, it is irrelevant whether the trie nodes are considered to be unidimensional or multidimensional, as multidimensional arrays are linearized in any case to be unidimensional.
  • the elements in the array are numbered starting from zero (as shown in Figure 3), the number of the last element being one less than the product of the sizes of all dimensions.
  • the number of an element is the sum of the products of each coordinate (for example in the three- dimensional case, the x, y and z coordinates) and the sizes of the dimensions preceding it. The number thus computed is employed directly to index the unidimensional array.
  • the element number is the sum of the products of each coordinate (for example in the three- dimensional case, the x, y and z coordinates) and the sizes of the dimensions preceding it. The number thus computed is employed directly to index the unidimensional array.
  • the element number is the sum of the products of each coordinate (for example in the three- dimensional case, the x, y and z coordinates) and the sizes of the dimensions preceding it. The number thus computed is employed directly to index the unidimensional array.
  • the element number is the sum of the products of each coordinate (for example in the three- dimensional case,
  • VA n is calculated in accordance with the above with the formula: where xe ⁇ 0,1 ,2,3 ⁇ , ye ⁇ 0,1 ⁇ and ze ⁇ 0,1 , 2,3,4,5,6,7 ⁇ .
  • the linearization can be carried out by performing a multiplication in accordance with formula (3); yet it is expedient to perform the linearization by forming from the search key bits a bit string by known methods, the corre- sponding numeral indicating the element whose content provides the basis for proceeding in the directory tree.
  • Such a linearization method is termed bit interleaving.
  • the essential factor for the invention is that it has minima for values 2 and 4 of parameter n.
  • storage space occupancy is at its minimum with values 2 and 4.
  • value 4 is selected for use in the memory in accordance with the invention, since this will allow smaller depth in the structure and higher efficiency (rapidity) in the memory.
  • the trie structure is implemented as a dimension- independent 4-branched (quad) structure. This means that the number n of the above-described dimensions may have any value, yet the number of bits to be searched in the trie nodes is fixed, i.e. two (with the exception of compressed nodes, which will be described later). In other words, four is selected as the fixed size of all ordinary trie nodes in the structure, regardless of the number of dimensions employed. Such trie nodes will also be termed quad nodes herein- below.
  • Figure 4 depicts five ordinary quad nodes N41...N45, having altogether six pointers to buckets (L1...L6).
  • the structure may also have compressed nodes, which will be described in detail later.
  • Figure 5 illustrates an example of address computation performed in trie nodes in the memory in accordance with the invention. It has been presumed in the figure that the space is three-dimensional (dimensions x, y and z), but as stated above, the number of spatial dimensions can be arbitrary.
  • the search keys are listed in vertical sequence in the figure.
  • the indexing bits of the unidimen- sional element array are shown in frames denoted by continuous lines. These frames illustrate how a global search key is divided into local search keys, each being used in one node of the trie structure.
  • the nodes in the structure are denoted by references N1...N9 in the order of progress. Two bits are searched in each node, and thus in the first node the leftmost bit of search key a x and the leftmost bit of search key a y are used. Thereafter the routine proceeds in the direction of the arrow to the next node (N2), in which the element array index is formed by the next two bits.
  • node-specific element array indices 01 (node N1), 11 (node N2), 10 (node N3), 10 (node N4), 10 (node N5), 10 (node N6), 10 (node N7), 11 (node N8) and 00 (node N9).
  • the node Since the number of bits to be searched in each trie node is constant, i.e. two, the number of searched bits need not be stored in the node. In its minimum configuration, the node thus only comprises an element array having four elements. For proceeding in the directory tree, the type of each node must additionally be known. This data can be stored in the directory structure for example in each node or in the pointer of the parent of the node. By means of the two "extra" bits of the pointer, information can be encoded in the pointer on whether a zero pointer (an empty element) is concerned or whether the pointer points to an ordinary trie node, a bucket or a compressed trie node (which will be described hereinbelow). In the case of a bucketless structure, information on whether the pointer points to an uncompressed node, a compressed node or a data unit is stored.
  • compression also means that at least two child nodes are always maintained for ordinary (uncompressed) quad nodes in the memory structure, that is, an individual (ordinary) quad node has pointers to at least two different lower-level nodes (child nodes).
  • a compressed node replaces one or more successive internal nodes, each of which has one child, and hence the above- stated one child cannot be a bucket (or a leaf in a structure that has no buckets). Hence, a child node must be an ordinary quad node in order for compression to be possible.
  • Figures 6a and 6b illustrate the principle of forming compressed quad nodes. If a situation in accordance with Figure 6a in which only one path passes through one or more successive quad nodes QN is created in the structure, the quad nodes in said path can be replaced with one compressed node CN ( Figure 6b), having information on the number of searched bits B, an element array index i, and a pointer to a child node. This child node is always an ordinary quad node. In other words, the compressed node does not point to a bucket.
  • the memory in accordance with the invention thus comprises two types of trie nodes: ordinary quad nodes containing an element array in accordance with Figure 5, and compressed nodes that will be described in the following.
  • Figures 7a and 7b illustrate the forming a compressed quad node.
  • Figures 8a and 8b show a maintenance example corresponding to the previous figure when data units and associated keys are deleted from a database.
  • Figure 8a shows an initial situation in which the memory structure comprises trie nodes N81...N83 and buckets L2...L4. Thereafter bucket L2 and the pointer/record contained therein is deleted from the memory, as a result of which nodes N81 and N82 can be replaced with a compressed node CN, in which the index of the pointer contained in the node and the number of bits searched in the path replaced by the compressed node are disclosed.
  • the compressed node is in principle similar to an ordinary quad node, but instead of an element array with only one pointer being stored, the index of the pointer concerned and the number of bits searched in the path are stored.
  • a compressed node thus has a virtual array replacing the informa- tion contained in the one or more node arrays existing in the path. If the compressed node replaces several ordinary quad nodes, the number of searched bits indicated in the compressed node is equal to the sum of the numbers of bits searched in the replaced nodes.
  • Figure 9 illustrates the structure of a compressed node.
  • the mini- mum configuration of the node comprises 3 parts: field 90 indicating the number of searched bits, field 91 storing the value of the array index, and field 92 storing a pointer to a child node.
  • the compressed node is in need of this data in order for the search to proceed with the correct value at the compressed node as well, and in order for the restructuring of the node to be possible in connection with changes in the structure. (Without information on the number of searched bits, the array index value cannot be calculated from the search key, and on the other hand without the array index value the calculated value could not be compared to the value stored in the node.)
  • a collision occurs in the compressed node in connection with an insertion, i.e. the compressed node will have a new pointer, it is studied which bit in order distinguishes the index of the initial pointer and the index of the new pointer. Accordingly, a structure replacing the initial compressed node is created, in which the new compressed node comprises the number of index bits insofar as there are common bits. In addition, one or more trie nodes are created in the structure at points corresponding to those bits in which the indi- ces differ from one another.
  • the compressed node is preceded by one or more compressed nodes or a chain of trie nodes providing only a single path, it is advantageous in view of storage space requirement and memory efficiency to further combine said nodes. Moreover, in view of memory efficiency it is advantageous to carry out the combination of nodes in such a way that only in the compressed node that is the last (lowest) in the chain the number of searched bits is smaller than the word length in the computer used. In other words, nodes are combined in such a way that the number of searched bits will be as large as possible in each compressed node. For example, three successive com- pressed nodes in which the numbers of searched bits are 5, 10 and 15 can be combined into one compressed node in which the number of searched bits is 30.
  • three successive compressed nodes can be combined into two compressed nodes in which the numbers of searched bits are 32 and 3, with the word length employed being 32.
  • the numbers of searched bits are 32 and 3
  • the word length employed being 32.
  • the numbers of bits searched in the nodes are denoted by references b, b' and b" and the values of the array indices contained in the nodes with i, i' and i", respectively.
  • the number of searched bits has a maximum value (providing that a 32- bit computer architecture is used).
  • This collecting node is formed in such a way that the pointer of the collecting node is set to point to the child of the compressed node that is last in said chain, the sum of the numbers of bits searched in the compressed nodes in the chain is set as the number of bits B searched in the collecting node, and the array indices (i.e. search words) produced by bit inter- leaving are inserted in the list or table T of the node in the order in which they appear in the successive compressed nodes.
  • the collecting node will be a node CN4 as shown in Figure 10b, comprising three parts: field 130 containing a pointer to said lower-level node, field 131 containing the number of searched bits B (the above sum), and list or table T containing in succession the array indices produced by bit interleaving.
  • This third part thus has a varying size.
  • the number of indices is three, since the example of Figure 10a comprises three successive nodes.
  • the number of elements (i.e., indices) NE in table T is obtained from the number of searched bits B as follows:
  • a bucket cannot be preceded by a compressed node, but the parent node is always either an ordinary quad node or an empty ele- ment.
  • a compressed node cannot point to a bucket, but it always points either to another compressed node or to an ordinary quad node.
  • An empty element means that if the total number of records is smaller that the number of pointers/records that the bucket can accommodate, a tree-shaped structure is not needed yet, but one bucket will suffice in the structure (in which case said node is conceptually preceded by an empty element). It is advantageous to proceed in this way at the initial phase of starting up the memory. It is thus worth-while starting building up the tree-shaped structure only when this is necessary.
  • the retrievals, insertions and deletions performed in the memory are made in a manner known per se.
  • the structure may also employ functional updating implemented by known methods by copying the path from root to buckets.
  • the principles described above also relate to a bucketless trie structure.
  • the equivalent of a bucket is a data unit (to which a leaf node in the bucketless structure points).
  • the root node In the bucketless alternative, a problem will be presented by what type the root node must have when the structure only has one data unit (which is pointed to from the root node).
  • the root In principle, there are two alternatives for implementing the root node.
  • the root may in this case have a quad node containing only one pointer.
  • the root node is a compressed node directly referring to said data unit.
  • the bucketless alternative must include this exception to the above rules.
  • each ordinary quad node two bits are selected from the registers, but with a compressed node the number of selected bits varies according to the number of bits to be searched in said node.
  • the initial address of the first trie node is first stored in the address register AR, and the address obtained as an offset address from register TR is added to the initial address in adder S.
  • the resulting address is supplied to the address input of the memory MEM, and the data output of the memory provides the initial address of the next trie node, the address being written into the address register AR over the previous address stored therein.
  • address computation can be accelerated up by shifting from use of one processor to a multiprocessor environment in which parallel processing is carried out.
  • An alternative implementation to the multiproces- sor environment is an ASIC circuit.
  • a bucket is a data structure that may also contain another trie structure.
  • several directory structures in accordance with the present invention can be linked in succession in such a way that another directory structure (that is, another trie structure) is stored in a bucket, or a pointer contained in a bucket or a leaf points to another directory structure. Reference from a bucket or a leaf is made directly to the root node of the next directory structure.
  • a bucket contains at least one element so that the type of an individual element is selected from a group comprising a data unit, a pointer to a stored data unit, a pointer to another directory structure and another directory structure.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Corsets Or Brassieres (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multicomponent Fibers (AREA)
EP98908122A 1997-03-14 1998-03-04 Method for implementing an associative memory based on a digital trie structure Withdrawn EP0970430A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FI971066A FI102425B (fi) 1997-03-14 1997-03-14 Menetelmä muistin toteuttamiseksi
FI971066 1997-03-14
PCT/FI1998/000191 WO1998041932A1 (en) 1997-03-14 1998-03-04 Method for implementing an associative memory based on a digital trie structure

Publications (1)

Publication Number Publication Date
EP0970430A1 true EP0970430A1 (en) 2000-01-12

Family

ID=8548388

Family Applications (1)

Application Number Title Priority Date Filing Date
EP98908122A Withdrawn EP0970430A1 (en) 1997-03-14 1998-03-04 Method for implementing an associative memory based on a digital trie structure

Country Status (4)

Country Link
EP (1) EP0970430A1 (fi)
AU (1) AU6623998A (fi)
FI (1) FI102425B (fi)
WO (1) WO1998041932A1 (fi)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7366726B2 (en) 2000-10-12 2008-04-29 Qas Limited Method and apparatus for retrieving data representing a postal address from a plurality of postal addresses

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI982095A (fi) 1998-09-29 2000-03-30 Nokia Networks Oy Menetelmä muistin toteuttamiseksi ja muistijärjestely
FI991262A (fi) 1999-06-02 2000-12-03 Nokia Networks Oy Digitaaliseen trie-rakenteeseen perustuva muisti
FI991261A (fi) 1999-06-02 2000-12-03 Nokia Networks Oy Trie-rakenteeseen perustuva funktionaalinen muisti
US7908242B1 (en) 2005-04-11 2011-03-15 Experian Information Solutions, Inc. Systems and methods for optimizing database queries
EP2074572A4 (en) 2006-08-17 2011-02-23 Experian Inf Solutions Inc SYSTEM AND METHOD FOR PROVIDING A BRAND FOR A USED VEHICLE
WO2008039860A1 (en) 2006-09-26 2008-04-03 Experian Information Solutions, Inc. System and method for linking mutliple entities in a business database
US8036979B1 (en) 2006-10-05 2011-10-11 Experian Information Solutions, Inc. System and method for generating a finance attribute from tradeline data
US8606666B1 (en) 2007-01-31 2013-12-10 Experian Information Solutions, Inc. System and method for providing an aggregation tool
US8285656B1 (en) 2007-03-30 2012-10-09 Consumerinfo.Com, Inc. Systems and methods for data verification
WO2008147918A2 (en) 2007-05-25 2008-12-04 Experian Information Solutions, Inc. System and method for automated detection of never-pay data sets
US9690820B1 (en) 2007-09-27 2017-06-27 Experian Information Solutions, Inc. Database system for triggering event notifications based on updates to database records
US8312033B1 (en) 2008-06-26 2012-11-13 Experian Marketing Solutions, Inc. Systems and methods for providing an integrated identifier
US9152727B1 (en) 2010-08-23 2015-10-06 Experian Marketing Solutions, Inc. Systems and methods for processing consumer information for targeted marketing applications
US9147042B1 (en) 2010-11-22 2015-09-29 Experian Information Solutions, Inc. Systems and methods for data verification
US9483606B1 (en) 2011-07-08 2016-11-01 Consumerinfo.Com, Inc. Lifescore
US9853959B1 (en) 2012-05-07 2017-12-26 Consumerinfo.Com, Inc. Storage and maintenance of personal data
US9697263B1 (en) 2013-03-04 2017-07-04 Experian Information Solutions, Inc. Consumer data request fulfillment system
US10102536B1 (en) 2013-11-15 2018-10-16 Experian Information Solutions, Inc. Micro-geographic aggregation system
US9529851B1 (en) 2013-12-02 2016-12-27 Experian Information Solutions, Inc. Server architecture for electronic data quality processing
US10262362B1 (en) 2014-02-14 2019-04-16 Experian Information Solutions, Inc. Automatic generation of code for attributes
US9576030B1 (en) 2014-05-07 2017-02-21 Consumerinfo.Com, Inc. Keeping up with the joneses
US10242019B1 (en) 2014-12-19 2019-03-26 Experian Information Solutions, Inc. User behavior segmentation using latent topic detection
WO2018039377A1 (en) 2016-08-24 2018-03-01 Experian Information Solutions, Inc. Disambiguation and authentication of device users
AU2018215082B2 (en) 2017-01-31 2022-06-30 Experian Information Solutions, Inc. Massive scale heterogeneous data ingestion and user resolution
US10963434B1 (en) 2018-09-07 2021-03-30 Experian Information Solutions, Inc. Data architecture for supporting multiple search models
US11941065B1 (en) 2019-09-13 2024-03-26 Experian Information Solutions, Inc. Single identifier platform for storing entity data
US11880377B1 (en) 2021-03-26 2024-01-23 Experian Information Solutions, Inc. Systems and methods for entity resolution

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5276868A (en) * 1990-05-23 1994-01-04 Digital Equipment Corp. Method and apparatus for pointer compression in structured databases
CA2117846C (en) * 1993-10-20 2001-02-20 Allen Reiter Computer method and storage structure for storing and accessing multidimensional data
JP2957703B2 (ja) * 1994-06-06 1999-10-06 ノキア テレコミュニカシオンス オサケ ユキチュア データを記憶し検索する方法及びメモリ構成体
US5787430A (en) * 1994-06-30 1998-07-28 International Business Machines Corporation Variable length data sequence backtracking a trie structure
JP3152868B2 (ja) * 1994-11-16 2001-04-03 富士通株式会社 検索装置および辞書/テキスト検索方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO9841932A1 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7366726B2 (en) 2000-10-12 2008-04-29 Qas Limited Method and apparatus for retrieving data representing a postal address from a plurality of postal addresses

Also Published As

Publication number Publication date
FI971066A0 (fi) 1997-03-14
WO1998041932A1 (en) 1998-09-24
FI971066A (fi) 1998-09-15
AU6623998A (en) 1998-10-12
WO1998041932A8 (en) 1999-06-03
FI102425B1 (fi) 1998-11-30
FI102425B (fi) 1998-11-30

Similar Documents

Publication Publication Date Title
US6115716A (en) Method for implementing an associative memory based on a digital trie structure
EP0970430A1 (en) Method for implementing an associative memory based on a digital trie structure
EP1008063B1 (en) Method for implementing an associative memory based on a digital trie structure
US6505206B1 (en) Method for implementing an associative memory based on a digital trie structure
EP1125223B1 (en) Compression of nodes in a trie structure
AU690282B2 (en) A method for storing and retrieving data and a memory arrangement
EP0864130B1 (en) Storage and retrieval of ordered sets of keys in a compact 0-complete tree
US6691131B2 (en) Functional memory based on a trie structure
US6532476B1 (en) Software based methodology for the storage and retrieval of diverse information
US6675171B2 (en) Memory based on a digital trie structure
AU2004225060B2 (en) A computer implemented compact 0-complete tree dynamic storage structure and method of processing stored data
Blandford et al. An experimental analysis of a compact graph representation
US6941314B2 (en) User selectable editing protocol for fast flexible search engine
Mäkinen et al. Dynamic entropy-compressed sequences and full-text indexes
Chien et al. Geometric BWT: compressed text indexing via sparse suffixes and range searching
Poyias et al. m-Bonsai: A practical compact dynamic trie
Franceschini et al. Optimal cache-oblivious implicit dictionaries
Gupta et al. Dynamic rank/select dictionaries with applications to XML indexing
Köppl Load-Balancing Succinct B Trees
Franceschini et al. Optimal implicit and cache-oblivious dictionaries over unbounded universes

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 19990830

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): DE FR GB

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: NOKIA CORPORATION

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN

18W Application withdrawn

Effective date: 20031127