IP Library Granted Patent US 8,681,635
Granted Patent B2
US 8,681,635 · App. 12/982,356 · Granted Mar 25, 2014

Computer-implemented systems and methods for planning a route

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,681,635
App. No.
12/982,356
Granted
Mar 25, 2014
Kind
B2
Abstract

Systems and methods are disclosed for determining shortest route(s) or path(s) to one or more destination nodes from one or more origin nodes. In accordance with one implementation, a computer-implemented method is provided that includes identifying a plurality of origin nodes associated with a route based on a threshold distance from at least one destination node, the origin nodes being options for a departure from the route to the at least one destination node. Further, the method may include calculating, using a processor, a cost associated with travelling from each of the origin nodes to at least one common intermediate node between the route and the at least one destination node, and determining a path to the at least one destination node based on the origin node having the lowest calculated cost.

Claims (86)

1. A computer-implemented method, comprising the steps of:

obtaining origin data comprising data for a plurality of origin nodes disposed along a travel route, the origin nodes providing options for departing from the travel route to a destination node;

identifying, based on the origin data, one or more of the origin nodes that fall within a threshold distance of the destination node;

calculating, using a processor, costs associated with travelling from the identified origin nodes to the destination node through at least one intermediate node;

determining a minimum of the computed costs and a corresponding one of the identified origin nodes associated with the minimum cost; and

determining a path between the travel route and the destination node, the determined path comprising the corresponding one of the identified origin nodes.

2. The computer-implemented method of claim 1 , wherein the determining the path comprises applying Dijkstra's algorithm to identify a shortest path between the corresponding one of the origin nodes and the destination node.

3. The computer-implemented method of claim 1 , wherein the plurality of origin nodes are stored as at least one of a list, a matrix, or a queue.

4. The computer-implemented method of claim 1 , further comprising:

obtaining destination data comprising data for a plurality of destination nodes;

modifying the destination data by removing data for one or more of the destination nodes that do not fall within the threshold distance of at least one of the obtained origin nodes; and

identifying the destination node from the modified destination data.

5. The method of claim 1 , wherein:

the travel route comprises a route traversed in a geographic region;

the destination node comprises a point of interest in the geographic region; and

the determined path comprises one or more roads in the geographic region.

6. A computer-implemented method, comprising:

obtaining origin data comprising data for a plurality of origin nodes disposed along travel route;

generating modified origin data comprising data for one or more of the origin nodes that fall within a threshold distance of a destination node, the modified origin data comprising data for a first origin node and a second origin node;

determining, using a processor, a first cost to travel from the first origin node to an intermediate node;

generating adjacency data comprising data for the intermediate node, the adjacency data associating the intermediate node with the first cost;

determining, using a processor, a second cost to travel from the second origin node to the intermediate node;

determining whether the first cost exceeds the second cost;

generating instructions to overwrite the first cost with the second cost in the adjacency data, when the first cost exceeds the second cost; and

calculating, using the adjacency data, a shortest path from the travel route to the destination node, the shortest path comprising the first origin node or the second origin node.

7. The computer-implemented method of claim 6 , further comprising:

obtaining destination data comprising data for a plurality of destination nodes;

modifying the destination data by removing data for one or more of the destination nodes that do not fall within the threshold distance from at least one of the obtained origin nodes; and

identifying the destination node from the modified destination data.

8. The computer-implemented method of claim 6 , further comprising:

identifying a node neighboring the intermediate node and a third cost associated with the neighboring node.

9. The computer implemented method of claim 8 , further comprising:

determining that the neighboring node is not included in the adjacency data; and

generating instructions to add data for the neighboring node and the third cost associated with the neighboring node to the adjacency data.

10. The computer implemented method of claim 8 , further comprising:

determining that the adjacency data includes data for the neighboring node;

when the adjacency data comprises the neighboring node, obtaining a fourth cost associated with the neighboring node from the adjacency data;

determining whether the fourth cost exceeds the third cost; and

generating instructions to overwrite the fourth cost with the third cost, when the fourth cost exceeds the third cost.

11. A system, comprising:

a server, the server comprising a storage device that stores a set of instructions and at least one processor coupled to the storage device, the at least one processor being operative with the set of instructions in order to:

obtain origin data comprising data for a plurality of origin nodes disposed along a travel route;

generate modified origin data comprising one or more of the origin nodes that fall within a threshold distance of a destination node, the modified origin data comprising data for a first origin node and a second origin node;

