# Renato F. Werneck, San Francisco US

## Renato F. Werneck, San Francisco, CA US

Patent application number | Description | Published |
---|---|---|

20120179674 | HARDWARE ACCELERATED SHORTEST PATH COMPUTATION - The non-negative single-source shortest path (NSSP) problem is solved on a graph by using a preprocessing phase and then, in a query phase, computing the distances from a given source in the graph with a linear sweep over all the vertices. Contraction hierarchies may be used in the preprocessing phase and in the query phase. Optimizations may include reordering the vertices in advance to exploit locality, performing multiple NSSP computations simultaneously, marking vertices during initialization, and using parallelism. Techniques may be performed on a graphics processing unit (GPU). This makes applications based on all-pairs shortest-paths practical for continental-sized road networks. The applications include, for example, computing graph diameter, exact arc flags, and centrality measures such as exact reaches or betweenness. | 07-12-2012 |

20120192138 | GRAPH PARTITIONING WITH NATURAL CUTS - Graph partitioning techniques are based on the notion of natural cuts. A filtering phase performs a series of minimum cut computations to identify and contract dense regions of the graph. This reduces the graph size significantly, but preserves its general structure. An assembly phase uses a combination of greedy and local search heuristics to assemble the final partition. The techniques may be used on road networks, which have an abundance of natural cuts (such as bridges, mountain passes, and ferries). | 07-26-2012 |

20120250535 | HUB LABEL BASED ROUTING IN SHORTEST PATH DETERMINATION - Hub based labeling is used to determine a shortest path between two locations. Every point has a set of hubs: this is the label (along with the distance from the point to all those hubs). The hubs are determined using the labels. The hubs are determined that intersect the two labels, and this information is used to find the shortest distance. A hub based labeling technique uses a preprocessing stage and a query stage. Finding the hubs is performed in the preprocessing stage, and finding the intersecting hubs (i.e., the common hubs they share) is performed in the query stage. During preprocessing, a forward label and a reverse label are defined for each vertex. The labels are generated using contraction hierarchies that may be guided by shortest path covers, and may be pruned. A query is processed using the labels to determine the shortest path. | 10-04-2012 |

20120254153 | SHORTEST PATH DETERMINATION IN DATABASES - Hub based labeling is used, in databases, to determine a shortest path between two locations. Every point has a set of hubs: this is the label (along with the distance from the point to all those hubs). The hubs are determined that intersect the two labels. This information is used to find the shortest distance. A hub based labeling technique uses, in a database, a preprocessing stage and a query stage. Finding the hubs is performed in the preprocessing stage, and finding the intersecting hubs is performed in the query stage using relational database operators, such as SQL queries. During preprocessing, a forward label and a reverse label are defined for each vertex. The labels are generated using contraction hierarchies that may be guided by shortest path covers. A query, such as an SQL query, is processed using the labels to determine the shortest path. | 10-04-2012 |

20120254597 | BRANCH-AND-BOUND ON DISTRIBUTED DATA-PARALLEL EXECUTION ENGINES - A distributed data-parallel execution (DDPE) system splits a computational problem into a plurality of sub-problems using a branch-and-bound algorithm, designates a synchronous stop time for a “plurality of processors” (for example, a cluster) for each round of execution, processes the search tree by recursively using a branch-and-bound algorithm in multiple rounds (without inter-processor communications), determines if further processing is required based on the processing round state data, and terminates processing on the processors when processing is completed. | 10-04-2012 |

20130060468 | JOURNEY PLANNING IN PUBLIC TRANSPORTATION NETWORKS - Optimum journeys in public transportation networks are determined. The determination of Pareto optimal journeys from one stop to another stop in a public transportation network uses the criteria travel time and minimum transfers. A technique for bi-criteria journey planning using the aforementioned criteria in public transportation networks operates in rounds (K rounds at most), where after round k (k≦K), arrival times are computed for the stops that can be reached with up to k trips. | 03-07-2013 |

20130132369 | BATCHED SHORTEST PATH COMPUTATION - A batched shortest path problem, such as a one-to-many problem, is solved on a graph by using a preprocessing phase, a target selection phase, and then, in a query phase, computing the distances from a given source in the graph with a linear sweep over all the vertices. Contraction hierarchies may be used in the preprocessing phase and in the query phase. Optimizations may include reordering the vertices in advance to exploit locality and using parallelism. | 05-23-2013 |

