Scalable system for determining short paths within web link network
First Claim
Patent Images
1. A system, comprising:
- multiple computer servers programmed to perform operations comprising;
dividing a directed graph representing web resources and links into shards, wherein the directed graph comprises nodes representing web resources, wherein some of the nodes in the directed graph are designated as seeds, and wherein each shard comprises a respective portion of the graph representing multiple web resources and links associated with the multiple web resources;
assigning each of the shards to a respective server, including assigning, to each of the respective servers, data describing the links associated with the multiple web resources represented by the nodes in the portion of the graph corresponding to the shard assigned to the server; and
determining, by each of the servers and using the data describing the links assigned to the server;
n nearest seeds to each of the nodes in the portion of the graph corresponding to the shard assigned to the server, andrespective distances from each of the nodes in the portion of the graph corresponding to the shard assigned to the server to each of the n nearest seeds to the node, wherein n is a positive integer greater than one.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for finding multiple shortest paths. A directed graph representing web resources and links are divided into shards, each shard comprising a portion of the graph representing multiple web resources. Each of the shards is assigned to a server, and a distance table is calculated in parallel for each of the web resources in each shard using a nearest seed computation in the server to which the shard was assigned.
50 Citations
20 Claims
-
1. A system, comprising:
multiple computer servers programmed to perform operations comprising; dividing a directed graph representing web resources and links into shards, wherein the directed graph comprises nodes representing web resources, wherein some of the nodes in the directed graph are designated as seeds, and wherein each shard comprises a respective portion of the graph representing multiple web resources and links associated with the multiple web resources; assigning each of the shards to a respective server, including assigning, to each of the respective servers, data describing the links associated with the multiple web resources represented by the nodes in the portion of the graph corresponding to the shard assigned to the server; and determining, by each of the servers and using the data describing the links assigned to the server; n nearest seeds to each of the nodes in the portion of the graph corresponding to the shard assigned to the server, and respective distances from each of the nodes in the portion of the graph corresponding to the shard assigned to the server to each of the n nearest seeds to the node, wherein n is a positive integer greater than one. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
8. A method performed by multiple computer servers, the method comprising:
-
dividing a directed graph representing web resources and links into shards, wherein the directed graph comprises nodes representing web resources, wherein some of the nodes in the directed graph are designated as seeds, and wherein each shard comprises a respective portion of the graph representing multiple web resources and links associated with the multiple web resources; assigning each of the shards to a respective server, including assigning, to each of the respective servers, data describing the links associated with the multiple web resources represented by the nodes in the portion of the graph corresponding to the shard assigned to the server; and determining, by each of the servers and using the data describing the links assigned to the server; n nearest seeds to each of the nodes in the portion of the graph corresponding to the shard assigned to the server, and respective distances from each of the nodes in the portion of the graph corresponding to the shard assigned to the server to each of the n nearest seeds to the node, wherein n is a positive integer greater than one. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. One or more non-transitory computer storage media storing instructions that, when executed by multiple computer servers, cause the computer servers to perform operations comprising:
-
dividing a directed graph representing web resources and links into shards, wherein the directed graph comprises nodes representing web resources, wherein some of the nodes in the directed graph are designated as seeds, and wherein each shard comprises a respective portion of the graph representing multiple web resources and links associated with the multiple web resources; assigning each of the shards to a respective server, including assigning, to each of the respective servers, data describing the links associated with the multiple web resources represented by the nodes in the portion of the graph corresponding to the shard assigned to the server; and determining, by each of the servers and using the data describing the links assigned to the server; n nearest seeds to each of the nodes in the portion of the graph corresponding to the shard assigned to the server, and respective distances from each of the nodes in the portion of the graph corresponding to the shard assigned to the server to each of the n nearest seeds to the node, wherein n is a positive integer greater than one. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification