US2003088577A1PendingUtilityA1

Database and method of generating same

Assignee: SURFCONTROL PLCPriority: Jul 20, 2001Filed: Jul 11, 2002Published: May 8, 2003
Est. expiryJul 20, 2021(expired)· nominal 20-yr term from priority
G06F 16/2246G06F 16/90344
26
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A database comprises a plurality of keys representing respective data items stored in the database and respective data tags associated with at least some of the data items. Data tags represent different identifiers or categories among which the associated data items are grouped. The database is arranged in the form of a tree-structured directed graph in which each of the plurality of keys is represented by a series of nodes and arcs defining a path between a root node and a terminal node, each node being linked to at least one other node by a respective arc, respective arcs for a given one of the plurality of keys representing a respective character or characters of the given key. The arcs and the nodes depending from the root node of data items which represent a sequence of characters shared by different keys are combined, and the data tags are associated with the arcs.

Claims

exact text as granted — not AI-modified
1 . A database comprising a plurality of keys representing respective data items stored in the database and respective data tags associated with at least some of the data items, respective data tags representing different identifiers or categories among which the associated data items are grouped, wherein the database is arranged in the form of a tree data structure in which each of said plurality of keys is represented by a series of nodes and arcs defining a path between a root node and a terminal node, each node being linked to at least one other node by a respective arc, respective arcs for a given one of said plurality of keys representing a respective character or characters of said given key, and wherein the arcs and the nodes depending from said root node of data items which represent a sequence of characters shared by different keys are combined, and the data tags are associated with the arcs.  
     
     
         2 . A database comprising a plurality of keys representing respective data items stored in the database, wherein the database is arranged in the form of a tree data structure in which each of said plurality of keys is represented by a series of nodes and arcs defining a path between a root node and a terminal node, each node being linked to at least one other node by a respective arc, respective arcs for a given one of said plurality of keys representing a respective character or characters of said given key, and wherein the arcs and the nodes depending from said root node of data items representing a sequence of characters shared by different keys are combined, and the arcs and the nodes extending from a given terminal node of data items representing a sequence of characters shared by different keys are also combined, said given terminal node being a sink.  
     
     
         3 . A database according to  claim 1 , wherein the arcs and the nodes extending from a given terminal node of data items representing a sequence of characters shared by different keys are also combined, said given terminal node being a sink.  
     
     
         4 . A database according to  claim 1  wherein a data tag is associated with each one of the arcs so that a data tag is read from the database as said respective character(s) of the key are read from the database.  
     
     
         5 . A database according to  claim 3  wherein a data tag is associated with each one of the arcs so that a data tag is read from the database as said respective character(s) of the key are read from the database.  
     
     
         6 . A database according to  claim 4  wherein the last data tag which is read before reaching a terminal node defines the category or identifier of the key.  
     
     
         7 . A database according to  claim 5  wherein the last data tag which is read before reaching a terminal node defines the category or identifier of the key.  
     
     
         8 . A database according to  claim 1  wherein in cases where successive arcs within a path have the same data tags associated with them, only one occurrence of the data tag when reading from the root node is stored in the database.  
     
     
         9 . A database according to  claim 3  wherein in cases where successive arcs within a path have the same data tags associated with them, only one occurrence of the data tag when reading from the root node is stored in the database.  
     
     
         10 . A database according to  claim 8  wherein said only one is the first occurrence of the data tag.  
     
     
         11 . A database according to  claim 9  wherein said only one is the first occurrence of the data tag.  
     
     
         12 . A method of generating a database having a plurality of keys representing respective data items stored in the database and respective data tags associated with at least some of the data items, respective data tags representing different identifiers or categories among which the data items are grouped, wherein the method comprises: 
 generating a data set represented by tree data structure in which each of said plurality of keys is represented by a series of nodes and arcs defining a path between a root node and a terminal node, each node being linked to at least one other node by a respective arc, and respective arcs for a given one of said plurality of keys representing a respective character or characters of said given key wherein arcs and nodes depending from said root node of data items which represent a sequence of characters shared by different keys and category or identifier are combined; and    associating at least some of the arcs with data tags which correspond to the category or identifier of the key represented by the character or characters of the arc.    
     
     
         13 . A method of generating a database having a plurality of keys representing respective data items stored in the database, wherein the method comprises: 
 generating a data set represented by tree data structure in which each of said plurality of keys is represented by a series of nodes and arcs defining a path between a root node and a terminal node, each node being linked to at least one other node by a respective arc, and respective arcs for a given one of said plurality of keys representing a respective character or characters of said given key, wherein arcs and nodes depending from said root node of data items which represent a sequence of characters shared by different keys are combined; and    compacting the data set so that arcs and nodes extending from a given terminal node towards said root node of data items which represent a sequence of characters shared by different keys are also combined, said given terminal node being a sink.    
     
     
         14 . A method according to  claim 11 , the method further including compacting the data set by removing from a sequence of repeating identical data tags all but one of said identical data tags.  
     
     
         15 . A method according to  claim 14 , the method further including further compacting the data set so that arcs and nodes extending from a given terminal node towards said root node of data items which represent a sequence of characters and category or identifier shared by different keys are also combined, wherein said given terminal node is a sink node.  
     
     
         16 . A method according to  claim 14 , wherein said one of said identical data tags is the first occurrence thereof in the sequence.  
     
     
         17 . A method according to  claim 16 , wherein either one or both of the steps of compacting the data set include a recursive routine.  
     
     
         18 . A method according to  claim 15 , wherein said one of said identical data tags is the first occurrence thereof in the sequence.  
     
     
         19 . A method according to  claim 18 , wherein either one or both of the steps of compacting the data set include a recursive routine.  
     
     
         20 . A method according to  claim 13 , wherein either one or both of the steps of compacting the data set include a recursive routine.  
     
     
         21 . A method according to said compacting step of  claim 13  including assigning a weight value to nodes of the data set, the weight value of a given node being dependent on the characters between said given node and an associated sink(s), said given node and associated sink(s) defining a sub-tree of said data set, and identifying two or more nodes having identical weight values as potentially having identical sub-trees.  
     
     
         22 . A method according to said further compacting step of  claim 15  including assigning a weight value to nodes of the data set, the weight value of a given node being dependent on the characters between said given node and an associated sink(s), said given node and associated sink(s) defining a sub-tree of said data set, and identifying two or more nodes having identical weight values as potentially having identical sub-trees.  
     
     
         23 . A method according to  claim 21  wherein the weight value is based on a checksum value incorporating the category or identifier of an arc extending from the node to which the weight value is being applied, in addition to the characters in the sub-tree.  
     
     
         24 . A method according to  claim 22  wherein the weight value is based on a checksum value incorporating the category or identifier of an arc extending from the node to which the weight value is being applied, in addition to the characters in the sub-tree.  
     
     
         25 . A method according to  claim 23  wherein the checksum value further incorporates an indication of the size of the associated sub-tree of the given node.  
     
     
         26 . A method according to  claim 24  wherein the checksum value further incorporates an indication of the size of the associated sub-tree of the given node.  
     
     
         27 . A method according to  claim 21 , wherein the step of compacting to reduce identical sub-trees includes comparing with one another the nodes and sub-trees depending from, and including, nodes having identical weight values.  
     
     
         28 . A method according to  claim 22  wherein the step of compacting to reduce identical sub-trees includes comparing with one another the nodes and sub-trees depending from, and including, nodes having identical weight values.  
     
     
         29 . A method according to  claim 27  wherein nodes having weight values representative of longer sub-trees are preferably compared and compacted prior to those representative of shorter ones.  
     
     
         30 . A method according to  claim 28  wherein nodes having weight values representative of longer sub-trees are preferably compared and compacted prior to those representative of shorter ones.  
     
     
         31 . A method according to  claim 29  wherein nodes and their respective sub-trees identified as identical are rationalised by directing the arc(s) leading to one of the nodes to the other node and removing said one node and its associated sub-tree from the database.  
     
     
         32 . A method according to  claim 30  wherein nodes and their respective sub-trees identified as identical are rationalised by directing the arc(s) leading to one of the nodes to the other node and removing said one node and its associated sub-tree from the database.  
     
     
         33 . A method according to  claim 31  wherein the identification of the sub-trees includes use of a recursive routine.  
     
     
         34 . A method according to  claim 32  wherein the identification of the sub-trees includes use of a recursive routine.  
     
     
         35 . A database according  claim 1  wherein the tree data structure is in the form of a tree-structured directed graph.  
     
     
         36 . A database according  claim 2  wherein the tree data structure is in the form of a tree-structured directed graph.  
     
     
         37 . A method according to  claim 12  wherein the tree data structure is in the form of a tree-structured directed graph.  
     
     
         38 . A method according to  claim 13  wherein the tree data structure is in the form of a tree-structured directed graph.  
     
     
         39 . A database according to  claim 1 , wherein the data items represent Universal Resource Locators (URL'S) for identifying Internet web pages.  
     
     
         40 . A database according to  claim 2 , wherein the data items represent Universal Resource Locators (URL'S) for identifying Internet web pages.  
     
     
         41 . A method according to  claim 12 , wherein the data items represent Universal Resource Locators (URL'S) for identifying Internet web pages.  
     
     
         42 . A method according to  claim 13 , wherein the data items represent Universal Resource Locators (URL'S) for identifying Internet web pages.  
     
     
         43 . A database according to  claim 1 , wherein the data items represent Universal Resource Locators (URL'S) for identifying Internet web pages, the categories corresponding to subject matter types, respective data tags representing different subject matter types.  
     
     
         44 . A method according to  claim 12 , wherein the data items represent Universal Resource Locators (URL'S) for identifying Internet web pages, the categories corresponding to subject matter types, respective data tags representing different subject matter types.  
     
     
         45 . A data carrier comprising a database comprising a plurality of keys representing respective data items stored in the database and respective data tags associated with at least some of the data items, respective data tags representing different identifiers or categories among which the associated data items are grouped, wherein the database is arranged in the form of a tree data structure in which each of said plurality of keys is represented by a series of nodes and arcs defining a path between a root node and a terminal node, each node being linked to at least one other node by a respective arc, respective arcs for a given one of said plurality of keys representing a respective character or characters of said given key, and wherein the arcs and the nodes depending from said root node of data items which represent a sequence of characters shared by different keys are combined, and the data tags are associated with the arcs.  
     
     
         46 . A data carrier according to  claim 45 , wherein the data items of the database are URL's and the data tags are subject matter types for them.  
     
     
         47 . A data carrier according to  claim 45 , wherein the arcs and the nodes extending from a given terminal node of data items representing a sequence of characters shared by different keys are also combined, said given terminal node being a sink.  
     
     
         48 . A data carrier according to  claim 47 , wherein the data items of the database are URL's and the data tags are subject matter types for them.  
     
     
         49 . A data carrier comprising a database comprising a plurality of keys representing respective data items stored in the database, wherein the database is arranged in the form of a tree data structure in which each of said plurality of keys is represented by a series of nodes and arcs defining a path between a root node and a terminal node, each node being linked to at least one other node by a respective arc, respective arcs for a given one of said plurality of keys representing a respective character or characters of said given key, and wherein the arcs and the nodes depending from said root node of data items representing a sequence of characters shared by different keys are combined, and the arcs and the nodes extending from a given terminal node of data items representing a sequence of characters shared by different keys are also combined, said given terminal node being a sink.  
     
     
         50 . A data carrier according to  claim 49 , wherein the data items of the database are URL's and the data tags are subject matter types for them.  
     
     
         51 . A computer program containing code, which when run on a computer, can configure the computer to generate a database comprising a plurality of keys representing respective data items stored in the database and respective data tags associated with at least some of the data items, respective data tags representing different identifiers or categories among which the associated data items are grouped, wherein the database is arranged in the form of a tree data structure in which each of said plurality of keys is represented by a series of nodes and arcs defining a path between a root node and a terminal node, each node being linked to at least one other node by a respective arc, respective arcs for a given one of said plurality of keys representing a respective character or characters of said given key, and wherein the arcs and the nodes depending from said root node of data items which represent a sequence of characters shared by different keys are combined, and the data tags are associated with the arcs.  
     
     
         52 . A computer program according to  claim 51 , wherein the arcs and the nodes extending from a given terminal node of data items representing a sequence of characters shared by different keys are also combined, said given terminal node being a sink.  
     
     
         53 . A computer program containing code, which when run on a computer, can configure the computer to generate a database comprising a plurality of keys representing respective data items stored in the database, wherein the database is arranged in the form of a tree data structure in which each of said plurality of keys is represented by a series of nodes and arcs defining a path between a root node and a terminal node, each node being linked to at least one other node by a respective arc, respective arcs for a given one of said plurality of keys representing a respective character or characters of said given key, and wherein the arcs and the nodes depending from said root node of data items representing a sequence of characters shared by different keys are combined, and the arcs and the nodes extending from a given terminal node of data items representing a sequence of characters shared by different keys are also combined, said given terminal node being a sink.  
     
     
         54 . A computer program containing code for configuring a computer to perform a method of generating a database having a plurality of keys representing respective data items stored in the database and respective data tags associated with at least some of the data items, respective data tags representing different identifiers or categories among which the data items are grouped, wherein the method comprises: 
 generating a data set represented by tree data structure in which each of said plurality of keys is represented by a series of nodes and arcs defining a path between a root node and a terminal node, each node being linked to at least one other node by a respective arc, and respective arcs for a given one of said plurality of keys representing a respective character or characters of said given key wherein arcs and nodes depending from said root node of data items which represent a sequence of characters shared by different keys and category or identifier are combined; and    associating at least some of the arcs with data tags which correspond to the category or identifier of the key represented by the character or characters of the arc.    
     
     
         55 . A computer program according to  claim 54 , wherein the method further includes: 
 compacting the data set by removing from a sequence of repeating identical data tags all but one of said identical data tags; and    further compacting the data set so that arcs and nodes extending from a given terminal node towards said root node of data items which represent a sequence of characters and category or identifier shared by different keys are also combined, wherein said given terminal node is a sink node.    
     
     
         56 . A computer program containing code for configuring a computer to perform a method of generating a database having a plurality of keys representing respective data items stored in the database, wherein the method comprises: 
 generating a data set represented by tree data structure in which each of said plurality of keys is represented by a series of nodes and arcs defining a path between a root node and a terminal node, each node being linked to at least one other node by a respective arc, and respective arcs for a given one of said plurality of keys representing a respective character or characters of said given key, wherein arcs and nodes depending from said root node of data items which represent a sequence of characters shared by different keys are combined; and    compacting the data set so that arcs and nodes extending from a given terminal node towards said root node of data items which represent a sequence of characters shared by different keys are also combined, said given terminal node being a sink.

Join the waitlist — get patent alerts

Track US2003088577A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.