determine a first cost to travel from the first origin node to an intermediate node;

generate adjacency data comprising data for the intermediate node, the adjacency data associating the intermediate node with the first cost;

determine a second cost to travel from the second origin node to the intermediate node;

determine whether the first cost exceeds the second cost;

generating instructions to overwrite the first cost with the second cost in the adjacency data, when the first cost exceeds the second cost; and

calculate, using the adjacency data, a shortest path from the travel route to the destination node, the shortest path comprising the first origin node or the second origin node.

12. The system of claim 11 , wherein the at least one processor is further operative with the set of instructions to:

obtain destination data comprising data for a plurality of destination nodes:

modify the destination data by removing data for one or more of the destination nodes that do not fall within the threshold distance from at least one of the obtained origin nodes; and

identify the destination node from the modified destination data.

13. The system of claim 11 , wherein the at least one processor is further operative with the set of instructions to:

identify a node neighboring the intermediate node and a third cost associated with the neighboring node.

14. The system of claim 13 , wherein the at least one processor is further operative with the set of instructions to:

determine that the neighboring node is not included in the adjacency data; and

generating instructions to add data for the neighboring node and the third cost associated with the neighboring node to the adjacency data.

15. The system of claim 13 , wherein the at least one processor is further operative with the set of instructions to:

determine that the adjacency data includes data for the identified node;

when the adjacency data comprises the neighboring node, obtain a fourth cost associated with the neighboring node from the adjacency data;

determine whether the fourth cost exceeds the third cost; and

generating instructions to overwrite the fourth cost with the third cost, when the fourth cost exceeds the third cost.

16. A tangible, non-transitory computer-readable medium comprising program instructions that, when executed by at least one processor, cause the at least processor to perform the following steps:

obtaining origin data comprising data for a plurality of origin nodes disposed along a travel route;

generating modified origin data comprising date for one or more of the origin nodes that fall within a threshold distance of a destination node, the modified origin data comprising data for a first origin node, and a second origin node;

determining a first cost to travel from the first origin node to an intermediate node;

generating adjacency data comprising data for the intermediate node, the adjacency data associating the intermediate node with the first cost;

determining a second cost to travel from the second origin node to the intermediate node;

determining whether the first cost exceeds the second cost;

generating instructions to overwrite the first cost with the second cost in the adjacency data, when the first cost exceeds the second cost; and

calculating, using the adjacency data, a shortest path from the travel route to the destination node, the shortest path comprising the first origin node or the second origin node.

17. The tangible, non-transitory computer-readable medium of claim 16 , wherein the method further comprises:

accessing destination data comprising data for a plurality of destination nodes;

modifying the destination data by removing data for one or more of the destination nodes that do not fall within the threshold distance of at least one of the first or second origin nodes; and

identifying the destination node from the modified destination data.

18. The tangible non-transitory computer-readable medium of claim 16 , wherein the method further comprises:

identifying a node neighboring the intermediate node and a third cost associated with the neighboring node.

19. The tangible, non-transitory computer-readable medium of claim 18 , wherein the method further comprises:

determining that the neighboring node is not included in the adjacency data; and

generating instructions to add data for the neighboring node and the third cost associated with the neighboring node to the adjacency data.

20. The tangible, non-transitory computer-readable medium of claim 18 , wherein the method further comprises:

determining that the adjacency data includes data for the neighboring node;

when the adjacency data comprises the neighboring node, obtaining a fourth cost associated with the neighboring node from the adjacency data;

determining whether the fourth cost exceeds the third cost; and

generating instructions to overwrite the fourth cost with the third cost, when the fourth cost exceeds the third cost.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2018
From: MAPQUEST, INC.
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 047469/0106 →
RELEASE OF SECURITY INTEREST IN PATENT RIGHTS -RELEASE OF 030936/0011 Recorded Jul 1, 2015
From: JPMORGAN CHASE BANK, N.A.
To: AOL ADVERTISING INC.; AOL INC.; BUYSIGHT, INC.; MAPQUEST, INC.; PICTELA, INC.
Reel/Frame 036042/0053 →
SECURITY AGREEMENT Recorded Aug 2, 2013
From: AOL INC.; AOL ADVERTISING INC.; BUYSIGHT, INC.; MAPQUEST, INC.; PICTELA, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 030936/0011 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2011
From: NESBITT, DAVID W.; JANSEN, LEONARD B.
To: MAPQUEST, INC.
Reel/Frame 025580/0396 →