20130144524 | DOUBLE-HUB INDEXING IN LOCATION SERVICES - Techniques using double-hub indexing are provided that can provide efficient solutions to location-based services that depend on two query points. Such services include point of interest (POI) prediction, best via point, and ride sharing. Double-hub indexing builds on the hub labels (HL) algorithm for computing shortest paths on road networks. It associates two labels (forward and backward) to each vertex v in the network. Each label comprises a set of hubs (other vertices), together with the distances between these hubs and v. The set of labels have a cover property that for any two vertices s and t, their labels intersect in at least one hub that is on the shortest s-t path. | 06-06-2013 |

20130231862 | CUSTOMIZABLE ROUTE PLANNING - Customizable route planning is a technique for computing point-to-point shortest paths in road networks. It includes three phases: preprocessing, customization, and queries. The preprocessing phase partitions a graph into multiple levels of loosely connected components of bounded size and creates an overlay graph for each level by replacing each component with a clique connecting its boundary vertices. Clique edge lengths are computed during the customization phase. The query phase comprises a bidirectional Dijkstra's algorithm operating on the union of the overlay graphs and the components of the original graph containing the origin and the destination. The customization may be made even faster, enabling a wide range of applications including highly dynamic applications and on-line personalized cost functions. In an implementation, to compute overlay arc costs, Dijkstra's algorithm may be supplemented or replaced by other techniques, such as contraction and the Bellman-Ford algorithm. | 09-05-2013 |

20130261965 | HUB LABEL COMPRESSION - Hub based labeling is used to determine a shortest path between two locations. Every point has a label, which consists of a set of hubs along with the distance from the point to all those hubs. The hubs are determined that intersect the two labels, and this information is used to find the shortest distance. A hub based labeling technique uses a preprocessing stage and a query stage. Finding the hubs is performed in the preprocessing stage, and finding the intersecting hubs (i.e., the common hubs they share) is performed in the query stage. During preprocessing, a forward label and a reverse label are defined for each vertex. A query is processed using the labels to determine the shortest path. Hub label compression may be used to preserve the use of labels but reduce space usage. | 10-03-2013 |

20130268549 | GRAPH BISECTION - Techniques are described for graph partitioning, and in particular, graph bisection. A lower bound is provided that is computed in near-linear time. These bounds may be used to determine optimum solutions to real-world graphs with many vertices (e.g., more than a million for road networks, or tens of thousands for VLSI and mesh instances). A packing lower bound technique determines lower bounds in a branch-and-bound tree, reducing the number of tree nodes. Techniques are employed to assign vertices without branching on them, again reducing the size of the tree. Decomposition is provided to translate an input graph into less complex subproblems. The decomposition boosts performance and determines the optimum solution to an input by solving subproblems independently. The subproblems can be solved independently using a branch-and-bound approach to determine the optimum bisection. | 10-10-2013 |

20140107921 | QUERY SCENARIOS FOR CUSTOMIZABLE ROUTE PLANNING - A point-to-point shortest path technique supports real-time queries and fast metric update or replacement (metric customization). Determining a shortest path between two locations uses three stages: a preprocessing stage, a metric customization stage, and a query stage. Extensions to the customizable route planning (CRP) technique for routing are provided. These extensions include, for example, the computation of alternative routes, faster techniques for unpacking shortcuts, efficient query techniques for batched shortest path (one-to-many, many-to-many, and points of interest) determinations, and determining routes and alternative routes using traffic information. | 04-17-2014 |

20140129594 | BOUNDS FOR GRAPH BISECTION - Techniques are described for graph partitioning, and in particular, graph bisection. A combinatorial lower bound is provided that is computed in near-linear time. These bounds may be used to determine optimum solutions to real-world graphs with many vertices (e.g., more than a million for road networks, or tens of thousands for VLSI and mesh instances). Combinatorial techniques that reduce the size of the branch-and-bound search tree may use tree packing, assign vertices to trees, and use fractional assignment of vertices to trees. For graph bisection, each node of the branch-and-bound tree corresponds to a partial assignment of vertices to both cells or sets of vertices. | 05-08-2014 |

20140379473 | SPONSORED ONLINE CONTENT MANAGEMENT USING QUERY CLUSTERS - Aspects of the subject disclosure are directed towards managing sponsored online content based upon advertiser behavior. Defining mini-markets to represent such advertiser behavior may be accomplished by clustering queries that generate revenue from one or more campaigns. Query revenue data between queries and a set of campaigns may be used to determine such mini-markets. To illustrate, a query whose highest revenue is attributed to a campaign may be selected for that campaign's mini-market. When that query is entered as a search term, the campaign's mini-market helps allocate space for advertisements. | 12-25-2014 |