U.S. patent application number 15/935849 was filed with the patent office on 2018-09-27 for traffic flow model to provide traffic flow information.
This patent application is currently assigned to Empire Technology Development LLC. The applicant listed for this patent is Empire Technology Development LLC. Invention is credited to Andrew Wolfe.
Application Number | 20180274937 15/935849 |
Document ID | / |
Family ID | 42405402 |
Filed Date | 2018-09-27 |
United States Patent
Application |
20180274937 |
Kind Code |
A1 |
Wolfe; Andrew |
September 27, 2018 |
Traffic Flow Model to Provide Traffic Flow Information
Abstract
Examples of maintaining or querying a traffic database to
generate a traffic flow model to provide traffic flow information
and determine a per-lane route for a vehicle to travel are
disclosed.
Inventors: |
Wolfe; Andrew; (Los Gatos,
CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Empire Technology Development LLC |
Wilmington |
DE |
US |
|
|
Assignee: |
Empire Technology Development
LLC
Wilmington
DE
|
Family ID: |
42405402 |
Appl. No.: |
15/935849 |
Filed: |
March 26, 2018 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
14457298 |
Aug 12, 2014 |
9927254 |
|
|
15935849 |
|
|
|
|
12400631 |
Mar 9, 2009 |
8838370 |
|
|
14457298 |
|
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
G08G 1/096838 20130101;
H05K 999/99 20130101; G01C 21/3658 20130101; G08G 1/01 20130101;
G08G 1/096811 20130101 |
International
Class: |
G01C 21/36 20060101
G01C021/36; G08G 1/0968 20060101 G08G001/0968; G08G 1/01 20060101
G08G001/01 |
Claims
1-20. (canceled)
21. A system to provide a per-lane route for a vehicle to travel,
the system comprising: control logic; a memory coupled to the
control logic and operable to store instructions executable by the
control logic; and an input/output (I/O) interface operatively
coupled to the memory and to the control logic, wherein the control
logic is operable to execute the instructions to: respond to a
query via the I/O interface, wherein the query includes: a start
location and an end location for the vehicle to travel between; and
an indication of at least one of: a number of occupants of the
vehicle and a vehicle type of the vehicle; and generate a traffic
flow model based on the query and based on traffic lane
characteristics for one or more road segments, wherein the road
segments include one or more locations, wherein the traffic lane
characteristics for the one or more road segments include:
substantially fixed information that includes an indication of at
least one of: a number of traffic lanes for a given direction of
vehicular movement, or traffic lane restriction information for one
or more traffic lanes; and traffic characteristic information that
changes over time, wherein the traffic flow model provides traffic
flow information between the start location and the end location,
wherein the traffic flow information enables determination of the
per-lane route for the vehicle to travel, and wherein the per-lane
route is visually or audibly output at the vehicle as at least one
of audio or graphics, and wherein the outputted per-lane route
enables a driver of the vehicle to change from one of the one or
more traffic lanes to another of the one or more traffic lanes as
the vehicle enters or exits at least one of the one or more
locations included within the one or more road segments.
22. The system of claim 21, wherein the control logic is operable
to execute the instructions to send the traffic flow information to
the vehicle to enable a navigation system of the vehicle to
determine the per-lane route from the traffic flow information and
to visually or audibly output the per-lane route at the
vehicle.
23. The system of claim 21, wherein the control logic is operable
to execute the instructions to send the traffic flow information to
a navigation service physically remote from the control logic to
enable the navigation service to determine the per-lane route from
the traffic flow information, and wherein the navigation service
provides the per-lane route to the vehicle to be visually or
audibly output at the vehicle.
24. The system of claim 21, wherein the control logic is operable
to execute the instructions to send, via the I/O interface, the
traffic flow information to a navigation service physically remote
from the control logic, wherein the navigation service sends the
traffic flow information to a navigation system of the vehicle to
enable the navigation system to determine the per-lane route from
the traffic flow information and to visually or audibly output the
per-lane route at the vehicle.
25. The system of claim 21, wherein the traffic characteristic
information that changes over time includes at least one of: road
sensor data, traffic camera data, an accident report, a
construction report, or traffic flow data reported from another
vehicle.
26. A system to provide a per-lane route for a vehicle to travel,
the system comprising: control logic; a memory coupled to the
control logic and operable to store content or instructions
executable by the control logic; and an input/output (I/O)
interface operatively coupled to the memory and to the control
logic, wherein the control logic is operable to execute the
instructions to: provide a query a traffic database for a route for
the vehicle between a start location and an end location of the
route, wherein: the query includes a number of occupants of the
vehicle and a vehicle type of the vehicle, the traffic database
includes traffic lane characteristics for the route between the
start location and the end location, and traffic flow information,
responsive to the query to the traffic database, is provided from a
traffic flow model that is based on the traffic lane
characteristics; and obtain, based on the traffic flow information,
the per-lane route for the vehicle to travel, and wherein the I/O
interface is operable to visually or audibly output the per-lane
route for the vehicle to travel.
27. The system of claim 26, wherein to obtain the per-lane route,
the control logic is operable to execute the instructions to:
obtain, from a traffic database server that provides the traffic
database, the traffic flow information, wherein the traffic
database server generates the traffic flow model that provides the
traffic flow information; and generate the per-lane route based on
the traffic flow information obtained from the traffic database
server.
28. The system of claim 26, wherein to obtain the per-lane route,
the control logic is operable to execute the instructions to:
obtain, from the traffic database, the traffic lane
characteristics; generate the traffic flow model from the traffic
lane characteristics; and generate the per-lane route based on the
traffic flow information obtained from the traffic flow model.
29. The system of claim 26, wherein to obtain the per-lane route,
the control logic is operable to execute the instructions to:
obtain, from a navigation service physically remote from the
control logic and in communication with the traffic database, the
traffic flow information; and generate the per-lane route based on
the traffic flow information obtained from the navigation
service.
30. The system of claim 26, wherein to obtain the per-lane route,
the control logic is operable to execute the instructions to:
obtain, from a navigation service physically remote from the
control logic and in communication with a traffic database server
that provides the traffic database, the per-lane route, wherein the
navigation service determines the per-lane route from the traffic
flow information, and wherein the traffic flow model that provides
the traffic flow information to the navigation service is generated
by the traffic database server or by the navigation service.
31. A method to provide a per-lane route for a vehicle to travel,
the method comprising: receiving, at a traffic database, a query
from the vehicle to travel between a start location and an end
location of a route, wherein: the query includes a number of
occupants of the vehicle and a vehicle type of the vehicle, and the
traffic database includes traffic lane characteristics for the
route between the start location and the end location; and
generating a traffic flow model based on the query and based on
traffic lane characteristics for one or more road segments, wherein
the road segments include one or more locations, wherein the
traffic flow model provides traffic flow information for the route
between the start location and the end location, wherein the
traffic flow information enables a determination of the per-lane
route for the vehicle to travel, and wherein the per-lane route is
visually or audibly output at the vehicle to enable a driver of the
vehicle to change from one of one or more traffic lanes to another
of the one or more traffic lanes as the vehicle enters or exits at
least one of the one or more locations included within the one or
more road segments.
32. The method of claim 31, further comprising sending the traffic
flow information to the vehicle to enable a navigation system of
the vehicle to determine the per-lane route from the traffic flow
information and to visually or audibly output the per-lane route at
the vehicle.
33. The method of claim 31, further comprising sending the traffic
flow information to a navigation service physically remote from the
traffic database to enable the navigation service to determine the
per-lane route from the traffic flow information, and wherein the
navigation service provides the per-lane route to the vehicle to
enable the per-lane route to be visually or audibly output at the
vehicle.
34. The method of claim 31, further comprising sending the traffic
flow information to a navigation service physically remote from the
traffic database, wherein the navigation service sends the traffic
flow information to a navigation system of the vehicle to enable
the navigation system to determine the per-lane route from the
traffic flow information and to visually or audibly output the
per-lane route at the vehicle.
35. The method of claim 31, wherein generating the traffic flow
model based on the traffic lane characteristics includes generating
the traffic flow model based on traffic characteristic information
that changes over time and based on substantially fixed information
that includes an indication of at least one of: a number of traffic
lanes for a given direction of vehicular movement, or traffic lane
restriction information for one or more traffic lanes.
36. The method of claim 35, wherein generating the traffic flow
model based on traffic characteristic information that changes over
time includes generating the traffic flow model from at least one
of road sensor data, traffic camera data, an accident report, a
construction report, or traffic flow data reported from another
vehicle.
37. The method of claim 31, wherein the number of occupants
corresponds to a high occupancy vehicle (HOV) lane restriction of
the traffic lane characteristics.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present application is a continuation under 35 U.S.C.
.sctn. 120 of U.S. patent application Ser. No. 14/457,298, filed on
Aug. 12, 2014, which is a continuation under 35 U.S.C. .sctn. 120
of U.S. patent application Ser. No. 12/400,631, filed on Mar. 9,
2009, now U.S. Pat. No. 8,838,370. All these patent documents are
incorporated by reference in their entirety.
BACKGROUND
[0002] Unless otherwise indicated herein, the approaches described
in this section are not prior art to the claims in this application
and are not admitted to be prior art by inclusion in this section.
Traffic flow information may be used to predict travel times along
various prospective or potential vehicle routes. The traffic flow
information may be incorporated into a route recommendation
algorithm of a Global Positioning System (GPS) based navigation and
mapping system to recommend a route for a vehicle to travel.
Traffic flow information, for example, can be gathered from various
sources such as in-road speed sensors, cameras, and other types of
fixed measurement devices or reported from individual vehicles as
they travel. The accuracy of predicted travel times may be an
important factor for vehicles to determine which route to
travel.
BRIEF DESCRIPTION OF THE DRAWINGS
[0003] The foregoing and other features of this disclosure will
become more fully apparent from the following description and
appended claims, taken in conjunction with the accompanying
drawings. Understanding that these drawings depict only several
embodiments in accordance with the disclosure and are, therefore,
not to be considered limiting of its scope, the disclosure will be
described with additional specificity and detail through use of the
accompanying drawings.
[0004] FIG. 1 illustrates a block diagram of an example of a
traffic flow information system;
[0005] FIG. 2 illustrates a block diagram of an example traffic
database manager architecture;
[0006] FIG. 3 illustrates an example block diagram of a query
manager architecture;
[0007] FIG. 4 illustrates an example block diagram of a per-lane
route manager architecture;
[0008] FIG. 5 illustrates an example query format for a query to a
traffic database;
[0009] FIG. 6 illustrates a table to depict example traffic lane
characteristics maintained in a traffic database;
[0010] FIG. 7A illustrates an example traffic flow model;
[0011] FIG. 7B illustrates a portion of an example program code to
generate the traffic flow model;
[0012] FIG. 7C illustrates another portion of the example program
code to generate the traffic flow model;
[0013] FIG. 8 illustrates a flow chart of an example method to
provide traffic flow information to determine a per-lane route for
a vehicle to travel;
[0014] FIG. 9 illustrates a block diagram illustrating additional
aspects of the example traffic flow information system;
[0015] FIG. 10 illustrates another block diagram illustrating
additional aspects of the example traffic flow information
system;
[0016] FIG. 11 illustrates a block diagram of an example computer
program product; and
[0017] FIG. 12 illustrates an example computing device, all
arranged in accordance with the present disclosure.
DETAILED DESCRIPTION
[0018] In the following detailed description, reference is made to
the accompanying drawings, which form a part hereof. In the
drawings, similar symbols typically identify similar components,
unless context dictates otherwise. The illustrative examples or
embodiments described in the detailed description, drawings, and
claims are not meant to be limiting. Other examples or embodiments
may be utilized, and other changes may be made, without departing
from the spirit or scope of the subject matter presented here. It
will be readily understood that aspects of this disclosure, as
generally described herein, and illustrated in the Figures, can be
arranged, substituted, combined, and designed in a wide variety of
different configurations, all of which are explicitly contemplated
and make part of this disclosure.
[0019] This disclosure is drawn, inter alia, to methods, apparatus,
systems and computer program products related to maintaining and/or
querying a traffic database to generate a traffic flow model. The
traffic flow model, for example, may provide traffic flow
information. The traffic flow information, for example, may be used
to determine a per-lane route for a vehicle to travel.
[0020] As contemplated by the present disclosure, the accuracy of
predicted travel times may be an important factor for vehicles to
determine which route to travel. However, gathered traffic flow
information should account for traffic lane characteristics
associated with modern highways and urban traffic grids. For
example, an interstate highway with a road segment passing through
and near a large city such as Los Angeles may include a high
occupancy vehicle (HOV) traffic lane. An HOV traffic lane may be
reserved for vehicles with a driver and one or more passengers,
buses, motorcycles or low-emission vehicles. The HOV traffic lane
and other traffic lanes of this road segment may also restrict
trucks with or without trailers from using these lanes. The
restrictions may be all day or limited to peak traffic hours.
Meanwhile, the far-right lanes of the road segment may be open to
all types of vehicles.
[0021] In another example, other road segments associated with
roadways passing in and through an urban area may have
characteristics that change throughout a business day or on a
weekend. A wait at a typical traffic light in morning rush hour
traffic may be a few minutes, but the time needed to make a left
hand turn may be several times longer. A traffic flow model that
provides traffic flow information should possibly account for the
examples mentioned above to predict accurate travel times along
various prospective or potential vehicle routes. In some examples,
as described below, a prospective or potential vehicle route may
include a per-lane route.
[0022] In some examples, a query is placed to a traffic database.
The query may include providing information to include an
indication of a start location and an end location for a vehicle to
travel and also may include an indication of a vehicle type (e.g.,
car, truck, bus, motorcycle, etc.). In these examples, the traffic
database includes traffic lane characteristics associated with a
route between the start location and the end location indicated in
the query. A traffic flow model that is based on the query
information and the traffic lane characteristics may then be
generated to provide traffic flow information for the route between
the start location and the end location. This traffic flow
information may be used to determine a per-lane route for the
vehicle to travel. The per-lane route, for example, includes a path
through one or more road segments
[0023] FIG. 1 illustrates a block diagram of an example traffic
flow information system 100. In some examples, as depicted in FIG.
1, system 100 includes traffic database server 110, fixed source(s)
120, periodic source(s) 130, query source(s) 140 and communication
link(s) 150. Also shown in FIG. 1, is a traffic database 112.
Traffic database 112, for example, is located with or resident on
traffic database server 110. As described more below, logic located
with or resident on traffic database server 110 may maintain
traffic database 112. Traffic database 112 may include traffic lane
characteristics for one or more road segments located within a
geographical location or a map area. The logic may also respond to
queries received from a query source (e.g., query source(s) 140).
The response may include providing traffic lane characteristics
associated with the received query.
[0024] In some examples, traffic database server 110 is coupled to
other elements of system 100 via communication link(s) 150.
Communication link(s) 150, for example, may include one or more
types of communication links to communicatively couple elements of
system 100. These types of communication links may include wired or
wireless communication mediums that couple to a network. The
network may include, but is not limited to, a wired or wireless
local area network (LAN/WLAN), a wide area network (WAN/WWAN), a
metropolitan area network (MAN), a personal area network (PAN), a
cellular or wireless broadband telephony network and a satellite
network.
[0025] In some examples, fixed source(s) 120 provides (e.g., via
communication link(s) 150) substantially fixed information to
traffic database server 110. This substantially fixed information,
for example, is added to or updates traffic characteristics
maintained in traffic database 112. Substantially fixed information
may change infrequently, e.g., weekly, monthly or yearly.
[0026] In some examples, substantially fixed information may
include a number of traffic lanes for a given direction of movement
or traffic lane restriction information for respective traffic
lanes. Restriction information may include, but is not limited to,
HOV, weight limits, height limits, noise limits, speed limits,
seasonal restrictions (e.g., tire-traction or chains required,
four-wheel drive, winter closure, etc.), and hazardous cargo
prohibitions. Substantially fixed information may also include,
times a restriction is enforced, type of road surface (paved,
gravel, dirt, unimproved, etc.), road classification (interstate,
state highway, expressway, collector, arterial, residential, etc.)
or typical congestion times (e.g., rush hour or days before/after
holidays), incoming/outgoing transition points, although this
disclosure is not limited to only the above listed types of
substantially fixed information.
[0027] In some examples, fixed source(s) 120 may include federal,
state and local government agencies. Federal/state transportation
laws or statutes as well as local ordinances, for example, may also
be included in fixed source(s) 120. Additionally, fixed source(s)
120 may include private sources such as mapping or navigation
services that maintain navigable digital map databases or other
types of map databases.
[0028] In some examples, periodic source(s) 130 provides (e.g., via
communication link(s) 150) periodically updated information to
traffic database 110. This periodically updated information may be
added to or may update traffic characteristics maintained in
traffic database 112. Periodically updated information may change
frequently (e.g., real-time or near real-time, by-the-minute,
hourly or daily) and may include road sensor data (e.g., speed
sensors), accident/construction reports and traffic flow data
reported from individual vehicles as they travel on or have
recently traveled through a road segment, although this disclosure
is not limited to only the above listed types of periodically
updated information.
[0029] Periodic source(s) 130 may include federal, state and local
government agencies that gather real-time or near real-time data
using, for example, road sensors, traffic cameras,
construction/accident reports and traffic flow reporting from
public service vehicles. Periodic source(s) 130 may also include
private or proprietary services. These private services may manage
traffic reporting networks that gather real-time or near real-time
traffic flow data. The real-time data, for example, includes
reports from vehicles over the traffic-reporting network or via
other types of networks.
[0030] In some examples, query source(s) 140 represents the source
of queries made to traffic database server 110 (e.g., via
communication link(s) 150). Query source(s) 140, for example, may
seek traffic lane characteristics and/or traffic flow information
between a start location and an end location for a vehicle to
travel. Query source(s) 140 could be the vehicle's navigation
system, a central dispatcher for the vehicle or a provider of a
navigation service to the vehicle, although the disclosure is not
limited to only these examples.
[0031] In some examples, as described more below, logic located
with or resident at query source(s) 140 may place a query to
traffic database 112. The query, for example, to include a
vehicle's characteristics and include information to indicate a
start location and an end location for the vehicle to travel. The
query may also include an indication of a vehicle type (e.g., car,
truck, bus, motorcycle, etc.) and possibly other vehicle
characteristic information. In these examples, a traffic flow model
may be generated based on traffic lane characteristics associated
with a route between the start location and the end location and
the information included in the query (query information). The
traffic flow model, as described more below, may be generated by
logic located with or resident at query source(s) 140 or located
with or resident at traffic database server 110. The generated
traffic flow model, for example, may then be used to provide
traffic flow information for the route between the start location
and the end location.
[0032] In some examples, logic located with or resident at query
source(s) 140 determines a per-lane route that may include a path
through one or more road segments for the vehicle to travel. In
these examples, the per-lane route may be determined in response to
receiving or obtaining the traffic flow information for the route
between the start location and the end location. The per-lane route
for the vehicle to travel may then be presented to an occupant of
the vehicle, e.g., displayed on a vehicle's navigation display or
provided verbally on a turn-by-turn basis.
[0033] FIG. 2 illustrates a block diagram of an example traffic
database manager 200 architecture. In FIG. 2, traffic database
manager 200's example architecture includes traffic database logic
210, control logic 220, memory 230, input/output (I/O) interfaces
240 and optionally one or more applications 250. As illustrated in
FIG. 2, traffic database logic 210 is coupled to control logic 220,
memory 230 and I/O interfaces 240. Also illustrated in FIG. 2, the
optional applications 250 are arranged in cooperation with control
logic 220. Traffic database logic 210 may further include one or
more of a fixed feature 212, a periodic feature 214, a query
feature 216 and a traffic-flow module feature 218, or any
reasonable combination thereof.
[0034] In some examples, the elements portrayed in FIG. 2's block
diagram are those elements to support or enable traffic database
manager 200 as described in this disclosure, although a given
traffic database manager may include some, all or more elements
than those depicted in FIG. 2. For example, traffic database logic
210 and control logic 220 may each or collectively represent a wide
variety of logic device(s) to implement the features of traffic
database manager 200. A logic device, for example, may include a
computer, a microprocessor, a microcontroller, a field programmable
gate array (FPGA), an application specific integrated circuit
(ASIC), a sequestered thread or a core of a
multi-core/multi-threaded microprocessor or a combination
thereof.
[0035] In some examples, as shown in FIG. 2, traffic database logic
210 includes fixed feature 212, periodic feature 214, query feature
216 and traffic flow model feature 218. Traffic database logic 210
may be configured to use one or more of these features to perform
several operations. Example operations may include one or more of
maintaining traffic database 112 by receiving or obtaining
substantially fixed and periodically updated information or
responding to a query received from a query source (e.g., query
source(s) 140). The operations may also include generating a
traffic flow model to provide traffic flow information based on
information obtained from traffic database 112 and/or query
information received from the query source.
[0036] In some examples, control logic 220 may be configured to
control the overall operation of traffic database manager 200. As
mentioned above, control logic 220 may represent any of a wide
variety of logic device(s) configured to operate in conjunction
with executable content or instructions to implement the control of
traffic database manager 200. In alternate examples, the features
and functionality of control logic 220 may be implemented within
traffic database logic 210.
[0037] According to some examples, memory 230 is arranged to store
executable content or instructions. The executable content or
instructions may be used by control logic 220 and/or traffic
database logic 210 to implement or activate features or elements of
traffic database manager 200. Memory 230 may also temporarily
maintain traffic lane characteristics obtained by traffic database
logic 210's features in response to a query to traffic database
112. Memory 230 may also temporarily maintain query information and
the traffic lane characteristics to generate a traffic flow model
to provide traffic flow information to the source of the query
(e.g., query source(s) 140).
[0038] Memory 230, for example, may include a wide variety of
memory media including, but not limited to, volatile memory,
non-volatile memory, flash, programmable variables or states,
random access memory (RAM), read-only memory (ROM), or other static
or dynamic storage media.
[0039] In some examples, I/O interfaces 240 may provide an
interface via an internal communication medium or link (not shown)
between traffic database manager 200 and elements resident on or
located with traffic database server 110. I/O interfaces 240, for
example, include interfaces that may operate according to various
communication protocols to communicate over the internal
communication link (e.g., Inter-Integrated Circuit (I.sup.2C),
System Management Bus (SMBus) or Serial Peripheral Interface Bus
(SPI), etc.). I/O interfaces 240 may also provide an interface
between traffic database manager 200 and elements remote to traffic
database server 110. As mentioned above for FIG. 1, traffic
database server 110 may couple to elements of system 100 via
communication link(s) 150. I/O interfaces 240, for example, include
an interface that operates according to various communication
protocols to allow traffic database manager 200 to communicate over
communication link(s) 150 (e.g., Code Division Multiple Access 2000
(CDMA2000), Global System for Mobile Communications (GSM),
Ethernet, Asynchronous Transfer Mode (ATM), Synchronous Optical
Networking (SONET), etc.).
[0040] In some examples, traffic database manager 200 includes one
or more applications 250 to provide instructions to control logic
220 and/or traffic database logic 210.
[0041] FIG. 3 illustrates an example block diagram of a query
manager 300 architecture. In FIG. 3, query manager 300's example
architecture includes query logic 310, control logic 320, memory
330, input/output (I/O) interfaces 340 and optionally one or more
applications 350. As illustrated in FIG. 3, query logic 310 is
coupled to control logic 320, memory 330 and I/O interfaces 340.
Also illustrated in FIG. 3, the optional applications 350 are
arranged in cooperation with control logic 320. Query logic 310 may
further include a characteristic feature 312, location feature 314
and traffic-flow module feature 316.
[0042] In some examples, the elements portrayed in FIG. 3's block
diagram are those elements to support or enable query manager 300
as described in this disclosure, although a given query manager may
include some, all or more elements than those depicted in FIG. 3.
For example, query logic 310 and control logic 320 may each or
collectively represent a wide variety of logic device(s) to
implement the features of query manager 300. As mentioned
previously, a logic device, for example, may include a computer, a
microprocessor, a microcontroller, an FPGA, an ASIC, a sequestered
thread or a core of a multi-core/multi-threaded microprocessor or a
combination thereof.
[0043] In some examples, as shown in FIG. 3, query logic 310
includes characteristic feature 312, location feature 314 and
traffic flow model feature 316. Query logic 310 may be configured
to use these features to perform several operations. Example
operations may include placing a query to a traffic database (e.g.,
traffic database 112), the query to include information to indicate
a start and an end location for a vehicle to travel and to also
indicate one or more characteristics of the vehicle. The operations
may also include generating a traffic flow model to provide traffic
flow information to the vehicle. The traffic flow model, for
example, is based on traffic lane characteristics obtained from the
traffic database and the query information.
[0044] In one example, control logic 320 may control the overall
operation of query manager 300 and as mentioned above, may
represent any of a wide variety of logic device(s) configured to
operate in conjunction with executable content or instructions to
implement the control of query manager 300. In alternate examples,
the features and functionality of control logic 320 may be
implemented within query logic 310.
[0045] Similar to memory 230, described above, memory 330 may
include a wide variety of memory media. According to some examples,
memory 330 is arranged to store executable content or instructions.
The executable content or instructions may be used by control logic
320 and/or query logic 310 to implement or activate features or
elements of query manager 300. Memory 330 may also temporarily
maintain traffic lane characteristics obtained or received by query
logic 310's features in response to a query to a traffic database.
Memory 330 may also be arranged to temporarily maintain the query
information and the traffic lane characteristics to enable query
logic 310's features to generate a traffic flow model. The traffic
flow model, for example, may be at least temporarily maintained in
memory 330 in order to provide traffic flow information for a
determination of a per-lane route for a vehicle to travel.
[0046] Similar to I/O interfaces 240, described above, I/O
interfaces 340 may provide an interface via an internal
communication medium or link (not shown) between query manager 300
and elements resident on or located with query source(s) 140. I/O
interfaces 340 may also provide an interface between query manager
300 and elements remote to query source(s) 140.
[0047] In some examples, query manager 300 includes one or more
applications 350 to provide instructions to control logic 320
and/or query logic 310.
[0048] FIG. 4 illustrates an example block diagram of a per-lane
route manager 400 architecture. In FIG. 4, per-lane route manager
400's example architecture includes route logic 410, control logic
420, memory 430, input/output (I/O) interfaces 440 and optionally
one or more applications 450. As illustrated in FIG. 4, route logic
410 is coupled to control logic 420, memory 430 and I/O interfaces
440. Also illustrated in FIG. 4, the optional applications 450 are
arranged in cooperation with control logic 420. Route logic 410 may
further include a determine feature 412 and a present feature
414.
[0049] In some examples, the elements portrayed in FIG. 4's block
diagram are those elements to support or enable per-lane route
manager 400 as described in this disclosure, although a given
per-lane route manager may include some, all or more elements than
those depicted in FIG. 4. For example, route logic 410 and control
logic 420 may each or collectively represent a wide variety of
logic device(s) to implement the features of per-lane route manager
400. A logic device, for example, may include a computer, a
microprocessor, a microcontroller, an FPGA, an ASIC, a sequestered
thread or a core of a multi-core/multi-threaded microprocessor or a
combination thereof.
[0050] In some examples, as shown in FIG. 4, route logic 410
includes determination feature 412 and present feature 414. In some
examples, route logic 410 may be configured to use these features
to perform several operations. Example operations may include
determining a per-lane route for a vehicle to travel in response to
receiving or obtaining traffic flow information. The operations may
also include providing or presenting the per-lane route for the
vehicle to travel to an occupant of the vehicle.
[0051] In some examples, control logic 420 may control the overall
operation of route manager 400 and as mentioned above, may
represent any of a wide variety of logic device(s) configured to
operate in conjunction with executable content or instructions to
implement the control of route manager 400. In alternate examples,
the features and functionality of control logic 420 may be
implemented within route logic 410.
[0052] Similar to memory 230, described above, memory 430 may
include a wide variety of memory media. According to some examples,
memory 430 is arranged to store executable content or instructions.
The executable content or instructions may be used by control logic
420 and/or route logic 410 to implement or activate features or
elements of route manager 400. Memory 430 may also temporarily
maintain traffic flow information for a vehicle obtained by route
logic 410's features in response to receiving the traffic flow
information, e.g., from query manager 300. Memory 430 may also
temporarily maintain a per-lane route for the vehicle to travel in
order to provide the per-lane route to an occupant of the
vehicle.
[0053] Similar to I/O interfaces 240, described above, I/O
interfaces 440 may provide an interface via an internal
communication medium or link (not shown) between route manager 400
and elements resident on or located with query source(s) 140. I/O
interfaces 440 may also provide an interface between route manager
400 and elements remote to query source(s) 140.
[0054] In some examples, route manager 400 includes one or more
applications 450 to provide instructions to control logic 420
and/or route logic 410.
[0055] FIG. 5 illustrates an example query format 500 to depict how
query information may be conveyed in a query to a traffic database
(e.g., traffic database 112). In some examples, query format 500
includes fields 510, 520, 530, 540, 550 and 560. These fields, for
example, include at least a portion of the query information for
the query to the traffic database. As described more below, a
traffic flow model may be generated based on the query information
and traffic lane characteristics obtained from the traffic
database. The traffic flow model may then be used to provide
traffic flow information to the source of the query
information.
[0056] Fields 510 and 520 may indicate start and end location
information, respectively. The start location included in field 510
may indicate the starting point for a vehicle to travel. This
starting point, for example, may indicate the location of the
vehicle at or near the time the query is made. Start location
information, for example, includes, but is not limited to,
geophysical location information obtained through a GPS receiver or
other type of locating device. Start location information may also
include location information obtained from a map or an address
book. The end location included in field 520 may indicate the final
or desired destination of the vehicle. End location information,
for example, includes, but is not limited to, map grid coordinates,
street addresses, road intersections, points of interest, cities,
towns, parks and neighborhoods.
[0057] In some examples, a query may not need an explicit start
point in the query to indicate a start location. Rather, the start
location may be indicated in other ways. For example, logic
maintained at or with a traffic database (e.g., traffic database
logic 210) may be configured to determine the start location
associated with the query. This determination may be based on
location characteristics associated with how the query was conveyed
to the traffic database via communication link(s) 150. For example,
if communication link(s) 150 included a wireless communication link
and the source of the query was located at or with a vehicle, the
network that enabled the wireless communication to convey the query
may also track the location of where the source of the query
originated. The tracking information may then be added to the query
in indicate the start location. In other examples, the location of
the query may be presumed close enough to the point of entry in the
network (e.g., a wireless access point) so that the location of the
access point itself can serve as a default start location.
[0058] Field 530, for example, indicates a vehicle type. The
vehicle type includes, but is not limited to, cars, trucks, buses
or motorcycles. Field 540 may include information to indicate
whether the vehicle contains or will contain passengers. Field 550,
for example, includes information to indicate capabilities of the
vehicle. Capabilities may include, but are not limited to,
two-wheel drive, four-wheel drive, tire-traction capable, height
clearance and turning radius. Field 560, for example, includes
information to indicate applicable special allowances. In some
examples, special allowances may indicate that a vehicle is a low
emission vehicle (e.g., electric, hybrid, etc.) or an alternative
fuel vehicle (e.g., bio-fuels such as ethanol or bio-diesel). In
other examples, special allowances may indicate that a vehicle is
transporting hazardous cargo such as explosives or toxic chemicals.
Field 570 may include the time of the query or may indicate the
time the vehicle plans or anticipates traveling from the start
location to the end location.
[0059] FIG. 6 illustrates a table 600 to depict example traffic
lane characteristics maintained in a traffic database (e.g.,
traffic database 112). In some examples, the contents of table 600
may be maintained by traffic database manager 200 and may be used
along with query information to generate a traffic flow model in
order to provide traffic flow information to the source of the
query. In some examples, as depicted in FIG. 6, traffic lane
characteristics for northbound road segment 605 include fixed
characteristics 610, 615, 620, 625, 630, 635, 640 and include
periodic characteristics 645, 650, 655, 660 and 665 for each of
three traffic lanes 605a, 605b and 605c. Northbound road segment
605 may be an example of a portion of an expressway or highway. The
outgoing transition point for northbound road segment 605 may be
the end of the expressway or a portion of the expressway or highway
that enters an area with traffic lights and reduced speed
limits.
[0060] Table 600 is provided as an example of possible contents of
a traffic database for a road segment. The number of lanes for the
road segment and associated fixed/periodic characteristics may
include any number of lanes and/or associated fixed/periodic
characteristics. Although not shown, a similar table may exist for
a southbound road segment 605. Also, traffic lane characteristics
for any number of road segments, for example, can be maintained in
the traffic database.
[0061] In some examples, fixed characteristics 610, 615, 620, 625,
630, 635 and 640 may be based on substantially fixed information
and as mentioned above, may change infrequently. In some
embodiments, as shown in FIG. 6, fixed characteristics 610, 615,
620, 625, 630, 635 and 645 include traffic lane characteristics
associated with traffic lanes 605a-c. Fixed characteristic 610 may
include lane position information. Fixed characteristic 615 and 620
may include lane restriction information. Fixed characteristic 625
may include congestion information. Congestion information, for
example, may indicate possible or likely congestion at certain
times of the day based on historical traffic flow information.
Congestion during typical rush hour times associated with morning
and evening commutes is but one example of historical traffic flow
information that may indicate congestion.
[0062] Fixed characteristic 630 may include traffic lane special
allowances. As depicted in FIG. 6, the traffic lane special
allowances may include unrestricted HOV traffic lane times, allowed
HOV lane use for non-passenger, low emission vehicles and travel
prohibition on all lanes for vehicles transporting hazardous cargo
or exceeding a given height (e.g., for a route segment through a
tunnel), although this disclosure is not limited to only the above
listed types of special allowances.
[0063] Fixed characteristics 635 may include information to
indicate an incoming transition point of northbound road segment
605. The incoming transition point may include a part of a
northbound road segment 605 that connects or couples to another
road segment. For example, an on-ramp may be an incoming transition
point to northbound road segment 605. In this example, traffic lane
605c (right lane) may be the only traffic lane that has this
transition point if traffic enters northbound road segment 605 via
the right lane.
[0064] Fixed characteristics 640 may include information to
indicate an outgoing transition point of northbound road segment
605. The outgoing transition point may include a part of a
northbound road segment 605 that connects or couples to another
road segment. For example, an outgoing transition point may be an
intersection were northbound road segment 605 may connect or couple
with one or more other road segments. The intersection may include
a stop sign, traffic light, roundabout or other type of traffic
control measure. Also, an outgoing transition point may include a
left-hand turn at an intersection. A left-hand turn may only impact
traffic lane 605a (left lane) and the information in fixed
characteristics 640 may indicate that impact.
[0065] In some examples, periodic characteristics 645, 650, 655,
660 and 665 may be based on periodically updated information and as
mentioned above, may change frequently. As shown in FIG. 6,
periodic characteristics 645, 650, 655, 660 and 665 include traffic
lane characteristics associated with traffic lanes 605a-c. Period
characteristic 645 may include incoming transition point
information. Incoming transition point information may indicate the
amount of time or delays in passing through the incoming transition
point. As previously mentioned above, northbound road segment 605
may be a highway or expressway, thus an incoming transition point
may include an on-ramp. Also, although a vehicle may enter
northbound road segment 605 via traffic lane 605c, the vehicle may
have to cross traffic lane 605c to enter traffic lanes 605a and
605b. As a result of the vehicle needing to cross traffic lane
605c, the same delay times may be reported for traffic lanes
605a-c. Also, periodic characteristic 650 may include outgoing
transition point information. Outgoing transition point information
may indicate the amount of time or delays in passing through the
outgoing transition point. As mentioned above, northbound road
segment 605 has an outgoing transition point that marks an end or a
portion of an expressway or a highway that enters an area with
traffic lights and reduced speed limits. Since the outgoing
transition point indicates an area where the expressway or highway
passes through traffic lights, delays due to traffic light
congestion or left hand turns may be indicated in periodic
characteristic 650.
[0066] Periodic characteristic 655, for example, includes road
sensor data or information. This road sensor data, for example,
indicates real-time or near real-time traffic speeds for a
particular traffic lane. The road sensor data may also include the
average speeds of all or a portion of the lanes in a road segment.
As shown in FIG. 6, periodic characteristic 660, for example,
includes information indicating traffic lane alerts such as
accidents, construction or stalled vehicles. Traffic lane alerts,
in some embodiments, may indicate a possible impact on the traffic
flow through a traffic lane. Periodic characteristic 665, for
example, includes traffic flow data reported from vehicles that are
traveling on or have recently traveled through the road segment.
Traffic flow data may include, but is not limited to, speeds of the
reporting vehicles, wait times at stoplights and a general
description of movement (e.g., stop and go, steady speeds,
relatively free movement, etc.).
[0067] FIG. 7A illustrates an example traffic flow model 700.
Traffic flow model 700, for example, was generated based on a
vehicle's characteristics and traffic lane characteristics
associated with a prospective route for the vehicle to travel. In
the example depicted in FIG. 7A, the vehicle's characteristics were
obtained from query information conveyed in query format 500. As
mentioned above, vehicle characteristics may indicate start and end
locations for the vehicle to travel and may also indicate other
vehicle characteristics such as vehicle type. The locations
indicated in the query information, for example, may encompass a
route that includes all or a portion of northbound road segment
605. Thus, in this example, the traffic lane characteristics
associated with at least a portion of the prospective route may be
included with the traffic lane characteristics maintained in a
traffic database (see FIG. 6). Also, in this example, the query
information indicated a car vehicle type with no passengers, no low
emissions and a query time that falls within an HOV restriction
time.
[0068] FIG. 7B and FIG. 7C illustrate an example program code 710
to generate traffic flow model 700. In some examples, traffic flow
model 700 was generated using a traffic flow algorithm depicted as
program code 710 in FIGS. 7B and 7C, although this disclosure is
not limited to this example program code 710. Inputs, for example
to the traffic flow algorithm that generated traffic flow model 700
were based on at least a portion of the traffic lane
characteristics of traffic lanes 605a-c and on at least a portion
of the query information conveyed in query format 500.
[0069] In some examples, logic, in either traffic database manager
200 or query manager 300 may implement or execute program code 710
for each of the three traffic lanes of road segment 605 to generate
traffic flow model 700. As shown in FIG. 7A, traffic flow
information for traffic lanes 605a-c may be provided. For example,
traffic flow model 700 indicates that traffic lane 605a is
restricted for travel by the vehicle associated with the query and
that traffic lanes 605b and 605c are not restricted to the vehicle.
Traffic flow model 700 also includes a traffic lane alert for
traffic lane 605c. The traffic lane alert may indicate an accident,
construction or a stalled vehicle in traffic lane 605c.
[0070] Traffic flow model 700 may further indicate incoming
transition point delay times that are the same for traffic lanes
605a-c. As previously mentioned above for FIG. 6, the incoming
transition point delay may be based on delay times to enter traffic
lane 605c via an on-ramp. Also, as mentioned above, since the
outgoing transition point for road segment 605 marks the end of
higher speed limits and no traffic lights, traffic flow model 700
indicates separate outgoing transition point delay times for
traffic lanes 605a-c. The separate outgoing transition point delays
may indicate traffic light delays and/or left hand turn delays.
Traffic flow model 700 may also include a separate indication of an
estimated travel time for traffic lanes 605a-c. In some examples,
logic, in either traffic database manager 200 or query manager 300
may be configured to determine an estimated travel time for a
traffic lane based on speed sensor data, reports from vehicles and
incoming/outgoing transition point delay times.
[0071] In some examples, traffic flow information in traffic flow
model 700 may be used or provided to facilitate a determination of
which traffic lanes in road segment 605 (if any) will be at least a
part of a path included in a per-lane route for the vehicle to
travel. As mentioned above, traffic flow model 700, for example,
indicates that traffic lane 605a is restricted, traffic lane 605c
has a traffic lane alert and the estimated travel time for traffic
lane 605b is smaller than for traffic lane 605c. Thus, given the
traffic flow information provided by traffic flow model 700, a
determination that traffic lane 605b may be the best or fastest
route through road segment 605 is likely or probable.
[0072] In some examples, a traffic flow model may be provided that
includes information pertaining to traffic lanes for which a
vehicle is eligible to travel. For example, since the vehicle type
for the query that lead to the generation of traffic flow model 700
included no passengers, the vehicle is not eligible or restricted
from traveling on traffic lane 605a. In this example, logic, in
either traffic database manager 200 or query manager 300 may
implement program code 710, but will exclude information related to
traffic lane 605a from a generated traffic flow model.
[0073] In some examples, traffic flow model 700 may be combined
with other traffic flow models for one or more other road segments
to provide traffic flow information to the vehicle associated with
the query. The other traffic flow models, for example, may be
generated in a similar manner to how traffic flow model 700 was
generated. This traffic flow information, for example, may also
facilitate a determination of a path included in a per-lane route
for the vehicle to travel. The path, for example, could result in
the vehicle changing traffic lanes as the vehicle enters or exits
locations encompassed within the other road segments.
[0074] FIG. 8 illustrates a flow chart of an example method to
provide traffic flow information to determine a per-lane route for
a vehicle to travel. In some examples, system 100, as described in
FIG. 1, is used to describe this method, although this method is
not limited to only an implementation on system 100. The method,
for example, may be implemented on other systems that may include
at least a portion of the elements of system 100.
[0075] Processing begins in block 810 (Query), where a query from
query source(s) 140 is made to traffic database 112 maintained at
traffic database server 110. This query, in some embodiments, may
be in the form of query format 500 and may be provided by query
manager 300 via communication link(s) 150. As mentioned above,
query format 500 includes query information that may indicate
characteristics for a vehicle. These vehicle characteristics, for
example, may indicate a start location and an end location for the
vehicle to travel as well as a vehicle type.
[0076] Processing continues from block 810 to block 820 (Obtain
Traffic Characteristics), where traffic database manager 200
receives the query and obtains traffic lane characteristics
associated with a route between the start location and the end
location indicated in the query information. In some examples, the
route includes route segment 605 as described for FIG. 6. Thus, in
this example, the traffic lane characteristics depicted in FIG. 6
may be obtained from traffic database 112.
[0077] Continuing from block 820 to block 830 (Generate Traffic
Flow Model), the process may generate a traffic flow model. The
traffic flow model may be based on the traffic lane characteristics
obtained by elements of traffic database manager 200 (e.g., traffic
database logic 210). In some embodiments, the traffic flow model
may be generated by elements of traffic database manager 200 (e.g.,
traffic database logic 210). In other embodiments, elements of
query manager 300 (e.g., query logic 310) generate the traffic flow
model. One or more traffic flow algorithms may be implemented to
generate a traffic flow model for traffic lanes 605a-c. The one or
more traffic flow algorithms may be similar to the traffic flow
algorithm described above for program code 710.
[0078] Proceeding from block 830 to block 840 (Provide Traffic Flow
Information), where traffic flow information for the vehicle based
on the traffic flow model may be provided to the source of the
query. The traffic flow information may indicate traffic flow
information for each of traffic lanes 605a-c. Alternatively, the
traffic flow information may include information for unrestricted
traffic lanes for which the vehicle is eligible to travel. Thus, in
this alternative, information for restricted traffic lane(s) is not
provided.
[0079] Continuing from block 840 to block 850 (Determine Per-lane
Route), the process determines a per-lane route for the vehicle to
travel. The determination, for example, may be in response to
receiving the traffic flow information. The traffic flow
information, for example, facilitates a determination of which
traffic lane or traffic lane path provides the best per-lane route
(e.g., has the fastest prospective travel time) between the start
location and the end location. In some embodiments, elements of
per-lane route manager 400 (e.g., route logic 410) may determine
the best per-lane route.
[0080] Proceeding from block 850 to block 860 (Present Per-lane
Route), the process may present (e.g., via an audio or visual
output) the determined per-lane route to an occupant (e.g., the
driver) of the vehicle. In some embodiments, per-lane route manager
400 may be located at a query source(s) 140 that is remote to the
vehicle. A per-lane route manager 400 located remotely may present
the per-lane route to an occupant of the vehicle over a wired or
wireless communication medium coupled to a network that includes,
but is not limited to, a LAN, WLAN, WAN, WWAN, MAN, PAN, a cellular
or wireless broadband telephony network and a satellite network.
Remote presentation may include turn-by-turn voice guidance or may
include transmitting the per-lane route for eventual display by a
display system (e.g., a navigation system, a wireless phone, a
handheld computer, a portable computer, etc.) located at, with or
in the vehicle.
[0081] In other embodiments, per-lane route manager 400 may be
located at a query source(s) 140 located at, with or in the
vehicle. Presentation, in this other example, may also include
turn-by-turn voice guidance or providing the per-lane route for
eventual display by a display system.
[0082] In some examples, another query may be initiated due to
events occurring while the vehicle is traveling the per-lane route
(e.g., an accident, stalled vehicle or unexpected congestion). In
these examples, the process returns to block 810 and a new per-lane
route including a path through a different road segment and/or
traffic lane may be determined and presented to an occupant of the
vehicle.
[0083] FIG. 9 illustrates a block diagram illustrating additional
aspects of the example traffic flow information system 100 depicted
in FIG. 1 and described above. As shown in FIG. 9, in some
embodiments, query source 140a and query source 140b provide
examples of at least two types of query sources that may place a
query to a traffic database such as traffic database 112.
[0084] In some examples, as shown in FIG. 9, traffic database
manager 200 and table 600 may be located with or resident on
traffic database server 110. As mentioned previously, traffic
database manager 200 may include logic (e.g. traffic database logic
210 and/or control logic 220) to maintain traffic database 112.
Traffic database 112 may include table 600 and as described above
for FIG. 6, table 600 may include traffic lane characteristics for
a road segment 605. The traffic lane characteristics for road
segment 605 may be based on substantially fixed and periodically
updated information.
[0085] In some examples, traffic database manager 200, in response
to receiving a query to traffic database 112 (e.g., from query
source 140a or 140b), may provide traffic lane characteristics
associated with the query. The provided traffic lane
characteristics may include the characteristics depicted in table
600 and may enable the generation of a traffic flow model (e.g.,
traffic flow model 700). The traffic flow model may provide traffic
flow information to the source of the query.
[0086] In some examples, as shown in FIG. 9, query source 140a
includes a navigation system 905 with a query manager 300 and a
per-lane route manager 400. Also shown in FIG. 9, is an example
where query source 140b includes provider 910. Provider 910 may
also have a query manager 300 and a per-lane route manager 400.
Navigation system 905, in some embodiments, may be located at, with
or in a vehicle for which a query is being placed. Provider 910, in
some embodiments, may be located remotely to a vehicle for which a
query is being placed (e.g. a provider of a navigation
service).
[0087] In some examples, query manager 300 includes logic (e.g.
query logic 310 and/or control logic 320) to place a query to a
traffic database (e.g., traffic database 112). The query may
include information to indicate a start location and an end
location for a vehicle to travel. The query may also include an
indication of a vehicle type. As mentioned above, the traffic
database may include traffic lane characteristics associated with a
route between the start location and the end location (e.g., table
600). A traffic flow model (e.g., traffic flow model 700) may be
generated based on the query and the traffic lane characteristics.
The traffic flow model may provide traffic flow information for the
route between the start location and the end location.
[0088] Per-lane route manager 400, in some embodiments, may include
logic (e.g., route logic 410 and/or control logic 420). Responsive
to receiving the traffic flow information, per-lane route manager
400's logic may be configured to determine a per-lane route
including a path for the vehicle to travel and may present or
provide an indication of the per-lane route to an occupant of the
vehicle.
[0089] In some embodiments, per-lane route manager 400 may be
located with the vehicle resident in navigation system 905. In
these embodiments, per-lane route manager 400 may be configured to
present the per-lane route to the occupant through navigation
system 905. Presentation may include turn-by-turn voice guidance
and/or providing an indication of the per-lane route for eventual
display to the occupant.
[0090] In other embodiments, per-lane route manager 400 may be
located remotely to the vehicle in provider 910. In these other
embodiments, per-lane route manager 400 may be configured to
remotely present the per-lane route to the occupant through
provider 910 via a wired or wireless communication medium coupled
to a network. Remote presentation may include transmitting
turn-by-turn voice guidance or may include transmitting data
associated with the per-lane route for eventual display of the
per-lane route by a display system located at, with or in the
vehicle.
[0091] FIG. 10 illustrates another block diagram illustrating
additional aspects of the example traffic flow information system
100. System 100 as shown in FIG. 10, for example, provides more
detail of query source(s) 140. In some examples, query source(s)
140 includes a provider 1005 and a navigation system 1010. Provider
1005 may be located remotely to a vehicle for which a query is
being placed (e.g. a provider of a navigation service). Navigation
system 1010, may be located at, with or in a vehicle for which a
query is being placed. Provider 1005 and navigation system 1010 may
be either one query source or can be two separate query
sources.
[0092] In some embodiments, provider 1005 includes a query manager
300 and may also include a per-lane route manager 400. Navigation
system 1010 may include a per-lane route manager 400 and may also
include a query manager 300. As depicted in FIG. 10, the dotted-box
around per-lane route manager 400 in provider 1005 and around query
manager 300 in navigation system 1010 may indicate that query
manager 300 and per-lane route manager 400 may be co-located either
with provider 1005 or with navigation system 1010. The dotted-box
may also indicate that query manager 300 can be located with
provider 1005 and per-lane route manager 400 can be located with
navigation system 1010. Thus, for example, logic included in query
manager 300 configured to place a query, and logic included in
per-lane route manger 400 configured to determine a per-lane route
and present the per-lane route may be located with provider 1005,
navigation system 1010 or a combination thereof.
[0093] FIG. 11 illustrates a block diagram of an example computer
program product 1100. In some embodiments, as shown in FIG. 11,
computer program product 1100 includes a signal bearing medium 1102
that may also include instructions 1104. In some examples,
instructions 1104, which when executed by a computer, cause the
computer to query a traffic database. The query may include
providing information to include an indication of a start location
and an end location for a vehicle to travel and an indication of a
vehicle type. The traffic database may include traffic lane
characteristics associated with a route between the start location
and the end location. Traffic flow information may then be received
from the traffic database. The traffic flow information may have
been generated by the traffic database responsive to the database
query using a traffic flow model, and the traffic lane
characteristics to provide traffic flow information for the route
between the start location and the end location. Instructions 1104
may further cause the computer to determine a per-lane route for
the vehicle to travel in response to receiving the traffic flow
information. Instruction 1104 may also cause the computer to
present the per-lane route for the vehicle to travel to an occupant
of the vehicle.
[0094] Also depicted in FIG. 11, in some embodiments, are computer
readable medium 1106, recordable medium 1108 and communications
medium 1110. The dotted boxes around these elements may depict
different types of mediums included within, but not limited to,
signal bearing medium 1102. These types of mediums may distribute
instruction 1104 to be executed by a computer. Computer readable
medium 1106 and recordable medium 1108, for example, may include,
but are not limited to, a flexible disk, a hard disk drive, a
Compact Disc (CD), a Digital Video Disk (DVD), a digital tape, a
computer memory, etc. Communications medium 1110, for example, may
include, but is not limited to, a digital and/or an analog
communication medium (e.g., a fiber optic cable, a waveguide, a
wired communication link, a wireless communication link, etc.).
[0095] FIG. 12 is a block diagram illustrating an example computing
device 1200. In some examples, traffic database manager 200, query
manager 300 and/or per-lane route manager 400 depicted in FIGS. 2-4
may be implemented on computing device 1200. In these examples,
elements of computing device 1200 may be arranged or configured to
maintain and/or query a traffic database, generate a traffic flow
model, provide traffic flow information, determine a per-lane
and/or provide the per-lane route for a vehicle to travel. In a
very basic configuration 1201, computing device 1200 typically
includes one or more processors 1210 and system memory 1220. A
memory bus 1230 can be used for communicating between the processor
1210 and the system memory 1220.
[0096] Depending on the desired configuration, processor 1210 can
be of any type including but not limited to a microprocessor
(.mu.P), a microcontroller (.mu.C), a digital signal processor
(DSP), or any combination thereof. Processor 1210 can include one
more levels of caching, such as a level one cache 1211 and a level
two cache 1212, a processor core 1213, and registers 1214. The
processor core 1213 can include an arithmetic logic unit (ALU), a
floating point unit (FPU), a digital signal processing core (DSP
Core), or any combination thereof. A memory controller 1215 can
also be used with the processor 1210, or in some implementations
the memory controller 1215 can be an internal part of the processor
1210.
[0097] Depending on the desired configuration, the system memory
1220 can be of any type including but not limited to volatile
memory (such as RAM), non-volatile memory (such as ROM, flash
memory, etc.) or any combination thereof. System memory 1220
typically includes an operating system 1221, one or more
applications 1222, and program data 1224. Application 1222 includes
instructions 1223 that are arranged to perform the functions as
described herein including the actions described with respect to
traffic database manager 200, query manager 300 or per-lane route
manager 400 architectures shown in FIGS. 2-4 or including the
actions described with respect to the flow charts shown in FIG. 8.
Program Data 1224 includes traffic information data 1225 that is
useful for implementing per-lane route instructions 1223 (e.g.,
query information, traffic lane characteristics, etc.). In some
examples, application 1222 can be arranged to operate with program
data 1224 on an operating system 1221 such that implementations of
maintaining and/or querying a traffic database, generating a
traffic flow model, providing traffic flow information, determining
a per-lane and providing the per-lane route for a vehicle to travel
may be provided as described herein. This described basic
configuration is illustrated in FIG. 12 by those components within
dashed line 1201.
[0098] Computing device 1200 can have additional features or
functionality, and additional interfaces to facilitate
communications between the basic configuration 1201 and any
required devices and interfaces. For example, a bus/interface
controller 1240 can be used to facilitate communications between
the basic configuration 1201 and one or more data storage devices
1250 via a storage interface bus 1241. The data storage devices
1250 can be removable storage devices 1251, non-removable storage
devices 1252, or a combination thereof. Examples of removable
storage and non-removable storage devices include magnetic disk
devices such as flexible disk drives and hard-disk drives (HDD),
optical disk drives such as compact disk (CD) drives or digital
versatile disk (DVD) drives, solid state drives (SSD), and tape
drives to name a few. Example computer storage media can include
volatile and nonvolatile, removable and non-removable media
implemented in any method or technology for storage of information,
such as computer readable instructions, data structures, program
modules, or other data.
[0099] System memory 1220, removable storage 1251 and non-removable
storage 1252 are all examples of computer storage media. Computer
storage media includes, but is not limited to, RAM, ROM, EEPROM,
flash memory or other memory technology, CD-ROM, digital versatile
disks (DVD) or other optical storage, magnetic cassettes, magnetic
tape, magnetic disk storage or other magnetic storage devices, or
any other medium which can be used to store the desired information
and which can be accessed by computing device 1200. Any such
computer storage media can be part of device 1200.
[0100] Computing device 1200 can also include an interface bus 1242
for facilitating communication from various interface devices
(e.g., output interfaces, peripheral interfaces, and communication
interfaces) to the basic configuration 1201 via the bus/interface
controller 1240. Example output interfaces 1260 include a graphics
processing unit 1261 and an audio processing unit 1262, which can
be configured to communicate to various external devices such as a
display or speakers via one or more A/V ports 1263. Example
peripheral interfaces 1260 include a serial interface controller
1271 or a parallel interface controller 1272, which can be
configured to communicate with external devices such as input
devices (e.g., keyboard, mouse, pen, voice input device, touch
input device, etc.) or other peripheral devices (e.g., printer,
scanner, etc.) via one or more I/O ports 1273. An example
communication interface 1280 includes a network controller 1281,
which can be arranged to facilitate communications with one or more
other computing devices 1290 over a network communication via one
or more communication ports 1282. A network communication
connection is one example of a communication media. Communication
media may typically be embodied by computer readable instructions,
data structures, program modules, or other data in a modulated data
signal, such as a carrier wave or other transport mechanism, and
includes any information delivery media. A "modulated data signal"
can be a signal that has one or more of its characteristics set or
changed in such a manner as to encode information in the signal. By
way of example, and not limitation, communication media can include
wired media such as a wired network or direct-wired connection, and
wireless media such as acoustic, radio frequency (RF), infrared
(IR) and other wireless media. The term computer readable media as
used herein can include both storage media and communication
media.
[0101] Computing device 1200 can be implemented as a portion of a
small-form factor portable (or mobile) electronic device such as a
cell phone, smart phone, a personal data assistant (PDA), a
personal media player device, a wireless web-watch device, a
personal headset device, an application specific device, or a
hybrid device that include any of the above functions. Computing
device 1200 can also be implemented as a personal computer
including both laptop computer and non-laptop computer
configurations or implemented in a workstation or a server
configuration.
[0102] References made in this disclosure to the term "responsive
to" or "in response to" are not limited to responsiveness to only a
particular feature and/or structure. A feature may also be
responsive to another feature and/or structure and also be located
within that feature and/or structure. Moreover, when terms or
phrases such as "coupled" or "responsive" or "in response to" or
"in communication with", etc. are used herein or in the claims that
follow, these terms should be interpreted broadly. For example, the
phrase "coupled to" may refer to being communicatively,
electrically and/or operatively coupled as appropriate for the
context in which the phrase is used.
[0103] Those skilled in the art will recognize that it is common
within the art to describe devices and/or processes in the fashion
set forth herein, and thereafter use engineering practices to
integrate such described devices and/or methods into data
processing systems. That is, at least a portion of the devices
and/or methods described herein can be integrated into a data
processing system via a reasonable amount of experimentation. Those
having skill in the art will recognize that a typical data
processing system generally includes one or more of a system unit
housing, a video display device, a memory such as volatile and
non-volatile memory, processors such as microprocessors and digital
signal processors, computational entities such as operating
systems, drivers, graphical user interfaces, and applications
programs, one or more interaction devices, such as a touch pad or
screen, and/or control systems including feedback loops and control
motors (e.g., feedback for sensing position and/or velocity;
control motors for moving and/or adjusting components and/or
quantities). A typical data processing system may be implemented
utilizing any suitable commercially available component, such as
those typically found in data computing/communication and/or
network computing/communication systems.
[0104] The herein described subject matter sometimes illustrates
different components or elements contained within, or connected
with, different other components or elements. It is to be
understood that such depicted architectures are merely examples,
and that in fact many other architectures can be implemented which
achieve the same functionality. In a conceptual sense, any
arrangement of components to achieve the same functionality is
effectively "associated" such that the desired functionality is
achieved. Hence, any two components herein combined to achieve a
particular functionality can be seen as "associated with" each
other such that the desired functionality is achieved, irrespective
of architectures or intermedial components. Likewise, any two
components so associated can also be viewed as being "operably
connected", or "operably coupled", to each other to achieve the
desired functionality, and any two components capable of being so
associated can also be viewed as being "operably couplable", to
each other to achieve the desired functionality. Specific examples
of operably couplable include but are not limited to physically
mateable and/or physically interacting components and/or wirelessly
interactable and/or wirelessly interacting components and/or
logically interacting and/or logically interactable components.
[0105] With respect to the use of substantially any plural and/or
singular terms herein, those having skill in the art can translate
from the plural to the singular and/or from the singular to the
plural as is appropriate to the context and/or application. The
various singular/plural permutations may be expressly set forth
herein for sake of clarity.
[0106] It will be understood by those within the art that, in
general, terms used herein, and especially in the appended claims
(e.g., bodies of the appended claims) are generally intended as
"open" terms (e.g., the term "including" should be interpreted as
"including but not limited to," the term "having" should be
interpreted as "having at least," the term "includes" should be
interpreted as "includes but is not limited to," etc.). It will be
further understood by those within the art that if a specific
number of an introduced claim recitation is intended, such an
intent will be explicitly recited in the claim, and in the absence
of such recitation no such intent is present. For example, as an
aid to understanding, the following appended claims may contain
usage of the introductory phrases "at least one" and "one or more"
to introduce claim recitations. However, the use of such phrases
should not be construed to imply that the introduction of a claim
recitation by the indefinite articles "a" or "an" limits any
particular claim containing such introduced claim recitation to
inventions containing only one such recitation, even when the same
claim includes the introductory phrases "one or more" or "at least
one" and indefinite articles such as "a" or "an" (e.g., "a" and/or
"an" should typically be interpreted to mean "at least one" or "one
or more"); the same holds true for the use of definite articles
used to introduce claim recitations. In addition, even if a
specific number of an introduced claim recitation is explicitly
recited, those skilled in the art will recognize that such
recitation should typically be interpreted to mean at least the
recited number (e.g., the bare recitation of "two recitations,"
without other modifiers, typically means at least two recitations,
or two or more recitations). Furthermore, in those instances where
a convention analogous to "at least one of A, B, and C, etc." is
used, in general such a construction is intended in the sense one
having skill in the art would understand the convention (e.g., "a
system having at least one of A, B, and C" would include but not be
limited to systems that have A alone, B alone, C alone, A and B
together, A and C together, B and C together, and/or A, B, and C
together, etc.). In those instances where a convention analogous to
"at least one of A, B, or C, etc." is used, in general such a
construction is intended in the sense one having skill in the art
would understand the convention (e.g., "a system having at least
one of A, B, or C" would include but not be limited to systems that
have A alone, B alone, C alone, A and B together, A and C together,
B and C together, and/or A, B, and C together, etc.). It will be
further understood by those within the art that virtually any
disjunctive word and/or phrase presenting two or more alternative
terms, whether in the description, claims, or drawings, should be
understood to contemplate the possibilities of including one of the
terms, either of the terms, or both terms. For example, the phrase
"A or B" will be understood to include the possibilities of "A" or
"B" or "A and B."
* * * * *