Patent ID: 7809758
Filing Date: 2010-10-05
Classification: G06F

Abstract:
1. A method of generating a data structure having a plurality of keys representing respective Universal Resource Locators (URL) to be stored in the data structure and wherein respective categories among which the keys are grouped are indicative of content associated with said URL, wherein the method comprises: generating a data structure represented by a tree data structure in which each of said plurality of keys comprises a sequence of characters associated with the respective at least one URL and is represented by a series of nodes and arcs connecting nodes in said series of nodes, wherein said series of nodes comprise an initial node and a terminal node, each of the keys defining a path extending from the initial node through at least one of the series of nodes to its corresponding terminal node and each of said arcs represents a respective character or characters of said sequence of characters, and wherein arcs and nodes on the path extending from said initial node which represent a sequence of characters sharable by different keys and with a common category are combined; and in the path defined by each key, associating one of the arcs with the category of the key with which said arc is associated; and compacting the data structure by combining a first series of arcs and nodes that includes a first terminal node and a first initial node with a second series of arcs and nodes that includes a second terminal node and a second initial node, wherein the first series of arcs and nodes represents a first sequence of characters and a category of a first key, the second series of arcs and nodes represents a second sequence of characters and a category of a second key that corresponds to the sequence of characters and the category of the first key, wherein said first terminal node and said second terminal node are sink nodes and wherein the combined first and second series of arcs and nodes define a single series of arcs and nodes with a single terminal node, the first key and second key being embodied by the combined series of arcs and nodes; and storing said data structure to a computer readable medium.