`
`l.
`
`A method comprising:
`
`determining a first position on a current road segment of a first device of a first vehicle
`
`based on signals from a first location positioning sensor on the first device;
`
`determining a second position on the current road segment of a second device of a second
`
`vehicle based on other signals from a second location positioning sensor on the
`
`second device, the current road segment being part of a navigation route of the
`
`second device;
`
`selecting a lane of a plurality of lanes of the current road segment for the first vehicle to
`
`travel;
`
`for each of the plurality of lanes; determining a score for the lane based at least in part on
`
`an estimated level of traffic for the lane along the navigation route;
`
`responsive to determining that a difference between at least two of the scores is within a
`
`threshold; selecting a different lane of the plurality of lanes of the current road
`
`segment for the second vehicle to travel.
`
`2.
`
`The method of claim 1; wherein determining the score for the lane comprises:
`
`receiving map data from a map data store; the map data including at least a plurality of
`
`nodes representing intersections and a plurality of connections between the
`
`plurality of nodes; the plurality of connections representing road segments; and
`
`determining that the lane continues on road segments corresponding to a subset of the
`
`plurality of connections and at least one of the plurality of nodes.
`
`3.
`
`The method of claim 2; wherein the map data includes at least a plurality of layers
`
`corresponding to highway roads; major streets; and minor streets.
`
`4.
`
`The method of claim 1; wherein the navigation route is determined using Dijkstra’s
`
`algorithm or Bellman-Ford algorithm and based at least in part on a time of day.
`
`20662/41897/FW/10384352.l
`
`_ 25 _
`
`
`
`5.
`
`The method of claim 1, further comprising:
`
`determining the estimated level of traffic using crowd-sourced information or reports of
`
`road conditions.
`
`6.
`
`The method of claim 1, further comprising:
`
`determining the estimated level of traffic by identifying at least a holiday or a sporting
`
`event.
`
`7.
`
`The method of claim 1, further comprising:
`
`determining the estimated level of traffic by identifying at least a holiday or sporting
`
`event
`
`8.
`
`The method of claim 1, wherein determining the score comprises:
`
`responsive to determining that the lane merges with another lane or splits into at least one
`
`other lane along the current road segment, increasing or decreasing the estimated
`
`level of traffic for the lane.
`
`9.
`
`A non-transitory computer readable storage medium having instructions encoded thereon
`
`that, when executed by one or more processors, cause the one or more processors to:
`
`determine a first position on a current road segment of a first device of a first vehicle
`
`based on signals from a first location positioning sensor on the first device,
`
`determine a second position on the current road segment of a second device of a second
`
`vehicle based on other signals from a second location positioning sensor on the
`
`second device, the current road segment being part of a navigation route of the
`
`second device,
`
`select a lane of a plurality of lanes of the current road segment for the first vehicle to
`
`travel,
`
`for each of the plurality of lanes, determine a score for the lane based at least in part on
`
`an estimated level of traffic for the lane along the navigation route,
`
`20662/41897/FW/10384352.1
`
`_ 26 _
`
`
`
`responsive to determining that a difference between at least two of the scores is within a
`
`threshold, select a different lane of the plurality of lanes of the current road
`
`segment for the second vehicle to travel.
`
`10.
`
`The non-transitory computer readable storage medium of claim 9, wherein determine the
`
`score for the lane comprises:
`
`receive map data from a map data store, the map data including at least a plurality of
`
`nodes representing intersections and a plurality of connections between the
`
`plurality of nodes, the plurality of connections representing road segments; and
`
`determine that the lane continues on road segments corresponding to a subset of the
`
`plurality of connections and at least one of the plurality of nodes.
`
`11.
`
`The non-transitory computer readable storage medium of claim 10, wherein the map data
`
`includes at least a plurality of layers corresponding to highway roads, major streets, and minor
`
`streets.
`
`12.
`
`The non-transitory computer readable storage medium of claim 9, wherein the navigation
`
`route is determined using Dijkstra’s algorithm or Bellman-Ford algorithm and based at least in
`
`part on a time of day.
`
`13.
`
`The non-transitory computer readable storage medium of claim 9, comprising further
`
`instructions encoded thereon that, when executed by the one or more processors, cause the one or
`
`more processors to:
`
`determine the estimated level of traffic using crowd-sourced information or reports of
`
`road conditions.
`
`14.
`
`The non-transitory computer readable storage medium of claim 9, comprising further
`
`instructions encoded thereon that, when executed by the one or more processors, cause the one or
`
`more processors to:
`
`20662/41897/FW/10384352.l
`
`_ 27 _
`
`
`
`determine the estimated level of traffic by identifying at least a holiday or a sporting
`
`event.
`
`15.
`
`The non-transitory computer readable storage medium of claim 9, comprising further
`
`instructions encoded thereon that, when executed by the one or more processors, cause the one or
`
`more processors to:
`
`determine the estimated level of traffic by identifying at least a holiday or sporting event
`
`16.
`
`The non-transitory computer readable storage medium of claim 9, wherein determine the
`
`score comprises:
`
`responsive to determining that the lane merges with another lane or splits into at least one
`
`other lane along the current road segment, increase or decrease the estimated level
`
`of traffic for the lane.
`
`17.
`
`A system comprising:
`
`one or more processors, and
`
`a non-transitory computer readable storage medium having instructions encoded thereon
`
`that, when executed by the one or more processors, cause the one or more
`
`processors to:
`
`determine a first position on a current road segment of a first device of a first
`
`vehicle based on signals from a first location positioning sensor on the
`
`first device,
`
`determine a second position on the current road segment of a second device of a
`
`second vehicle based on other signals from a second location positioning
`
`sensor on the second device, the current road segment being part of a
`
`navigation route of the second device,
`
`select a lane of a plurality of lanes of the current road segment for the first vehicle
`
`to travel,
`
`for each of the plurality of lanes, determine a score for the lane based at least in
`
`part on an estimated level of traffic for the lane along the navigation route,
`
`20662/41897/FW/10384352.l
`
`_ 28 _
`
`
`
`responsive to determining that a difference between at least two of the scores is
`
`within a threshold, select a different lane of the plurality of lanes of the
`
`current road segment for the second vehicle to travel.
`
`18.
`
`The system of claim 17, wherein determine the score for the lane comprises:
`
`receive map data from a map data store, the map data including at least a plurality of
`
`nodes representing intersections and a plurality of connections between the
`
`plurality of nodes, the plurality of connections representing road segments; and
`
`determine that the lane continues on road segments corresponding to a subset of the
`
`plurality of connections and at least one of the plurality of nodes.
`
`19.
`
`The system of claim 18, wherein the map data includes at least a plurality of layers
`
`corresponding to highway roads, major streets, and minor streets.
`
`20.
`
`The system of claim 17, wherein the non-transitory computer readable storage medium
`
`comprises further instructions encoded thereon that, when executed by the one or more
`
`processors, cause the one or more processors to:
`
`determine the estimated level of traffic using crowd-sourced information or reports of
`
`road conditions.
`
`20662/41897/FW/10384352.l
`
`_ 29 _
`
`