Processing Search Queries Using A Data Structure
First Claim
1. A method of generating a data structure stored in a computer memory for use in performing a search query in a network of interconnected nodes, wherein the method comprises selecting landmark nodes by the following steps and showing the selected landmark nodes in the data structure:
- sampling from the network nodes a first sample of vertex pairs;
computing the shortest path for each vertex pair, each shortest path comprising a set of vertices between each vertex in the vertex pair;
identifying a first landmark node which occurs in more of the shortest paths more often than any other vertex;
removing from the network vertices shortest paths including the first landmark node; and
identifying a second landmark node which occurs in more of the remaining shortest paths than any other remaining vertex.
1 Assignment
0 Petitions
Accused Products
Abstract
According to an embodiment, there is provided a method of generating a data structure stored in computer memory for processing a search query in a network of interconnected nodes, wherein the method comprises selecting landmark nodes by the following steps and storing the selected landmark nodes in the data structure: sampling from the network nodes a first sample of vertex pairs, computing the shortest path for each vertex pair, each shortest path comprising a set of vertices between each vertex in the vertex pair; identifying a first landmark node which occurs in more of the shortest paths more often than any other vertex; removing from the network vertices shortest paths including the first landmark node and identifying a second landmark node which occurs in more of the remaining shortest paths than any other remaining vertex.
21 Citations
19 Claims
-
1. A method of generating a data structure stored in a computer memory for use in performing a search query in a network of interconnected nodes, wherein the method comprises selecting landmark nodes by the following steps and showing the selected landmark nodes in the data structure:
-
sampling from the network nodes a first sample of vertex pairs; computing the shortest path for each vertex pair, each shortest path comprising a set of vertices between each vertex in the vertex pair; identifying a first landmark node which occurs in more of the shortest paths more often than any other vertex; removing from the network vertices shortest paths including the first landmark node; and identifying a second landmark node which occurs in more of the remaining shortest paths than any other remaining vertex. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of processing a search query to provide a search result, the method comprising
receiving at a computer device a search query in the form of a digital message, the query identifying a source node and a target node; - and
executing at the computer device an application for generating a search result, the application performing the following steps; accessing the data structure, in which each landmark has stored therewith a shortest path tree in the form of a set of parent links wherein each parent link identifies an adjacent vertex node; for each landmark identifying the location of the source node and the target node in the shortest path trees to the landmark node; for each landmark node using the identified locations of the target node and source node to generate a measure of distance between the source node and the target node; determining the landmark with the shortest distance; and providing a search result related to the shortest path tree of that landmark. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
- and
-
18. A computer device for processing a search query to provide a search result, the computer device comprising:
-
a first component comprising a data structure, each landmark node having stored therewith a shortest path tree in the form of a set of parent links wherein each parent link identifies an adjacent vertex node in the shortest path between each node in the data structure and the landmark node; and a second component comprising a processor configured to execute an application for generating a search result, the application performing the following steps; accessing the data structure; for each landmark identifying the location of the source node and the target node in shortest path trees to the landmark node; for each landmark using the identified locations of the target node and source node to generate a measure of distance between the source node and the target node; determining the landmark with the shortest distance; and providing a search result related to the shortest path tree of that landmark.
-
-
19. A computer program product comprising a non-transitory computer readable medium storing thereon computer readable instructions configured so as when executed on one or more processors to perform the operations of generating a data structure stored in a computer memory for use in performing a search query in a network of interconnected nodes including selecting landmark nodes by:
-
sampling from the network nodes a first sample of vertex pairs; computing the shortest path for each vertex pair, each shortest path comprising a set of vertices between each vertex in the vertex pair; identifying a first landmark node which occurs in more of the shortest paths more often than any other vertex; removing from the network vertices shortest paths including the first landmark node; and identifying a second landmark node which occurs in more of the remaining shortest paths than any other remaining vertex.
-
Specification