WO2007103180A2 - Assessing road traffic conditions using data from mobile data sources - Google Patents

Assessing road traffic conditions using data from mobile data sources Download PDF

Info

Publication number
WO2007103180A2
WO2007103180A2 PCT/US2007/005355 US2007005355W WO2007103180A2 WO 2007103180 A2 WO2007103180 A2 WO 2007103180A2 US 2007005355 W US2007005355 W US 2007005355W WO 2007103180 A2 WO2007103180 A2 WO 2007103180A2
Authority
WO
WIPO (PCT)
Prior art keywords
road
data samples
traffic
data
time
Prior art date
Application number
PCT/US2007/005355
Other languages
French (fr)
Other versions
WO2007103180A3 (en
Inventor
Craig H. Chapman
Alec Barker
Mitchel A. Burns, Jr.
Robert C. Cahn
Oliver B. Downs
Jesse S. Hersch
Scott R. Love
Original Assignee
Inrix, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/432,603 external-priority patent/US20070208501A1/en
Priority claimed from US11/431,980 external-priority patent/US20070208493A1/en
Priority claimed from US11/438,822 external-priority patent/US7831380B2/en
Priority claimed from US11/444,998 external-priority patent/US8014936B2/en
Priority claimed from US11/473,861 external-priority patent/US7912627B2/en
Priority claimed from US11/540,342 external-priority patent/US7706965B2/en
Priority to AT07752080T priority Critical patent/ATE523869T1/en
Priority to CN2007800159162A priority patent/CN101438335B/en
Priority to AU2007224206A priority patent/AU2007224206A1/en
Priority to ES07752080T priority patent/ES2373336T3/en
Application filed by Inrix, Inc. filed Critical Inrix, Inc.
Priority to JP2008558317A priority patent/JP2009529187A/en
Priority to EP07752080A priority patent/EP1938296B1/en
Publication of WO2007103180A2 publication Critical patent/WO2007103180A2/en
Publication of WO2007103180A3 publication Critical patent/WO2007103180A3/en

Links

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/0104Measuring and analyzing of parameters relative to traffic conditions

Definitions

  • the following disclosure relates generally to techniques for assessing road traffic conditions based on data obtained from various data sources, such as by inferring traffic-related information for roads of interest based on data samples that reflect actual travel on those roads.
  • One source for obtaining information about current traffic conditions includes observations supplied by humans (e.g., traffic helicopters that provide general information about traffic flow and accidents, reports from drivers via cellphones, etc.), while another source in some larger metropolitan areas is networks of traffic sensors capable of measuring traffic flow for various roads in the area (e.g., via sensors embedded in the road pavement). While human- supplied observations may provide some value in limited situations, such information is typically limited to only a few areas at a time and typically lacks sufficient detail to be of significant use.
  • Traffic sensor networks can provide more detailed information about traffic conditions on some roads in some situations.
  • various problems exist with respect to such information, as well as to information provided by other similar sources.
  • many roads do not have road sensors (e.g., geographic areas that do not have networks of road sensors and/or arterial roads that are not sufficiently large to have road sensors as part of a nearby network), and even roads that have road sensors may often not provide accurate data, which greatly diminishes the value of the data provided by the traffic sensors.
  • One cause of inaccurate and/or unreliable data includes traffic sensors that are broken, and therefore provide no data, intermittent data, or data readings that are incorrect.
  • Another cause of inaccurate and/or unreliable data includes temporary transmission problems in data from one or more sensors, resulting in intermittent delivery, delayed delivery, or no delivery of data.
  • traffic sensors are not configured or designed to report information about their operational status (e.g., whether they are functioning normally or not), and even if operational status information is reported it may be incorrect (e.g. reporting that they are functioning normally when in fact they are not), thus making it difficult or impossible to determine if data provided by the traffic sensors is accurate.
  • some traffic- related information may be available only in raw and/or disaggregated form, and therefore may be of limited utility. Thus, it would be beneficial to provide improved techniques for obtaining and assessing traffic-related information, as well as to provide various additional related capabilities.
  • Figure 1 is a block diagram illustrating data flow between components of an embodiment of a system for assessing road traffic conditions based at least in part on data obtained from vehicles and other mobile data sources.
  • Figures 2A-2E illustrate examples of assessing road traffic conditions based at least in part on data obtained from vehicles and other mobile data sources.
  • Figure 3 is a block diagram illustrating a computing system suitable for executing an embodiment of the described Data Sample Manager system.
  • Figure 4 is a flow diagram of an example embodiment of a Data Sample Filterer routine.
  • Figure 5 is a flow diagram of an example embodiment of a Data Sample Outlier Eliminator routine.
  • Figure 6 is a flow diagram of an example embodiment of a Data Sample
  • Figure 7 is a flow diagram of an example embodiment of Data Sample Flow Assessor routine.
  • Figure 8 is a flow diagram of an example embodiment of a Mobile Data Source Information Provision routine.
  • Figures 9A-9C illustrate examples of actions of mobile data sources in obtaining and providing information about road traffic conditions.
  • Figures 10A-10B illustrate examples of rectifying data samples obtained from road traffic sensors.
  • Figure 11 is a flow diagram of an example embodiment of a Sensor
  • Figure 12 is a flow diagram of an example embodiment of a Sensor Data Reading Error Corrector routine.
  • Figure 13 is a flow diagram of an example embodiment of a Sensor Data Reading Aggregator routine.
  • Figure 14 is a flow diagram of an example embodiment of a Traffic Flow Estimator routine.
  • the assessment of road traffic conditions based on obtained traffic-related data may include various filtering and/or conditioning of the data samples and readings, and various inferences and probabilistic determinations of traffic- related characteristics of interest.
  • obtained road traffic condition information data may include multiple data samples provided by mobile data sources (e.g., vehicles), data readings from road-based traffic sensors (e.g., loop sensors embedded in road pavement), and data from other data sources.
  • the data may be analyzed in various manners to facilitate determination of traffic condition characteristics of interest, such as estimated average traffic speed and estimated total volume of vehicles for particular portions of roads of interest, and to enable such traffic condition determinations to be performed in a realtime or near-realtime manner (e.g., within a few minutes of receiving the underlying data samples and/or readings).
  • obtained data may be conditioned in various ways in order to detect and/or correct errors in the data.
  • Obtained road traffic condition information data may further be filtered in various ways in various embodiments in order to remove data from consideration if it is inaccurate or otherwise unrepresentative of actual traffic condition characteristics of interest, including by identifying data samples that are not of interest based at least in part on roads with which the data samples are associated and/or data samples that are statistical outliers with respect to other data samples - in some embodiments, the filtering may further include performing the associating of the data samples with particular roads.
  • the filtered data samples may further include data samples that otherwise reflect vehicle locations or activities that are not of interest (e.g., parked vehicles, vehicles circling in a parking lot or structure, etc.) and/or data samples that are otherwise unrepresentative of actual vehicle travel on roads of interest.
  • Assessing obtained data may in at least some embodiments include determining traffic conditions (e.g., traffic flow and/or average traffic speed) for various portions of a road network in a particular geographic area, based at least in part on obtained data samples. The assessed data may then be utilized in order to perform other functions related to analyzing, predicting, forecasting, and/or providing traffic-related information.
  • a data sample manager system uses at least some of the described techniques to prepare data for use by traffic data clients, such as a predictive traffic information provider system that generates multiple predictions of traffic conditions at multiple future times, as described in greater detail below.
  • the conditioning of obtained data samples may include rectifying erroneous data samples, such as by detecting and/or correcting errors present in the data in various ways (e.g., for data readings received from road traffic sensors).
  • rectifying erroneous data samples such as by detecting and/or correcting errors present in the data in various ways (e.g., for data readings received from road traffic sensors).
  • techniques are described for assessing the "health" of particular data sources (e.g., road-based traffic sensors) in order to determine whether the data sources are operating correctly and reliably providing accurate data samples, such as based on analysis of the data samples provided by those data sources.
  • current data readings provided by a given traffic sensor may be compared to past data readings provided by that traffic sensor (e.g., historical average data) in order to determine whether the current traffic data readings are significantly different than typical past data readings, such as may be caused by the traffic sensor operating incorrectly and/or other problems in the data, and/or may instead reflect unusual current traffic conditions.
  • detection and analysis of possible errors with particular data sources and/or in current traffic data readings may be performed in various ways in various embodiments, as discussed in greater detail below, including based at least in part on classification techniques such as by using neural networks, Bayesian classifiers, decision trees, etc. After detecting unreliable data samples, such as from broken data sources that are operating incorrectly, such unreliable data samples (as well as missing data samples) may be corrected or otherwise rectified in various ways.
  • missing and unreliable data samples for one or more data sources may be rectified in some embodiments by using one or more other sources of related information, such as via contemporaneous data samples from nearby or otherwise related traffic sensors that are operating correctly (e.g., by averaging data readings provided by adjacent traffic sensors), via predictive information related to the missing and unreliable data samples (e.g., by determining expected data readings for the one or more data sources using predicted and/or forecast traffic condition information for those data sources), via historical information for the one or more data sources (e.g., by utilizing historical average data readings), via adjustments to incorrect data samples using information about consistent bias or other types of errors causing errors that can be compensated for, etc. Additional details related to rectifying missing and unreliable data samples are included below.
  • traffic condition information in various other ways, such as in cases where currently available data may not allow rectification of data samples for a particular data source (e.g., a particular traffic sensor) to be reliably performed. For example, the presence of multiple nearby unhealthy traffic sensors that are operating incorrectly may result in there being insufficient data to assess traffic flow information with sufficient confidence for individual ones of those traffic sensors.
  • traffic condition information may be estimated in various other ways, including based on groups of related traffic sensors and/or other information related to the structure of a road network.
  • each road of interest may be modeled or represented by the use of multiple road segments, each of which may have multiple associated traffic sensors and/or available data from one or more other data sources (e.g., mobile data sources).
  • road traffic condition information may be estimated for a particular road segment (or other group of multiple related traffic sensors) in various ways, such as by using traffic condition information assessed for neighboring road segments, predicted information for the particular road segment (e.g., that is generated for a limited future time period, such as three hours, based at least in part on current and recent conditions at a time of the predicting), forecast information for the particular road segment (e.g., that is generated for a longer future time period, such as two weeks or longer, in a manner that does not use some or all of the current and recent condition information used for predicting), historical average conditions for the particular road segment, etc.
  • traffic condition information may be provided even in the presence of little or no current traffic condition data for one or more nearby traffic sensors or other data sources. Additional details
  • the mobile data sources include vehicles on the road, which may each include one or more computing systems that provide data about movement of the vehicle.
  • each vehicle may include a GPS ("Global Positioning System") device and/or other geo-location device capable of determining the geographic location, speed, direction, and/or other data that characterizes or is otherwise related to the vehicle's travel, and one or more devices on the vehicle (whether the geo-location device(s) or a distinct communication device) may from time to time provide such data (e.g., by way of a wireless link) to one or more systems able to use the data (e.g., a data sample manager system, as described in more detail below).
  • GPS Global Positioning System
  • Such vehicles may include, for example, a distributed network of vehicles operated by individual unrelated users, fleets of vehicles (e.g., for delivery companies, taxi and bus companies, transportation companies, governmental bodies or agencies, vehicles of a vehicle rental service, etc.), vehicles that belong to commercial networks providing related information (e.g., the OnStar service), a group of vehicles operated in order to obtain such traffic condition information (e.g., by traveling over predefined routes, or by traveling over roads as dynamically directed, such as to obtain information about roads of interest), vehicles with on-board cellphone devices (e.g., as built-in equipment and/or in the possession of a vehicle occupant) capable. of providing location information
  • the mobile data sources may include or be based on computing devices and other mobile devices of users who are traveling on the roads, such as users who are operators and/or passengers of vehicles on the roads.
  • Such user devices may include devices with GPS capabilities (e.g., cellphones and other handheld devices), or location and/or movement information may instead be produced in other manners in other embodiments.
  • devices in vehicles and/or user devices may communicate with external systems that can detect and.
  • track information about devices e.g., for devices passing by each of multiple transmitters/receivers in a network operated by the system
  • location and/or movement information for the devices may be determined in various manners and with various levels of detail, or such external systems may otherwise be able to detect and track information about vehicles and/or users without interacting with devices (e.g., camera systems that can observe and identify license plates and/or users' faces).
  • Such external systems may include, for example, cellular telephone towers and networks, other wireless networks (e.g., a network of Wi- Fi hotspots), detectors of vehicle transponders using various communication techniques (e.g., RFID, or "Radio Frequency Identification”), other detectors of vehicles and/or users (e.g., using infrared, sonar, radar or laser ranging devices to determine location and/or speed of vehicles), etc.
  • RFID Radio Frequency Identification
  • the road traffic condition information obtained from the mobile data sources may be used in various ways, whether alone or in combination with other road traffic condition information from one or more other sources (e.g., from road traffic sensors).
  • road traffic condition information obtained from mobile data sources is used to provide information similar to that from road sensors but for roads that do not have functioning road sensors (e.g., for roads that lack sensors, such as for geographic areas that do not have networks of road sensors and/or for arterial roads that are not significantly large to have road sensors, for road sensors that are broken, etc.), to verify duplicative information that is received from road sensors or other sources, to identify road sensors that are providing inaccurate data (e.g., due to temporary or ongoing problems), etc.
  • road traffic conditions may be measured and represented in one or more of a variety of ways, whether based on data samples from mobile data sources and/or from traffic sensor data readings, such as in absolute terms (e.g., average speed; volume of traffic for an indicated period of time; average occupancy time of one or more traffic sensors or other locations on a road, such as to indicate the average percentage of time that a vehicle is over or otherwise activating a sensor; one of multiple enumerated levels of road congestion, such as measured based on one or more other traffic condition measures; etc.) and/or in relative terms (e.g., to represent a difference from typical or from maximum).
  • absolute terms e.g., average speed; volume of traffic for an indicated period of time; average occupancy time of one or more traffic sensors or other locations on a road, such as to indicate the average percentage of time that a vehicle is over or otherwise activating a sensor; one of multiple enumerated levels of road congestion, such as measured based on one or more other traffic condition measures; etc.
  • relative terms e
  • some road traffic condition information may take the form of data samples provided by various data sources, such as data sources associated with vehicles to report travel characteristics of the vehicles. Individual data samples may include varying amounts of information.
  • data samples provided by mobile data sources may include one or more of a source identifier, a speed indication, an indication of a heading or direction, an indication of a location, a timestamp, and a status identifier.
  • the source identifier may be a number or string that identifies the vehicle (or person or other device) acting as a mobile data source.
  • the mobile data source identifier may be permanently or temporarily (e.g., for the life of the mobile data source; for one hour; for a current session of use, such as to assign a new identifier each time that a vehicle or data source device is turned on; etc.) associated with the mobile data source.
  • source identifiers are associated with mobile data sources in such a manner as to minimize privacy concerns related to the data from the mobile data sources (whether permanently or temporarily associated), such as by creating and/or manipulating the source identifiers in a manner that prevents the mobile data source associated with an identifier from being identified based on the identifier.
  • the speed indication may reflect the instant or average velocity of the mobile data source expressed in various ways (e.g., miles per hour).
  • the heading may reflect a direction of travel and be an angle expressed in degrees or other measure (e.g., in compass-based headings or radians).
  • the indication of location may reflect a physical location expressed in various ways (e.g., latitude/longitude pairs or Universal Transverse Mercator coordinates).
  • the timestamp may denote the time at which a given data sample was recorded by the mobile data source, such as in local time or UTC
  • a status indicator may indicate the status of the mobile data source (e.g., that the vehicle is moving, stopped, stopped with engine running, etc.) and/or the status of at least some of the sensing, recording, and/or transmitting devices (e.g., low battery, poor signal strength, etc.).
  • the network of roads in a given geographic region may be modeled or represented by the use of multiple road segments.
  • Each road segment may be used to represent a portion of a road (or of multiple roads), such as by dividing a given physical road into multiple road segments (e.g., with each road segment being a particular length, such as a one-mile length of the road, or with road segments being selected to reflect portions of the road that share similar traffic condition characteristics) - such multiple road segments may be successive portions of the road, or may alternatively in some embodiments be overlapping or have intervening road portions that are not part of any road segments.
  • a road segment may represent one or more lanes of travel on a given physical road.
  • a particular multi-lane road that has one or more lanes for travel in each of two directions may be associated with at least two road segments, with at least one road segment associated with travel in one direction and with at least one other road segment associated with travel in the other direction.
  • multiple lanes of a single road for travel in a single direction may be represented by multiple road segments in some situations, such as if the lanes have differing travel condition characteristics.
  • a given freeway system may have express or high occupancy vehicle (“HOV”) lanes that may be beneficial to represent by way of road segments distinct from road segments representing the regular
  • HOV high occupancy vehicle
  • Road segments may further be connected to or otherwise associated with other adjacent road segments, thereby forming a network of road segments.
  • Figure 1 is a block diagram illustrating data flow between components of an embodiment of a Data Sample Manager system.
  • the illustrated data flow diagram is intended to reflect a logical representation of data flow between data sources, components of an embodiment of a Data Sample Manager system, and traffic data clients. That is, actual data flow may occur via a variety of mechanisms including direct flows (e.g., implemented by parameter passing or network communications such as messages) and/or indirect flows via one or more database systems or other storage mechanisms, such as file systems.
  • direct flows e.g., implemented by parameter passing or network communications such as messages
  • indirect flows via one or more database systems or other storage mechanisms, such as file systems.
  • the illustrated Data Sample Manager system 100 includes a Data Sample Filterer component 104, a Sensor Data Conditioner component 105, a Data Sample Outlier Eliminator component 106, a Data Sample Speed Assessor component 107, and a Data Sample Flow Assessor component 108, and an optional Sensor Data Aggregator component 110.
  • the components 104-108 and 110 of the Data Sample Manager system 100 obtain data samples from various data sources, including vehicle-based data sources 101 , road traffic sensors 103, and other data sources 102.
  • Vehicle-based data sources 101 may include multiple vehicles traveling on one or more roads, which may each include one or more computing systems and/or other devices that provide data about the travel of the vehicle.
  • each vehicle may include GPS and/or other geo-location devices capable of determining location, speed, and/or other data related to the vehicle's travel.
  • Road traffic sensors 102 may include multiple sensors that are installed in, at, or near various streets, highways, or other roads, such as loop sensors embedded in the pavement that are capable of measuring the number of vehicles passing above the sensor per unit time, vehicle speed, and/or other data related to traffic flow. Data may similarly be obtained from the road traffic sensors 102 via wire-based or wireless-based data links.
  • Other data sources 103 may include a variety of other types of data sources, including map services and/or databases that provide information regarding road networks such as the connections between roads as well as traffic control information related to such roads (e.g., the existence and/or location of traffic control signals and/or speed zones).
  • the illustrated data sources 101-103 in this example provide data samples directly to various components 104-108 and 110 of the Data Sample Manager system 100
  • the data samples may instead be processed in various ways in other embodiments prior to their provision to those components.
  • processing may include organizing and/or aggregating data samples into logical collections based on time, location, geographic region, and/or the identity of the individual data source (e.g., vehicle, traffic sensor, etc.).
  • processing may include merging or otherwise combining data samples into higher-order, logical data samples or other values. For example, data samples obtained from multiple geographically co-located road traffic sensors may be merged into a single, logical data sample by way of averaging or other aggregation.
  • processing may include deriving or otherwise synthesizing data samples or elements of data samples based on one or more obtained data samples.
  • vehicle-based data sources may each provide data samples that include only a source identifier and a geographic location, and if so groups of multiple distinct data samples provided periodically over a particular time interval or other time period can thereby be associated with one another as having been provided by a particular vehicle.
  • Such groups of data samples may then be further processed in order to determine other travel- related information, such as a heading for each data sample (e.g.
  • the Data Sample Filterer component 104 obtains data samples from the vehicle-based data sources 101 and the other data sources 102 in the illustrated embodiment, and then filters the obtained data samples before providing them to the Data Sample Outlier Eliminator component 106 and optionally to the Data Sample Flow Assessor component 108.
  • such filtering may include associating data samples with road segments corresponding to roads in a geographic area and/or identifying data samples that do not correspond to road segments of interest or that otherwise reflect vehicle locations or activities that are not of interest. Associating data samples with road segments may include using the reported location and/or heading of each data sample to determine whether the location and heading correspond to a previously defined road segment.
  • Identifying data samples that do not correspond to road segments of interest may include removing or otherwise identifying such data samples so that they will not be modeled, considered, or otherwise processed by other components of the Data Sample Manager system 100 - such data samples to be removed may include those corresponding to roads of certain functional road classes (e.g., residential streets) that are not of interest, those corresponding to particular roads or road segments that are not of interest, those corresponding to portions or sections of roads that are not of interest (e.g., ramps and collector/distributor lanes/roads for freeways), etc.
  • certain functional road classes e.g., residential streets
  • portions or sections of roads that are not of interest e.g., ramps and collector/distributor lanes/roads for freeways
  • Identifying data samples that otherwise reflect vehicle locations or activities that are not of interest may include identifying data samples corresponding to vehicles that are in an idle state (e.g., parked with engine running), that are driving in a parking structure (e.g., circling at a very low speed), etc.
  • filtering may in some embodiments include identifying road segments that are (or are not) of interest for presentation or further analysis.
  • such filtering may include analyzing variability of traffic flow and/or level of congestion of various road segments within a particular time period (e.g., hour, day, week), such as to exclude some or all road segments with low intra-time period variability and/or low congestion (e.g., for road segments for which sensor data readings are not available or whose functional road class otherwise indicates a smaller or less-traveled road) from further analysis as being of less interest than other roads and road segments.
  • a particular time period e.g., hour, day, week
  • the Sensor Data Conditioner component 105 assists in rectifying erroneous data samples, such as by detecting and correcting errors in readings obtained from the road traffic sensors 103.
  • data samples that are detected by the Sensor Data Conditioner component as being unreliable are not forwarded on to other components for use (or indications of the unreliability of particular data samples are provided so that the other components can handle those data samples accordingly), such as to the Data Sample Outlier Eliminator component 106. If so, the Data Sample Outlier Eliminator component may then determine whether sufficient reliable data samples are available, and initiate corrective action if not.
  • the Sensor Data Conditioner component may further perform at least some corrections to the data samples, as discussed in greater detail below, and then provide the corrected data to the Sensor Data Aggregator component 110 (and optionally to other components such as the Data Sample Outlier Eliminator component and/or the Data Sample Flow Assessor component). Detecting erroneous data samples may use various techniques, including statistical measures that compare the distribution of current data samples reported by a given road traffic sensor to the historical distribution of data samples reported by that road traffic sensor during a corresponding time period (e.g., same day-of-week and time-of-day).
  • the extent to which the actual and historical distributions differ may be calculated by statistical measures, such as the Kullback-Leibler divergence, which provides a convex measure of the similarity between two probability distributions, and/or by statistical information entropy.
  • some road sensors may report indications of sensor health, and such indications may also be utilized to detect errors in obtained data samples. If errors are detected in obtained data samples, erroneous data samples may be rectified in various ways, including by replacing such data samples with averages of adjacent (e.g., neighbor) data samples from adjacent/neighbor road sensors that have not been determined to be erroneous. In addition, erroneous data samples may be rectified by instead using previously or concurrently forecasted and/or predicted values, such as may be provided by a predictive traffic information system. Additional details regarding predictive traffic information systems are provided elsewhere.
  • the Data Sample Outlier Eliminator component 106 obtains filtered data samples from the Data Sample Filterer component 104 and/or conditioned or otherwise rectified data samples from the Sensor Data Conditioner component 105, and then identifies and eliminates from consideration those data samples that are not representative of actual vehicle travel on the roads and road segments of interest.
  • the component analyzes a group of data samples that were recorded during a particular time period and associated with the road segment (e.g., by the Data Sample Filterer component 104) in order to determine which, if any, should be eliminated.
  • Such determinations of unrepresentative data samples may be performed in various ways, including based on techniques that detect data samples that are statistical outliers with respect to the other data samples in the group of data samples. Additional details regarding data sample outlier elimination are provided elsewhere.
  • the Data Sample Speed Assessor component 107 obtains data samples from the Data Sample Outlier Eliminator component 106, such that the obtained data samples in the illustrated embodiment are representative of actual vehicle travel on the roads and road segments of interest. The Data Sample Speed Assessor component 107 then analyzes the obtained data samples to assess one or more speeds for road segments of interest for at least one time period of interest based on a group of the data samples that have been associated with the road segment (e.g., by the Data Sample Filterer component 104, or by readings from traffic sensors that are part of the road segment) and the time period.
  • the assessed speed(s) may include an average of the speeds for multiple of the data samples of the group, possibly weighted by one or more attributes of the data samples (e.g., age, such as to give greater weight to newer data samples, and/or source or type of the data samples, such as to vary the weight for data samples from mobile data sources or from road sensors so as to give greater weight to sources with higher expected reliability or availability) or by other factors. More details regarding speed assessment from data samples are provided elsewhere.
  • attributes of the data samples e.g., age, such as to give greater weight to newer data samples, and/or source or type of the data samples, such as to vary the weight for data samples from mobile data sources or from road sensors so as to give greater weight to sources with higher expected reliability or availability
  • the Data Sample Flow Assessor component 108 assesses traffic flow information for road segments of interest for at least one time period of interest, such as to assess traffic volume (e.g., expressed as a total or average number of vehicles arriving at or traversing a road segment over a particular amount of time, such as per minute or hour), to assess traffic density (e.g., expressed as an average or total number of vehicles per unit of distance, such as per mile or kilometer), to assess traffic occupancy (e.g., expressed as an average or total amount of time that vehicles occupy a particular point or region over a particular amount of time, such as per minute or hour), etc.
  • traffic volume e.g., expressed as a total or average number of vehicles arriving at or traversing a road segment over a particular amount of time, such as per minute or hour
  • traffic density e.g., expressed as an average or total number of vehicles per unit of distance, such as per mile or kilometer
  • traffic occupancy e.g., expressed as an average or total amount of time that vehicles occupy a particular
  • the assessment of the traffic flow information in the illustrated embodiment is based at least in part on traffic speed-related information provided by the Data Sample Speed Assessor component 107 and the Data Sample Outlier Eliminator component 106, and optionally on traffic data sample information provided by the Sensor Data Conditioner component 105 and the Data Sample Filterer component 104. Additional details regarding data sample flow assessment are provided elsewhere.
  • the Sensor Data Aggregator component 110 aggregates sensor-based traffic condition information provided by the Sensor Data Conditioner component 105, such as after the Sensor Data Conditioner component has removed any unreliable data samples and/or has rectified any missing and/or unreliable data samples. Alternatively, in other embodiments the Sensor Data Aggregator component may instead perform any such removal and/or correction of missing and/or unreliable data samples. In some cases, the Sensor Data Aggregator component 110 may provide traffic flow information for each of various road segments by aggregating (e.g., averaging) information provided by the multiple individual traffic sensors associated with each of those road segments. As such, when present, the Sensor Data
  • Aggregator component 110 may provide information that is complementary to assessed traffic condition information provided by components such as the Data Sample Speed Assessor component 107 and/or the Data Sample Flow
  • Data Sample Speed Assessor component 107 may instead be used if data samples from mobile data sources are not available at all or in sufficient quantity of reliable data samples to allow other components such as the Data Sample Speed Assessor component 107 and Data Sample Flow Assessor component 108 to provide accurate assessed road traffic condition information.
  • the one or more traffic data clients 109 in the illustrated embodiment obtain assessed road traffic condition information (e.g., speed and/or flow data) provided by the Data Sample Speed Assessor component 107 and/or the Data Sample Flow Assessor component 108, and may utilize such data in various ways.
  • traffic data clients 109 may include other components and/or traffic information systems operated by the operator of the Data Sample Manager system 100, such as a predictive traffic information provider system that utilizes traffic condition information in order to generate predictions of future traffic conditions at multiple future times, and/or a realtime (or near- realtime) traffic information presentation or provider system that provides realtime (or near-realtime) traffic condition information to end-users and/or third-party clients.
  • traffic data clients 109 may include computing systems operated by third parties in order to provide traffic information services to their customers.
  • the one or more traffic data clients 109 may optionally in some circumstances (e.g., in instances when insufficient data is available for the Data Sample Speed Assessor component and/or Data Sample Flow Assessor component to perform accurate assessments, and/or if no data is available from vehicle-based or other data sources) obtain road traffic condition information provided by the Sensor Data Aggregator component 110, whether instead of or in addition to data from the Data Sample Speed Assessor component and/or Data Sample Flow Assessor component.
  • road traffic condition assessments may be generated in other manners and using other types of input data in other embodiments, that the described techniques can be used in a wide variety of other situations, and that the invention is thus not limited to the exemplary details provided.
  • Figures 2A-2E illustrate examples of assessing road traffic conditions based on data obtained from vehicles and other mobile data sources, such as may be performed by an embodiment of the described Data Sample Manager system.
  • Figure 2A illustrates an example of data sample filtering for an example area 200 with several roads 201, 202, 203, and 204, and with a legend indication 209 indicating the direction of north.
  • road 202 is a divided, limited access road such as a freeway or toll road, with two distinct groups of lanes 202a and 202b for vehicle travel in the west and east directions, respectively.
  • Lane group 202a includes an HOV lane 202a2 and multiple other regular lanes 202a1
  • lane group 202b similarly includes an HOV lane 202b2 and multiple other regular lanes 202b1.
  • Road 201 is an arterial road with two lanes 201a and 201 b for vehicle travel in the south and north directions, respectively.
  • Road 201 passes over road 202 (e.g., via an overpass or bridge), and road 204 is an on-ramp that connects the northbound lane 201b of road 201 to the eastbound lane group 202b of road 202.
  • Road 203 is a local frontage road adjoining road 202.
  • the roads depicted in Figure 2A may be represented in various ways for use by the described Data Sample Manager system.
  • one or more road segments may be associated with each physical road, such as to have northbound and southbound road segments associated with the northbound lane 201b and southbound lane 201b, respectively.
  • at least one westbound road segment and at least one eastbound road segment may be associated with the westbound lane group 202a and the eastbound lane group 202b of road 202, respectively.
  • the portion of the eastbound lane group 202b east of road 201 may be a separate road segment from the portion of the eastbound lane group 202b west of road 201, such as based on the road traffic conditions typically or often varying between the road portions (e.g., due to a typically significant influx of vehicles to lane group 202b east of road 201 from the on-ramp 204, such as that may typically cause greater congestion in lane group 202b to the east of road 201 ).
  • one or more lane groups may be decomposed into multiple road segments, such as if different lanes typically or often have differing road traffic condition characteristics (e.g., to represent any given portion of lane group 202b as a first road segment corresponding to lanes 202b1 based on those lanes sharing similar traffic condition characteristics, and as a second road segment corresponding to HOV lane 202b2 due to its differing traffic condition characteristics) — in other such situations, only a single road segment may be used for such a lane group, but some data samples (e.g., those corresponding to HOV lane 202b2) may be excluded from use (such as by a Data Sample Filterer component and/or a Data Sample Outlier Eliminator component) when assessing road traffic conditions for the lane group.
  • road traffic condition characteristics e.g., to represent any given portion of lane group 202b as a first road segment corresponding to lanes 202b1 based on those lanes sharing similar traffic condition characteristics, and as a second road segment corresponding
  • some embodiments may represent multiple lanes of a given road as a single road segment, even if the lanes are used for travel in opposite directions, such as if the road traffic conditions are typically similar in both directions - for example, frontage road 205a may have two opposing lanes of travel, but may be represented by a single road segment.
  • Road segments may be determined at least in part in a variety of other ways in at least some embodiments, such as to be associated with geographic information (e.g., physical dimensions and/or heading(s)) and/or traffic-related information (e.g., speed limits).
  • Figure 2A further depicts multiple data samples 205a-k reported by multiple mobile data sources (e.g., vehicles, not shown) traveling in the area 200 during a particular time interval or other time period (e.g. 1 minute, 5 minutes, 10 minutes, 15 minutes, etc.).
  • Each of the data samples 205a-k is depicted as an arrow that indicates a heading for the data sample, as reported by one of the multiple mobile data sources.
  • the data samples 205a-k are superimposed upon the area 200 in such a manner as to reflect locations reported for each of the data samples (e.g., expressed in units of latitude and longitude, such as based on GPS readings), which may differ from the actual locations of the vehicle when that data sample was recorded (e.g., due to an inaccurate or erroneous reading, or due to a degree of variability that is inherent for the location sensing mechanism used).
  • locations reported for each of the data samples e.g., expressed in units of latitude and longitude, such as based on GPS readings
  • data sample 205g shows a location that is slightly north of the road 202b, which may reflect a vehicle that was pulled over off the north side of lane 202b2 (e.g., because of a mechanical malfunction), or it instead may reflect an inaccurate location for a vehicle that was in fact traveling in the eastbound direction in lane 202b2 or other lane.
  • a single mobile data source may be the source of more than one of the illustrated data samples, such as if both sample 205i and sample 205h were reported by a single vehicle based on its travel eastbound along road 202 during the time period (e.g., via a single transmission containing multiple data samples for multiple prior time points, such as to report data samples every 5 minutes or every 15 minutes). More details regarding storing and providing multiple acquired data samples are included below.
  • the described Data Sample Manager system may in some embodiments, filter the obtained data samples, such as to map data samples to predefined road segments and/or identify data samples that do not correspond to such road segments of interest.
  • a data sample will be associated with a road segment if its reported location is within a predetermined distance (e.g., 5 meters) of the location of a road and/or lane(s) corresponding to the road segment and if its heading is within a predetermined angle (e.g., plus or minus 15 degrees) of the heading of the road and/or lanes(s) corresponding to the road segment.
  • Road segments in the illustrated embodiment are associated with sufficient location-based information (e.g., heading of the road segment, physical bounds of the road segment, etc.) to make such a determination, although in other embodiments the association of data samples to road segments may be performed before the data samples are made available to the Data Sample Manager system.
  • sufficient location-based information e.g., heading of the road segment, physical bounds of the road segment, etc.
  • data sample 205a may be associated with a road segment corresponding to road 203, because its reported location falls within the bounds of road 203 and its heading is the same (or nearly the same) as at least one of the headings associated with road 203.
  • the heading of a data sample may be compared to both headings of the road segment in order to determine whether the data sample may be associated with the road segment.
  • data sample 205k has a heading approximately opposite that of data sample 205a, but it may also be associated with the road segment corresponding to road 203, if that road segment is utilized to represent the two opposing lanes of road 203.
  • data sample 205k reflects a vehicle traveling in lane group 202a, such as if the reported location of data sample 205k is within a margin of error for locations of vehicles traveling in one or more of the lanes of lane group 202a, since the heading of data sample 205k is the same (or nearly the same) as the heading of lane group 202a.
  • such cases of multiple possible road segments for a data sample may be disambiguated based on other information associated with the data sample — for example, in this case, an analysis of the reported speed of data sample 205k may be used to assist in the disambiguation, such as if lane group 202a corresponds to a freeway with a 65mph speed limit, road 203 is a local frontage road with a 30mph speed limit, and a reported speed of the data sample is 75mph (resulting in an association with the freeway lane(s) being much more likely than an association with the local frontage road).
  • the reported speed of data sample 205k is more similar to the observed or posted speed for road 203 than to the observed or posted speed for lane group 202a, such information may be used as part of determining to associate the data sample with road 203 and not lane group 202a.
  • the reported speed of data sample 205k is more similar to the observed or posted speed for lane group 202a than to the observed or posted speed for road 203, it may be associated with lane group 202a and not road 203.
  • Other types of information may similarly be used as part of such disambiguation (e.g., location; heading; status; information about other related data samples, such as other recent data samples from the same mobile data source; etc.) ⁇ such as part of a weighted analysis to reflect a degree of match for each type of information for a data sample to a candidate road segment.
  • disambiguation e.g., location; heading; status; information about other related data samples, such as other recent data samples from the same mobile data source; etc.
  • weighted analysis to reflect a degree of match for each type of information for a data sample to a candidate road segment.
  • its reported location occurs at an overlap between lane 201b and lane group 202a, and is near lane 201a as well as other roads.
  • data sample 205c includes a reported location that may match multiple roads/lanes (e.g., lane 201a, lane 201b, and lane group 202a), but its heading (approximately westbound) may be used to select a road segment for lane group 202a as the most appropriate road segment for the data sample.
  • data sample 205d may not be associated with any road segment, because its heading (approximately eastbound) is in the opposite direction as that of lane group 202a (westbound) whose position corresponds to the data sample's reported location. If there are no other appropriate candidate road segments that are near enough (e.g., within a predetermined distance) to the reported location of data sample 205d, such as if lane group 202b with a similar heading is too far way, this data sample may be excluded during filtering from subsequent use in analysis of the data samples.
  • Data sample 205e may be associated with a road segment corresponding to lane group 202a, such as a road segment corresponding to HOV lane 202a2, since its reported location and heading correspond to the location and heading of that lane, such as if a location-based technique used for the location of the data sample has sufficient resolution to differentiate between lanes (e.g., differential GPS, infrared, sonar, or radar ranging devices).
  • Data samples may also be associated with a particular lane of a multi-lane road based on factors other than location-based information, such as if the lanes have differing traffic condition characteristics. For example, in some embodiments the reported speed of a data sample may be used to fit or match the data sample to a particular lane by modeling an expected distribution
  • data sample 205e may be associated with the road segment corresponding to HOV lane 202a2 because the reported speed of that data sample is closer to an observed, inferred or historical average speed of vehicles traveling in HOV lane 202a2 than to an observed, inferred or historical average speed for vehicles traveling in regular lanes 202a1 , such as by determining an observed or inferred average speed based on other data samples (e.g., using data readings provided by one or more road traffic sensors) and/or analysis of other related current data.
  • a normal or Gaussian distribution e.g., a normal or Gaussian distribution
  • data samples 205f, 205h, 205i, and 205j may be associated with the road segments corresponding to lane 201a, lanes 202b1, lanes 202b1 , and ramp 204, respectively, because their reported locations and headings correspond to the locations and headings of those roads or lanes.
  • Data sample 205g may be associated with a road segment corresponding to lane group 202b (e.g., a road segment for HOV lane 202b2) even though its reported location is outside of the bounds of the illustrated road, because the reported focation may be within the predetermined distance (e.g., 5 meters) of the road. Alternatively, data sample 205g may not be associated with any road segment if its reported location is sufficiently far from the road. In some embodiments, different predetermined distances may be used for data samples provided by different data sources, such as to reflect a known or expected level of accuracy of the data source.
  • data samples provided by mobile data sources that utilize uncorrected GPS signals may use a relatively high (e.g., 30 meters) predetermined distance, whereas data samples provided by mobile data sources utilizing differential-corrected GPS devices may be compared using a relatively low (e.g., 1 meter) predetermined distance.
  • data sample filtering may include identifying data samples that do not correspond to road segments of interest and/or are unrepresentative of actual vehicle travel on the roads. For instance, some data samples may be removed from consideration because they have been associated with roads that are not being considered by the Data Sample Manager system. For example, in some embodiments, data samples associated with roads of lesser functional road classes (e.g., residential streets and/or arterials) may be filtered.
  • data samples 205a and/or 205k may be filtered because road 203 is a local frontage road that is of a sufficiently low functional classification to not be considered by the Data Sample Manager system, or data sample 205j may be filtered because the on-ramp is too short to be of interest separate from the freeway. Filtering may further be based on other factors, such as inferred or reported activity of mobile data sources relative to the inferred or reported activity of other mobile data sources on one or more road segments. For example, a series of data samples associated with a road segment and provided by a single mobile data source that all indicate the same location likely indicates that the mobile data source has stopped.
  • data samples corresponding to the stopped mobile data source may be filtered out as being unrepresentative of actual vehicle travel on the road segment, such as due to the mobile data source being a parked vehicle.
  • data samples may include reported indications of the driving status of the vehicle (e.g., that the vehicle transmission is in "park” with the engine running, such as a vehicle stopped to make a delivery), and if so such indications may similarly be used to filter such data samples as being unrepresentative of actual traveling vehicles.
  • Figure 2B illustrates a graphical view of multiple data samples associated with a single road segment obtained from multiple data sources during a particular time interval or other time period, with the data samples plotted on a graph 210 with time measured on the x-axis 210b and speed measured on the y-axis 210a.
  • the illustrated data samples have been obtained from multiple mobile data sources as well as one or more road traffic sensors associated with the road segment, and are shown with differing shapes as illustrated in the displayed legend ⁇ i.e., with darkened diamonds (" ⁇ ”) for data samples obtained from road traffic sensors, and with open squares (" ⁇ ”) for data samples obtained from mobile data sources).
  • the illustrated data samples from mobile data sources may have been associated with the road segment as described with reference to Figure 2A.
  • Exemplary data samples include road traffic sensor data samples 211a- c and mobile data source data samples 212a-d.
  • the reported speed and recording time of a given data sample may be determined by its position on the graph.
  • mobile data source data sample 212d has a reported speed of 15 miles per hour (or other speed unit) and was recorded at a time of approximately 37 minutes (or other time unit) relative to some starting point.
  • some embodiments may analyze or otherwise process obtained data samples within particular time windows during the time period being represented, such as time window 213.
  • time window 213 contains data samples recorded during a 10-minute interval from time 30 minutes to time 40 minutes.
  • some embodiments may further partition the group of data samples occurring within a particular time window into two or more groups, such as group 214a and group 214b.
  • group 214a and group 214b may further partition the group of data samples occurring within a particular time window into two or more groups, such as group 214a and group 214b.
  • group 214a and group 214b may further partition the group of data samples occurring within a particular time window into two or more groups, such as group 214a and group 214b.
  • group 214a and group 214b may further partition the group of data samples occurring within a particular time window into two or more groups, such as group 214a and group 214b.
  • the illustrated data samples appear to reflect a bi- modal distribution of reported speeds, with the bulk of the data samples reporting speeds in the range of 25-30 miles per hour or in the range of 0-8 miles per hour.
  • Such a bi-modal or other multi-modal distribution of speeds may occur, for example, because the underlying traffic flow patterns are nonuniform, such as due to a traffic control signal that causes traffic to flow in a stop-and-go pattern, or to the road segment including multiple lanes of traffic that are moving at different speeds (e.g., an HOV or express lane with relatively higher speeds than other non-HOV lanes).
  • some embodiments may partition the data samples into two or more groups for further processing, such as to produce improved accuracy or resolution of processing (e.g., by calculating distinct average speeds that more accurately reflect the speeds of various traffic flows) as well as additional information of interest (e.g., the speed differential between HOV traffic and non-HOV traffic), or to identify a group of data samples to exclude (e.g., to not include HOV traffic as part of a subsequent analysis).
  • additional information of interest e.g., the speed differential between HOV traffic and non-HOV traffic
  • distinct groups of data samples may be identified in various ways, including by modeling a distinct distribution (e.g., a normal or Gaussian distribution) for the observed speeds of each group.
  • Figure 2C illustrates an example of performing data sample outlier elimination to filter or otherwise exclude from consideration those data samples that are unrepresentative of vehicles traveling on a particular road segment, which in this example is based on the reported speed for the data samples (although in other embodiments one or more other attributes of the data samples could instead be used as part of the analysis, whether instead of or in addition to the reported speeds).
  • Figure 2C shows a table 220 that illustrates data sample outlier elimination being performed on an example group of ten data samples (in actual use, the numbers of data samples being analyzed may be much larger).
  • the illustrated data samples may, for example, be all of the data samples occurring within a particular time window (such as time window 213 of Figure 2B) 1 or alternatively may include only a subset of the data samples of a particular time window (such as those included in group 214a or 214b of Figure 2B) or may include all data samples available for a larger time period.
  • unrepresentative data samples are identified as being statistical outliers with respect to other data samples in a determined group of data samples by determining the deviation of the speed of each data sample in a group of data samples from the average speed of the other data samples in the group.
  • the deviation of each data sample may be measured, for example, in terms of the number of standard deviations difference from the average speed of the other data samples in the group, with data samples whose deviations are greater than a predetermined threshold (e.g., 2 standard deviations) being identified as outliers and being excluded from further processing (e.g., by being discarded).
  • Table 220 includes a heading row 222 that describes the contents of multiple columns 221 a-f.
  • Each row 223a-j of table 220 illustrates a data sample outlier elimination analysis for a distinct one of the ten data samples, with column 221a indicating the data sample being analyzed for each row - as each data sample is analyzed, it is excluded from the other samples of the group to determine the difference that results.
  • the data sample of row 223a may be referred to as the first data sample
  • the data sample of row 223b may be referred to as the second data sample, and so on.
  • Column 221 b contains the reported speed of each of the data samples, measured in miles per hour.
  • Column 221c lists the other data samples in the group against which the data sample of a given row will be compared
  • column 221 d lists the approximate average speed of the group of data samples indicated by column 221c.
  • Column 221 e contains the approximate deviation between the speed of the excluded data sample from column 221b and the average speed listed in column 221 d of the other data samples, measured in number of standard deviations.
  • Column 221 f indicates whether the given data sample would be eliminated, based on whether the deviation listed in column 221 e is greater than 1.5 standard deviations for the purposes of this example.
  • the average speed 224 for all 10 data samples is shown to be approximately 25.7 miles per hour, and the standard deviation 225 of all 10 data samples is shown to be approximately 14.2.
  • row 223a illustrates that the speed of data sample 1 is 26 miles per hour.
  • the average speed of the other data samples 2-10 is calculated as approximately 25.7 miles per hour.
  • the deviation of the speed of data sample 1 from the average speed of the other data samples 2-10 is then calculated as being approximately .02 standard deviations.
  • data sample 1 is determined to not be an outlier since its deviation is below the threshold of 1.5 standard deviations.
  • row 223c illustrates that the speed of data sample 3 is 0 miles per hour and that the average speed of the other data samples 1-2 and 4-10 is calculated as approximately 28.6 miles per hour.
  • the deviation of the speed of data sample 3 from the average speed of the other data samples 1-2 and 4-10 is calculated as approximately 2.44 standard deviations.
  • data sample 3 is determined to be eliminated as an outlier because its deviation is above the threshold of 1.5 standard deviations.
  • V 1 where v,- is speed of the current data sample being analyzed; v ; is the average of the speed of the other data samples (v 0 , ..., v,_ / , v,+/, ..., v n ); ⁇ , is the standard deviation of the other data samples; and c is a constant threshold (e.g., 1.5).
  • v speed of the current data sample being analyzed
  • v is the average of the speed of the other data samples (v 0 , ..., v,_ / , v,+/, ..., v n );
  • is the standard deviation of the other data samples; and c is a constant threshold (e.g., 1.5).
  • the current sample v / will be eliminated if the standard deviation of the other data samples, ⁇ ,, is zero and the speed of the current data sample is not equal to the average speed of the other data samples, v, .
  • v n may be expressed as follows:
  • v ⁇ may be expressed as follows:
  • N is the total number of data samples (including the current data sample); v is the average of all of the data samples v 0 , v,, v 2 , ..., v ⁇ ; v,- is the current data sample, and ⁇ is the standard deviation of all of the data samples vo, v/, V 2 , ..., v n .
  • the averages and standard deviations may be efficiently calculated, and in particular may be calculated in constant time. Since the above algorithm calculates an average and a standard deviation for each data sample in each road segment, the algorithm runs in O(MN) time, where M is the number of road segments and N is the number of data samples per road segment.
  • outlier detection and/or data elimination algorithms may be used, whether instead of or in addition to the described outlier detection, such as techniques based on neural network classifiers, na ⁇ ve Bayesian classifiers, and/or regression modeling, as well as techniques in which groups of multiple data samples are considered together (e.g., if at least some data samples are not independent of other data samples).
  • Figure 2D illustrates an example of performing average speed assessment using data samples, and shows example data samples similar to those depicted in Figure 2B for a particular road segment and period of time.
  • the data samples have been plotted on a graph 230, with time measured on the x-axis 230b and speed measured on the y-axis 230a.
  • the average speed for a given road segment may be computed on a periodic basis (e.g. every 5 minutes). Each computation may consider multiple data samples within a predetermined time window (or interval), such as 10 minutes or 15 minutes.
  • data samples within a time window may be weighted in various manners when aggregating the speeds of the data samples, such as to take into account the age of data samples (e.g., to discount older data samples based on the intuition and the expectation that they do not provide as accurate information as to the actual traffic conditions at the end of the time window or other current time as younger data samples recorded relatively nearer the current time due to changing traffic conditions).
  • weighting data samples such as a type of data source or a particular data source for a data sample (e.g., to weight data samples more heavily if they come from a type of data source or a particular data source that is believed to be more accurate than others or to otherwise provide better data than others), as well as one or more other types of weighting factors.
  • an average speed for the example road segment is computed every five minutes over a 15-minute time window.
  • the example depicts the relative weights of two illustrative data samples, 231a and
  • the time window 235a includes data samples recorded between times 30 and 45
  • the time window 235b includes data samples recorded between times 35 and 50.
  • Data samples 231a and 231b both fall within both time windows 235a and 235b.
  • each data sample in a given time window is weighted in proportion to its age. That is, older data samples weigh less (and therefore contribute less to the average speed) than younger data samples. Specifically, the weight of a given data sample decreases exponentially with age in this example.
  • This decaying weighting function is illustrated by way of two weight graphs 232a and 232b corresponding to time windows 235a and 235b, respectively.
  • Each weight graph 232a and 232b plots data sample recording time on the x-axis (horizontal) against weight on the y-axis (vertical). Samples recorded later in time (e.g., nearer the end of the time window) weigh more than samples recorded earlier in time ⁇ e.g., nearer the beginning of the time window).
  • the weight for a given data sample may be visualized by dropping a vertical line downwards from the data sample in graph 230 to where it intersects with the curve of the weight graph corresponding to the time window of interest.
  • weight graph 232a corresponds to time window 235a, and in accordance with the relative ages of data samples 231a (older) and 231 b (younger), the weight 233a of data sample 231a is less than the weight 233b of data sample 231b.
  • weight graph 232b corresponds to time interval 235b, and it similarly can be seen that the weight 234a of data sample 231a is less than the weight 234b of data sample 231b.
  • the weight of a given data sample decays over time with respect to subsequent time windows.
  • the weight 233b of data sample 231 b in time window 235a is greater than the weight 234b of the same data sample 231b in the later time window 235b, because data sample 231 b is relatively younger during time window 235a compared to time window 235b.
  • the weight of a data sample recorded at time t with respect to a time ending at time T may be expressed as follows:
  • e is the well-known mathematical constant and ⁇ is a variable parameter (e.g., 0.2).
  • is a variable parameter (e.g., 0.2).
  • an error estimate for the computed average speed may be computed as follows:
  • data samples may be weighted based on other factors, whether instead of or in addition to recency of the data samples.
  • data samples may be time-weighted as described above but by utilizing different weight functions (e.g., to have the weight of a data sample decrease linearly, rather than exponentially, with age).
  • data sample weighting may be further based on the total number of data samples in the time interval of interest.
  • the variable parameter ⁇ described above may depend or otherwise vary based on the total number of data samples, such that greater numbers of data samples result in higher penalties (e.g., lower weights) for older data samples, to reflect the increased likelihood that there will be more low latency (e.g., younger) data samples available for purposes of computing average speed.
  • data samples may be weighted based on other factors, including type of data source. For example, it may be the case that particular data sources (e.g., particular road traffic sensors, or all traffic sensors of a particular network) are known (e.g., based on reported status information) or expected (e.g., based on historical observations) to be unreliable or otherwise inaccurate. In such cases, data samples obtained from such road traffic sensors (e.g., such as data sample 211a of Figure 2B) may be weighted less than data samples obtained from mobile data sources.
  • particular data sources e.g., particular road traffic sensors, or all traffic sensors of a particular network
  • expected e.g., based on historical observations
  • Figure 2E facilitates an example of performing traffic flow assessment for road segments based on data samples, such as may include inferring traffic volumes, densities, and/or occupancy.
  • traffic volume of a given road segment is expressed as a total number of vehicles flowing in a given time window over the road segment or a total number of vehicles arriving at the road segment during the time window
  • traffic density of a given road segment is expressed as a total number of vehicles per unit distance (e.g., miles or kilometers)
  • traffic occupancy is expressed as an average amount of time that a particular road segment or point on the road segment is occupied by a vehicle.
  • a total traffic volume the total number of vehicles (including the vehicles that are not mobile data sources) traveling over the road segment during the time window. From the inferred total traffic volume, and assessed average speeds for vehicles on the road segment, it is possible to further calculate traffic density as well as road occupancy.
  • An unsophisticated approach to estimating total traffic volume of a particular road segment during a particular time window would be to simply divide the number of mobile data sample sources for that time window by the percentage of actual vehicles expected to be mobile data sample sources - thus, for example, if mobile data samples are received from 25 mobile data sources during the time window and 10% of the total vehicles on the road segment are expected to be mobile data sample sources, the estimated total volume would be 250 actual vehicles for the amount of time of the time window.
  • this approach may lead to large variability of volume estimates for adjacent time windows due to the inherent variability of arrival rates of vehicles, particularly if the expected percentage of mobile data sample sources is small.
  • total traffic volume of a given road segment may be inferred as follows.
  • Bayesian statistics can be utilized to infer an underlying mean rate of arrival of mobile data sources, ⁇ .
  • the arrival of mobile data sources on the stretch of road corresponding to the road segment may be modeled as a random, discrete process in time, and therefore may be described by Poisson statistics, such that:
  • Bayes Theorem Pi " l ⁇ )P( ⁇ ) P(n)
  • p( ⁇ I n) ⁇ a proportional or relative likelihood of an arrival rate ⁇ , given an observation of n mobile data sources, may be calculated, providing a probability distribution over possible values of ⁇ given various observed values for n.
  • the distribution of likelihoods over various arrival rate values allows a single representative arrival rate value to be selected (e.g., a mean or a median) and a degree of confidence in that value to be assessed.
  • Total traffic volume for a road segment during a time period may in some embodiments alternatively be expressed as a total number of vehicles k flowing in time ⁇ over a length / of the road segment.
  • Figure 2E depicts a three dimensional graph 240 that plots observed number of mobile data sources (n) on the y-axis 241 against inferred traffic arrival rate volume on the x-axis 242 and against likelihood of each inferred traffic volume value on the z-axis 243.
  • average occupancy and density may be calculated using the inferred total traffic arrival rate volume for a given road segment (representing a number of vehicles k arriving during time ⁇ at the road segment), the assessed average speed v, and an average vehicle length d, as follows:
  • the average speed v of vehicles on the road segment may be obtained by utilizing speed assessment techniques, such as those described with reference to Figure 2D.
  • Figures 10A-10B illustrate examples of conditioning and otherwise rectifying erroneous data samples from road traffic sensors, such as unreliable and missing data samples.
  • Figure 10A shows a number of example data readings obtained from multiple traffic sensors at various times, organized into a table 1000.
  • the table 1000 includes multiple data reading rows 1004a-1004y that each .include a traffic sensor ID ("Identifier") 1002a that uniquely identifies the traffic sensor that provided the reading, a traffic sensor data reading value 1002b that includes traffic flow information reported by the traffic sensor, a time of traffic sensor data reading 1002c that reflects the time at which the data reading was taken by the traffic sensor, and a traffic sensor state 1002d that includes an indication of the operational state of the traffic sensor.
  • Identifier traffic sensor ID
  • 1002a that uniquely identifies the traffic sensor that provided the reading
  • a traffic sensor data reading value 1002b that includes traffic flow information reported by the traffic sensor
  • a time of traffic sensor data reading 1002c that reflects the time at which the data reading
  • the data readings 1004a-1004y have been taken by multiple traffic sensors at various times and recorded as represented in the table 1000.
  • data readings may be taken by traffic sensors on a periodic basis (e.g., every minute, every five minutes, etc.) and/or reported by the traffic sensors on such a periodic basis.
  • traffic sensor 123 takes data readings every five minutes, as shown by data readings 1004a-1004d and 1004f-1004i that illustrate a number of data readings taken by traffic sensor 123 between 10:25AM and 10:40AM on two separate days (in this example, 8/13/06 and 8/14/06).
  • Each illustrated data reading 1004a-1004y includes a data reading value 1002b that includes traffic flow information observed or otherwise obtained by the data sensor.
  • traffic flow information may include the speed of one or more vehicles traveling at, near, or over a traffic sensor.
  • data readings 1004a-1004d show that traffic sensor 123 observed, at four different times, vehicle speeds of 34 miles per hour (mph), 36 mph, 42 mph, and 38 mph, respectively.
  • traffic flow information may include total or incremental counts of vehicles traveling at, near, or over a traffic sensor, whether instead of or in addition to speed and/or other information. Total counts may be a cumulative count of vehicles observed by a traffic sensor since the sensor was installed or otherwise activated.
  • Incremental counts may be a cumulative count of vehicles observed by a traffic sensor since the traffic sensor took a previous data reading.
  • Data readings 1004w-1004x show that traffic sensor 166 counted, at two different times, 316 cars and 389 cars, respectively.
  • recorded data readings may not include data reading values, such as when a given traffic sensor has experienced a sensor malfunction, such that it cannot make or record an observation or report an observation (e.g., due to a network failure).
  • data reading 1004k shows that traffic sensor 129 was unable to provide a data reading value at 10:25 AM on the day of 8/13/06, as indicated by a "--" in the data reading value column 1002b.
  • a traffic sensor state 1002d may be associated with at least some data readings, such as if a traffic sensor and/or corresponding communications network provides an indication of the operational state of the traffic sensor.
  • Operational states in the illustrated embodiment include indications that a sensor is functioning properly (e.g., OK), that a sensor is in a power-off state (e.g. OFF), that a sensor is stuck reporting a single value (e.g., STUCK), and/or that a communications link to the network is down (e.g., COM_DOWN), as illustrated in data readings 1004m, 1004k, 1004o, and 1004s, respectively.
  • traffic sensors 123 and 166 in this example are not configured to provide indications of traffic sensor state, as indicated by a "--" in the traffic sensor state column 1002d.
  • Rows 1004e, 1004J, 1004n, 1004q, 1004v, and 1004y and column 1002e indicate that additional traffic sensor data readings may be recorded in some embodiments and/or that additional information may be provided and/or recorded as part of each data reading. Likewise, in some embodiments, less information than is shown may be utilized as a basis for the techniques described herein.
  • Figure 10B illustrates examples of detecting errors in traffic sensor data readings that may be indicative of unhealthy traffic sensors that are operating incorrectly.
  • many traffic sensors may not provide an indication of traffic sensor state, and because in some cases such indications of traffic sensor state may be unreliable (e.g., indicating that a sensor is not functioning properly when in fact it is, or indicating that a sensor is functioning properly when in fact it is not), it may be desirable to utilize statistical and/or other techniques to detect unhealthy traffic sensors based on reported data reading values.
  • an unhealthy traffic sensor may be detected by comparing a current distribution of data readings reported by a given traffic sensor during a time period (e.g., between 4:00PM and 7:29PM) on a particular day to a historical distribution of data readings reported by the traffic sensor during the same time period over multiple past days (e.g., the past 120 days).
  • Such distributions may be generated by, for example, processing multiple data readings obtained from a traffic sensor, such as those shown in Figure 10A.
  • Figure 10B shows three histograms 1020, 1030, and 1040 that each represents a data reading distribution based on data readings obtained from traffic sensor 123 during a time period of interest.
  • the data represented in histograms 1020, 1030, and 1040 is discretized into 5 mile per hour intervals
  • each bar e.g. bar 1024
  • each bar represents a probability between 0 and 1 that vehicle speeds within the 5 mile per hour bucket for that bar occurred during the time period (e.g., based on a percentage of data readings during the time period that fall within the bucket).
  • bar 1024 represents a probability between 0 and 1 that vehicle speeds within the 5 mile per hour bucket for that bar occurred during the time period (e.g., based on a percentage of data readings during the time period that fall within the bucket).
  • 1024 indicates that vehicle speeds between 50 and 54 miles per hour were observed by traffic sensor 123 with a probability of approximately 0.23, such as based on approximately 23% of the data readings obtained from traffic sensor 123 having reported speeds between 50 and 54 miles per hour, inclusive.
  • one or more other bucket sizes may be used, whether in addition to or instead of a 5 mph bucket.
  • a 1 mph bucket may provide a finer granularity of processing, but may also cause high variability between adjacent buckets if sufficient data readings are not available for the time period, while a 10 mph bucket would provide less variability but also less detail.
  • average speed as the measure for analysis and comparison for data readings
  • one or more other measures may be used in other embodiments, whether instead of or in addition to average speed.
  • traffic volume and/or occupancy may similarly be used in at least some embodiments.
  • histogram 1020 represents a historical distribution of data readings taken by traffic sensor 123 between 9:00AM and 12:29PM on Mondays over the last 120 days.
  • Histogram 1030 represents a distribution of data readings taken by sensor 123 between 9:00AM and 12:29 on a particular Monday when traffic sensor 123 was functioning properly. It can be visibly discerned that the shape of histogram 1030 resembles that of histogram 1020, given that traffic patterns on a particular Monday would be expected to be similar to traffic patterns on Mondays in general, and the degree of similarity may be computed in various ways, as discussed below.
  • Histogram 1040 represents a distribution of data readings taken by traffic sensor 123 between 9:00AM and 12:29 on a particular Monday when traffic sensor 123 was not functioning properly, and was instead outputting data readings that did not reflect actual traffic flows.
  • the shape of histogram 1040 differs markedly from that of histogram 1020, as is visibly discernible, reflecting the erroneous data readings reported by traffic sensor 123. For example, a large spike in the distribution is visible at bar 1048, which may be indicative of sensor 123 being stuck for at least some of the time between 9:00AM and 12:30PM and reporting a substantial number of identical readings that were not reflective of actual traffic flows.
  • the Kullback-Leibler divergence between two traffic sensor data distributions may be utilized to determine the similarity between the two distributions, although in other embodiments similarities or differences between distributions may be calculated in other manners.
  • the Kullback-Leibler divergence is a convex measure of the similarity of two probability distributions P and Q. It may be expressed as follows,
  • P, and Q 1 are values of the discretized probability distributions P and Q (e.g., each P 1 and Q 1 is the probability that speeds within the Hh bucket occurred).
  • DKL Kullback-Leibler divergence
  • the Kullback-Leibler divergence 1036 between the data reading distribution shown in histogram 1020 and the data reading distribution shown in histogram 1030 for the healthy traffic sensor is approximately 0.076
  • the Kullback-Leibler divergence 1046 between the data reading distribution shown in histogram 1020 and the data reading distribution shown in histogram 1040 for the unhealthy traffic sensor is approximately 0.568.
  • the DKL 1036 is significantly smaller than the DKL 1046 (in this case, approximately 13% of DKL 1046), reflecting the fact that histogram 1030 (e.g., representing the output of traffic sensor 123 while it was functioning properly) is more similar to histogram 1020 (e.g., representing the average behavior of traffic sensor 123) than histogram 1040 (e.g., representing traffic sensor 123 while it was malfunctioning) is similar to histogram 1020.
  • some embodiments may use other statistical measures to detect erroneous data readings provided by traffic sensors, such as statistical information entropy, whether instead of or in addition to a similarity measure such as from the Kullback-Leibler divergence.
  • the statistical entropy of a probability distribution is a measure of the diversity of the probability distribution.
  • Statistical entropy of a probability distribution P may be expressed as follows, i where P,- is a value of the discretized probability distributions P (e.g., each Pi is the probability that speeds within the Mh bucket of the histogram for
  • the statistical entropy 1022 of the distribution shown in histogram 1020 is approximately 2.17
  • the statistical entropy 1032 of the distribution shown in histogram 1030 is approximately 2.14
  • the statistical entropy 1042 of the distribution shown in histogram 1040 is approximately 2.22.
  • the statistical entropy 1042 is greater than both the statistical entropy 1032 and the statistical entropy 1022, reflecting the more chaotic output pattern exhibited by traffic sensor 123 while it was malfunctioning.
  • the difference between two statistical entropy measures may be measured by calculating the entropy difference measure.
  • the entropy difference measure between two probability distributions P and Q may be expressed as
  • EM ⁇ H(P) ⁇ H(Q) ⁇ 2
  • H(P) and H(Q) are the entropies of the probability distributions P and Q, respectively, as described above.
  • the entropy difference measure (“EM") 1034 between the distribution shown in histogram 1020 and the distribution shown in histogram 1030 is approximately 0.0010
  • the entropy difference measure 1044 between the distribution shown in histogram 1020 and the distribution shown in histogram 1040 is approximately .0023.
  • the entropy difference measure 1044 is significantly larger than the entropy difference measure 1034 (in this case, more than twice as large), reflecting the greater difference between the statistical entropy of the distribution shown in histogram 1040 and the statistical entropy of the distribution shown in histogram 1020, compared to the difference between the statistical entropy of the distribution shown in histogram 1030 and the statistical entropy of the distribution shown in histogram 1020.
  • various information about a current data reading distribution is provided as input to a sensor health (or data reading reliability) classifier, such as based on a neural network, Bayesian classifier, decision tree, etc.
  • the classifier input information may include, for example, the Kullback-Leibler divergence between a historical data reading distribution for the traffic sensor and the current data reading distribution for the traffic sensor, and the statistical entropy of the current data reading distribution.
  • the classifier then assesses the health of the traffic sensor based on the provided inputs, and provides an output that indicates an unhealthy or healthy sensor.
  • additional information may also be provided as input to the classifier, such as an indication of the time-of-day (e.g., a time period from 5:00AM to 9:00AM), day or days of week (e.g., Monday through Thursday, Friday, Saturday or Sunday) corresponding to the time-of-day and/or day-of-week to which the current and historical data reading distributions correspond, size of the mph buckets, etc.
  • Classifiers may be trained by utilizing actual prior data readings, such as those that include indications of traffic sensor state, as illustrated in Figure 10A.
  • unhealthy traffic sensors may be identified without the use of a classifier.
  • a traffic sensor may be determined to be unhealthy if one or more statistical measures are above a predetermined threshold value. For instance, a traffic sensor may be determined to be unhealthy if the Kullback-Leibler divergence between a historical data reading distribution for the traffic sensor and a current data reading distribution for the traffic sensor is above a first threshold value, if the statistical entropy of the current data reading distribution is above a second threshold value, and/or if the entropy difference measure between the current data reading distribution and the historical data reading distribution is above a third threshold.
  • other non-statistical information may be utilized, such as whether the traffic sensor is reporting a sensor state that may be interpreted as healthy or unhealthy.
  • FIG. 3 is a block diagram illustrating an embodiment of a computing system 300 that is suitable for performing at least some of the described techniques, such as by executing an embodiment of a Data Sample Manager system.
  • the computing system 300 includes a central processing unit (“CPU") 335, various input/output (“I/O") components 305, storage 340, and memory 345, with the illustrated I/O components including a display 310, a network connection 315, a computer-readable media drive 320, and other I/O devices 330 (e.g., keyboards, mice or other pointing devices, microphones, speakers, etc.).
  • CPU central processing unit
  • I/O components 305 storage 340
  • memory 345 with the illustrated I/O components including a display 310, a network connection 315, a computer-readable media drive 320, and other I/O devices 330 (e.g., keyboards, mice or other pointing devices, microphones, speakers, etc.).
  • I/O components including a display 310, a network connection 3
  • various systems are executing in memory 345 in order to perform at least some of the described techniques, including a Data Sample Manager system 350, a Predictive Traffic Information Provider system 360, a Key Road Identifier system 361 , a Road Segment Determiner system 362, an RT Information Provider system 363, and optional other systems provided by programs 369, with these various executing systems generally referred to herein as traffic information systems.
  • the computing system 300 and its executing systems may communicate with other computing systems via a network 380 (e.g., the Internet, one or more cellular telephone networks, etc.), such as various client devices 382, vehicle-based clients and/or data sources 384, road traffic sensors 386, other data sources 388, and third- party computing systems 390.
  • a network 380 e.g., the Internet, one or more cellular telephone networks, etc.
  • the Data Sample Manager system 350 obtains various information regarding current traffic conditions and/or previous observed case data from various sources, such as from the road traffic sensors 386, vehicle- based mobile data sources 384 and/or other mobile or non-mobile data sources 388.
  • the Data Sample Manager system 350 then prepares the obtained data for use by other components and/or systems by filtering (e.g., eliminating data samples from consideration) and/or conditioning (e.g., correcting errors) the data, and then assesses road traffic conditions such as traffic flow and/or speed for various road segments using the prepared data.
  • the Data Sample Manager system 350 includes a
  • the Data Sample Manager system performs its assessment of road traffic conditions in a substantially realtime or near-realtime manner, such as within a few minutes of obtaining the underlying data (which may be itself be obtained in a substantially realtime manner from the data sources).
  • the other traffic information systems 360-363 and 369 and/or the third- party computing systems 390 may then use data provided by the Data Sample Manager system in various ways.
  • the Predictive Traffic Information Provider system 360 may obtain (either directly, or indirectly via a database or storage device) such prepared data to generate future traffic condition predictions for multiple future times, and provide the predicted information to one or more other recipients, such as one or more other traffic information systems, client devices 382, vehicle-based clients 384, and/or third- party computing systems 390.
  • the RT Information Provider system 363 may obtain information about assessed road traffic conditions from the Data Sample Manager system, and make 1 the road traffic condition information available to others (e.g., client devices 382, vehicle-based clients 384, and/or third-party computing systems 390) in a realtime or near-realtime manner - when the Data Sample Manager system also performs its assessments in such a realtime or near-realtime manner, the recipients of the data from the RT
  • others e.g., client devices 382, vehicle-based clients 384, and/or third-party computing systems 390
  • Information Provider system may be able to view and use information about current traffic conditions on one or more road segments based on contemporaneous actual vehicle travel on those road segments (as reported by mobile data sources traveling on those road segments and/or by sensors and other data sources providing information about actual vehicle travel on those road segments).
  • the client devices 382 may take various forms in various embodiments, and may generally include any communication devices and other computing devices capable of making requests to and/or receiving information from the traffic information systems.
  • the client devices may execute interactive console applications (e.g., Web browsers) that users may utilize to make requests for traffic-related information (e.g., predicted future traffic conditions information, realtime or near-realtime current traffic conditions information, etc.), while in other cases at least some such traffic-related information may be automatically sent to the client devices (e.g., as text messages, new Web pages, specialized program data updates, etc.) from one or more of the traffic information systems.
  • the road traffic sensors 386 include multiple sensors that are installed in, at, or near various streets, highways, or other roads, such as for one or more geographic areas.
  • These sensors may include loop sensors that are capable of measuring the number of vehicles passing above the sensor per unit time, vehicle speed, and/or other data related to traffic flow.
  • such sensors may include cameras, motion sensors, radar ranging devices, RFID- based devices, and other types of sensors that are located adjacent to or otherwise near a road.
  • the road traffic sensors 386 may periodically or continuously provide measured data readings via wire-based or wireless-based data link to the Data Sample Manager system 350 via the network 380 using one or more data exchange mechanisms (e.g., push, pull, polling, request- response, peer-to-peer, etc.).
  • one or more aggregators of such road traffic sensor information may instead obtain the raw data and make that data available to the traffic information systems (whether in raw form or after it is processed).
  • the other data sources 388 include a variety of types of other sources of data that may be utilized by one or more of the traffic information systems to provide traffic-related information to users, customers, and/or other computing systems.
  • Such data sources include map services and/or databases that provide information regarding road networks, such as the connectivity of various roads to one another as well as traffic control information related to such roads (e.g., the existence and location of traffic control signals and/or speed zones).
  • Other data sources may also include sources of information about events and/or conditions that impact and/or reflect traffic conditions, such as short-term and long-term weather forecasts, school schedules and/or calendars, event schedules and/or calendars, traffic incident reports provided by human operators (e.g., first responders, law enforcement personnel, highway crews, news media, travelers, etc.), road work information, holiday schedules, etc.
  • sources of information about events and/or conditions that impact and/or reflect traffic conditions such as short-term and long-term weather forecasts, school schedules and/or calendars, event schedules and/or calendars, traffic incident reports provided by human operators (e.g., first responders, law enforcement personnel, highway crews, news media, travelers, etc.), road work information, holiday schedules, etc.
  • the vehicle-based clients/data sources 384 in this example may each be a computing system and/or communication system located within a vehicle that provides data to one or more of the traffic information systems and/or that receives data from one or more of those systems.
  • the Data Sample Manager system 350 may utilize a distributed network of vehicle- based mobile data sources and/or other user-based mobile data sources (not shown) that provide information related to current traffic conditions for use by the traffic information systems.
  • each vehicle or other mobile data source may have a GPS ("Global Positioning System") device (e.g., a cellular telephone with GPS capabilities, a stand-alone GPS device, etc.) and/or other geo-location device capable of determining the geographic location, and possibly other information such as speed, direction, elevation and/or other data related to the vehicle's travel, with the geo-location device(s) or other distinct communication devices obtaining and providing such data to one or more of the traffic information systems (e.g., by way of a wireless link) from time to time.
  • GPS Global Positioning System
  • the vehicle-based clients/data sources 384 may each have a computing system and/or communication system located within a vehicle to obtain information from one or more of the traffic information systems, such as for use by an occupant of the vehicle.
  • the vehicle may contain an in-dash navigation system with an installed Web browser or other console application that a user may utilize to make requests for traffic-related information via a wireless link from one of the traffic information systems, such as the Predictive Traffic Information Provider system and/or RT Information Provider system, or instead such requests may be made from a portable device of a user in the vehicle.
  • one or more of the traffic information systems may automatically transmit traffic-related information to such a vehicle-based client device based upon the receipt or generation of updated information.
  • the third-party computing systems 390 include one or more optional computing systems that are operated by parties other than the operators) of the traffic information systems, such as parties who receive traffic-related data from one or more of the traffic information systems and who make use of the data in some manner.
  • the third-party computing systems 390 may be systems that receive traffic information from one or more of the traffic information systems, and that provide related information (whether the received information or other information based on the received information) to users or others (e.g., via Web portals or subscription services).
  • the third- party computing systems 390 may be operated by other types of parties, such as media organizations that gather and report traffic conditions to their consumers, or online map companies that provide traffic-related information to their users as part of travel-planning services.
  • the Predictive Traffic Information Provider system 360 may use data prepared by the Data Sample Manager system 350 and other components in the illustrated embodiment to generate future traffic condition predictions for multiple future times.
  • the predictions are generated using probabilistic techniques that incorporate various types of input data in order to repeatedly produce future time series predictions for each of numerous road segments, such as in a realtime manner based on changing current conditions for a network of roads in a given geographic area.
  • one or more predictive Bayesian or other models e.g., decision trees
  • Predicted future traffic condition information may be used in a variety of ways to assist in travel and for other purposes, such as to plan optimal routes through a network of roads based on predictions about traffic conditions for the roads at multiple future times.
  • the Road Segment Determiner system 362 may utilize map services and/or databases that provide information regarding road networks in one or more geographic areas in order to automatically determine and manage information related to the roads that may be used by other traffic information systems.
  • road-related information may include determinations of particular portions of roads to be treated as road segments of interest (e.g., based on traffic conditions of those road portions and other nearby road portions), as well as automatically generated associations or relationships between road segments in a given road network and indications of other information of interest (e.g., physical locations of road traffic sensors, event venues, and landmarks; information about functional road classes and other related traffic characteristics; etc.).
  • the Road Segment Determiner system 362 may execute periodically and store the information it produces in storage 340 or a database (not shown) for use by other traffic information systems.
  • the Key Road Identifier system 361 utilizes a road network representing a given geographic area and traffic condition information for that geographic area to automatically identify roads that are of interest for tracking and assessing road traffic conditions, such as for used by. other traffic information systems and/or traffic data clients.
  • the automatic identification of a road (or of one or more road segments of the road) as being of interest may be based at least in part on factors such as the magnitude of peak traffic volume or other flow, the magnitude of peak traffic congestion, intra-day variability of traffic volume or other flow, intra-day variability of congestion for the road, inter-day variability of traffic volume or other flow, and/or inter-day variability of congestion for the road.
  • Such factors may be analyzed by way of, for example, principal components analysis, such as by first computing a covariance matrix S of traffic condition information for all roads (or road segments) in a given geographic area, and then computing an Eigen decomposition of the covariance matrix S. In descending order of Eigenvalue, the Eigenvectors of S then represent the combinations of roads (or road segments) that independently contribute most strongly to the variance of the observed traffic conditions.
  • a realtime traffic information provider or presenter system may be provided by the RT Information Provider system, or instead by one or more of the other programs 369.
  • the information provider system may utilize data analyzed and provided by the Data Sample Manager system 350 and/or other components (such as the Predictive Traffic Information Provider system 360) in order to provide traffic information services to consumers and/or business entities that are operating or otherwise utilizing client devices 382, vehicle-based clients 384, third-party computing systems 390, etc., such as to provide data in a realtime or near-realtime manner based at least in part on data samples obtained from vehicles and other mobile data sources.
  • Computing system 300 may be connected to other devices that are not illustrated, including through one or more networks such as the Internet or via the Web.
  • a "client” or “server” computing system or device, or traffic information system and/or component may comprise any combination of hardware or software that can interact and perform the described types of functionality, including without limitation desktop or other computers, database servers, network storage devices and other network devices, PDAs, cellphones, wireless phones, pagers, electronic organizers, Internet appliances, television-based systems (e.g., using set-top boxes and/or personal/digital video recorders), and various other consumer products that include appropriate inter-communication capabilities.
  • the functionality provided by the illustrated system components may in some embodiments be combined in fewer components or distributed in additional components. Similarly, in some embodiments the functionality of some of the illustrated components may not be provided and/or other additional functionality may be available.
  • various items are illustrated as being stored in memory or on storage while being used, these items or portions of them can be transferred between memory and other storage devices for purposes of memory management and/or data integrity. Alternatively, in other embodiments some or all of the software components and/or modules may execute in memory on another device and communicate with the illustrated computing system via inter-computer communication.
  • system components or data structures may also be stored (e.g., as software instructions or structured data) on a computer-readable medium, such as a hard disk, a memory, a network, or a portable media article to be read by an appropriate drive or via an appropriate connection.
  • the system components and data structures can also be transmitted as generated data signals (e.g., as part of a carrier wave or other analog or digital propagated signal) on a variety of computer-readable transmission mediums, including wireless-based and wired/cable-based mediums, and can take a variety of forms (e.g., as part of a single or multiplexed analog signal, or as multiple discrete digital packets or frames).
  • Such computer program products may also take other forms in other embodiments. Accordingly, the present invention may be practiced with other computer system configurations.
  • FIG 4 is a flow diagram of an example embodiment of a Data Sample Filterer routine 400.
  • the routine may be provided by, for example, execution of an embodiment of a Data Sample Filterer component 352 of Figure 3 and/or Data Sample Filterer component 104 of Figure 1, such as to receive data samples corresponding to roads in a geographic area and to filter data samples that are not of interest for later assessments.
  • the filtered data samples may then subsequently be used in various ways, such as to use the filtered data samples to calculate average speeds for particular road segments of interest and to calculate other traffic flow-related characteristics for such road segments.
  • the routine begins in step 405, where a group of data samples is received for a geographic area for a particular period of time.
  • the routine then optionally generates additional information for some or all of the data samples based on other related data samples. For example, if a particular data sample for a vehicle or other mobile data source lacks information of interest (such as speed and/or heading or orientation for the mobile data source), such information may be determined in conjunction with one or both of the prior and subsequent data samples for the same mobile data source.
  • information from multiple data samples for a particular mobile data source may be aggregated in order to assess additional types of information regarding the data source, such as to assess an activity of the data source over a period of time that spans multiple data samples (e.g., to determine if a vehicle has been parked for several minutes rather than temporarily stopped for a minute or two as part of the normal flow of traffic, such as at a stop sign or stop light).
  • step 410 the routine continues to step 415 to attempt to associate each data sample with a road in the geographic area and a particular road segment of that road, although in other embodiments this step may not be performed or may be performed in other manners, such as if at least an initial association of a data sample to a road and/or road segment is instead received in step 405, or instead if the entire routine is performed at a single time for a single road segment such that all of the data samples received in step 405 as a group correspond to a single road segment.
  • the association of a data sample to a road and road segment may be performed in various ways, such as to make an initial association based solely on a geographic location associated with the data sample (e.g., to associate the data sample with the nearest road and road segment).
  • the association may optionally include additional analysis to refine or revise that initial association - for example, if a location-based analysis indicates multiple possible road segments for a data sample (such as multiple road segments for a particular road, or instead multiple road segments for nearby but otherwise unrelated roads), such additional analysis may use other information such as speed and orientation to affect the association (e.g., by combining location information and one or more other such factors in a weighted manner).
  • information about the reported speed of the data sample may be used to assist in associating the data sample with the appropriate road (e.g., by determining that a data sample with an associated speed of 70 miles per hour is unlikely to originate from a frontage road with a speed limit of 25 miles per hour).
  • additional information about the data sample such as speed and/or orientation may be used to select the most likely road segment of the road for the data sample.
  • step 420 filter any data samples that are not associated with road segments that are of interest for later processing, including data samples (if any) that are not associated with any road segment.
  • certain roads or portions of roads may not be of interest for later analysis, such as to exclude roads of certain functional road classes (e.g., if the size of the road and/or its amount of traffic is not sufficiently large to be of interest), or to exclude portions of roads such as a freeway ramp or feeder road or collector/distributor road since the traffic characteristics of such road portions are not reflective of the freeway as a whole.
  • step 420 the routine continues to step 425 to determine whether to filter data samples based on activity of the data sources, although in other embodiments such filtering may not be performed or may always be performed.
  • step 430 to perform such filtering, such as to remove data samples corresponding to data sources whose behavior does not reflect the traffic flow activity of interest to be measured (e.g., to exclude vehicles that are parked with their engines running for an extended period of time, to exclude vehicles that are driving around in a parking lot or parking garage or other small area for an extended period of time, etc.).
  • step 490 the routine continues to step 490 to store the filtered data for later use, although in other embodiments the filtered data could instead be provided directly to one or more clients.
  • the routine then continues to step 495 to determine whether to continue. If so, the routine returns to step 405, and if not continues to step 499 and ends.
  • Figure 5 is a flow diagram of an example embodiment of a Data Sample Outlier Eliminator routine 500.
  • the routine may be provided by, for example, execution of an embodiment of a Data Sample Outlier Eliminator component 354 of Figure 3 and/or Data Sample Outlier Eliminator component 106 of Figure 1 , such as to eliminate data samples for a road segment that are outliers with respect to the other data samples for the road segment.
  • the routine begins in step 505, where a set of data samples for a road segment and a time period are received.
  • the received data samples may be, for example, filtered data samples obtained from the output of the Data Sample Filterer routine.
  • the routine then optionally separates the data samples into multiple groups to reflect distinct parts of the road segment and/or distinct behaviors. For example, if multiple freeway lanes are included together as part of a single road segment and the multiple lanes include at least one
  • the vehicles in the HOV lane(s) may be separated from vehicles in the other lanes if the traffic flow during the time period is significantly different between the HOV and non-HOV lanes.
  • grouping may be performed in various ways, such as by fitting the data samples to multiple curves that each represent typical data sample variability within a particular group of data samples (e.g., a normal or Gaussian curve). In other embodiments, such grouping may not be performed, such as if the road segment is instead divided such that all of the data samples for the road segment reflect similar behavior (e.g., if a freeway with an HOV lane and other non-HOV lanes is instead split into multiple road segments).
  • the routine next continues to step 515 to, for each of the one or more groups of data samples (with all of the data samples being treated as a single group if the data sample separating of step 510 is not performed), calculate average traffic condition characteristics for all of the data samples.
  • average traffic condition characteristics may include, for example, an average speed, as well as corresponding statistical information such as a standard deviation from the mean.
  • the routine then continues to step 520 to, for each of the one or more data sample groups, successively perform a leave-one-out analysis such that a particular target data sample is selected to be provisionally left out and average traffic condition characteristics are determined for the remaining traffic condition characteristics.
  • step 525 the routine then optionally performs. one or more additional types of outlier analysis, such as to successively leave out groups of two or more target data samples in order to assess their joint effect, although in some embodiments such additional outlier analysis may not be performed.
  • step 590 the routine continues to step 590 to remove data samples that are identified as outliers in steps 520 and/or 525, and stores the remaining data samples for later use. In other embodiments, the routine may instead forward the remaining data samples to one or more clients for use.
  • the routine then continues to step 595 to determine whether to continue. If so, the routine returns to step 505, and if not the routine continues to step 599 and ends. .
  • Figure 6 is a flow diagram of an example embodiment of a Data Sample
  • the routine may be provided by, for example, execution of the Data Sample Speed Assessor component 356 of Figure 3 and/or the Data Sample Speed Assessor component 107 of Figure 1 , such as to assess a current average speed for a road segment during a period of time based on various data samples for the road segment.
  • the routine will perform successive calculations of average speed for the road segment for each of multiple time intervals or windows during the period of time, although in other embodiments each invocation of the routine may instead be for a single time interval (e.g., with multiple time intervals assessed via multiple invocations of the routine).
  • the routine begins at step 605, where an indication is received of data samples (e.g., data samples from mobile data sources and physical sensor data readings) for a road segment for a period of time, or of insufficient data for a road segment for a period of time, although in some embodiments only one of data samples from mobile data sources and from sensor data readings may be received.
  • the received data samples may be, for example, obtained from the output of the Data Sample Outlier Eliminator routine.
  • the indication of insufficient data may be received from the Data Sample Outlier Eliminator routine.
  • the indication of insufficient data may be based on having an insufficient number of data samples, such as when there have been no data samples from mobile data sources associated with the road segment for the period of time and/or when some or all sensor data readings for the road segment are missing or have been detected to be erroneous (e.g., by the Sensor Data Conditioner component 105 of Figure 1).
  • the routine continues in step 610 to determine whether an indication of insufficient data has been received. If so, the routine continues to step 615, and if not, the routine continues to step 625.
  • the routine executes an embodiment of the Traffic Flow
  • Estimator routine in order to obtain estimated average traffic speed for the road segment for the period of time.
  • the routine then provides an indication of the estimated average speed.
  • the routine selects the next time interval or window for which an average speed is to be assessed, beginning with the first time interval.
  • the routine then calculates a weighted average traffic speed for the data samples within the time interval, with the weighting of the data samples being based on one or more factors.
  • the weighting for each data sample is varied (e.g., in a linear, exponential, or step-wise manner) based on the latency of the data sample, such as to give greater weight to data samples near the end of the time interval (as they may be more reflective of the actual average speed at the end of the time interval).
  • the data samples may further be weighted in the illustrated embodiment based on the source of the data, such as to weight data readings from physical sensors differently from data samples from vehicles and other mobile data sources, whether more or less heavily.
  • a data reading from one physical sensor may be weighted differently than a data reading from another physical sensor, such as to reflect available information about the sensors (e.g., that one of the physical sensors is intermittently faulty or has a less accurate data reading resolution than another sensor), and a data sample from one vehicle or other mobile data source may similarly be weighted differently from that of another such vehicle or mobile data source based on information about the mobile data sources.
  • Other types of factors that in some embodiments may be used in the weightings include confidence values or other estimates of the possible error in a particular data sample, a degree of confidence that a particular data sample should be associated with a particular road segment, etc.
  • step 630 the routine continues to step 635 to provide an indication of the average calculated traffic speed for the time interval, such as to store the information for later use and/or to provide the information to a client.
  • step 640 the routine then optionally obtains additional data samples for the time period that have become available subsequent to the receipt of information in step 605. It is then determined in step 645 whether more time intervals are to be calculated for the time period, and if so the routine returns to step 625. If there are instead no more time intervals, or after step 620, the routine continues to step 695 to determine whether to continue. If so, the routine returns to step 605, and if not continues to step 699 and ends.
  • Figure 7 is a flow diagram of an example embodiment of a Data Sample Flow Assessor routine 700.
  • the routine may be provided by, for example, execution of an embodiment of a Data Sample Flow Assessor component 358 of Figure 3 and/or Data Sample Flow Assessor component 108 of Figure 1, such as to assess traffic condition flow characteristics other than average speed for a particular road segment during a particular period of time.
  • the flow characteristics to be assessed include a total volume of vehicles (or other mobile data sources) arriving at or present on a particular road segment during a period of time, and a percentage occupancy for the road segment during the period of time to reflect the percentage of time that a point on or area of the road segment is covered by a vehicle.
  • the routine begins at step 705, where an indication is received of data samples for a road segment for a period of time and an average speed for the road segment during the period of time, or of insufficient data for a road segment for a period of time.
  • the data samples may be obtained from, for example, output of the Data Sample Outlier Eliminator routine, and the average speed may be obtained from, for example, output of the Data Sample Speed Assessor routine.
  • the indication of insufficient data may be obtained from, for example, output of the Data Sample Outlier Eliminator routine.
  • the indication of insufficient data may be based on having an insufficient number of data samples, such as when there have been no data samples from mobile data sources associated with the road segment for the period of time and/or when some or all sensor data readings for the road segment are missing or have been detected to be erroneous (e.g., by the Sensor Data Conditioner component 105 of Figure 1).
  • the routine then continues in step 706 to determine whether an indication of insufficient data has been received. If so, the routine continues to step 750, and if not, the routine continues to step 710.
  • step 750 the routine executes an embodiment of the Traffic Flow Estimator routine (described with reference to Figure 14) in order to obtain estimated total volume and occupancy for the road segment for the period of time.
  • step 755 the routine then provides an indication of the estimated total volume and occupancy.
  • the routine determines a number of vehicles (or other mobile data sources) that provided the data samples, such as by associating each data sample with a particular mobile data source.
  • the routine then probabilistically determines the most likely arrival rate to the road segment of the vehicles providing the data samples, based in part on the determined number of vehicles. In some embodiments, the probabilistic determination may further use information about the a priori probability of the number of such vehicles and the a priori probability of a particular arrival rate.
  • step 730 the routine then infers the total volume of all vehicles passing through the road segment during the period of time, such as based on the determined number of vehicles and information about what percentage of the total number of vehicles are vehicles that provide data samples, and further assesses a confidence interval for the inferred total volume.
  • step 740 the routine then infers the percentage occupancy for the road segment during the period of time based on the inferred total volume, the average speed, and an average vehicle length. Other types of traffic flow characteristics of interest may similarly be assessed in other embodiments.
  • the routine then continues to step 790 to provide indications of the inferred total volume and the inferred percentage occupancy. After steps 755 or 790, if it is then determined in step 795 to continue, the routine returns to step 705, and if not continues to step 799 and ends.
  • FIG 11 is a flow diagram of an example embodiment of a Sensor Data Reading Error Detector routine 1100.
  • the routine may be provided by, for example, execution of the Sensor Data Conditioner component 353 of Figure 3 and/or the Sensor Data Conditioner component 105 of Figure 1 , such as to determine the health of one or more traffic sensors.
  • the routine is performed at various times of day to determine the health of one or more traffic sensors, based on traffic sensor data readings recently obtained during an indicated time period.
  • data being output by a traffic sensor for one or more of various types of traffic conditions measures may be analyzed by the routine in various embodiments, such as traffic speed, volume, occupancy, etc.
  • data for at least some of traffic conditions may be measured and/or aggregated in various ways, such as at various levels of granularity (e.g., 5mph buckets of groups of data for speed information), and the routine may in some embodiments analyze data for a particular traffic sensor at each of one or more levels of granularity (or other level of aggregation) for each of one or more traffic conditions measures.
  • levels of granularity e.g., 5mph buckets of groups of data for speed information
  • the routine may in some embodiments analyze data for a particular traffic sensor at each of one or more levels of granularity (or other level of aggregation) for each of one or more traffic conditions measures.
  • the routine begins at step 1105 and receives an indication of one or more traffic sensors and of a selected time category (e.g., the most recent time category, if the routine executes after each time category to provide results in a near-realtime manner, or one or more prior time categories selected for analysis), although in other embodiments multiple time categories may instead be indicated.
  • a selected time category e.g., the most recent time category, if the routine executes after each time category to provide results in a near-realtime manner, or one or more prior time categories selected for analysis
  • time may be modeled by way of time categories that each include a time-of-day category (e.g., 12:00AM to 5:29AM and 7:30PM to 11 :59PM, 5:30AM to 8:59AM, 9:00AM to 12:29PM, 12:30PM to 3:59PM, 4:00PM to 7:29PM, and 12:00AM to 11 :59PM) and/or a day-of-week category (e.g., Monday through Thursday, Friday, Saturday and Sunday, or instead with Saturday and Sunday grouped together).
  • time-of-day category e.g., 12:00AM to 5:29AM and 7:30PM to 11 :59PM, 5:30AM to 8:59AM, 9:00AM to 12:29PM, 12:30PM to 3:59PM, 4:00PM to 7:29PM, and 12:00AM to 11 :59PM
  • day-of-week category e.g., Monday through Thursday, Friday, Saturday and Sunday, or instead with Saturday and Sunday grouped together.
  • Particular time categories may be selected in various ways in various embodiments, including to reflect time periods during which traffic is expected to have similar characteristics (e.g., based on commuting times and patterns, or other consistent activities that affect traffic), such as to group evening and early morning hours together if traffic is typically relatively sparse during those times.
  • time categories may be selected to differ for different traffic sensors (e.g., by geographic area, road, individual sensor, etc.), whether manually or in an automated manner by analyzing historical data to determine time periods that have similar traffic flow characteristics.
  • the routine then performs a loop in which it analyzes traffic sensor data readings from each of the indicated one or more traffic sensors for the indicated time categories in order to determine the traffic sensor health status of each of the traffic sensors during that time category.
  • the routine selects the next traffic sensor of the indicated one or more traffic sensors, beginning with the first, and selects the indicated time category (or, if multiple time categories were instead indicated in step 1105, the next combination of traffic sensor and indicated time category).
  • the routine retrieves an average historical data reading distribution for the traffic sensor during the selected time category.
  • the historical data reading distribution may be based on data readings provided by the traffic sensor during the selected time category (e.g., between 4:00PM and 7:29PM on days of the week that include Monday through Thursday) over an extended time period, such as the last 120 days or a recent 120 day period).
  • the selected time category e.g., between 4:00PM and 7:29PM on days of the week that include Monday through Thursday
  • an extended time period such as the last 120 days or a recent 120 day period
  • step 1120 the routine determines a target traffic sensor data distribution for the selected traffic sensor and selected time category.
  • step 1125 the routine then determines the similarity of the target traffic sensor data reading distribution and the historical traffic sensor data reading distribution. As described in more detail elsewhere, in some embodiments, such a similarity measure may be determined by calculating the Kullback-Leibler divergence between the target traffic sensor data reading distribution and the historical traffic sensor data reading distribution.
  • step 1130 the routine next determines the information entropy of the target traffic sensor data reading distribution, as discussed in greater detail elsewhere.
  • the routine next assesses the health of the selected traffic sensor for the selected time category by using various information to perform a health classification (e.g., an indication of "healthy” or “unhealthy”, or a value on a "health” scale such as from 1 to 100), which in this example includes the determined similarity, determined entropy, and the selected time category (e.g., the selected time-of-day category, such as 4:00PM to 7:29PM, and/or the selected day-of-week category, such as Monday to Thursday).
  • a health classification e.g., an indication of "healthy” or “unhealthy", or a value on a "health” scale such as from 1 to 100
  • the selected time category e.g., the selected time-of-day category, such as 4:00PM to 7:29PM, and/or the selected day-of-week category, such as Monday to Thursday.
  • other types of information could be used, such as an indication of a degree of granularity of the data being measured (e.g.,
  • the routine determines the traffic sensor health status for the selected traffic sensor and selected time category (in this example as healthy or unhealthy) based on the assessed traffic sensor health and/or other factors.
  • the health status for a traffic sensor may be determined to be healthy whenever the traffic sensor health for the selected time category is assessed as healthy in step 1135.
  • the health status for the traffic sensor may be determined to be unhealthy whenever the traffic sensor health for the selected time category is assessed as unhealthy (e.g., in step 1135), and the selected time category has an associated time-of- day category that covers a sufficiently large time period (e.g., at least 12 or 24 hours).
  • information about related time categories may be retrieved and used, such as to classify traffic sensor health over a longer period of time (e.g., a day).
  • Such logic may reduce the risk of a false negative determination of sensor health status (e.g., determining the traffic sensor health status as unhealthy when in fact the traffic sensor is healthy) based on temporary unusual traffic patterns that the traffic sensor is accurately reporting.
  • false negative determinations may occur due to substantial intra-day variability in data readings due to external factors (e.g., traffic accidents, weather incidents, etc.).
  • An automobile accident occurring at or near a particular traffic sensor may result in that traffic sensor providing atypical and erratic data readings for a relatively short time period (e.g., one to two hours).
  • a determination of sensor health status is solely based on data readings obtained primarily during the time of the disturbance caused by the traffic accident, a false negative determination will likely result.
  • By basing the determination of unhealthy sensor status on data readings obtained over relatively larger time periods (e.g., 12 or 24 hours) the risk of such false negative determinations may be reduced.
  • false positive determinations may in general be less likely, because malfunctioning traffic sensors are unlikely to provide data readings that are similar to historical data readings (e.g., reflective of ordinary traffic patterns). As such, it may be appropriate to determine a traffic sensor health status as healthy based on relatively smaller time periods.
  • Some embodiments may effect such differential logic by executing the illustrated routine multiple times per day with time categories reflective of shorter time periods (e.g., executing the routine every three hours with a time category having a time-of-day category extending over the previous three hours) and at least once per day with a time category reflective of the entire previous day (e.g., executing the routine at midnight with a time category having a time-of-day category extending over the previous 24 hours).
  • the determination of sensor health status may be based on other factors, such as whether a sufficient number of data readings can be obtained for the selected time category (e.g., because the traffic sensor is intermittently reporting data readings) and/or based on indications of sensor state provided by the traffic sensor (e.g., that the traffic sensor is stuck).
  • the routine provides the determined traffic sensor health status.
  • the traffic sensor health status may be stored (e.g., in a database or file system) for later use by other components (e.g., the Sensor Data Aggregator component 110 of Figure 1) and/or directly provided to other components (e.g., a Data Sample Outlier Eliminator component).
  • the routine determines whether there are more traffic sensors (or combinations of traffic sensors and time categories) to process. If so, the routine continues to step 1110 to continue, and if not continues to step 1155 to perform other actions as appropriate.
  • Such other actions may include, for example, periodically (e.g., once per day, once per week, etc.) recalculating historical data reading distributions (e.g., for the last 120 days) for each of one or more time categories for each of multiple traffic sensors.
  • the routine may continue to provide accurate traffic sensor health status determinations in the face of gradually changing traffic conditions (e.g., due to the initiation or completion of road construction projects).
  • the routine continues to step 1199 and returns.
  • Figure 12 is a flow diagram of an example embodiment of a Sensor Data Reading Error Corrector routine 1200.
  • the routine may be provided by, for example, execution of the Sensor Data Conditioner component 353 of Figure 3 and/or the Sensor Data Conditioner component 105 of Figure 1 , such as to determine corrected data readings for one or more traffic sensors associated with a road segment.
  • this routine may be executed periodically (e.g., every 5 minutes) to correct data readings for traffic sensors that have been identified as unhealthy by the Sensor Data Reading Error Corrector routine.
  • the routine may be executed on demand, such as by the Sensor Data Aggregator routine, in order to obtain corrected data readings for a particular road segment, or instead may not be used in various circumstances.
  • data analysis and correction may be performed more generally by determining if all data samples (e.g., from multiple data sources, such as of multiple types that may include traffic sensors and one or more distinct types of mobile data sources) for a particular road segment provide sufficient data to analyze traffic flow conditions for that road segment, and if so to not perform correction of data from individual traffic sensors.
  • data samples e.g., from multiple data sources, such as of multiple types that may include traffic sensors and one or more distinct types of mobile data sources
  • the routine begins at step 1205, where it receives an indication of a road segment with which one or more traffic sensors are associated (e.g., based on results from the Sensor Data Reading Error Detector routine that one or more of the associated traffic sensors have been classified as unhealthy), and optionally of one or more time categories to be processed (e.g., time categories during which at least one of the associated traffic sensors have been classified as at least potentially being unhealthy).
  • one or more traffic sensors of interest may be indicated in other manners, such as by directly receiving indications of one or more traffic sensors.
  • the routine performs a loop in which it processes unhealthy traffic sensors in the indicated road segment to determine and provide corrected data readings for those traffic sensors during one or more time categories (e.g., the time categories indicated in step 1205).
  • the routine selects the next unhealthy traffic sensor in the indicated road segment, beginning with the first.
  • the routine also selects a time category to use, such as one of one or more time categories indicated in step 1205, by selecting one of one or more time categories during which the traffic sensor was previously designated to be unhealthy, etc.
  • the routine determines whether there are sufficient other traffic sensors in the indicated road segment that are healthy and may be used to assist in the correction of the readings for the unhealthy traffic sensor for the selected time category.
  • This determination may be based on whether there are at least a predetermined number (e.g., at least two) and/or a predetermined percentage (e.g., at least 30%) of healthy traffic sensors in the indicated road segment during the selected time category, and may further consider the relative location of the healthy traffic sensors in the indicated road segment (e.g., neighboring or otherwise nearby traffic sensors may be preferred to traffic sensors that are farther away from the unhealthy traffic sensor). If it is determined in step 1215 that there are sufficient healthy traffic sensors, the routine continues to step 1220, where it determines a corrected data reading for the unhealthy traffic sensor based on data readings from other healthy traffic sensors in the road segment for the selected time category.
  • a predetermined number e.g., at least two
  • a predetermined percentage e.g., at least 30%
  • a corrected data reading may be determined in various ways, such as by calculating the average of two or more data readings obtained from healthy traffic sensors in the indicated road segment for the selected time category.
  • all healthy traffic sensors may be used for the averaging, while in other embodiments only selected healthy traffic sensors may be used. For example, if a predetermined percentage (e.g., at least 30%) of traffic sensors in the indicated road segment are healthy during the selected time category, all healthy traffic sensors may be used for the averaging, and otherwise only a predetermined number (e.g., at least two) of the nearest healthy traffic sensors may be used.
  • step 1215 If it is instead determined in step 1215 that there are not sufficient healthy traffic sensors in the indicated road segment for the selected time category, the routine continues to step 1225, where it attempts to determine a corrected data reading for the unhealthy traffic sensor based on other information related to the traffic sensor and/or the road segment.
  • information may include predicted traffic condition information for the road segment and/or unhealthy traffic sensor, forecast traffic condition information for the road segment and/or unhealthy traffic sensor, and/or historical average traffic condition information for the road segment and/or the unhealthy traffic sensor.
  • Various logic may be implemented to reflect the relative reliability of various types of information.
  • predicted traffic condition information may be used in preference to (e.g., so long as it is available) to forecast traffic condition information, which may in turn be used in preference to historical average traffic condition information. Additional details related to predicting and forecasting future traffic flow conditions are available in U.S. Patent Application No. 11/367,463, filed March 3, 2006 and entitled "Dynamic Time Series Prediction Of Future Traffic Conditions," which is hereby incorporated by reference in its entirety.
  • steps 1215 and 1225 may not be performed, such as if the data reading correction in step 1220 is always performed based on the best data that is available from other healthy traffic sensors during the selected time category and/or related time categories.
  • the data reading correction may be based on all healthy traffic sensors in the indicated road segment for the selected time category if at least a predetermined percentage (e.g., at least 30%) of those traffic sensors are healthy, or otherwise on the nearest neighbor healthy traffic sensors in the indicated and/or nearby road segments during the selected time category and/or related time categories.
  • a predetermined percentage e.g., at least 30%
  • step 1230 the routine determines whether there are additional combinations of traffic sensor and time category to process. If so, the routine returns to step 1210, and if not proceeds to step 1299 and returns.
  • Figure 13 is a flow diagram of an example embodiment of a Sensor Data Reading Aggregator routine 1300.
  • the routine may be provided by, for example, execution of the Sensor Data Aggregator component 355 of Figure 3 and/or the Sensor Data Aggregator component 110 of Figure 1, such as to determine and provide traffic condition information for multiple traffic sensors during a particular time category or other time period, such as for multiple traffic sensors associated with a particular road segment.
  • the routine is performed for particular road segments, but in other embodiments may aggregate information from other types of groups of multiple traffic sensors.
  • this routine may provide traffic condition information that is complementary to information provided by other routines that perform assessments of traffic condition information (e.g., the Data Sample Flow Assessor routine), such as to provide traffic condition information in situations in which other routines cannot provide accurate assessments (e.g., due to insufficient data).
  • traffic condition information that is complementary to information provided by other routines that perform assessments of traffic condition information (e.g., the Data Sample Flow Assessor routine), such as to provide traffic condition information in situations in which other routines cannot provide accurate assessments (e.g., due to insufficient data).
  • the routine begins at step 1305 and receives an indication of one or more road segments and of one or more time categories or other time periods.
  • the routine selects the next road segment of the one or more indicated road segments, beginning with the first.
  • the routine obtains some or all available traffic sensor data readings taken during the indicated time period(s) by all traffic sensors associated with the road segment. Such information may be obtained from, for example, the Sensor Data
  • the routine may in some cases obtain traffic sensor data readings for traffic sensors determined to be healthy and/or corrected traffic sensor data readings for traffic sensors determined to be unhealthy, such as those provided or determined by the Sensor Data Reading Error Corrector routine of Figure 12.
  • the routine then aggregates the obtained data readings in one or more of various ways, such as to determine average speed, volume, and/or occupancy for the road segment during the indicated time period(s).
  • the average speed may, for example, be determined by averaging data readings that reflect the speed of vehicles passing over one or more traffic sensors.
  • the traffic volume may be determined with reference to data readings that report vehicle counts. For example, given a loop sensor that reports a cumulative number of vehicles that have passed over the sensor since the sensor was activated, a traffic volume may be inferred simply by subtracting two data readings obtained during the indicated time period and dividing the result by the time interval between the data readings.
  • the density may be determined based on the determined average speed, volume, and an average vehicle length, as described in more detail elsewhere.
  • data readings may be weighted in various ways (e.g., by age), such that more recent data readings have a greater impact than older data readings on an average flow determination.
  • step 1325 the routine then determines whether there are more road segments (or other groups of multiple traffic sensors) to process. If so, the routine returns to step 1310, and otherwise proceeds to step 1330 to provide the determined traffic flow information.
  • the determined flow information may be stored (e.g., in a database or file system) for later provision to traffic data clients 109 of Figure 1 and/or the RT Information Provider system 363 of Figure 3.
  • the routine continues to step 1339 and returns.
  • Figure 14 is a flow diagram of an example embodiment of a Traffic
  • the routine may be provided by, for example, execution of a Traffic Flow Estimator component (not shown), such as to estimate various types of traffic flow information for a road segment in various ways.
  • the routine may be invoked by the Data
  • Sample Speed Assessor routine of Figure 6 to obtain estimates of average speed and/or by the Data Sample Flow Assessor routine of Figure 7 to obtain estimates of volume and/or occupancy, such as in situations when those routines are unable to obtain sufficient data for otherwise accurately performing their respective assessments.
  • the routine begins at step 1405 and receives an indication of a road segment, one or more time categories or other time periods, and of one or more types of traffic flow information, such as speed, volume, density, occupancy, etc.
  • the routine determines whether to estimate the indicated type of traffic flow information based on one or more related road segments, such as based on whether such road segments have accurate information for the one or more types of traffic flow information during the one or more indicated time periods.
  • Related road segments may be identified in various ways. For example, in some cases, information about road segments may include information about relationships between road segments, such as a first road segment typically having similar traffic patterns to a second (e.g., neighboring) road segment, such that traffic flow information for the second road segment may be utilized to estimate traffic flow on the first road segment.
  • such relationships may be determined automatically, such as based on a statistical analysis of the respect traffic flow patterns on the two road segments (e.g., in a manner similar to that discussed previously with respect to identifying similar data distributions for a given traffic sensor at different times, but instead analyzing similarity between two or more different traffic sensors, such as at the same time), whether an analysis that was previously and/or dynamically performed.
  • one or more neighboring road segments may be selected as being related for an indicated road segment without any determination of a particular relationship between road segments having been performed.
  • step 1415 estimates value(s) for the indicated type(s) of traffic flow information based on the same type(s) of traffic flow information for the one or more related road segments. For example, average speed of the road segment may be determined based on the average traffic speed of one or more neighboring road segments (e.g., by using the traffic speed from one neighboring road segment, or averaging the traffic speeds from two or more neighboring road segments).
  • step 1410 determines whether to estimate traffic flow information for the indicated road segment during the one or more indicated time periods based on predicted information for the indicated road segment and indicated time periods.
  • predicted information may only be available under certain conditions, such as if predictions are repeatedly made for multiple future times (e.g. every 15 minutes for the next three hours) while accurate current data is available.
  • accurate input data for generating predictions becomes available for an extended time (e.g., for more than three hours), it may not be possible to obtain future traffic condition information predictions that may be utilized by this routine.
  • step 1420 determines whether predicted future traffic condition information may not be available for other reasons, such as due to not being used in that embodiment.
  • the routine proceeds to step 1425 and estimates the indicated type(s) of traffic flow information for the indicated road segment and indicated time period(s) based on predicted information obtained from, for example, the Predictive Traffic Information Provider system 360 of Figure 3. Additional details related to predicting and forecasting future traffic flow conditions are available in U.S. Patent Application No. 11/367,463, filed March 3, 2006 and entitled "Dynamic Time Series Prediction Of Future Traffic Conditions," which is hereby incorporated by reference in its entirety.
  • step 1420 If it is instead determined in step 1420 not to estimate traffic flow information for the indicated segment based on predicted information (e.g., due to that information not being available), the routine continues to step 1430 and determines whether to estimate traffic flow information for the indicated road segment during the one or more indicated time periods based on forecast information for that road segment and time period(s).
  • traffic conditions may be forecast for future times beyond those for which traffic conditions are predicted, such as in a manner that does not use at least some current condition information.
  • predicted information is not available (e.g., because accurate input data for generating predictions has not been available for more than three hours), it still may be possible to utilize forecast information, such as information generated significantly in advance.
  • step 1430 If it is determined in step 1430 to estimate traffic flow information based on forecast information, the routine proceeds to step 1435 and estimates the indicated type(s) of traffic flow information for the indicated road segment and time period(s) based on forecast information obtained from, for example, the Predictive Traffic Information Provider system 360.
  • step 1440 estimates the indicated type(s) of traffic flow information for the indicated road segments and time period(s) based on historical average flow information for the indicated road segment (e.g., for the same or corresponding time periods, such as based on time categories that include a time-of-day category and/or day-of-week category). For example, if forecast information is unavailable (e.g., because input data has been unavailable for longer than the period for which the most recent prediction and forecast was generated, such that neither new predictions nor new forecasts can be generated), the routine may use historical average flow information for the indicated road segment. Additional details related to generating historical average flow information are available in U.S. Patent Application No. _ (Attorney Docket Number
  • step 1445 provides estimated traffic flow information of the indicated type(s) for the indicated road segment and indicated time period(s).
  • the provided information may, for example, be returned to a routine (e.g., the Data Sample Flow Assessor routine) that called the routine and/or be stored (e.g., in a database or file system) for later utilization.
  • a routine e.g., the Data Sample Flow Assessor routine
  • the routine continues to step 1499 and returns.
  • Figures 9A-9C illustrate examples of actions of mobile data sources in obtaining and providing information about road traffic conditions.
  • Information about road traffic conditions may be obtained from mobile devices (whether vehicle-based devices and/or user devices) in various ways, such as by being transmitted using a wireless link (e.g., satellite uplink, cellular network, Wl-Fl, packet radio, etc.) and/or physically downloaded when the device reaches an appropriate docking or other connection point (e.g., to download information from a fleet vehicle once it has returned to its primary base of operations or other destination with appropriate equipment to perform the information download).
  • a wireless link e.g., satellite uplink, cellular network, Wl-Fl, packet radio, etc.
  • an appropriate docking or other connection point e.g., to download information from a fleet vehicle once it has returned to its primary base of operations or other destination with appropriate equipment to perform the information download.
  • While information about road traffic conditions at a first time that is obtained at a significantly later second time provides various benefits (e.g., verifying predictions about the first time, for use as observed case data in later improving a prediction process, etc.), such as may be the case for information that is physically downloaded from a device, such road traffic condition information provides additional benefits when obtained in a realtime or near- realtime manner.
  • mobile devices with wireless communication capabilities may provide at least some acquired information about road traffic conditions on a frequent basis, such as periodically (e.g., every 30 seconds, 1 minute, 5 minutes, etc.) and/or when a sufficient amount of acquired information is available (e.g., for every acquisition of a data point related to road traffic condition information; for every N acquisitions of such data, such as where N is a configurable number; when the acquired data reaches a certain storage and/or transmission size; etc.).
  • such frequent wireless communications of acquired road traffic condition information may further be supplemented by additional acquired road traffic condition information at other times (e.g., upon a subsequent physical download from a device, via less-frequent wireless communications that contain a larger amount of data, etc.), such as to include additional data corresponding to each data point, to include aggregated information about multiple data points, etc. While various benefits are provided by obtaining acquired road traffic condition information from mobile devices in a realtime or other frequent manner, in some embodiments such wireless communications of acquired road traffic condition information may be restricted in various ways.
  • the cost structure of transmitting data from a mobile device via a particular wireless link may be such that transmissions occur at less-frequent intervals (e.g., every 15 minutes), or the mobile devices may have been pre-programmed to transmit at such intervals.
  • a mobile device may temporarily lose an ability to transmit data over a wireless link, such as due to a lack of wireless coverage in an area of the mobile device (e.g., due to no nearby cellphone receiver station), due to other activities being performed by the mobile device or a user of the device, or due to a temporary problem with the mobile device or an associated transmitter.
  • At least some such mobile devices may be designed or otherwise configured to store multiple data samples (or to cause such multiple data samples to be stored on another associated device) so that at least some information for the multiple data samples may be transmitted together during a single wireless transmission.
  • at least some mobile devices are configured to store acquired road traffic condition information data samples during periods when the mobile device is unable to transmit data over a wireless link (e.g., such as for a mobile device that typically transmits each data sample individually, such as every 30 seconds or 1 minute), and to then transmit those stored data samples together (or a subset and/or aggregation of those samples) during the next wireless transmission that occurs.
  • Some mobile devices may also be configured to perform wireless transmissions periodically (e.g., every 15 minutes, or when a specified amount of data is available to be transmitted), and in at least some embodiments may further be configured to acquire and store multiple data samples of road traffic condition information (e.g., at a predetermined sampling rate, such as 30 seconds or a minute) over the time interval between wireless transmissions and to then similarly transmit those stored data samples together (or a subset and/or aggregation of those samples) during the next wireless transmission.
  • a predetermined sampling rate such as 30 seconds or a minute
  • the road traffic condition information obtained from the transmissions still provides near-realtime information.
  • additional information may be generated and provided by a mobile device based on multiple stored data samples. For example, if a particular mobile device is able to acquire only information about a current instant position during each data sample, but is not able to acquire additional related information such as speed and/or direction, such additional related information may be calculated or otherwise determined based on multiple subsequent data samples.
  • Figure 9A depicts an example area 955 with several interconnected roads 925, 930, 935 and 940, and a legend indication 950 indicates the direction of North for the roads (with roads 925 and 935 running in a north-south direction, and with roads 930 and 940 running in an east-west direction). While only a limited number of roads are indicated, they may represent a large geographic area, such as interconnected freeways over numerous miles, or a subset of city streets spanning numerous blocks.
  • a mobile data source e.g., a vehicle, not shown
  • each data sample includes an indication of current position (e.g., in GPS coordinates), current direction (e.g., northbound), current speed (e.g., 30 miles per hour), and current time, as represented for the 945a transmission using data values Pa. ⁇ a. ⁇ a and T a> and may optionally include other information as well (e.g., an identifier to indicate the mobile data source).
  • Figure 9B depicts an example 905 with a mobile data source traveling over the interconnected roads 925, 930, 935 and 940 from location 945a to 945c over a period of 30 minutes, and with the mobile data source transmitting information about traffic conditions each 15 minutes (as indicated by the asterisks shown at locations 945a, 945b and 945c).
  • the mobile data source is configured to acquire and store data samples every minute, with a subsequent transmission including data from each of the data samples during the prior 15 minutes. Accordingly, as the mobile data source travels between location 945a and 945b, the mobile data source acquires a set 910b of 15 data samples 910b1- 910b15, with each data sample indicated in this example with an arrow pointed in the direction of the mobile data source at the time of the data sample. In this example, each data sample similarly includes an indication of current position, current direction, current speed, and current time, and the subsequent transmission at location 945b includes those data values for each of the data samples 910b. Similarly, as the mobile data source travels between location
  • the mobile data source acquires 15 data samples 91 Od- 910c15, and the subsequent transmission at location 945c includes the acquired data values for each of those 15 data samples.
  • various additional information may be obtained. For example, it is now easily determined that the route from location 945b to 945c occurred in part along road 930 rather than road 940, allowing corresponding traffic condition information to be attributed to road 930.
  • particular data samples and their adjacent data samples may provide various information about smaller sections of roads, such as to allow road 925 between locations 945a and 945b to be represented as, for example, up to 15 distinct road segments (e.g., by associating each data sample with a distinct road segment) that each has potentially distinct road traffic conditions.
  • the average speed for data samples 910b1-910b6 is approximately static (since the data samples are approximately equally spaced), that the average speed increased for data samples 910b7 and 910b8 (since the data samples correspond to locations that are farther apart, reflecting that greater distance was traveled during the given 1 -minute interval between data samples for this example), and that the average speed decreased for data samples 910b11-910b15. While the data samples in this example provide information about such speed directly, in other embodiments such speed information may be derived from data sample information that includes only current position.
  • Figure 9C depicts a third example 990 with a mobile data source traveling over a portion of the interconnected roads from location 965a to 965c over a period of 30 minutes, and with the mobile data source transmitting information about traffic conditions each 15 minutes (as indicated by the asterisks shown at locations 965a, 965b and 965c).
  • the mobile data source is configured in this example to acquire and store data samples every minute, with a subsequent transmission including data from each of at least some of the data samples during the prior 15 minutes. Accordingly, as the mobile data source travels between location 965a and 965b, the mobile data source acquires a set 960b of 15 data samples 960b1- 960b15.
  • the mobile data source has stopped for approximately 9 minutes at a location to the side of road 925 (e.g., to stop at a coffee shop).
  • the transmission may in some embodiments include all of the information for all of the data samples, or may instead omit at least some such information (e.g., to omit information for data samples 960b6-960b12, since in this situation they do not provide additional useful information if it is known that the mobile data source remained immobile between data samples 960b5 and 960b13).
  • the subsequent transmission may be delayed until 15 data samples to be transmitted are available (e.g., if the periodic transmissions are performed based on amount of data to send rather than time).
  • the mobile data source acquires data samples 960c13 and 960c14 in an area in which wireless communications are not currently available (as indicated in this example with open circles rather than arrows).
  • these data samples would be lost, but in this example are instead stored and transmitted along with the other data samples 960d-960c12 and 960c15 at location 965c.
  • a mobile data source may further temporarily lose the ability to obtain one or more data samples using a primary means of data acquisition (e.g., if a mobile data source loses the ability to obtain GPS readings for a few minutes) - if so, the mobile data source may in some embodiments report the other obtained data samples without further action (e.g., such as to allow the recipient to interpolate or otherwise estimate those data samples if so desired), while in other embodiments may attempt to obtain data samples in other manners (e.g., by using a less accurate mechanism to determine location, such as cellphone tower triangulation, or by estimating current location based on a prior known location and subsequent average speed and heading, such as via dead reckoning), even if those data samples have less precision or accuracy (e.g., which may be reflected by including a lesser degree of confidence or higher degree of possible error to those data samples, or by otherwise including an indication of how those and/or other data samples were generated).
  • a primary means of data acquisition e.g., if a mobile data source
  • each of Figures 9B and 9C are illustrated for a single vehicle or other mobile data source for the purposes of clarity, in other embodiments the multiple data samples for a particular mobile data source may not be used to determine a particular route taken by that mobile data source, and more generally may not even be associated with each other (e.g., if the source of each mobile data sample is anonymous or otherwise undifferentiated from other sources).
  • a recipient may not be provided in some embodiments with identifying data related to the source of the mobile data samples and/or with indications that the multiple data samples are from the same mobile data source (e.g., based on a design decision to increase privacy related to the mobile data sources).
  • multiple mobile data sources are used together to determine road condition information of interest, such as to use multiple data samples from all mobile data sources for a particular road segment (or other portion of a road) to determine aggregate information for that road segment.
  • road condition information of interest such as to use multiple data samples from all mobile data sources for a particular road segment (or other portion of a road) to determine aggregate information for that road segment.
  • numerous unrelated mobile data sources may each provide one or more data samples related to their own travel on a particular road segment during that time period, and if each such data sample includes speed and direction information (for example), an average aggregate speed may be determined for that time period and that road segment for all mobile data sources that are generally moving in the same direction, such as in a manner similar to a road sensor that aggregates information for multiple vehicles passing the sensor.
  • a particular data sample may be associated with a particular road segment in various ways, such as by associating the data sample location with the road (or road segment) having the nearest location (whether for any road, or only for roads meeting specified criteria, such as being of one or more indicated functional road classes) and then selecting the appropriate road segment for that road, or by using an indication provided by a mobile data source along with a data sample of an associated road (or road segment).
  • roads other than 1-way roads will be treated as distinct roads for the purposes of assigning data samples to roads and for other purposes (e.g., to treat the northbound lanes of a freeway as being a distinct road from the southbound lanes of the freeway), and if so the direction for a mobile data sample may further be used to determine the appropriate road with which the data sample is associated - in other embodiments, however, roads may be modeled in other manners, such as to treat a two-way city street as a single road (e.g., with average traffic conditions being reported and predicted for vehicles moving in both directions), to treat each lane of a multiple lane freeway or other road as a distinct logical road, etc.
  • fleet vehicles may be configured in various ways to provide data samples of use. For example, if a large fleet of vehicles will each leave the same origination point at a similar time each day, various of the fleet vehicles may be configured differently regarding how soon and how often to begin providing data samples, such as to minimize a very large number of data points all near the single origination point and/or to provide variability in when data samples will be acquired and transmitted.
  • a mobile data source device may be configured in various ways regarding how and when to acquire data samples, including based on total distance covered since a starting point (e.g., an origination point for a group of fleet vehicles), distance covered since a last data sample acquisition and/or transmission, total time elapsed since a starting time (e.g., a departure time of a fleet vehicle from an origination point), time elapsed since a last data sample acquisition and/or transmission, an indicated relationship having occurred with respect to one or more indicated locations (e.g., passing by, arriving at, departing from, etc.), etc.
  • a starting point e.g., an origination point for a group of fleet vehicles
  • distance covered since a last data sample acquisition and/or transmission e.g., total time elapsed since a starting time (e.g., a departure time of a fleet vehicle from an origination point)
  • time elapsed since a last data sample acquisition and/or transmission e.g., an indicated relationship having occurred with
  • a mobile data source device may be configured in various ways regarding how and when to transmit or otherwise provide one or more acquired data samples, such as when predefined conditions are satisfied, including based on total distance covered since a starting point, distance covered since a last data sample acquisition and/or transmission, total time elapsed since a starting time, time elapsed since a last data sample acquisition and/or transmission, an indicated relationship having occurred with respect to one or more indicated locations, an indicated number of data samples having been gathered, an indicated amount of data having been gathered (e.g., an amount such as to fill or substantially fill a cache used to store the data samples on the mobile device, or an amount such as to fill or substantially fill an indicated amount of time for a transmission), etc.
  • Figure 8 is a flow diagram of an example embodiment of a Mobile Data
  • Source Information Provision routine 800 such as may be provided by, for example, operation of a mobile data source device for each of one or more of the vehicle-based data sources 384 of Figure 3 and/or other data sources 388 (e.g., user devices) of Figure 3 and/or vehicle-based data sources 101 of Figure 1 and/or other data sources 102 of Figure 1.
  • the routine acquires data samples for a particular mobile data source to indicate current traffic conditions, and stores the data samples as appropriate such that a subsequent transmission may include information for multiple data samples.
  • the routine begins at step 805, where parameters are retrieved that will be used as part of the data sample acquisition and providing, such as configurable parameters to indicate when data samples should be acquired and when transmissions should occur with information corresponding to one or more data samples.
  • the routine continues to step 810 to wait until it is time to acquire a data sample, such as based on the retrieved parameters and/or other information (e.g., an indicated amount of time having passed since a prior data sample acquisition, an indicated distance having been traveled since a prior data sample acquisition, an indication to acquire data samples in a substantially continuous manner, etc.).
  • the routine then continues to step 815 to acquire a data sample based on the current location and movement of the mobile data source, and stores the data sample in step 820.
  • step 825 If it is determined in step 825 that it is not yet time to transmit data, such as based on the retrieved parameters and/or other information (e.g., an indicated amount of time having passed since a prior transmission, an indicated distance having been traveled since a prior transmission, an. indication to transmit data samples as soon as they become available or in a substantially continuous manner, etc.), the routine returns to step 810. Otherwise, the routine continues to step 830 to retrieve and select any stored data samples since the prior transmission (or since startup, for the first transmission).
  • the routine continues to step 830 to retrieve and select any stored data samples since the prior transmission (or since startup, for the first transmission).
  • the routine then optionally in step 835 generates aggregated data based on multiple of the selected data samples (e.g., an overall average speed for all of the data samples, an average speed and a direction for each data sample if the acquired information provides only location information, etc.), although in other embodiments such aggregated data generation may not be performed.
  • the routine then optionally removes some or all of the acquired information for some or all of the data samples from the selected set of data samples (e.g., to transmit only selected types of data for each data sample, to remove data samples that appear to be outliers or otherwise erroneous, to remove data samples that do not correspond to actual movement of the mobile data source, etc.), although in other embodiments such information removal may not be performed.
  • step 845 the routine then transmits the current information in the current set of data samples and any aggregated information to a recipient that will use the data in an appropriate manner.
  • step 895 the routine determines whether to continue (e.g., whether the mobile data source continues to be in use and mobile), and if so returns to step 810. Otherwise, the routine continues to step 899 and ends.
  • the steps 830-845 may not be performed until such time as the mobile data source is able to transmit or otherwise provide (e.g., via physical download) some or all of the data samples that have been acquired and stored since a prior transmission.
  • the road traffic conditions information may be used in various ways, such as to report current road traffic conditions in a substantially realtime manner, or to use past and current road traffic condition information to predict future traffic conditions at each of multiple future times.
  • the types of input data used to generate predictions of future traffic conditions may include a variety of current, past, and expected future conditions, and outputs from the prediction process may include the generated predictions of the expected traffic conditions on each of multiple target road segments of interest for each of multiple future times (e.g., every 5, 15 or 60 minutes in the future) within a pre-determined time interval (e.g., three hours, or one day), as discussed in greater detail elsewhere.
  • types of input data may include the following: information about current and past amounts of traffic for various target road segments of interest in a geographic area, such as for a network of selected roads in the geographic area; information about current and recent traffic accidents; information about current, recent and future road work; information about current, past and expected future weather conditions (e.g., precipitation, temperature, wind direction, wind speed, etc.); information about at least some current, past and future scheduled events (e.g., type of event, expected start and end times of the event, and/or a venue or other location of the event, etc., such as for all events, events of indicated types, events that are sufficiently large, such as to have expected attendance above an indicated threshold (for example, 1000 or 5000 expected attendees), etc.); and information about school schedules (e.g., whether school is in session and/or the location of one or more schools).
  • information about current and past amounts of traffic for various target road segments of interest in a geographic area such as for a network of selected roads in the geographic area
  • information about current and recent traffic accidents information about
  • the multiple future times at which future traffic conditions are predicted are each points in time
  • such predictions may instead represent multiple time points (e.g., a period of time), such as by representing an average or other aggregate measure of the future traffic conditions during those multiple time points.
  • some or all of the input data may be known and represented with varying degrees of certainty (e.g., expected weather), and additional information may be generated to represent degrees of confidence in and/or other metadata for the generated predictions.
  • the prediction of future traffic conditions may be initiated for various reasons and at various times, such as in a periodic manner (e.g., every five minutes), when any or sufficient new input data is received, in response to a request from a user, etc.
  • Some of the same types of input data may be used to similarly generate longer-term forecasts of future traffic conditions (e.g., one week in the future, or one month in the future) in some embodiments, but such longer-term forecasts may not use some of the types of input data, such as information about current conditions at the time of the forecast generation (e.g., current traffic, weather, or other conditions).
  • such longer-term forecasts may be generated less frequently than shorter-term predictions, and may be made so as to reflect different future time periods than for shorter-term predictions (e.g., for every hour rather than every 15 minutes).
  • the roads and/or road segments for which future traffic condition predictions and/or forecasts are generated may also be selected in various manners in various embodiments.
  • future traffic condition predictions and/or forecasts are generated for each of multiple geographic areas (e.g., metropolitan areas), with each geographic area having a network of multiple inter-connected roads - such geographic areas may be selected in various ways, such as based on areas in which current traffic condition information is readily available (e.g., based on networks of road sensors for at least some of the roads in the area) and/or in which traffic congestion is a significant problem.
  • the roads for which future traffic condition predictions and/or forecasts are generated include those roads for which current traffic condition information is readily available, while in other embodiments the selection of such roads may be based at least in part on one or more other factors (e.g., based on size or capacity of the roads, such as to include freeways and major highways; based on the role the roads play in carrying traffic, such as to include arterial roads and collector roads that are primary alternatives to larger capacity roads such as freeways and major highways; based on functional class of the roads, such as is designated by the Federal Highway Administration; etc.).
  • future traffic condition predictions and/or forecasts may be made for a single road, regardless of its size and/or inter-relationship with other roads.
  • segments of roads for which future traffic condition predictions and/or forecasts are generated may be selected in various manners, such as to treat each road sensor as a distinct segment; to group multiple road sensors together for each road segment (e.g., to reduce the number of independent predictions and/or forecasts that are made, such as by grouping specified numbers of road sensors together); to select road segments so as to reflect logically related sections of a road in which traffic conditions are typically the same or sufficiently similar (e.g., strongly correlated), such as based on traffic condition information from traffic sensors and/or from other sources (e.g., data generated from vehicles and/or users that are traveling on the roads, as discussed in greater detail elsewhere); etc.
  • future traffic condition prediction and/or forecast information may be used in a variety of ways in various embodiments, as discussed in greater detail elsewhere, including to provide such information to users and/or organizations at various times (e.g., in response to requests, by periodically sending the information, etc.) and in various ways (e.g., by transmitting the information to cellular telephones and/or other portable consumer devices; by displaying information to users, such as via Web browsers and/or application programs; by providing the information to other organizations and/or entities that provide at least some of the information to users, such as third parties that perform the information providing after analyzing and/or modifying the information; etc.).
  • the prediction and/or forecast information is used to determine suggested travel routes and/or times, such as an optimal route between a starting location and an ending location over a network of roads and/or an optimal time to perform indicated travel, with such determinations based on predicted and/or forecast information at each of multiple future times for one or more roads and/or road segments.
  • various embodiments provide various mechanisms for users and other clients to interact with one or more of the traffic information systems (e.g., the Data Sample Manager system 350, RT Information Provider system 363, and/or Predictive Traffic Information Provider system 360 of Figure 3, etc.).
  • some embodiments may provide an interactive console (e.g. a client program providing an interactive user interface, a Web browser- based interface, etc.) from which clients can make requests and receive corresponding responses, such as requests for information related to current and/or predicted traffic conditions and/or requests to analyze, select, and/or provide information related to travel routes.
  • some embodiments provide an API (“Application Programmer Interface") that allows client computing systems to programmatically make some or all such requests, such as via network message protocols (e.g., Web services) and/or other communication mechanisms.
  • network message protocols e.g., Web services
  • routines discussed above may be provided in alternative ways, such as being split among more routines or consolidated into fewer routines.
  • illustrated routines may provide more or less functionality than is described, such as when other illustrated routines instead lack or include such functionality respectively, or when the amount of functionality that is provided is altered.
  • operations may be illustrated as being performed in a particular manner (e.g., in serial or in parallel) and/or in a particular order, those skilled in the art will appreciate that in other embodiments the operations may be performed in other orders and in other manners.
  • illustrated data structures may store more or less information than is described, such as when other illustrated data structures instead lack or include such information respectively, or when the amount or types of information that is stored is altered.

Abstract

Techniques are described for assessing road traffic conditions in various ways based on obtained traffic-related data, such as data samples from vehicles and other mobile data sources traveling on the roads, as well as in some situations data from one or more other sources (such as physical sensors near to or embedded in the roads). The assessment of road traffic conditions based on obtained data samples may include various filtering and/or conditioning of the data samples, and various inferences and probabilistic determinations of traffic-related characteristics of interest from the data samples. In some situations, the inferences include repeatedly determining traffic flow characteristics for road segments of interest during time periods of interest, such as to determine average traffic speed, traffic volume and/or occupancy, and include weighting various data samples in various ways (e.g., based on a latency of the data samples and/or a source of the data samples).

Description

ASSESSING ROAD TRAFFIC CONDITIONS USING DATA FROM MOBILE DATA SOURCES
TECHNICAL FIELD
The following disclosure relates generally to techniques for assessing road traffic conditions based on data obtained from various data sources, such as by inferring traffic-related information for roads of interest based on data samples that reflect actual travel on those roads.
BACKGROUND
As road traffic has continued to increase at rates greater than increases in road capacity, the effects of increasing traffic congestion have had growing deleterious effects on business and government operations and on personal well-being. Accordingly, efforts have been made to combat the increasing traffic congestion in various ways, such as by obtaining information about current traffic conditions and providing the information to individuals and organizations. Such current traffic condition information may be provided to interested parties in various ways (e.g., via frequent radio broadcasts, an Internet Web site that displays a map of a geographical area with color-coded information about current traffic congestion on some major roads in the geographical area, information sent to cellular telephones and other portable consumer devices, etc.).
One source for obtaining information about current traffic conditions includes observations supplied by humans (e.g., traffic helicopters that provide general information about traffic flow and accidents, reports from drivers via cellphones, etc.), while another source in some larger metropolitan areas is networks of traffic sensors capable of measuring traffic flow for various roads in the area (e.g., via sensors embedded in the road pavement). While human- supplied observations may provide some value in limited situations, such information is typically limited to only a few areas at a time and typically lacks sufficient detail to be of significant use.
Traffic sensor networks can provide more detailed information about traffic conditions on some roads in some situations. However, various problems exist with respect to such information, as well as to information provided by other similar sources. For example, many roads do not have road sensors (e.g., geographic areas that do not have networks of road sensors and/or arterial roads that are not sufficiently large to have road sensors as part of a nearby network), and even roads that have road sensors may often not provide accurate data, which greatly diminishes the value of the data provided by the traffic sensors. One cause of inaccurate and/or unreliable data includes traffic sensors that are broken, and therefore provide no data, intermittent data, or data readings that are incorrect. Another cause of inaccurate and/or unreliable data includes temporary transmission problems in data from one or more sensors, resulting in intermittent delivery, delayed delivery, or no delivery of data. In addition, many traffic sensors are not configured or designed to report information about their operational status (e.g., whether they are functioning normally or not), and even if operational status information is reported it may be incorrect (e.g. reporting that they are functioning normally when in fact they are not), thus making it difficult or impossible to determine if data provided by the traffic sensors is accurate. Furthermore, some traffic- related information may be available only in raw and/or disaggregated form, and therefore may be of limited utility. Thus, it would be beneficial to provide improved techniques for obtaining and assessing traffic-related information, as well as to provide various additional related capabilities.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 is a block diagram illustrating data flow between components of an embodiment of a system for assessing road traffic conditions based at least in part on data obtained from vehicles and other mobile data sources. Figures 2A-2E illustrate examples of assessing road traffic conditions based at least in part on data obtained from vehicles and other mobile data sources.
Figure 3 is a block diagram illustrating a computing system suitable for executing an embodiment of the described Data Sample Manager system.
Figure 4 is a flow diagram of an example embodiment of a Data Sample Filterer routine.
Figure 5 is a flow diagram of an example embodiment of a Data Sample Outlier Eliminator routine. Figure 6 is a flow diagram of an example embodiment of a Data Sample
Speed Assessor routine.
Figure 7 is a flow diagram of an example embodiment of Data Sample Flow Assessor routine.
Figure 8 is a flow diagram of an example embodiment of a Mobile Data Source Information Provision routine.
Figures 9A-9C illustrate examples of actions of mobile data sources in obtaining and providing information about road traffic conditions.
Figures 10A-10B illustrate examples of rectifying data samples obtained from road traffic sensors. Figure 11 is a flow diagram of an example embodiment of a Sensor
Data Reading Error Detector routine.
Figure 12 is a flow diagram of an example embodiment of a Sensor Data Reading Error Corrector routine.
Figure 13 is a flow diagram of an example embodiment of a Sensor Data Reading Aggregator routine.
Figure 14 is a flow diagram of an example embodiment of a Traffic Flow Estimator routine.
DETAILED DESCRIPTION
Techniques are described for assessing road traffic conditions in various ways based on obtained traffic-related data, such as data samples from vehicles and other mobile data sources traveling on the roads and/or from road traffic sensors (e.g., physical sensors that are embedded in or otherwise near to the roads). In addition, in at least some embodiments the data samples from the mobile data sources may be supplemented with data from one or more other sources, such as by obtaining data readings from physical sensors that are near or embedded in the roads. The assessment of road traffic conditions based on obtained data samples (e.g., data readings from road traffic sensors, individual or aggregated data points from mobile data sources, etc.) may include various filtering and/or conditioning of the data samples and readings, and various inferences and probabilistic determinations of traffic- related characteristics of interest.
As noted, in some embodiments obtained road traffic condition information data may include multiple data samples provided by mobile data sources (e.g., vehicles), data readings from road-based traffic sensors (e.g., loop sensors embedded in road pavement), and data from other data sources. The data may be analyzed in various manners to facilitate determination of traffic condition characteristics of interest, such as estimated average traffic speed and estimated total volume of vehicles for particular portions of roads of interest, and to enable such traffic condition determinations to be performed in a realtime or near-realtime manner (e.g., within a few minutes of receiving the underlying data samples and/or readings). For example, obtained data may be conditioned in various ways in order to detect and/or correct errors in the data. Obtained road traffic condition information data may further be filtered in various ways in various embodiments in order to remove data from consideration if it is inaccurate or otherwise unrepresentative of actual traffic condition characteristics of interest, including by identifying data samples that are not of interest based at least in part on roads with which the data samples are associated and/or data samples that are statistical outliers with respect to other data samples - in some embodiments, the filtering may further include performing the associating of the data samples with particular roads. The filtered data samples may further include data samples that otherwise reflect vehicle locations or activities that are not of interest (e.g., parked vehicles, vehicles circling in a parking lot or structure, etc.) and/or data samples that are otherwise unrepresentative of actual vehicle travel on roads of interest. Assessing obtained data may in at least some embodiments include determining traffic conditions (e.g., traffic flow and/or average traffic speed) for various portions of a road network in a particular geographic area, based at least in part on obtained data samples. The assessed data may then be utilized in order to perform other functions related to analyzing, predicting, forecasting, and/or providing traffic-related information. In at least some embodiments, a data sample manager system uses at least some of the described techniques to prepare data for use by traffic data clients, such as a predictive traffic information provider system that generates multiple predictions of traffic conditions at multiple future times, as described in greater detail below.
In some embodiments, the conditioning of obtained data samples may include rectifying erroneous data samples, such as by detecting and/or correcting errors present in the data in various ways (e.g., for data readings received from road traffic sensors). In particular, techniques are described for assessing the "health" of particular data sources (e.g., road-based traffic sensors) in order to determine whether the data sources are operating correctly and reliably providing accurate data samples, such as based on analysis of the data samples provided by those data sources. For example, in some embodiments, current data readings provided by a given traffic sensor may be compared to past data readings provided by that traffic sensor (e.g., historical average data) in order to determine whether the current traffic data readings are significantly different than typical past data readings, such as may be caused by the traffic sensor operating incorrectly and/or other problems in the data, and/or may instead reflect unusual current traffic conditions. Such detection and analysis of possible errors with particular data sources and/or in current traffic data readings may be performed in various ways in various embodiments, as discussed in greater detail below, including based at least in part on classification techniques such as by using neural networks, Bayesian classifiers, decision trees, etc. After detecting unreliable data samples, such as from broken data sources that are operating incorrectly, such unreliable data samples (as well as missing data samples) may be corrected or otherwise rectified in various ways.
For example, missing and unreliable data samples for one or more data sources (e.g., traffic sensors) may be rectified in some embodiments by using one or more other sources of related information, such as via contemporaneous data samples from nearby or otherwise related traffic sensors that are operating correctly (e.g., by averaging data readings provided by adjacent traffic sensors), via predictive information related to the missing and unreliable data samples (e.g., by determining expected data readings for the one or more data sources using predicted and/or forecast traffic condition information for those data sources), via historical information for the one or more data sources (e.g., by utilizing historical average data readings), via adjustments to incorrect data samples using information about consistent bias or other types of errors causing errors that can be compensated for, etc. Additional details related to rectifying missing and unreliable data samples are included below.
In addition, techniques are described for further estimating traffic condition information in various other ways, such as in cases where currently available data may not allow rectification of data samples for a particular data source (e.g., a particular traffic sensor) to be reliably performed. For example, the presence of multiple nearby unhealthy traffic sensors that are operating incorrectly may result in there being insufficient data to assess traffic flow information with sufficient confidence for individual ones of those traffic sensors. In such cases, traffic condition information may be estimated in various other ways, including based on groups of related traffic sensors and/or other information related to the structure of a road network. For example, as described in greater detail below, each road of interest may be modeled or represented by the use of multiple road segments, each of which may have multiple associated traffic sensors and/or available data from one or more other data sources (e.g., mobile data sources). If so, road traffic condition information may be estimated for a particular road segment (or other group of multiple related traffic sensors) in various ways, such as by using traffic condition information assessed for neighboring road segments, predicted information for the particular road segment (e.g., that is generated for a limited future time period, such as three hours, based at least in part on current and recent conditions at a time of the predicting), forecast information for the particular road segment (e.g., that is generated for a longer future time period, such as two weeks or longer, in a manner that does not use some or all of the current and recent condition information used for predicting), historical average conditions for the particular road segment, etc. By utilizing such techniques, traffic condition information may be provided even in the presence of little or no current traffic condition data for one or more nearby traffic sensors or other data sources. Additional details related to such traffic condition information estimation are included below.
As previously noted, information about road traffic conditions may be obtained from mobile data sources in various manners in various embodiments. In at least some embodiments, the mobile data sources include vehicles on the road, which may each include one or more computing systems that provide data about movement of the vehicle. For example, each vehicle may include a GPS ("Global Positioning System") device and/or other geo-location device capable of determining the geographic location, speed, direction, and/or other data that characterizes or is otherwise related to the vehicle's travel, and one or more devices on the vehicle (whether the geo-location device(s) or a distinct communication device) may from time to time provide such data (e.g., by way of a wireless link) to one or more systems able to use the data (e.g., a data sample manager system, as described in more detail below). Such vehicles may include, for example, a distributed network of vehicles operated by individual unrelated users, fleets of vehicles (e.g., for delivery companies, taxi and bus companies, transportation companies, governmental bodies or agencies, vehicles of a vehicle rental service, etc.), vehicles that belong to commercial networks providing related information (e.g., the OnStar service), a group of vehicles operated in order to obtain such traffic condition information (e.g., by traveling over predefined routes, or by traveling over roads as dynamically directed, such as to obtain information about roads of interest), vehicles with on-board cellphone devices (e.g., as built-in equipment and/or in the possession of a vehicle occupant) capable. of providing location information
(e.g., based on GPS capabilities of the devices and/or based on geo-location capabilities provided by the cellular network), etc.
In at least some embodiments, the mobile data sources may include or be based on computing devices and other mobile devices of users who are traveling on the roads, such as users who are operators and/or passengers of vehicles on the roads. Such user devices may include devices with GPS capabilities (e.g., cellphones and other handheld devices), or location and/or movement information may instead be produced in other manners in other embodiments. For example, devices in vehicles and/or user devices may communicate with external systems that can detect and. track information about devices (e.g., for devices passing by each of multiple transmitters/receivers in a network operated by the system), thus allowing location and/or movement information for the devices to be determined in various manners and with various levels of detail, or such external systems may otherwise be able to detect and track information about vehicles and/or users without interacting with devices (e.g., camera systems that can observe and identify license plates and/or users' faces). Such external systems may include, for example, cellular telephone towers and networks, other wireless networks (e.g., a network of Wi- Fi hotspots), detectors of vehicle transponders using various communication techniques (e.g., RFID, or "Radio Frequency Identification"), other detectors of vehicles and/or users (e.g., using infrared, sonar, radar or laser ranging devices to determine location and/or speed of vehicles), etc.
The road traffic condition information obtained from the mobile data sources may be used in various ways, whether alone or in combination with other road traffic condition information from one or more other sources (e.g., from road traffic sensors). In some embodiments, such road traffic condition information obtained from mobile data sources is used to provide information similar to that from road sensors but for roads that do not have functioning road sensors (e.g., for roads that lack sensors, such as for geographic areas that do not have networks of road sensors and/or for arterial roads that are not significantly large to have road sensors, for road sensors that are broken, etc.), to verify duplicative information that is received from road sensors or other sources, to identify road sensors that are providing inaccurate data (e.g., due to temporary or ongoing problems), etc. Moreover, road traffic conditions may be measured and represented in one or more of a variety of ways, whether based on data samples from mobile data sources and/or from traffic sensor data readings, such as in absolute terms (e.g., average speed; volume of traffic for an indicated period of time; average occupancy time of one or more traffic sensors or other locations on a road, such as to indicate the average percentage of time that a vehicle is over or otherwise activating a sensor; one of multiple enumerated levels of road congestion, such as measured based on one or more other traffic condition measures; etc.) and/or in relative terms (e.g., to represent a difference from typical or from maximum). In some embodiments, some road traffic condition information may take the form of data samples provided by various data sources, such as data sources associated with vehicles to report travel characteristics of the vehicles. Individual data samples may include varying amounts of information. For example, data samples provided by mobile data sources may include one or more of a source identifier, a speed indication, an indication of a heading or direction, an indication of a location, a timestamp, and a status identifier. The source identifier may be a number or string that identifies the vehicle (or person or other device) acting as a mobile data source. In some embodiments, the mobile data source identifier may be permanently or temporarily (e.g., for the life of the mobile data source; for one hour; for a current session of use, such as to assign a new identifier each time that a vehicle or data source device is turned on; etc.) associated with the mobile data source. In at least some embodiments, source identifiers are associated with mobile data sources in such a manner as to minimize privacy concerns related to the data from the mobile data sources (whether permanently or temporarily associated), such as by creating and/or manipulating the source identifiers in a manner that prevents the mobile data source associated with an identifier from being identified based on the identifier. The speed indication may reflect the instant or average velocity of the mobile data source expressed in various ways (e.g., miles per hour). The heading may reflect a direction of travel and be an angle expressed in degrees or other measure (e.g., in compass-based headings or radians). The indication of location may reflect a physical location expressed in various ways (e.g., latitude/longitude pairs or Universal Transverse Mercator coordinates). The timestamp may denote the time at which a given data sample was recorded by the mobile data source, such as in local time or UTC
("Universal Coordinated Time") time. A status indicator may indicate the status of the mobile data source (e.g., that the vehicle is moving, stopped, stopped with engine running, etc.) and/or the status of at least some of the sensing, recording, and/or transmitting devices (e.g., low battery, poor signal strength, etc.).
In some embodiments, the network of roads in a given geographic region may be modeled or represented by the use of multiple road segments. Each road segment may be used to represent a portion of a road (or of multiple roads), such as by dividing a given physical road into multiple road segments (e.g., with each road segment being a particular length, such as a one-mile length of the road, or with road segments being selected to reflect portions of the road that share similar traffic condition characteristics) - such multiple road segments may be successive portions of the road, or may alternatively in some embodiments be overlapping or have intervening road portions that are not part of any road segments. In addition, a road segment may represent one or more lanes of travel on a given physical road. Accordingly, a particular multi-lane road that has one or more lanes for travel in each of two directions may be associated with at least two road segments, with at least one road segment associated with travel in one direction and with at least one other road segment associated with travel in the other direction. In addition, multiple lanes of a single road for travel in a single direction may be represented by multiple road segments in some situations, such as if the lanes have differing travel condition characteristics. For example, a given freeway system may have express or high occupancy vehicle ("HOV") lanes that may be beneficial to represent by way of road segments distinct from road segments representing the regular
(e.g., non-HOV) lanes traveling in the same direction as the express or HOV lanes. Road segments may further be connected to or otherwise associated with other adjacent road segments, thereby forming a network of road segments.
Figure 1 is a block diagram illustrating data flow between components of an embodiment of a Data Sample Manager system. The illustrated data flow diagram is intended to reflect a logical representation of data flow between data sources, components of an embodiment of a Data Sample Manager system, and traffic data clients. That is, actual data flow may occur via a variety of mechanisms including direct flows (e.g., implemented by parameter passing or network communications such as messages) and/or indirect flows via one or more database systems or other storage mechanisms, such as file systems. The illustrated Data Sample Manager system 100 includes a Data Sample Filterer component 104, a Sensor Data Conditioner component 105, a Data Sample Outlier Eliminator component 106, a Data Sample Speed Assessor component 107, and a Data Sample Flow Assessor component 108, and an optional Sensor Data Aggregator component 110.
In the illustrated embodiment, the components 104-108 and 110 of the Data Sample Manager system 100 obtain data samples from various data sources, including vehicle-based data sources 101 , road traffic sensors 103, and other data sources 102. Vehicle-based data sources 101 may include multiple vehicles traveling on one or more roads, which may each include one or more computing systems and/or other devices that provide data about the travel of the vehicle. As described in more detail elsewhere, each vehicle may include GPS and/or other geo-location devices capable of determining location, speed, and/or other data related to the vehicle's travel. Such data may be obtained by the components of the described Data Sample Manager system by wireless data links (e.g., satellite uplink and/or cellular network) or in other manners (e.g., via a physical wired/cabled connection that is made after a vehicle arrives at the location with the physical location, such as when a fleet vehicle returns to its home base). Road traffic sensors 102 may include multiple sensors that are installed in, at, or near various streets, highways, or other roads, such as loop sensors embedded in the pavement that are capable of measuring the number of vehicles passing above the sensor per unit time, vehicle speed, and/or other data related to traffic flow. Data may similarly be obtained from the road traffic sensors 102 via wire-based or wireless-based data links. Other data sources 103 may include a variety of other types of data sources, including map services and/or databases that provide information regarding road networks such as the connections between roads as well as traffic control information related to such roads (e.g., the existence and/or location of traffic control signals and/or speed zones).
Although the illustrated data sources 101-103 in this example provide data samples directly to various components 104-108 and 110 of the Data Sample Manager system 100, the data samples may instead be processed in various ways in other embodiments prior to their provision to those components. Such processing may include organizing and/or aggregating data samples into logical collections based on time, location, geographic region, and/or the identity of the individual data source (e.g., vehicle, traffic sensor, etc.). In addition, such processing may include merging or otherwise combining data samples into higher-order, logical data samples or other values. For example, data samples obtained from multiple geographically co-located road traffic sensors may be merged into a single, logical data sample by way of averaging or other aggregation. Furthermore, such processing may include deriving or otherwise synthesizing data samples or elements of data samples based on one or more obtained data samples. For example, in some embodiments, at least some vehicle-based data sources may each provide data samples that include only a source identifier and a geographic location, and if so groups of multiple distinct data samples provided periodically over a particular time interval or other time period can thereby be associated with one another as having been provided by a particular vehicle. Such groups of data samples may then be further processed in order to determine other travel- related information, such as a heading for each data sample (e.g. by calculating the angle between the position of a data sample and the position of a prior and/or subsequent data sample) and/or a speed for each data sample (e.g., by calculating the distance between the position of a data sample and the position of a prior and/or subsequent data sample, and by dividing the distance by the corresponding time). The Data Sample Filterer component 104 obtains data samples from the vehicle-based data sources 101 and the other data sources 102 in the illustrated embodiment, and then filters the obtained data samples before providing them to the Data Sample Outlier Eliminator component 106 and optionally to the Data Sample Flow Assessor component 108. As discussed in greater detail elsewhere, such filtering may include associating data samples with road segments corresponding to roads in a geographic area and/or identifying data samples that do not correspond to road segments of interest or that otherwise reflect vehicle locations or activities that are not of interest. Associating data samples with road segments may include using the reported location and/or heading of each data sample to determine whether the location and heading correspond to a previously defined road segment. Identifying data samples that do not correspond to road segments of interest may include removing or otherwise identifying such data samples so that they will not be modeled, considered, or otherwise processed by other components of the Data Sample Manager system 100 - such data samples to be removed may include those corresponding to roads of certain functional road classes (e.g., residential streets) that are not of interest, those corresponding to particular roads or road segments that are not of interest, those corresponding to portions or sections of roads that are not of interest (e.g., ramps and collector/distributor lanes/roads for freeways), etc. Identifying data samples that otherwise reflect vehicle locations or activities that are not of interest may include identifying data samples corresponding to vehicles that are in an idle state (e.g., parked with engine running), that are driving in a parking structure (e.g., circling at a very low speed), etc. In addition, filtering may in some embodiments include identifying road segments that are (or are not) of interest for presentation or further analysis. For example, such filtering may include analyzing variability of traffic flow and/or level of congestion of various road segments within a particular time period (e.g., hour, day, week), such as to exclude some or all road segments with low intra-time period variability and/or low congestion (e.g., for road segments for which sensor data readings are not available or whose functional road class otherwise indicates a smaller or less-traveled road) from further analysis as being of less interest than other roads and road segments.
The Sensor Data Conditioner component 105 assists in rectifying erroneous data samples, such as by detecting and correcting errors in readings obtained from the road traffic sensors 103. In some embodiments, data samples that are detected by the Sensor Data Conditioner component as being unreliable are not forwarded on to other components for use (or indications of the unreliability of particular data samples are provided so that the other components can handle those data samples accordingly), such as to the Data Sample Outlier Eliminator component 106. If so, the Data Sample Outlier Eliminator component may then determine whether sufficient reliable data samples are available, and initiate corrective action if not. Alternatively, in some embodiments and circumstances, the Sensor Data Conditioner component may further perform at least some corrections to the data samples, as discussed in greater detail below, and then provide the corrected data to the Sensor Data Aggregator component 110 (and optionally to other components such as the Data Sample Outlier Eliminator component and/or the Data Sample Flow Assessor component). Detecting erroneous data samples may use various techniques, including statistical measures that compare the distribution of current data samples reported by a given road traffic sensor to the historical distribution of data samples reported by that road traffic sensor during a corresponding time period (e.g., same day-of-week and time-of-day). The extent to which the actual and historical distributions differ may be calculated by statistical measures, such as the Kullback-Leibler divergence, which provides a convex measure of the similarity between two probability distributions, and/or by statistical information entropy. In addition, some road sensors may report indications of sensor health, and such indications may also be utilized to detect errors in obtained data samples. If errors are detected in obtained data samples, erroneous data samples may be rectified in various ways, including by replacing such data samples with averages of adjacent (e.g., neighbor) data samples from adjacent/neighbor road sensors that have not been determined to be erroneous. In addition, erroneous data samples may be rectified by instead using previously or concurrently forecasted and/or predicted values, such as may be provided by a predictive traffic information system. Additional details regarding predictive traffic information systems are provided elsewhere.
The Data Sample Outlier Eliminator component 106 obtains filtered data samples from the Data Sample Filterer component 104 and/or conditioned or otherwise rectified data samples from the Sensor Data Conditioner component 105, and then identifies and eliminates from consideration those data samples that are not representative of actual vehicle travel on the roads and road segments of interest. In the illustrated embodiment, for each road segment of interest, the component analyzes a group of data samples that were recorded during a particular time period and associated with the road segment (e.g., by the Data Sample Filterer component 104) in order to determine which, if any, should be eliminated. Such determinations of unrepresentative data samples may be performed in various ways, including based on techniques that detect data samples that are statistical outliers with respect to the other data samples in the group of data samples. Additional details regarding data sample outlier elimination are provided elsewhere.
The Data Sample Speed Assessor component 107 obtains data samples from the Data Sample Outlier Eliminator component 106, such that the obtained data samples in the illustrated embodiment are representative of actual vehicle travel on the roads and road segments of interest. The Data Sample Speed Assessor component 107 then analyzes the obtained data samples to assess one or more speeds for road segments of interest for at least one time period of interest based on a group of the data samples that have been associated with the road segment (e.g., by the Data Sample Filterer component 104, or by readings from traffic sensors that are part of the road segment) and the time period. In some embodiments, the assessed speed(s) may include an average of the speeds for multiple of the data samples of the group, possibly weighted by one or more attributes of the data samples (e.g., age, such as to give greater weight to newer data samples, and/or source or type of the data samples, such as to vary the weight for data samples from mobile data sources or from road sensors so as to give greater weight to sources with higher expected reliability or availability) or by other factors. More details regarding speed assessment from data samples are provided elsewhere.
The Data Sample Flow Assessor component 108 assesses traffic flow information for road segments of interest for at least one time period of interest, such as to assess traffic volume (e.g., expressed as a total or average number of vehicles arriving at or traversing a road segment over a particular amount of time, such as per minute or hour), to assess traffic density (e.g., expressed as an average or total number of vehicles per unit of distance, such as per mile or kilometer), to assess traffic occupancy (e.g., expressed as an average or total amount of time that vehicles occupy a particular point or region over a particular amount of time, such as per minute or hour), etc. The assessment of the traffic flow information in the illustrated embodiment is based at least in part on traffic speed-related information provided by the Data Sample Speed Assessor component 107 and the Data Sample Outlier Eliminator component 106, and optionally on traffic data sample information provided by the Sensor Data Conditioner component 105 and the Data Sample Filterer component 104. Additional details regarding data sample flow assessment are provided elsewhere.
If present, the Sensor Data Aggregator component 110 aggregates sensor-based traffic condition information provided by the Sensor Data Conditioner component 105, such as after the Sensor Data Conditioner component has removed any unreliable data samples and/or has rectified any missing and/or unreliable data samples. Alternatively, in other embodiments the Sensor Data Aggregator component may instead perform any such removal and/or correction of missing and/or unreliable data samples. In some cases, the Sensor Data Aggregator component 110 may provide traffic flow information for each of various road segments by aggregating (e.g., averaging) information provided by the multiple individual traffic sensors associated with each of those road segments. As such, when present, the Sensor Data
Aggregator component 110 may provide information that is complementary to assessed traffic condition information provided by components such as the Data Sample Speed Assessor component 107 and/or the Data Sample Flow
Assessor component 108, or may instead be used if data samples from mobile data sources are not available at all or in sufficient quantity of reliable data samples to allow other components such as the Data Sample Speed Assessor component 107 and Data Sample Flow Assessor component 108 to provide accurate assessed road traffic condition information.
The one or more traffic data clients 109 in the illustrated embodiment obtain assessed road traffic condition information (e.g., speed and/or flow data) provided by the Data Sample Speed Assessor component 107 and/or the Data Sample Flow Assessor component 108, and may utilize such data in various ways. For example, traffic data clients 109 may include other components and/or traffic information systems operated by the operator of the Data Sample Manager system 100, such as a predictive traffic information provider system that utilizes traffic condition information in order to generate predictions of future traffic conditions at multiple future times, and/or a realtime (or near- realtime) traffic information presentation or provider system that provides realtime (or near-realtime) traffic condition information to end-users and/or third-party clients. In addition, traffic data clients 109 may include computing systems operated by third parties in order to provide traffic information services to their customers. In addition, the one or more traffic data clients 109 may optionally in some circumstances (e.g., in instances when insufficient data is available for the Data Sample Speed Assessor component and/or Data Sample Flow Assessor component to perform accurate assessments, and/or if no data is available from vehicle-based or other data sources) obtain road traffic condition information provided by the Sensor Data Aggregator component 110, whether instead of or in addition to data from the Data Sample Speed Assessor component and/or Data Sample Flow Assessor component. For illustrative purposes, some embodiments are described below in which specific types of road traffic conditions are assessed in specific ways, and in which such assessed traffic information is used in various specific ways. However, it will be understood that such road traffic condition assessments may be generated in other manners and using other types of input data in other embodiments, that the described techniques can be used in a wide variety of other situations, and that the invention is thus not limited to the exemplary details provided.
Figures 2A-2E illustrate examples of assessing road traffic conditions based on data obtained from vehicles and other mobile data sources, such as may be performed by an embodiment of the described Data Sample Manager system. In particular, Figure 2A illustrates an example of data sample filtering for an example area 200 with several roads 201, 202, 203, and 204, and with a legend indication 209 indicating the direction of north. In this example, road 202 is a divided, limited access road such as a freeway or toll road, with two distinct groups of lanes 202a and 202b for vehicle travel in the west and east directions, respectively. Lane group 202a includes an HOV lane 202a2 and multiple other regular lanes 202a1 , and lane group 202b similarly includes an HOV lane 202b2 and multiple other regular lanes 202b1. Road 201 is an arterial road with two lanes 201a and 201 b for vehicle travel in the south and north directions, respectively. Road 201 passes over road 202 (e.g., via an overpass or bridge), and road 204 is an on-ramp that connects the northbound lane 201b of road 201 to the eastbound lane group 202b of road 202. Road 203 is a local frontage road adjoining road 202. The roads depicted in Figure 2A may be represented in various ways for use by the described Data Sample Manager system. For example, one or more road segments may be associated with each physical road, such as to have northbound and southbound road segments associated with the northbound lane 201b and southbound lane 201b, respectively. Similarly, at least one westbound road segment and at least one eastbound road segment may be associated with the westbound lane group 202a and the eastbound lane group 202b of road 202, respectively. For example, the portion of the eastbound lane group 202b east of road 201 may be a separate road segment from the portion of the eastbound lane group 202b west of road 201, such as based on the road traffic conditions typically or often varying between the road portions (e.g., due to a typically significant influx of vehicles to lane group 202b east of road 201 from the on-ramp 204, such as that may typically cause greater congestion in lane group 202b to the east of road 201 ). In addition, one or more lane groups may be decomposed into multiple road segments, such as if different lanes typically or often have differing road traffic condition characteristics (e.g., to represent any given portion of lane group 202b as a first road segment corresponding to lanes 202b1 based on those lanes sharing similar traffic condition characteristics, and as a second road segment corresponding to HOV lane 202b2 due to its differing traffic condition characteristics) — in other such situations, only a single road segment may be used for such a lane group, but some data samples (e.g., those corresponding to HOV lane 202b2) may be excluded from use (such as by a Data Sample Filterer component and/or a Data Sample Outlier Eliminator component) when assessing road traffic conditions for the lane group. Alternatively, some embodiments may represent multiple lanes of a given road as a single road segment, even if the lanes are used for travel in opposite directions, such as if the road traffic conditions are typically similar in both directions - for example, frontage road 205a may have two opposing lanes of travel, but may be represented by a single road segment. Road segments may be determined at least in part in a variety of other ways in at least some embodiments, such as to be associated with geographic information (e.g., physical dimensions and/or heading(s)) and/or traffic-related information (e.g., speed limits).
Figure 2A further depicts multiple data samples 205a-k reported by multiple mobile data sources (e.g., vehicles, not shown) traveling in the area 200 during a particular time interval or other time period (e.g. 1 minute, 5 minutes, 10 minutes, 15 minutes, etc.). Each of the data samples 205a-k is depicted as an arrow that indicates a heading for the data sample, as reported by one of the multiple mobile data sources. The data samples 205a-k are superimposed upon the area 200 in such a manner as to reflect locations reported for each of the data samples (e.g., expressed in units of latitude and longitude, such as based on GPS readings), which may differ from the actual locations of the vehicle when that data sample was recorded (e.g., due to an inaccurate or erroneous reading, or due to a degree of variability that is inherent for the location sensing mechanism used). For example, data sample 205g shows a location that is slightly north of the road 202b, which may reflect a vehicle that was pulled over off the north side of lane 202b2 (e.g., because of a mechanical malfunction), or it instead may reflect an inaccurate location for a vehicle that was in fact traveling in the eastbound direction in lane 202b2 or other lane. In addition, a single mobile data source may be the source of more than one of the illustrated data samples, such as if both sample 205i and sample 205h were reported by a single vehicle based on its travel eastbound along road 202 during the time period (e.g., via a single transmission containing multiple data samples for multiple prior time points, such as to report data samples every 5 minutes or every 15 minutes). More details regarding storing and providing multiple acquired data samples are included below.
The described Data Sample Manager system may in some embodiments, filter the obtained data samples, such as to map data samples to predefined road segments and/or identify data samples that do not correspond to such road segments of interest. In some embodiments, a data sample will be associated with a road segment if its reported location is within a predetermined distance (e.g., 5 meters) of the location of a road and/or lane(s) corresponding to the road segment and if its heading is within a predetermined angle (e.g., plus or minus 15 degrees) of the heading of the road and/or lanes(s) corresponding to the road segment. Road segments in the illustrated embodiment are associated with sufficient location-based information (e.g., heading of the road segment, physical bounds of the road segment, etc.) to make such a determination, although in other embodiments the association of data samples to road segments may be performed before the data samples are made available to the Data Sample Manager system.
As an illustrative example, data sample 205a may be associated with a road segment corresponding to road 203, because its reported location falls within the bounds of road 203 and its heading is the same (or nearly the same) as at least one of the headings associated with road 203. In some embodiments, when a single road segment is utilized to represent multiple lanes some of which are traveling in opposite directions, the heading of a data sample may be compared to both headings of the road segment in order to determine whether the data sample may be associated with the road segment. For example, data sample 205k has a heading approximately opposite that of data sample 205a, but it may also be associated with the road segment corresponding to road 203, if that road segment is utilized to represent the two opposing lanes of road 203.
However, due to the proximity of road 203 and lane group 202a, it may also be possible that data sample 205k reflects a vehicle traveling in lane group 202a, such as if the reported location of data sample 205k is within a margin of error for locations of vehicles traveling in one or more of the lanes of lane group 202a, since the heading of data sample 205k is the same (or nearly the same) as the heading of lane group 202a. In some embodiments, such cases of multiple possible road segments for a data sample may be disambiguated based on other information associated with the data sample — for example, in this case, an analysis of the reported speed of data sample 205k may be used to assist in the disambiguation, such as if lane group 202a corresponds to a freeway with a 65mph speed limit, road 203 is a local frontage road with a 30mph speed limit, and a reported speed of the data sample is 75mph (resulting in an association with the freeway lane(s) being much more likely than an association with the local frontage road). More generally, if the reported speed of data sample 205k is more similar to the observed or posted speed for road 203 than to the observed or posted speed for lane group 202a, such information may be used as part of determining to associate the data sample with road 203 and not lane group 202a. Alternatively, if the reported speed of data sample 205k is more similar to the observed or posted speed for lane group 202a than to the observed or posted speed for road 203, it may be associated with lane group 202a and not road 203. Other types of information may similarly be used as part of such disambiguation (e.g., location; heading; status; information about other related data samples, such as other recent data samples from the same mobile data source; etc.)ι such as part of a weighted analysis to reflect a degree of match for each type of information for a data sample to a candidate road segment. For example, with respect to associating data sample 205b to an appropriate road segment, its reported location occurs at an overlap between lane 201b and lane group 202a, and is near lane 201a as well as other roads. However, the reported heading of the data sample (approximately northbound) matches the heading of lane 201b (northbound) much more closely than that of other candidate lanes/roads, and thus it will likely be associated with the road segment corresponding to lane 201b in this example. Similarly, data sample 205c includes a reported location that may match multiple roads/lanes (e.g., lane 201a, lane 201b, and lane group 202a), but its heading (approximately westbound) may be used to select a road segment for lane group 202a as the most appropriate road segment for the data sample.
Continuing with this example, data sample 205d may not be associated with any road segment, because its heading (approximately eastbound) is in the opposite direction as that of lane group 202a (westbound) whose position corresponds to the data sample's reported location. If there are no other appropriate candidate road segments that are near enough (e.g., within a predetermined distance) to the reported location of data sample 205d, such as if lane group 202b with a similar heading is too far way, this data sample may be excluded during filtering from subsequent use in analysis of the data samples. Data sample 205e may be associated with a road segment corresponding to lane group 202a, such as a road segment corresponding to HOV lane 202a2, since its reported location and heading correspond to the location and heading of that lane, such as if a location-based technique used for the location of the data sample has sufficient resolution to differentiate between lanes (e.g., differential GPS, infrared, sonar, or radar ranging devices). Data samples may also be associated with a particular lane of a multi-lane road based on factors other than location-based information, such as if the lanes have differing traffic condition characteristics. For example, in some embodiments the reported speed of a data sample may be used to fit or match the data sample to a particular lane by modeling an expected distribution
(e.g., a normal or Gaussian distribution) of observed speeds (or other measures of traffic flow) of data samples for each such candidate lane and determining a best fit for the data sample to the expected distributions. For example, data sample 205e may be associated with the road segment corresponding to HOV lane 202a2 because the reported speed of that data sample is closer to an observed, inferred or historical average speed of vehicles traveling in HOV lane 202a2 than to an observed, inferred or historical average speed for vehicles traveling in regular lanes 202a1 , such as by determining an observed or inferred average speed based on other data samples (e.g., using data readings provided by one or more road traffic sensors) and/or analysis of other related current data. In a similar manner, data samples 205f, 205h, 205i, and 205j may be associated with the road segments corresponding to lane 201a, lanes 202b1, lanes 202b1 , and ramp 204, respectively, because their reported locations and headings correspond to the locations and headings of those roads or lanes.
Data sample 205g may be associated with a road segment corresponding to lane group 202b (e.g., a road segment for HOV lane 202b2) even though its reported location is outside of the bounds of the illustrated road, because the reported focation may be within the predetermined distance (e.g., 5 meters) of the road. Alternatively, data sample 205g may not be associated with any road segment if its reported location is sufficiently far from the road. In some embodiments, different predetermined distances may be used for data samples provided by different data sources, such as to reflect a known or expected level of accuracy of the data source. For example, data samples provided by mobile data sources that utilize uncorrected GPS signals may use a relatively high (e.g., 30 meters) predetermined distance, whereas data samples provided by mobile data sources utilizing differential-corrected GPS devices may be compared using a relatively low (e.g., 1 meter) predetermined distance. In addition, data sample filtering may include identifying data samples that do not correspond to road segments of interest and/or are unrepresentative of actual vehicle travel on the roads. For instance, some data samples may be removed from consideration because they have been associated with roads that are not being considered by the Data Sample Manager system. For example, in some embodiments, data samples associated with roads of lesser functional road classes (e.g., residential streets and/or arterials) may be filtered. Referring back to Figure 2A, for example, data samples 205a and/or 205k may be filtered because road 203 is a local frontage road that is of a sufficiently low functional classification to not be considered by the Data Sample Manager system, or data sample 205j may be filtered because the on-ramp is too short to be of interest separate from the freeway. Filtering may further be based on other factors, such as inferred or reported activity of mobile data sources relative to the inferred or reported activity of other mobile data sources on one or more road segments. For example, a series of data samples associated with a road segment and provided by a single mobile data source that all indicate the same location likely indicates that the mobile data source has stopped. If all other data samples associated with the same road segment indicate moving mobile data sources, the data samples corresponding to the stopped mobile data source may be filtered out as being unrepresentative of actual vehicle travel on the road segment, such as due to the mobile data source being a parked vehicle. Furthermore, in some embodiments, data samples may include reported indications of the driving status of the vehicle (e.g., that the vehicle transmission is in "park" with the engine running, such as a vehicle stopped to make a delivery), and if so such indications may similarly be used to filter such data samples as being unrepresentative of actual traveling vehicles.
Figure 2B illustrates a graphical view of multiple data samples associated with a single road segment obtained from multiple data sources during a particular time interval or other time period, with the data samples plotted on a graph 210 with time measured on the x-axis 210b and speed measured on the y-axis 210a. In this example, the illustrated data samples have been obtained from multiple mobile data sources as well as one or more road traffic sensors associated with the road segment, and are shown with differing shapes as illustrated in the displayed legend {i.e., with darkened diamonds (" ♦ ") for data samples obtained from road traffic sensors, and with open squares (" α ") for data samples obtained from mobile data sources). The illustrated data samples from mobile data sources may have been associated with the road segment as described with reference to Figure 2A.
Exemplary data samples include road traffic sensor data samples 211a- c and mobile data source data samples 212a-d. The reported speed and recording time of a given data sample may be determined by its position on the graph. For example, mobile data source data sample 212d has a reported speed of 15 miles per hour (or other speed unit) and was recorded at a time of approximately 37 minutes (or other time unit) relative to some starting point. As will be described in more detail below, some embodiments may analyze or otherwise process obtained data samples within particular time windows during the time period being represented, such as time window 213. In this example, time window 213 contains data samples recorded during a 10-minute interval from time 30 minutes to time 40 minutes. In addition, some embodiments may further partition the group of data samples occurring within a particular time window into two or more groups, such as group 214a and group 214b. For example, it will be noted that the illustrated data samples appear to reflect a bi- modal distribution of reported speeds, with the bulk of the data samples reporting speeds in the range of 25-30 miles per hour or in the range of 0-8 miles per hour. Such a bi-modal or other multi-modal distribution of speeds may occur, for example, because the underlying traffic flow patterns are nonuniform, such as due to a traffic control signal that causes traffic to flow in a stop-and-go pattern, or to the road segment including multiple lanes of traffic that are moving at different speeds (e.g., an HOV or express lane with relatively higher speeds than other non-HOV lanes). In the presence of such multi- modal distributions of speed data, some embodiments may partition the data samples into two or more groups for further processing, such as to produce improved accuracy or resolution of processing (e.g., by calculating distinct average speeds that more accurately reflect the speeds of various traffic flows) as well as additional information of interest (e.g., the speed differential between HOV traffic and non-HOV traffic), or to identify a group of data samples to exclude (e.g., to not include HOV traffic as part of a subsequent analysis). While not illustrated here, such distinct groups of data samples may be identified in various ways, including by modeling a distinct distribution (e.g., a normal or Gaussian distribution) for the observed speeds of each group.
Figure 2C illustrates an example of performing data sample outlier elimination to filter or otherwise exclude from consideration those data samples that are unrepresentative of vehicles traveling on a particular road segment, which in this example is based on the reported speed for the data samples (although in other embodiments one or more other attributes of the data samples could instead be used as part of the analysis, whether instead of or in addition to the reported speeds). In particular, Figure 2C shows a table 220 that illustrates data sample outlier elimination being performed on an example group of ten data samples (in actual use, the numbers of data samples being analyzed may be much larger). The illustrated data samples may, for example, be all of the data samples occurring within a particular time window (such as time window 213 of Figure 2B)1 or alternatively may include only a subset of the data samples of a particular time window (such as those included in group 214a or 214b of Figure 2B) or may include all data samples available for a larger time period.
In the present example, unrepresentative data samples are identified as being statistical outliers with respect to other data samples in a determined group of data samples by determining the deviation of the speed of each data sample in a group of data samples from the average speed of the other data samples in the group. The deviation of each data sample may be measured, for example, in terms of the number of standard deviations difference from the average speed of the other data samples in the group, with data samples whose deviations are greater than a predetermined threshold (e.g., 2 standard deviations) being identified as outliers and being excluded from further processing (e.g., by being discarded). Table 220 includes a heading row 222 that describes the contents of multiple columns 221 a-f. Each row 223a-j of table 220 illustrates a data sample outlier elimination analysis for a distinct one of the ten data samples, with column 221a indicating the data sample being analyzed for each row - as each data sample is analyzed, it is excluded from the other samples of the group to determine the difference that results. The data sample of row 223a may be referred to as the first data sample, the data sample of row 223b may be referred to as the second data sample, and so on. Column 221 b contains the reported speed of each of the data samples, measured in miles per hour. Column 221c lists the other data samples in the group against which the data sample of a given row will be compared, and column 221 d lists the approximate average speed of the group of data samples indicated by column 221c. Column 221 e contains the approximate deviation between the speed of the excluded data sample from column 221b and the average speed listed in column 221 d of the other data samples, measured in number of standard deviations. Column 221 f indicates whether the given data sample would be eliminated, based on whether the deviation listed in column 221 e is greater than 1.5 standard deviations for the purposes of this example. In addition, the average speed 224 for all 10 data samples is shown to be approximately 25.7 miles per hour, and the standard deviation 225 of all 10 data samples is shown to be approximately 14.2.
Thus, for example, row 223a illustrates that the speed of data sample 1 is 26 miles per hour. Next, the average speed of the other data samples 2-10 is calculated as approximately 25.7 miles per hour. The deviation of the speed of data sample 1 from the average speed of the other data samples 2-10 is then calculated as being approximately .02 standard deviations. Finally, data sample 1 is determined to not be an outlier since its deviation is below the threshold of 1.5 standard deviations. Further, row 223c illustrates that the speed of data sample 3 is 0 miles per hour and that the average speed of the other data samples 1-2 and 4-10 is calculated as approximately 28.6 miles per hour. Next, the deviation of the speed of data sample 3 from the average speed of the other data samples 1-2 and 4-10 is calculated as approximately 2.44 standard deviations. Finally, data sample 3 is determined to be eliminated as an outlier because its deviation is above the threshold of 1.5 standard deviations.
More formally, given N data samples, v0, v/, v2, ..., vn, recorded in a given time period and associated with a given road segment, a current data sample v,- will be eliminated if
V; - V.
≥ C
V1 where v,- is speed of the current data sample being analyzed; v; is the average of the speed of the other data samples (v0, ..., v,_/, v,+/, ..., vn); σ, is the standard deviation of the other data samples; and c is a constant threshold (e.g., 1.5). In addition, as a special case to handle a potential division by zero, the current sample v/ will be eliminated if the standard deviation of the other data samples, σ,, is zero and the speed of the current data sample is not equal to the average speed of the other data samples, v, . Note that for each V1, it is not necessary to iterate over all of the other data samples (v0, ..., v,-/} v,+/, ..., vn) in order to compute the average v, and the standard deviation σ,. The average v, of the other data samples v0, ..., v,-./, v,-+/,
..., vn may be expressed as follows:
Nv — V1
V1 ~ '-
N- I and the standard deviation σ,- of the other data samples v0, ..., v(-/, v,-+/,
..., vπ may be expressed as follows:
Figure imgf000030_0001
where N is the total number of data samples (including the current data sample); v is the average of all of the data samples v0, v,, v2, ..., vΛ; v,- is the current data sample, and σ is the standard deviation of all of the data samples vo, v/, V2, ..., vn. By utilizing the above formulas, the averages and standard deviations may be efficiently calculated, and in particular may be calculated in constant time. Since the above algorithm calculates an average and a standard deviation for each data sample in each road segment, the algorithm runs in O(MN) time, where M is the number of road segments and N is the number of data samples per road segment.
In other embodiments, other outlier detection and/or data elimination algorithms may be used, whether instead of or in addition to the described outlier detection, such as techniques based on neural network classifiers, naϊve Bayesian classifiers, and/or regression modeling, as well as techniques in which groups of multiple data samples are considered together (e.g., if at least some data samples are not independent of other data samples).
Figure 2D illustrates an example of performing average speed assessment using data samples, and shows example data samples similar to those depicted in Figure 2B for a particular road segment and period of time. The data samples have been plotted on a graph 230, with time measured on the x-axis 230b and speed measured on the y-axis 230a. In some embodiments, the average speed for a given road segment may be computed on a periodic basis (e.g. every 5 minutes). Each computation may consider multiple data samples within a predetermined time window (or interval), such as 10 minutes or 15 minutes. If average speeds are computed over such time windows, such as at or near the end of the time windows, data samples within a time window may be weighted in various manners when aggregating the speeds of the data samples, such as to take into account the age of data samples (e.g., to discount older data samples based on the intuition and the expectation that they do not provide as accurate information as to the actual traffic conditions at the end of the time window or other current time as younger data samples recorded relatively nearer the current time due to changing traffic conditions). Similarly, other data sample attributes may be considered in some embodiments when weighting data samples, such as a type of data source or a particular data source for a data sample (e.g., to weight data samples more heavily if they come from a type of data source or a particular data source that is believed to be more accurate than others or to otherwise provide better data than others), as well as one or more other types of weighting factors.
In the illustrated example, an average speed for the example road segment is computed every five minutes over a 15-minute time window. The example depicts the relative weights of two illustrative data samples, 231a and
231 b, as they contribute to the computed average speed of each of two time windows, 235a and 235b. The time window 235a includes data samples recorded between times 30 and 45, and the time window 235b includes data samples recorded between times 35 and 50. Data samples 231a and 231b both fall within both time windows 235a and 235b.
In the illustrated example, each data sample in a given time window is weighted in proportion to its age. That is, older data samples weigh less (and therefore contribute less to the average speed) than younger data samples. Specifically, the weight of a given data sample decreases exponentially with age in this example. This decaying weighting function is illustrated by way of two weight graphs 232a and 232b corresponding to time windows 235a and 235b, respectively. Each weight graph 232a and 232b plots data sample recording time on the x-axis (horizontal) against weight on the y-axis (vertical). Samples recorded later in time (e.g., nearer the end of the time window) weigh more than samples recorded earlier in time {e.g., nearer the beginning of the time window). The weight for a given data sample may be visualized by dropping a vertical line downwards from the data sample in graph 230 to where it intersects with the curve of the weight graph corresponding to the time window of interest. For example, weight graph 232a corresponds to time window 235a, and in accordance with the relative ages of data samples 231a (older) and 231 b (younger), the weight 233a of data sample 231a is less than the weight 233b of data sample 231b. In addition, weight graph 232b corresponds to time interval 235b, and it similarly can be seen that the weight 234a of data sample 231a is less than the weight 234b of data sample 231b. In addition, it is evident that the weight of a given data sample decays over time with respect to subsequent time windows. For example, the weight 233b of data sample 231 b in time window 235a is greater than the weight 234b of the same data sample 231b in the later time window 235b, because data sample 231 b is relatively younger during time window 235a compared to time window 235b. More formally, in one embodiment, the weight of a data sample recorded at time t with respect to a time ending at time T may be expressed as follows:
where e is the well-known mathematical constant and α is a variable parameter (e.g., 0.2). Given the above, a weighted average speed for N data samples v0, vh v2, ..., vn, in a time interval ending at time T may be expressed as follows, with tj being the time which data sample VJ represents (e.g., the time at which it was recorded):
Weighted average speed —
,-a(T-ι, )
Furthermore, an error estimate for the computed average speed may be computed as follows:
Error estimate
Figure imgf000033_0001
where N is the number of data samples and σ is the standard deviation of the samples v0, v/, v2, ..., vn from the average speed. Other forms of confidence values may similarly be determined for computed or generated average speeds in other embodiments.
As noted, data samples may be weighted based on other factors, whether instead of or in addition to recency of the data samples. For example, data samples may be time-weighted as described above but by utilizing different weight functions (e.g., to have the weight of a data sample decrease linearly, rather than exponentially, with age). In addition, data sample weighting may be further based on the total number of data samples in the time interval of interest. For example, the variable parameter α described above may depend or otherwise vary based on the total number of data samples, such that greater numbers of data samples result in higher penalties (e.g., lower weights) for older data samples, to reflect the increased likelihood that there will be more low latency (e.g., younger) data samples available for purposes of computing average speed. Furthermore, data samples may be weighted based on other factors, including type of data source. For example, it may be the case that particular data sources (e.g., particular road traffic sensors, or all traffic sensors of a particular network) are known (e.g., based on reported status information) or expected (e.g., based on historical observations) to be unreliable or otherwise inaccurate. In such cases, data samples obtained from such road traffic sensors (e.g., such as data sample 211a of Figure 2B) may be weighted less than data samples obtained from mobile data sources
(e.g., data sample 212a of Figure 2B).
Figure 2E facilitates an example of performing traffic flow assessment for road segments based on data samples, such as may include inferring traffic volumes, densities, and/or occupancy. In this example, traffic volume of a given road segment is expressed as a total number of vehicles flowing in a given time window over the road segment or a total number of vehicles arriving at the road segment during the time window, traffic density of a given road segment is expressed as a total number of vehicles per unit distance (e.g., miles or kilometers), and traffic occupancy is expressed as an average amount of time that a particular road segment or point on the road segment is occupied by a vehicle.
Given a number of distinct mobile data sources observed to be traveling over a given road segment during a given time window, and a known or expected percentage of total vehicles that are mobile data sources, it is possible to infer a total traffic volume — the total number of vehicles (including the vehicles that are not mobile data sources) traveling over the road segment during the time window. From the inferred total traffic volume, and assessed average speeds for vehicles on the road segment, it is possible to further calculate traffic density as well as road occupancy.
An unsophisticated approach to estimating total traffic volume of a particular road segment during a particular time window would be to simply divide the number of mobile data sample sources for that time window by the percentage of actual vehicles expected to be mobile data sample sources - thus, for example, if mobile data samples are received from 25 mobile data sources during the time window and 10% of the total vehicles on the road segment are expected to be mobile data sample sources, the estimated total volume would be 250 actual vehicles for the amount of time of the time window. However, this approach may lead to large variability of volume estimates for adjacent time windows due to the inherent variability of arrival rates of vehicles, particularly if the expected percentage of mobile data sample sources is small. As one alternative that provides a more sophisticated analysis, total traffic volume of a given road segment may be inferred as follows. Given an observation of a certain number of distinct mobile data sources (e.g., individual vehicles), «, on a road segment of length /, during a given period of time τ, Bayesian statistics can be utilized to infer an underlying mean rate of arrival of mobile data sources, λ. The arrival of mobile data sources on the stretch of road corresponding to the road segment may be modeled as a random, discrete process in time, and therefore may be described by Poisson statistics, such that:
Figure imgf000035_0001
From the above formula, a likelihood that n mobile data sources will be observed may be calculated, given a mean arrival rate λ and an observed number of vehicles n. For example, suppose a mean arrival rate of A=IO
(vehicles/unit time) and an observation of «=5 vehicles. Substitution yields
10V° /?(« | Λ) = -^- « 0.038 indicating a 3.8% likelihood of actually observing «=5 vehicles. Similarly, the likelihood of actually observing 10 vehicles arriving (i.e., n=10) if the mean arrival rate is Λ,=10 (vehicles/unit time) is approximately 12.5%.
The above formula may be utilized in conjunction with Bayes Theorem in order to determine the likelihood of a particular arrival rate λ given an observation of n. As is known, Bayes Theorem is: p(λ \ n) = Pi" l λ)P(λ) P(n)
By substitution and constant elimination, the following may be obtained: p(λ I n) ∞ — From the above, a proportional or relative likelihood of an arrival rate λ, given an observation of n mobile data sources, may be calculated, providing a probability distribution over possible values of λ given various observed values for n. For a particular value of n, the distribution of likelihoods over various arrival rate values allows a single representative arrival rate value to be selected (e.g., a mean or a median) and a degree of confidence in that value to be assessed.
Furthermore, given a known percentage q of total vehicles on the road that are mobile data sources, also referred to as the "penetration factor", the arrival rate volume of total traffic may be calculated as Total traffic volume = — q
Total traffic volume for a road segment during a time period may in some embodiments alternatively be expressed as a total number of vehicles k flowing in time τ over a length / of the road segment. Figure 2E illustrates the probability distribution of various total traffic volumes given observed sample sizes, given an example mobile data source penetration factor of q=0.014 (1.4%). In particular, Figure 2E depicts a three dimensional graph 240 that plots observed number of mobile data sources (n) on the y-axis 241 against inferred traffic arrival rate volume on the x-axis 242 and against likelihood of each inferred traffic volume value on the z-axis 243. For example, the graph shows that given an observed number of mobile data sources of n=0, the likelihood that the actual traffic volume is near zero is approximately 0.6 (or 60%), as illustrated by bar 244a, and the likelihood that the actual traffic volume is near 143 vehicles per unit time is approximately 0.1 , as illustrated by bar 244b. Furthermore, given an observed number of mobile data sources of n=28, the likelihood that the total actual traffic volume is near 2143 vehicles per unit time (corresponding to approximately 30 mobile data sample sources per unit time, given the example penetration factor) is approximately 0.1 , as illustrated by bar 244c, which appears to be close to the median value for total actual traffic volume. In addition, average occupancy and density may be calculated using the inferred total traffic arrival rate volume for a given road segment (representing a number of vehicles k arriving during time τ at the road segment), the assessed average speed v, and an average vehicle length d, as follows:
It Vehicles per mile, m = —
VT
Occupancy = md
As previously described, the average speed v of vehicles on the road segment may be obtained by utilizing speed assessment techniques, such as those described with reference to Figure 2D.
Figures 10A-10B illustrate examples of conditioning and otherwise rectifying erroneous data samples from road traffic sensors, such as unreliable and missing data samples. In particular, Figure 10A shows a number of example data readings obtained from multiple traffic sensors at various times, organized into a table 1000. The table 1000 includes multiple data reading rows 1004a-1004y that each .include a traffic sensor ID ("Identifier") 1002a that uniquely identifies the traffic sensor that provided the reading, a traffic sensor data reading value 1002b that includes traffic flow information reported by the traffic sensor, a time of traffic sensor data reading 1002c that reflects the time at which the data reading was taken by the traffic sensor, and a traffic sensor state 1002d that includes an indication of the operational state of the traffic sensor. In this example, only speed information is shown, although in other embodiments additional types of traffic flow information may be reported by traffic sensors (e.g., traffic volume and occupancy), and values may be reported in other formats.
In the illustrated example, the data readings 1004a-1004y have been taken by multiple traffic sensors at various times and recorded as represented in the table 1000. In some cases, data readings may be taken by traffic sensors on a periodic basis (e.g., every minute, every five minutes, etc.) and/or reported by the traffic sensors on such a periodic basis. For example, traffic sensor 123 takes data readings every five minutes, as shown by data readings 1004a-1004d and 1004f-1004i that illustrate a number of data readings taken by traffic sensor 123 between 10:25AM and 10:40AM on two separate days (in this example, 8/13/06 and 8/14/06).
Each illustrated data reading 1004a-1004y includes a data reading value 1002b that includes traffic flow information observed or otherwise obtained by the data sensor. Such traffic flow information may include the speed of one or more vehicles traveling at, near, or over a traffic sensor. For example, data readings 1004a-1004d show that traffic sensor 123 observed, at four different times, vehicle speeds of 34 miles per hour (mph), 36 mph, 42 mph, and 38 mph, respectively. In addition, traffic flow information may include total or incremental counts of vehicles traveling at, near, or over a traffic sensor, whether instead of or in addition to speed and/or other information. Total counts may be a cumulative count of vehicles observed by a traffic sensor since the sensor was installed or otherwise activated. Incremental counts may be a cumulative count of vehicles observed by a traffic sensor since the traffic sensor took a previous data reading. Data readings 1004w-1004x show that traffic sensor 166 counted, at two different times, 316 cars and 389 cars, respectively. In some cases, recorded data readings may not include data reading values, such as when a given traffic sensor has experienced a sensor malfunction, such that it cannot make or record an observation or report an observation (e.g., due to a network failure). For example, data reading 1004k shows that traffic sensor 129 was unable to provide a data reading value at 10:25 AM on the day of 8/13/06, as indicated by a "--" in the data reading value column 1002b. In addition, a traffic sensor state 1002d may be associated with at least some data readings, such as if a traffic sensor and/or corresponding communications network provides an indication of the operational state of the traffic sensor. Operational states in the illustrated embodiment include indications that a sensor is functioning properly (e.g., OK), that a sensor is in a power-off state (e.g. OFF), that a sensor is stuck reporting a single value (e.g., STUCK), and/or that a communications link to the network is down (e.g., COM_DOWN), as illustrated in data readings 1004m, 1004k, 1004o, and 1004s, respectively. In other embodiments, additional and/or different information related to the operational state of a traffic sensor may be provided, or such operational state information may not be available. Other traffic sensors, such as traffic sensors 123 and 166 in this example, are not configured to provide indications of traffic sensor state, as indicated by a "--" in the traffic sensor state column 1002d.
Rows 1004e, 1004J, 1004n, 1004q, 1004v, and 1004y and column 1002e indicate that additional traffic sensor data readings may be recorded in some embodiments and/or that additional information may be provided and/or recorded as part of each data reading. Likewise, in some embodiments, less information than is shown may be utilized as a basis for the techniques described herein.
Figure 10B illustrates examples of detecting errors in traffic sensor data readings that may be indicative of unhealthy traffic sensors that are operating incorrectly. In particular, because many traffic sensors may not provide an indication of traffic sensor state, and because in some cases such indications of traffic sensor state may be unreliable (e.g., indicating that a sensor is not functioning properly when in fact it is, or indicating that a sensor is functioning properly when in fact it is not), it may be desirable to utilize statistical and/or other techniques to detect unhealthy traffic sensors based on reported data reading values.
For example, in some embodiments, an unhealthy traffic sensor may be detected by comparing a current distribution of data readings reported by a given traffic sensor during a time period (e.g., between 4:00PM and 7:29PM) on a particular day to a historical distribution of data readings reported by the traffic sensor during the same time period over multiple past days (e.g., the past 120 days). Such distributions may be generated by, for example, processing multiple data readings obtained from a traffic sensor, such as those shown in Figure 10A. Figure 10B shows three histograms 1020, 1030, and 1040 that each represents a data reading distribution based on data readings obtained from traffic sensor 123 during a time period of interest. The data represented in histograms 1020, 1030, and 1040 is discretized into 5 mile per hour intervals
(e.g., 0 to 4 miles per hour, 5 to 9 miles per hour, 10 to 14 miles per hour, etc.) and is normalized, such that each bar (e.g. bar 1024) represents a probability between 0 and 1 that vehicle speeds within the 5 mile per hour bucket for that bar occurred during the time period (e.g., based on a percentage of data readings during the time period that fall within the bucket). For example, bar
1024 indicates that vehicle speeds between 50 and 54 miles per hour were observed by traffic sensor 123 with a probability of approximately 0.23, such as based on approximately 23% of the data readings obtained from traffic sensor 123 having reported speeds between 50 and 54 miles per hour, inclusive. In other embodiments, one or more other bucket sizes may be used, whether in addition to or instead of a 5 mph bucket. For example, a 1 mph bucket may provide a finer granularity of processing, but may also cause high variability between adjacent buckets if sufficient data readings are not available for the time period, while a 10 mph bucket would provide less variability but also less detail. Further, while the current example uses average speed as the measure for analysis and comparison for data readings, one or more other measures may be used in other embodiments, whether instead of or in addition to average speed. For example, traffic volume and/or occupancy may similarly be used in at least some embodiments.
In this example, histogram 1020 represents a historical distribution of data readings taken by traffic sensor 123 between 9:00AM and 12:29PM on Mondays over the last 120 days. Histogram 1030 represents a distribution of data readings taken by sensor 123 between 9:00AM and 12:29 on a particular Monday when traffic sensor 123 was functioning properly. It can be visibly discerned that the shape of histogram 1030 resembles that of histogram 1020, given that traffic patterns on a particular Monday would be expected to be similar to traffic patterns on Mondays in general, and the degree of similarity may be computed in various ways, as discussed below. Histogram 1040 represents a distribution of data readings taken by traffic sensor 123 between 9:00AM and 12:29 on a particular Monday when traffic sensor 123 was not functioning properly, and was instead outputting data readings that did not reflect actual traffic flows. The shape of histogram 1040 differs markedly from that of histogram 1020, as is visibly discernible, reflecting the erroneous data readings reported by traffic sensor 123. For example, a large spike in the distribution is visible at bar 1048, which may be indicative of sensor 123 being stuck for at least some of the time between 9:00AM and 12:30PM and reporting a substantial number of identical readings that were not reflective of actual traffic flows.
In some embodiments, the Kullback-Leibler divergence between two traffic sensor data distributions may be utilized to determine the similarity between the two distributions, although in other embodiments similarities or differences between distributions may be calculated in other manners. The Kullback-Leibler divergence is a convex measure of the similarity of two probability distributions P and Q. It may be expressed as follows,
Figure imgf000041_0001
where P, and Q1 are values of the discretized probability distributions P and Q (e.g., each P1 and Q1 is the probability that speeds within the Hh bucket occurred). In the illustrated example, the Kullback-Leibler divergence ("DKL") 1036 between the data reading distribution shown in histogram 1020 and the data reading distribution shown in histogram 1030 for the healthy traffic sensor is approximately 0.076, while the Kullback-Leibler divergence 1046 between the data reading distribution shown in histogram 1020 and the data reading distribution shown in histogram 1040 for the unhealthy traffic sensor is approximately 0.568. As one might expect, the DKL 1036 is significantly smaller than the DKL 1046 (in this case, approximately 13% of DKL 1046), reflecting the fact that histogram 1030 (e.g., representing the output of traffic sensor 123 while it was functioning properly) is more similar to histogram 1020 (e.g., representing the average behavior of traffic sensor 123) than histogram 1040 (e.g., representing traffic sensor 123 while it was malfunctioning) is similar to histogram 1020. In addition, some embodiments may use other statistical measures to detect erroneous data readings provided by traffic sensors, such as statistical information entropy, whether instead of or in addition to a similarity measure such as from the Kullback-Leibler divergence. The statistical entropy of a probability distribution is a measure of the diversity of the probability distribution. Statistical entropy of a probability distribution P may be expressed as follows, i where P,- is a value of the discretized probability distributions P (e.g., each Pi is the probability that speeds within the Mh bucket of the histogram for
P occurred). In the illustrated example, the statistical entropy 1022 of the distribution shown in histogram 1020 is approximately 2.17, the statistical entropy 1032 of the distribution shown in histogram 1030 is approximately 2.14, and the statistical entropy 1042 of the distribution shown in histogram 1040 is approximately 2.22. As one might expect, the statistical entropy 1042 is greater than both the statistical entropy 1032 and the statistical entropy 1022, reflecting the more chaotic output pattern exhibited by traffic sensor 123 while it was malfunctioning.
In addition, the difference between two statistical entropy measures may be measured by calculating the entropy difference measure. The entropy difference measure between two probability distributions P and Q may be expressed as
EM =\\ H(P) ~H(Q) \\2 where H(P) and H(Q) are the entropies of the probability distributions P and Q, respectively, as described above. In the illustrated example, the entropy difference measure ("EM") 1034 between the distribution shown in histogram 1020 and the distribution shown in histogram 1030 is approximately 0.0010, and the entropy difference measure 1044 between the distribution shown in histogram 1020 and the distribution shown in histogram 1040 is approximately .0023. As one may expect, the entropy difference measure 1044 is significantly larger than the entropy difference measure 1034 (in this case, more than twice as large), reflecting the greater difference between the statistical entropy of the distribution shown in histogram 1040 and the statistical entropy of the distribution shown in histogram 1020, compared to the difference between the statistical entropy of the distribution shown in histogram 1030 and the statistical entropy of the distribution shown in histogram 1020.
The statistical measures described above may be utilized in various ways in order to detect unhealthy traffic sensors. In some embodiments, various information about a current data reading distribution is provided as input to a sensor health (or data reading reliability) classifier, such as based on a neural network, Bayesian classifier, decision tree, etc. For example, the classifier input information may include, for example, the Kullback-Leibler divergence between a historical data reading distribution for the traffic sensor and the current data reading distribution for the traffic sensor, and the statistical entropy of the current data reading distribution. The classifier then assesses the health of the traffic sensor based on the provided inputs, and provides an output that indicates an unhealthy or healthy sensor. In some cases, additional information may also be provided as input to the classifier, such as an indication of the time-of-day (e.g., a time period from 5:00AM to 9:00AM), day or days of week (e.g., Monday through Thursday, Friday, Saturday or Sunday) corresponding to the time-of-day and/or day-of-week to which the current and historical data reading distributions correspond, size of the mph buckets, etc. Classifiers may be trained by utilizing actual prior data readings, such as those that include indications of traffic sensor state, as illustrated in Figure 10A.
In other embodiments, unhealthy traffic sensors may be identified without the use of a classifier. For example, a traffic sensor may be determined to be unhealthy if one or more statistical measures are above a predetermined threshold value. For instance, a traffic sensor may be determined to be unhealthy if the Kullback-Leibler divergence between a historical data reading distribution for the traffic sensor and a current data reading distribution for the traffic sensor is above a first threshold value, if the statistical entropy of the current data reading distribution is above a second threshold value, and/or if the entropy difference measure between the current data reading distribution and the historical data reading distribution is above a third threshold. In addition, other non-statistical information may be utilized, such as whether the traffic sensor is reporting a sensor state that may be interpreted as healthy or unhealthy.
As previously noted, although the above techniques are described primarily in the context of traffic sensors that report vehicle speed information, the same techniques may be utilized with respect to other traffic flow information, including traffic volume, density, and occupancy.
Figure 3 is a block diagram illustrating an embodiment of a computing system 300 that is suitable for performing at least some of the described techniques, such as by executing an embodiment of a Data Sample Manager system. The computing system 300 includes a central processing unit ("CPU") 335, various input/output ("I/O") components 305, storage 340, and memory 345, with the illustrated I/O components including a display 310, a network connection 315, a computer-readable media drive 320, and other I/O devices 330 (e.g., keyboards, mice or other pointing devices, microphones, speakers, etc.).
In the illustrated embodiment, various systems are executing in memory 345 in order to perform at least some of the described techniques, including a Data Sample Manager system 350, a Predictive Traffic Information Provider system 360, a Key Road Identifier system 361 , a Road Segment Determiner system 362, an RT Information Provider system 363, and optional other systems provided by programs 369, with these various executing systems generally referred to herein as traffic information systems. The computing system 300 and its executing systems may communicate with other computing systems via a network 380 (e.g., the Internet, one or more cellular telephone networks, etc.), such as various client devices 382, vehicle-based clients and/or data sources 384, road traffic sensors 386, other data sources 388, and third- party computing systems 390.
In particular, the Data Sample Manager system 350 obtains various information regarding current traffic conditions and/or previous observed case data from various sources, such as from the road traffic sensors 386, vehicle- based mobile data sources 384 and/or other mobile or non-mobile data sources 388. The Data Sample Manager system 350 then prepares the obtained data for use by other components and/or systems by filtering (e.g., eliminating data samples from consideration) and/or conditioning (e.g., correcting errors) the data, and then assesses road traffic conditions such as traffic flow and/or speed for various road segments using the prepared data. In this illustrated embodiment, the Data Sample Manager system 350 includes a
Data Sample Filterer component 352, a Sensor Data Conditioner component
353, a Data Sample Outlier Eliminator component 354, a Data Sample Speed
Assessor component 356, a Data Sample Flow Assessor component 358, and an optional Sensor Data Aggregator component 355, with the components 352- 358 performing functions similar to those previously described for corresponding components of Figure 1 (such as the Data Sample Filterer component 104, the Sensor Data Conditioner component 105, the Data Sample Outlier Eliminator component 106, the Data Sample Speed Assessor component 107, the Data Sample Flow Assessor component 108, and the optional Sensor Data Aggregator component 110). In addition, in at least some embodiments the Data Sample Manager system performs its assessment of road traffic conditions in a substantially realtime or near-realtime manner, such as within a few minutes of obtaining the underlying data (which may be itself be obtained in a substantially realtime manner from the data sources). The other traffic information systems 360-363 and 369 and/or the third- party computing systems 390 may then use data provided by the Data Sample Manager system in various ways. For example, the Predictive Traffic Information Provider system 360 may obtain (either directly, or indirectly via a database or storage device) such prepared data to generate future traffic condition predictions for multiple future times, and provide the predicted information to one or more other recipients, such as one or more other traffic information systems, client devices 382, vehicle-based clients 384, and/or third- party computing systems 390. In addition, the RT Information Provider system 363 may obtain information about assessed road traffic conditions from the Data Sample Manager system, and make1 the road traffic condition information available to others (e.g., client devices 382, vehicle-based clients 384, and/or third-party computing systems 390) in a realtime or near-realtime manner - when the Data Sample Manager system also performs its assessments in such a realtime or near-realtime manner, the recipients of the data from the RT
Information Provider system may be able to view and use information about current traffic conditions on one or more road segments based on contemporaneous actual vehicle travel on those road segments (as reported by mobile data sources traveling on those road segments and/or by sensors and other data sources providing information about actual vehicle travel on those road segments).
The client devices 382 may take various forms in various embodiments, and may generally include any communication devices and other computing devices capable of making requests to and/or receiving information from the traffic information systems. In some cases, the client devices may execute interactive console applications (e.g., Web browsers) that users may utilize to make requests for traffic-related information (e.g., predicted future traffic conditions information, realtime or near-realtime current traffic conditions information, etc.), while in other cases at least some such traffic-related information may be automatically sent to the client devices (e.g., as text messages, new Web pages, specialized program data updates, etc.) from one or more of the traffic information systems. The road traffic sensors 386 include multiple sensors that are installed in, at, or near various streets, highways, or other roads, such as for one or more geographic areas. These sensors may include loop sensors that are capable of measuring the number of vehicles passing above the sensor per unit time, vehicle speed, and/or other data related to traffic flow. In addition, such sensors may include cameras, motion sensors, radar ranging devices, RFID- based devices, and other types of sensors that are located adjacent to or otherwise near a road. The road traffic sensors 386 may periodically or continuously provide measured data readings via wire-based or wireless-based data link to the Data Sample Manager system 350 via the network 380 using one or more data exchange mechanisms (e.g., push, pull, polling, request- response, peer-to-peer, etc.). In addition, while not illustrated here, in some embodiments one or more aggregators of such road traffic sensor information (e.g., a governmental transportation body that operates the sensors) may instead obtain the raw data and make that data available to the traffic information systems (whether in raw form or after it is processed).
The other data sources 388 include a variety of types of other sources of data that may be utilized by one or more of the traffic information systems to provide traffic-related information to users, customers, and/or other computing systems. Such data sources include map services and/or databases that provide information regarding road networks, such as the connectivity of various roads to one another as well as traffic control information related to such roads (e.g., the existence and location of traffic control signals and/or speed zones). Other data sources may also include sources of information about events and/or conditions that impact and/or reflect traffic conditions, such as short-term and long-term weather forecasts, school schedules and/or calendars, event schedules and/or calendars, traffic incident reports provided by human operators (e.g., first responders, law enforcement personnel, highway crews, news media, travelers, etc.), road work information, holiday schedules, etc.
The vehicle-based clients/data sources 384 in this example may each be a computing system and/or communication system located within a vehicle that provides data to one or more of the traffic information systems and/or that receives data from one or more of those systems. In some embodiments, the Data Sample Manager system 350 may utilize a distributed network of vehicle- based mobile data sources and/or other user-based mobile data sources (not shown) that provide information related to current traffic conditions for use by the traffic information systems. For example, each vehicle or other mobile data source may have a GPS ("Global Positioning System") device (e.g., a cellular telephone with GPS capabilities, a stand-alone GPS device, etc.) and/or other geo-location device capable of determining the geographic location, and possibly other information such as speed, direction, elevation and/or other data related to the vehicle's travel, with the geo-location device(s) or other distinct communication devices obtaining and providing such data to one or more of the traffic information systems (e.g., by way of a wireless link) from time to time. Such mobile data sources are discussed in greater detail elsewhere.
Alternatively, some or all of the vehicle-based clients/data sources 384 may each have a computing system and/or communication system located within a vehicle to obtain information from one or more of the traffic information systems, such as for use by an occupant of the vehicle. For example, the vehicle may contain an in-dash navigation system with an installed Web browser or other console application that a user may utilize to make requests for traffic-related information via a wireless link from one of the traffic information systems, such as the Predictive Traffic Information Provider system and/or RT Information Provider system, or instead such requests may be made from a portable device of a user in the vehicle. In addition, one or more of the traffic information systems may automatically transmit traffic-related information to such a vehicle-based client device based upon the receipt or generation of updated information.
The third-party computing systems 390 include one or more optional computing systems that are operated by parties other than the operators) of the traffic information systems, such as parties who receive traffic-related data from one or more of the traffic information systems and who make use of the data in some manner. For example, the third-party computing systems 390 may be systems that receive traffic information from one or more of the traffic information systems, and that provide related information (whether the received information or other information based on the received information) to users or others (e.g., via Web portals or subscription services). Alternatively, the third- party computing systems 390 may be operated by other types of parties, such as media organizations that gather and report traffic conditions to their consumers, or online map companies that provide traffic-related information to their users as part of travel-planning services.
As previously noted, the Predictive Traffic Information Provider system 360 may use data prepared by the Data Sample Manager system 350 and other components in the illustrated embodiment to generate future traffic condition predictions for multiple future times. In some embodiments, the predictions are generated using probabilistic techniques that incorporate various types of input data in order to repeatedly produce future time series predictions for each of numerous road segments, such as in a realtime manner based on changing current conditions for a network of roads in a given geographic area. Moreover, in at least some embodiments one or more predictive Bayesian or other models (e.g., decision trees) are automatically created for use in generating the future traffic condition predictions for each geographic area of interest, such as based on observed historical traffic conditions for those geographic areas. Predicted future traffic condition information may be used in a variety of ways to assist in travel and for other purposes, such as to plan optimal routes through a network of roads based on predictions about traffic conditions for the roads at multiple future times.
Furthermore, the Road Segment Determiner system 362 may utilize map services and/or databases that provide information regarding road networks in one or more geographic areas in order to automatically determine and manage information related to the roads that may be used by other traffic information systems. Such road-related information may include determinations of particular portions of roads to be treated as road segments of interest (e.g., based on traffic conditions of those road portions and other nearby road portions), as well as automatically generated associations or relationships between road segments in a given road network and indications of other information of interest (e.g., physical locations of road traffic sensors, event venues, and landmarks; information about functional road classes and other related traffic characteristics; etc.). In some embodiments, the Road Segment Determiner system 362 may execute periodically and store the information it produces in storage 340 or a database (not shown) for use by other traffic information systems.
In addition, the Key Road Identifier system 361 utilizes a road network representing a given geographic area and traffic condition information for that geographic area to automatically identify roads that are of interest for tracking and assessing road traffic conditions, such as for used by. other traffic information systems and/or traffic data clients. In some embodiments, the automatic identification of a road (or of one or more road segments of the road) as being of interest may be based at least in part on factors such as the magnitude of peak traffic volume or other flow, the magnitude of peak traffic congestion, intra-day variability of traffic volume or other flow, intra-day variability of congestion for the road, inter-day variability of traffic volume or other flow, and/or inter-day variability of congestion for the road. Such factors may be analyzed by way of, for example, principal components analysis, such as by first computing a covariance matrix S of traffic condition information for all roads (or road segments) in a given geographic area, and then computing an Eigen decomposition of the covariance matrix S. In descending order of Eigenvalue, the Eigenvectors of S then represent the combinations of roads (or road segments) that independently contribute most strongly to the variance of the observed traffic conditions.
In addition, a realtime traffic information provider or presenter system may be provided by the RT Information Provider system, or instead by one or more of the other programs 369. The information provider system may utilize data analyzed and provided by the Data Sample Manager system 350 and/or other components (such as the Predictive Traffic Information Provider system 360) in order to provide traffic information services to consumers and/or business entities that are operating or otherwise utilizing client devices 382, vehicle-based clients 384, third-party computing systems 390, etc., such as to provide data in a realtime or near-realtime manner based at least in part on data samples obtained from vehicles and other mobile data sources.
It will be appreciated that the illustrated computing systems are merely illustrative and are not intended to limit the scope of the present invention. Computing system 300 may be connected to other devices that are not illustrated, including through one or more networks such as the Internet or via the Web. More generally, a "client" or "server" computing system or device, or traffic information system and/or component, may comprise any combination of hardware or software that can interact and perform the described types of functionality, including without limitation desktop or other computers, database servers, network storage devices and other network devices, PDAs, cellphones, wireless phones, pagers, electronic organizers, Internet appliances, television-based systems (e.g., using set-top boxes and/or personal/digital video recorders), and various other consumer products that include appropriate inter-communication capabilities. In addition, the functionality provided by the illustrated system components may in some embodiments be combined in fewer components or distributed in additional components. Similarly, in some embodiments the functionality of some of the illustrated components may not be provided and/or other additional functionality may be available. In addition, while various items are illustrated as being stored in memory or on storage while being used, these items or portions of them can be transferred between memory and other storage devices for purposes of memory management and/or data integrity. Alternatively, in other embodiments some or all of the software components and/or modules may execute in memory on another device and communicate with the illustrated computing system via inter-computer communication. Some or all of the system components or data structures may also be stored (e.g., as software instructions or structured data) on a computer-readable medium, such as a hard disk, a memory, a network, or a portable media article to be read by an appropriate drive or via an appropriate connection. The system components and data structures can also be transmitted as generated data signals (e.g., as part of a carrier wave or other analog or digital propagated signal) on a variety of computer-readable transmission mediums, including wireless-based and wired/cable-based mediums, and can take a variety of forms (e.g., as part of a single or multiplexed analog signal, or as multiple discrete digital packets or frames). Such computer program products may also take other forms in other embodiments. Accordingly, the present invention may be practiced with other computer system configurations.
Figure 4 is a flow diagram of an example embodiment of a Data Sample Filterer routine 400. The routine may be provided by, for example, execution of an embodiment of a Data Sample Filterer component 352 of Figure 3 and/or Data Sample Filterer component 104 of Figure 1, such as to receive data samples corresponding to roads in a geographic area and to filter data samples that are not of interest for later assessments. The filtered data samples may then subsequently be used in various ways, such as to use the filtered data samples to calculate average speeds for particular road segments of interest and to calculate other traffic flow-related characteristics for such road segments.
The routine begins in step 405, where a group of data samples is received for a geographic area for a particular period of time. In step 410, the routine then optionally generates additional information for some or all of the data samples based on other related data samples. For example, if a particular data sample for a vehicle or other mobile data source lacks information of interest (such as speed and/or heading or orientation for the mobile data source), such information may be determined in conjunction with one or both of the prior and subsequent data samples for the same mobile data source. In addition, in at least some embodiments information from multiple data samples for a particular mobile data source may be aggregated in order to assess additional types of information regarding the data source, such as to assess an activity of the data source over a period of time that spans multiple data samples (e.g., to determine if a vehicle has been parked for several minutes rather than temporarily stopped for a minute or two as part of the normal flow of traffic, such as at a stop sign or stop light).
After step 410, the routine continues to step 415 to attempt to associate each data sample with a road in the geographic area and a particular road segment of that road, although in other embodiments this step may not be performed or may be performed in other manners, such as if at least an initial association of a data sample to a road and/or road segment is instead received in step 405, or instead if the entire routine is performed at a single time for a single road segment such that all of the data samples received in step 405 as a group correspond to a single road segment. In the illustrated embodiment, the association of a data sample to a road and road segment may be performed in various ways, such as to make an initial association based solely on a geographic location associated with the data sample (e.g., to associate the data sample with the nearest road and road segment). Furthermore, the association may optionally include additional analysis to refine or revise that initial association - for example, if a location-based analysis indicates multiple possible road segments for a data sample (such as multiple road segments for a particular road, or instead multiple road segments for nearby but otherwise unrelated roads), such additional analysis may use other information such as speed and orientation to affect the association (e.g., by combining location information and one or more other such factors in a weighted manner). Thus, for example, if the reported location of a data sample is between a freeway and a nearby frontage road, information about the reported speed of the data sample may be used to assist in associating the data sample with the appropriate road (e.g., by determining that a data sample with an associated speed of 70 miles per hour is unlikely to originate from a frontage road with a speed limit of 25 miles per hour). In addition, in situations in which a particular stretch of road or other road portion is associated with multiple distinct road segments (e.g., for a two-lane road in which travel in one direction is modeled as a first road segment and in which travel in the other direction is modeled as a distinct second road segment, or instead a multi-lane freeway in which an HOV lane is modeled as a separate road segment from one or more adjacent non-HOV lanes), additional information about the data sample such as speed and/or orientation may be used to select the most likely road segment of the road for the data sample.
After step 415, the routine continues to step 420 to filter any data samples that are not associated with road segments that are of interest for later processing, including data samples (if any) that are not associated with any road segment. For example, certain roads or portions of roads may not be of interest for later analysis, such as to exclude roads of certain functional road classes (e.g., if the size of the road and/or its amount of traffic is not sufficiently large to be of interest), or to exclude portions of roads such as a freeway ramp or feeder road or collector/distributor road since the traffic characteristics of such road portions are not reflective of the freeway as a whole. Similarly, in situations in which multiple road segments are associated with a particular portion of road, some road segments may not be of interest for some purposes, such as to exclude an HOV lane for a freeway if only the behavior of the non-HOV lanes are of interest for a particular purpose, or if only one direction of a two-way road is of interest. After step 420, the routine continues to step 425 to determine whether to filter data samples based on activity of the data sources, although in other embodiments such filtering may not be performed or may always be performed. In the illustrated embodiment, if the filtering is to be performed based on the source activity, the routine continues to step 430 to perform such filtering, such as to remove data samples corresponding to data sources whose behavior does not reflect the traffic flow activity of interest to be measured (e.g., to exclude vehicles that are parked with their engines running for an extended period of time, to exclude vehicles that are driving around in a parking lot or parking garage or other small area for an extended period of time, etc.). After step 430, or if it was instead determined in step 425 to not filter based on data source activity, the routine continues to step 490 to store the filtered data for later use, although in other embodiments the filtered data could instead be provided directly to one or more clients. The routine then continues to step 495 to determine whether to continue. If so, the routine returns to step 405, and if not continues to step 499 and ends.
Figure 5 is a flow diagram of an example embodiment of a Data Sample Outlier Eliminator routine 500. The routine may be provided by, for example, execution of an embodiment of a Data Sample Outlier Eliminator component 354 of Figure 3 and/or Data Sample Outlier Eliminator component 106 of Figure 1 , such as to eliminate data samples for a road segment that are outliers with respect to the other data samples for the road segment.
The routine begins in step 505, where a set of data samples for a road segment and a time period are received. The received data samples may be, for example, filtered data samples obtained from the output of the Data Sample Filterer routine. In step 510, the routine then optionally separates the data samples into multiple groups to reflect distinct parts of the road segment and/or distinct behaviors. For example, if multiple freeway lanes are included together as part of a single road segment and the multiple lanes include at least one
HOV lane and one or more non-HOV lanes, the vehicles in the HOV lane(s) may be separated from vehicles in the other lanes if the traffic flow during the time period is significantly different between the HOV and non-HOV lanes. Such grouping may be performed in various ways, such as by fitting the data samples to multiple curves that each represent typical data sample variability within a particular group of data samples (e.g., a normal or Gaussian curve). In other embodiments, such grouping may not be performed, such as if the road segment is instead divided such that all of the data samples for the road segment reflect similar behavior (e.g., if a freeway with an HOV lane and other non-HOV lanes is instead split into multiple road segments).
The routine next continues to step 515 to, for each of the one or more groups of data samples (with all of the data samples being treated as a single group if the data sample separating of step 510 is not performed), calculate average traffic condition characteristics for all of the data samples. Such average traffic condition characteristics may include, for example, an average speed, as well as corresponding statistical information such as a standard deviation from the mean. The routine then continues to step 520 to, for each of the one or more data sample groups, successively perform a leave-one-out analysis such that a particular target data sample is selected to be provisionally left out and average traffic condition characteristics are determined for the remaining traffic condition characteristics. The larger the difference between the average traffic condition characteristics for the remaining data samples and the average traffic condition characteristics for all data samples from step 515, the greater the likelihood that the left-out target data sample is an outlier that does not reflect common characteristics of the other remaining data samples. In step 525, the routine then optionally performs. one or more additional types of outlier analysis, such as to successively leave out groups of two or more target data samples in order to assess their joint effect, although in some embodiments such additional outlier analysis may not be performed. After step 522, the routine continues to step 590 to remove data samples that are identified as outliers in steps 520 and/or 525, and stores the remaining data samples for later use. In other embodiments, the routine may instead forward the remaining data samples to one or more clients for use. The routine then continues to step 595 to determine whether to continue. If so, the routine returns to step 505, and if not the routine continues to step 599 and ends. . Figure 6 is a flow diagram of an example embodiment of a Data Sample
Speed Assessor routine 600. The routine may be provided by, for example, execution of the Data Sample Speed Assessor component 356 of Figure 3 and/or the Data Sample Speed Assessor component 107 of Figure 1 , such as to assess a current average speed for a road segment during a period of time based on various data samples for the road segment. In this example embodiment, the routine will perform successive calculations of average speed for the road segment for each of multiple time intervals or windows during the period of time, although in other embodiments each invocation of the routine may instead be for a single time interval (e.g., with multiple time intervals assessed via multiple invocations of the routine). For example, if the time period is thirty minutes, a new average speed calculation may be performed every five minutes, such as with 5-minute time intervals (and thus with each time interval not overlapping with prior or successive time intervals), or with 10- minute time intervals (and thus overlapping with adjacent time intervals). The routine begins at step 605, where an indication is received of data samples (e.g., data samples from mobile data sources and physical sensor data readings) for a road segment for a period of time, or of insufficient data for a road segment for a period of time, although in some embodiments only one of data samples from mobile data sources and from sensor data readings may be received. The received data samples may be, for example, obtained from the output of the Data Sample Outlier Eliminator routine. Similarly, the indication of insufficient data may be received from the Data Sample Outlier Eliminator routine. In some cases, the indication of insufficient data may be based on having an insufficient number of data samples, such as when there have been no data samples from mobile data sources associated with the road segment for the period of time and/or when some or all sensor data readings for the road segment are missing or have been detected to be erroneous (e.g., by the Sensor Data Conditioner component 105 of Figure 1). In this example, the routine continues in step 610 to determine whether an indication of insufficient data has been received. If so, the routine continues to step 615, and if not, the routine continues to step 625. In step 615, the routine executes an embodiment of the Traffic Flow
Estimator routine (described with reference to Figure 14) in order to obtain estimated average traffic speed for the road segment for the period of time. In step 620, the routine then provides an indication of the estimated average speed. In step 625, the routine selects the next time interval or window for which an average speed is to be assessed, beginning with the first time interval. In step 630, the routine then calculates a weighted average traffic speed for the data samples within the time interval, with the weighting of the data samples being based on one or more factors. For example, in the illustrated embodiment, the weighting for each data sample is varied (e.g., in a linear, exponential, or step-wise manner) based on the latency of the data sample, such as to give greater weight to data samples near the end of the time interval (as they may be more reflective of the actual average speed at the end of the time interval). In addition, the data samples may further be weighted in the illustrated embodiment based on the source of the data, such as to weight data readings from physical sensors differently from data samples from vehicles and other mobile data sources, whether more or less heavily. In addition, in other embodiments, various other factors could be used in the weighting, including on a per-sample basis - for example, a data reading from one physical sensor may be weighted differently than a data reading from another physical sensor, such as to reflect available information about the sensors (e.g., that one of the physical sensors is intermittently faulty or has a less accurate data reading resolution than another sensor), and a data sample from one vehicle or other mobile data source may similarly be weighted differently from that of another such vehicle or mobile data source based on information about the mobile data sources. Other types of factors that in some embodiments may be used in the weightings include confidence values or other estimates of the possible error in a particular data sample, a degree of confidence that a particular data sample should be associated with a particular road segment, etc.
After step 630, the routine continues to step 635 to provide an indication of the average calculated traffic speed for the time interval, such as to store the information for later use and/or to provide the information to a client. In step 640, the routine then optionally obtains additional data samples for the time period that have become available subsequent to the receipt of information in step 605. It is then determined in step 645 whether more time intervals are to be calculated for the time period, and if so the routine returns to step 625. If there are instead no more time intervals, or after step 620, the routine continues to step 695 to determine whether to continue. If so, the routine returns to step 605, and if not continues to step 699 and ends.
Figure 7 is a flow diagram of an example embodiment of a Data Sample Flow Assessor routine 700. The routine may be provided by, for example, execution of an embodiment of a Data Sample Flow Assessor component 358 of Figure 3 and/or Data Sample Flow Assessor component 108 of Figure 1, such as to assess traffic condition flow characteristics other than average speed for a particular road segment during a particular period of time. In this example embodiment, the flow characteristics to be assessed include a total volume of vehicles (or other mobile data sources) arriving at or present on a particular road segment during a period of time, and a percentage occupancy for the road segment during the period of time to reflect the percentage of time that a point on or area of the road segment is covered by a vehicle.
The routine begins at step 705, where an indication is received of data samples for a road segment for a period of time and an average speed for the road segment during the period of time, or of insufficient data for a road segment for a period of time. The data samples may be obtained from, for example, output of the Data Sample Outlier Eliminator routine, and the average speed may be obtained from, for example, output of the Data Sample Speed Assessor routine. The indication of insufficient data may be obtained from, for example, output of the Data Sample Outlier Eliminator routine. In some cases, the indication of insufficient data may be based on having an insufficient number of data samples, such as when there have been no data samples from mobile data sources associated with the road segment for the period of time and/or when some or all sensor data readings for the road segment are missing or have been detected to be erroneous (e.g., by the Sensor Data Conditioner component 105 of Figure 1). The routine then continues in step 706 to determine whether an indication of insufficient data has been received. If so, the routine continues to step 750, and if not, the routine continues to step 710.
In step 750, the routine executes an embodiment of the Traffic Flow Estimator routine (described with reference to Figure 14) in order to obtain estimated total volume and occupancy for the road segment for the period of time. In step 755, the routine then provides an indication of the estimated total volume and occupancy.
In step 710, the routine determines a number of vehicles (or other mobile data sources) that provided the data samples, such as by associating each data sample with a particular mobile data source. In step 720, the routine then probabilistically determines the most likely arrival rate to the road segment of the vehicles providing the data samples, based in part on the determined number of vehicles. In some embodiments, the probabilistic determination may further use information about the a priori probability of the number of such vehicles and the a priori probability of a particular arrival rate. In step 730, the routine then infers the total volume of all vehicles passing through the road segment during the period of time, such as based on the determined number of vehicles and information about what percentage of the total number of vehicles are vehicles that provide data samples, and further assesses a confidence interval for the inferred total volume. In step 740, the routine then infers the percentage occupancy for the road segment during the period of time based on the inferred total volume, the average speed, and an average vehicle length. Other types of traffic flow characteristics of interest may similarly be assessed in other embodiments. In the illustrated embodiment, the routine then continues to step 790 to provide indications of the inferred total volume and the inferred percentage occupancy. After steps 755 or 790, if it is then determined in step 795 to continue, the routine returns to step 705, and if not continues to step 799 and ends.
Figure 11 is a flow diagram of an example embodiment of a Sensor Data Reading Error Detector routine 1100. The routine may be provided by, for example, execution of the Sensor Data Conditioner component 353 of Figure 3 and/or the Sensor Data Conditioner component 105 of Figure 1 , such as to determine the health of one or more traffic sensors. In this example embodiment, the routine is performed at various times of day to determine the health of one or more traffic sensors, based on traffic sensor data readings recently obtained during an indicated time period. In addition, data being output by a traffic sensor for one or more of various types of traffic conditions measures may be analyzed by the routine in various embodiments, such as traffic speed, volume, occupancy, etc. Furthermore, data for at least some of traffic conditions may be measured and/or aggregated in various ways, such as at various levels of granularity (e.g., 5mph buckets of groups of data for speed information), and the routine may in some embodiments analyze data for a particular traffic sensor at each of one or more levels of granularity (or other level of aggregation) for each of one or more traffic conditions measures.
The routine begins at step 1105 and receives an indication of one or more traffic sensors and of a selected time category (e.g., the most recent time category, if the routine executes after each time category to provide results in a near-realtime manner, or one or more prior time categories selected for analysis), although in other embodiments multiple time categories may instead be indicated. In some embodiments, time may be modeled by way of time categories that each include a time-of-day category (e.g., 12:00AM to 5:29AM and 7:30PM to 11 :59PM, 5:30AM to 8:59AM, 9:00AM to 12:29PM, 12:30PM to 3:59PM, 4:00PM to 7:29PM, and 12:00AM to 11 :59PM) and/or a day-of-week category (e.g., Monday through Thursday, Friday, Saturday and Sunday, or instead with Saturday and Sunday grouped together). Particular time categories may be selected in various ways in various embodiments, including to reflect time periods during which traffic is expected to have similar characteristics (e.g., based on commuting times and patterns, or other consistent activities that affect traffic), such as to group evening and early morning hours together if traffic is typically relatively sparse during those times.
In addition, in some embodiments time categories may be selected to differ for different traffic sensors (e.g., by geographic area, road, individual sensor, etc.), whether manually or in an automated manner by analyzing historical data to determine time periods that have similar traffic flow characteristics.
In steps 1110 to 1150, the routine then performs a loop in which it analyzes traffic sensor data readings from each of the indicated one or more traffic sensors for the indicated time categories in order to determine the traffic sensor health status of each of the traffic sensors during that time category. In step 1110, the routine selects the next traffic sensor of the indicated one or more traffic sensors, beginning with the first, and selects the indicated time category (or, if multiple time categories were instead indicated in step 1105, the next combination of traffic sensor and indicated time category). In step 1115, the routine retrieves an average historical data reading distribution for the traffic sensor during the selected time category. In some embodiments, the historical data reading distribution may be based on data readings provided by the traffic sensor during the selected time category (e.g., between 4:00PM and 7:29PM on days of the week that include Monday through Thursday) over an extended time period, such as the last 120 days or a recent 120 day period).
In step 1120, the routine determines a target traffic sensor data distribution for the selected traffic sensor and selected time category. In step 1125, the routine then determines the similarity of the target traffic sensor data reading distribution and the historical traffic sensor data reading distribution. As described in more detail elsewhere, in some embodiments, such a similarity measure may be determined by calculating the Kullback-Leibler divergence between the target traffic sensor data reading distribution and the historical traffic sensor data reading distribution. In step 1130, the routine next determines the information entropy of the target traffic sensor data reading distribution, as discussed in greater detail elsewhere.
In step 1135, the routine next assesses the health of the selected traffic sensor for the selected time category by using various information to perform a health classification (e.g., an indication of "healthy" or "unhealthy", or a value on a "health" scale such as from 1 to 100), which in this example includes the determined similarity, determined entropy, and the selected time category (e.g., the selected time-of-day category, such as 4:00PM to 7:29PM, and/or the selected day-of-week category, such as Monday to Thursday). In other embodiments, other types of information could be used, such as an indication of a degree of granularity of the data being measured (e.g., 5mph buckets of groups of data for speed information). In one embodiment, a neural network may be used for the classification, while in other embodiments various other classification techniques may be utilized, including decision trees, Bayesian classifiers, etc.
In step 1140, the routine then determines the traffic sensor health status for the selected traffic sensor and selected time category (in this example as healthy or unhealthy) based on the assessed traffic sensor health and/or other factors. In some embodiments, the health status for a traffic sensor may be determined to be healthy whenever the traffic sensor health for the selected time category is assessed as healthy in step 1135. In addition, the health status for the traffic sensor may be determined to be unhealthy whenever the traffic sensor health for the selected time category is assessed as unhealthy (e.g., in step 1135), and the selected time category has an associated time-of- day category that covers a sufficiently large time period (e.g., at least 12 or 24 hours). Furthermore, in some embodiments information about related time categories (e.g., for one or more prior and/or subsequent time periods) may be retrieved and used, such as to classify traffic sensor health over a longer period of time (e.g., a day). Such logic may reduce the risk of a false negative determination of sensor health status (e.g., determining the traffic sensor health status as unhealthy when in fact the traffic sensor is healthy) based on temporary unusual traffic patterns that the traffic sensor is accurately reporting.
For example, false negative determinations may occur due to substantial intra-day variability in data readings due to external factors (e.g., traffic accidents, weather incidents, etc.). An automobile accident occurring at or near a particular traffic sensor, for example, may result in that traffic sensor providing atypical and erratic data readings for a relatively short time period (e.g., one to two hours). If a determination of sensor health status is solely based on data readings obtained primarily during the time of the disturbance caused by the traffic accident, a false negative determination will likely result. By basing the determination of unhealthy sensor status on data readings obtained over relatively larger time periods (e.g., 12 or 24 hours) the risk of such false negative determinations may be reduced. On the other hand, false positive determinations (e.g., determining the traffic sensor health as healthy when in fact it is unhealthy) may in general be less likely, because malfunctioning traffic sensors are unlikely to provide data readings that are similar to historical data readings (e.g., reflective of ordinary traffic patterns). As such, it may be appropriate to determine a traffic sensor health status as healthy based on relatively smaller time periods.
Some embodiments may effect such differential logic by executing the illustrated routine multiple times per day with time categories reflective of shorter time periods (e.g., executing the routine every three hours with a time category having a time-of-day category extending over the previous three hours) and at least once per day with a time category reflective of the entire previous day (e.g., executing the routine at midnight with a time category having a time-of-day category extending over the previous 24 hours).
In addition, the determination of sensor health status may be based on other factors, such as whether a sufficient number of data readings can be obtained for the selected time category (e.g., because the traffic sensor is intermittently reporting data readings) and/or based on indications of sensor state provided by the traffic sensor (e.g., that the traffic sensor is stuck).
In step 1145, the routine provides the determined traffic sensor health status. In some embodiments, the traffic sensor health status may be stored (e.g., in a database or file system) for later use by other components (e.g., the Sensor Data Aggregator component 110 of Figure 1) and/or directly provided to other components (e.g., a Data Sample Outlier Eliminator component). In step 1150, the routine determines whether there are more traffic sensors (or combinations of traffic sensors and time categories) to process. If so, the routine continues to step 1110 to continue, and if not continues to step 1155 to perform other actions as appropriate. Such other actions may include, for example, periodically (e.g., once per day, once per week, etc.) recalculating historical data reading distributions (e.g., for the last 120 days) for each of one or more time categories for each of multiple traffic sensors. By periodically recalculating historical data reading distributions, the routine may continue to provide accurate traffic sensor health status determinations in the face of gradually changing traffic conditions (e.g., due to the initiation or completion of road construction projects). After step 1155, the routine continues to step 1199 and returns.
Figure 12 is a flow diagram of an example embodiment of a Sensor Data Reading Error Corrector routine 1200. The routine may be provided by, for example, execution of the Sensor Data Conditioner component 353 of Figure 3 and/or the Sensor Data Conditioner component 105 of Figure 1 , such as to determine corrected data readings for one or more traffic sensors associated with a road segment. In the illustrated example embodiment, this routine may be executed periodically (e.g., every 5 minutes) to correct data readings for traffic sensors that have been identified as unhealthy by the Sensor Data Reading Error Corrector routine. In other embodiments, the routine may be executed on demand, such as by the Sensor Data Aggregator routine, in order to obtain corrected data readings for a particular road segment, or instead may not be used in various circumstances. For example, data analysis and correction may be performed more generally by determining if all data samples (e.g., from multiple data sources, such as of multiple types that may include traffic sensors and one or more distinct types of mobile data sources) for a particular road segment provide sufficient data to analyze traffic flow conditions for that road segment, and if so to not perform correction of data from individual traffic sensors.
The routine begins at step 1205, where it receives an indication of a road segment with which one or more traffic sensors are associated (e.g., based on results from the Sensor Data Reading Error Detector routine that one or more of the associated traffic sensors have been classified as unhealthy), and optionally of one or more time categories to be processed (e.g., time categories during which at least one of the associated traffic sensors have been classified as at least potentially being unhealthy). In other embodiments, one or more traffic sensors of interest may be indicated in other manners, such as by directly receiving indications of one or more traffic sensors. In steps 1210 to 1235, the routine performs a loop in which it processes unhealthy traffic sensors in the indicated road segment to determine and provide corrected data readings for those traffic sensors during one or more time categories (e.g., the time categories indicated in step 1205). In step 1210, the routine selects the next unhealthy traffic sensor in the indicated road segment, beginning with the first. The routine also selects a time category to use, such as one of one or more time categories indicated in step 1205, by selecting one of one or more time categories during which the traffic sensor was previously designated to be unhealthy, etc. In step 1215, the routine determines whether there are sufficient other traffic sensors in the indicated road segment that are healthy and may be used to assist in the correction of the readings for the unhealthy traffic sensor for the selected time category. This determination may be based on whether there are at least a predetermined number (e.g., at least two) and/or a predetermined percentage (e.g., at least 30%) of healthy traffic sensors in the indicated road segment during the selected time category, and may further consider the relative location of the healthy traffic sensors in the indicated road segment (e.g., neighboring or otherwise nearby traffic sensors may be preferred to traffic sensors that are farther away from the unhealthy traffic sensor). If it is determined in step 1215 that there are sufficient healthy traffic sensors, the routine continues to step 1220, where it determines a corrected data reading for the unhealthy traffic sensor based on data readings from other healthy traffic sensors in the road segment for the selected time category. A corrected data reading may be determined in various ways, such as by calculating the average of two or more data readings obtained from healthy traffic sensors in the indicated road segment for the selected time category. In some embodiments, all healthy traffic sensors may be used for the averaging, while in other embodiments only selected healthy traffic sensors may be used. For example, if a predetermined percentage (e.g., at least 30%) of traffic sensors in the indicated road segment are healthy during the selected time category, all healthy traffic sensors may be used for the averaging, and otherwise only a predetermined number (e.g., at least two) of the nearest healthy traffic sensors may be used.
If it is instead determined in step 1215 that there are not sufficient healthy traffic sensors in the indicated road segment for the selected time category, the routine continues to step 1225, where it attempts to determine a corrected data reading for the unhealthy traffic sensor based on other information related to the traffic sensor and/or the road segment. For example, such information may include predicted traffic condition information for the road segment and/or unhealthy traffic sensor, forecast traffic condition information for the road segment and/or unhealthy traffic sensor, and/or historical average traffic condition information for the road segment and/or the unhealthy traffic sensor. Various logic may be implemented to reflect the relative reliability of various types of information. For example, in some embodiments, predicted traffic condition information may be used in preference to (e.g., so long as it is available) to forecast traffic condition information, which may in turn be used in preference to historical average traffic condition information. Additional details related to predicting and forecasting future traffic flow conditions are available in U.S. Patent Application No. 11/367,463, filed March 3, 2006 and entitled "Dynamic Time Series Prediction Of Future Traffic Conditions," which is hereby incorporated by reference in its entirety. In other embodiments, steps 1215 and 1225 may not be performed, such as if the data reading correction in step 1220 is always performed based on the best data that is available from other healthy traffic sensors during the selected time category and/or related time categories. For example, the data reading correction may be based on all healthy traffic sensors in the indicated road segment for the selected time category if at least a predetermined percentage (e.g., at least 30%) of those traffic sensors are healthy, or otherwise on the nearest neighbor healthy traffic sensors in the indicated and/or nearby road segments during the selected time category and/or related time categories.
After steps 1220 or 1225, the routine proceeds to step 1230 and provides the determined traffic sensor data reading for use as a corrected reading for the traffic sensor during the selected time category. In some embodiments, the determined traffic sensor data reading may be stored (e.g., in a database or file system) for later use by other components (e.g., the Sensor Data Aggregator component 110 of Figure 1). In step 1235, the routine determines whether there are additional combinations of traffic sensor and time category to process. If so, the routine returns to step 1210, and if not proceeds to step 1299 and returns.
Figure 13 is a flow diagram of an example embodiment of a Sensor Data Reading Aggregator routine 1300. The routine may be provided by, for example, execution of the Sensor Data Aggregator component 355 of Figure 3 and/or the Sensor Data Aggregator component 110 of Figure 1, such as to determine and provide traffic condition information for multiple traffic sensors during a particular time category or other time period, such as for multiple traffic sensors associated with a particular road segment. In the illustrated example embodiment, the routine is performed for particular road segments, but in other embodiments may aggregate information from other types of groups of multiple traffic sensors. In addition, this routine may provide traffic condition information that is complementary to information provided by other routines that perform assessments of traffic condition information (e.g., the Data Sample Flow Assessor routine), such as to provide traffic condition information in situations in which other routines cannot provide accurate assessments (e.g., due to insufficient data).
The routine begins at step 1305 and receives an indication of one or more road segments and of one or more time categories or other time periods. In step 1310, the routine selects the next road segment of the one or more indicated road segments, beginning with the first. In step 1315, the routine obtains some or all available traffic sensor data readings taken during the indicated time period(s) by all traffic sensors associated with the road segment. Such information may be obtained from, for example, the Sensor Data
Conditioner component 105 of Figure 1 and/or the Sensor Data Conditioner component 353 of Figure 1. In particular, the routine may in some cases obtain traffic sensor data readings for traffic sensors determined to be healthy and/or corrected traffic sensor data readings for traffic sensors determined to be unhealthy, such as those provided or determined by the Sensor Data Reading Error Corrector routine of Figure 12.
In step 1320, the routine then aggregates the obtained data readings in one or more of various ways, such as to determine average speed, volume, and/or occupancy for the road segment during the indicated time period(s). The average speed may, for example, be determined by averaging data readings that reflect the speed of vehicles passing over one or more traffic sensors. The traffic volume may be determined with reference to data readings that report vehicle counts. For example, given a loop sensor that reports a cumulative number of vehicles that have passed over the sensor since the sensor was activated, a traffic volume may be inferred simply by subtracting two data readings obtained during the indicated time period and dividing the result by the time interval between the data readings. In addition, the density may be determined based on the determined average speed, volume, and an average vehicle length, as described in more detail elsewhere. In some cases, data readings may be weighted in various ways (e.g., by age), such that more recent data readings have a greater impact than older data readings on an average flow determination.
In step 1325, the routine then determines whether there are more road segments (or other groups of multiple traffic sensors) to process. If so, the routine returns to step 1310, and otherwise proceeds to step 1330 to provide the determined traffic flow information. In some embodiments, the determined flow information may be stored (e.g., in a database or file system) for later provision to traffic data clients 109 of Figure 1 and/or the RT Information Provider system 363 of Figure 3. Next, the routine continues to step 1339 and returns. Figure 14 is a flow diagram of an example embodiment of a Traffic
Flow Estimator routine 1400. The routine may be provided by, for example, execution of a Traffic Flow Estimator component (not shown), such as to estimate various types of traffic flow information for a road segment in various ways. In this example embodiment, the routine may be invoked by the Data
Sample Speed Assessor routine of Figure 6 to obtain estimates of average speed and/or by the Data Sample Flow Assessor routine of Figure 7 to obtain estimates of volume and/or occupancy, such as in situations when those routines are unable to obtain sufficient data for otherwise accurately performing their respective assessments.
The routine begins at step 1405 and receives an indication of a road segment, one or more time categories or other time periods, and of one or more types of traffic flow information, such as speed, volume, density, occupancy, etc. In step 1410, the routine determines whether to estimate the indicated type of traffic flow information based on one or more related road segments, such as based on whether such road segments have accurate information for the one or more types of traffic flow information during the one or more indicated time periods. Related road segments may be identified in various ways. For example, in some cases, information about road segments may include information about relationships between road segments, such as a first road segment typically having similar traffic patterns to a second (e.g., neighboring) road segment, such that traffic flow information for the second road segment may be utilized to estimate traffic flow on the first road segment. In some cases, such relationships may be determined automatically, such as based on a statistical analysis of the respect traffic flow patterns on the two road segments (e.g., in a manner similar to that discussed previously with respect to identifying similar data distributions for a given traffic sensor at different times, but instead analyzing similarity between two or more different traffic sensors, such as at the same time), whether an analysis that was previously and/or dynamically performed. Alternatively, one or more neighboring road segments may be selected as being related for an indicated road segment without any determination of a particular relationship between road segments having been performed. If it is determined to estimate traffic flow information based on related road segments, the routine proceeds to step 1415 and estimates value(s) for the indicated type(s) of traffic flow information based on the same type(s) of traffic flow information for the one or more related road segments. For example, average speed of the road segment may be determined based on the average traffic speed of one or more neighboring road segments (e.g., by using the traffic speed from one neighboring road segment, or averaging the traffic speeds from two or more neighboring road segments). If it is instead determined in step 1410 not to estimate traffic flow information for the indicated road segment based on related road segments, the routine continues to step 1420 and determines whether to estimate traffic flow information for the indicated road segment during the one or more indicated time periods based on predicted information for the indicated road segment and indicated time periods. In some embodiments, such predicted information may only be available under certain conditions, such as if predictions are repeatedly made for multiple future times (e.g. every 15 minutes for the next three hours) while accurate current data is available. As such, if accurate input data for generating predictions becomes available for an extended time (e.g., for more than three hours), it may not be possible to obtain future traffic condition information predictions that may be utilized by this routine. Alternatively, in some embodiments such predicted future traffic condition information may not be available for other reasons, such as due to not being used in that embodiment. If it is determined in step 1420 to estimate traffic flow information based on predicted information, the routine proceeds to step 1425 and estimates the indicated type(s) of traffic flow information for the indicated road segment and indicated time period(s) based on predicted information obtained from, for example, the Predictive Traffic Information Provider system 360 of Figure 3. Additional details related to predicting and forecasting future traffic flow conditions are available in U.S. Patent Application No. 11/367,463, filed March 3, 2006 and entitled "Dynamic Time Series Prediction Of Future Traffic Conditions," which is hereby incorporated by reference in its entirety.
If it is instead determined in step 1420 not to estimate traffic flow information for the indicated segment based on predicted information (e.g., due to that information not being available), the routine continues to step 1430 and determines whether to estimate traffic flow information for the indicated road segment during the one or more indicated time periods based on forecast information for that road segment and time period(s). In some embodiments, traffic conditions may be forecast for future times beyond those for which traffic conditions are predicted, such as in a manner that does not use at least some current condition information. As such, if predicted information is not available (e.g., because accurate input data for generating predictions has not been available for more than three hours), it still may be possible to utilize forecast information, such as information generated significantly in advance. If it is determined in step 1430 to estimate traffic flow information based on forecast information, the routine proceeds to step 1435 and estimates the indicated type(s) of traffic flow information for the indicated road segment and time period(s) based on forecast information obtained from, for example, the Predictive Traffic Information Provider system 360. If it is instead determined in step 1430 not to estimate traffic flow information for the indicated road segment based on forecast information (e.g., due to the information not being available), the routine continues to step 1440 and estimates the indicated type(s) of traffic flow information for the indicated road segments and time period(s) based on historical average flow information for the indicated road segment (e.g., for the same or corresponding time periods, such as based on time categories that include a time-of-day category and/or day-of-week category). For example, if forecast information is unavailable (e.g., because input data has been unavailable for longer than the period for which the most recent prediction and forecast was generated, such that neither new predictions nor new forecasts can be generated), the routine may use historical average flow information for the indicated road segment. Additional details related to generating historical average flow information are available in U.S. Patent Application No. _ (Attorney Docket Number
480234.410P1), filed concurrently and entitled "Generating Representative Road Traffic Flow Information From Historical Data," which is hereby incorporated by reference in its entirety. After steps 1415, 1425, 1435, or 1440, the routine proceeds to step
1445 and provides estimated traffic flow information of the indicated type(s) for the indicated road segment and indicated time period(s). The provided information may, for example, be returned to a routine (e.g., the Data Sample Flow Assessor routine) that called the routine and/or be stored (e.g., in a database or file system) for later utilization. After step 1445, the routine continues to step 1499 and returns.
Figures 9A-9C illustrate examples of actions of mobile data sources in obtaining and providing information about road traffic conditions. Information about road traffic conditions may be obtained from mobile devices (whether vehicle-based devices and/or user devices) in various ways, such as by being transmitted using a wireless link (e.g., satellite uplink, cellular network, Wl-Fl, packet radio, etc.) and/or physically downloaded when the device reaches an appropriate docking or other connection point (e.g., to download information from a fleet vehicle once it has returned to its primary base of operations or other destination with appropriate equipment to perform the information download). While information about road traffic conditions at a first time that is obtained at a significantly later second time provides various benefits (e.g., verifying predictions about the first time, for use as observed case data in later improving a prediction process, etc.), such as may be the case for information that is physically downloaded from a device, such road traffic condition information provides additional benefits when obtained in a realtime or near- realtime manner. Accordingly, in at least some embodiments mobile devices with wireless communication capabilities may provide at least some acquired information about road traffic conditions on a frequent basis, such as periodically (e.g., every 30 seconds, 1 minute, 5 minutes, etc.) and/or when a sufficient amount of acquired information is available (e.g., for every acquisition of a data point related to road traffic condition information; for every N acquisitions of such data, such as where N is a configurable number; when the acquired data reaches a certain storage and/or transmission size; etc.). In some embodiments, such frequent wireless communications of acquired road traffic condition information may further be supplemented by additional acquired road traffic condition information at other times (e.g., upon a subsequent physical download from a device, via less-frequent wireless communications that contain a larger amount of data, etc.), such as to include additional data corresponding to each data point, to include aggregated information about multiple data points, etc. While various benefits are provided by obtaining acquired road traffic condition information from mobile devices in a realtime or other frequent manner, in some embodiments such wireless communications of acquired road traffic condition information may be restricted in various ways. For example, in some cases the cost structure of transmitting data from a mobile device via a particular wireless link (e.g., satellite uplink) may be such that transmissions occur at less-frequent intervals (e.g., every 15 minutes), or the mobile devices may have been pre-programmed to transmit at such intervals. In other cases, a mobile device may temporarily lose an ability to transmit data over a wireless link, such as due to a lack of wireless coverage in an area of the mobile device (e.g., due to no nearby cellphone receiver station), due to other activities being performed by the mobile device or a user of the device, or due to a temporary problem with the mobile device or an associated transmitter.
Accordingly, in some embodiments at least some such mobile devices may be designed or otherwise configured to store multiple data samples (or to cause such multiple data samples to be stored on another associated device) so that at least some information for the multiple data samples may be transmitted together during a single wireless transmission. For example, in some embodiments at least some mobile devices are configured to store acquired road traffic condition information data samples during periods when the mobile device is unable to transmit data over a wireless link (e.g., such as for a mobile device that typically transmits each data sample individually, such as every 30 seconds or 1 minute), and to then transmit those stored data samples together (or a subset and/or aggregation of those samples) during the next wireless transmission that occurs. Some mobile devices may also be configured to perform wireless transmissions periodically (e.g., every 15 minutes, or when a specified amount of data is available to be transmitted), and in at least some embodiments may further be configured to acquire and store multiple data samples of road traffic condition information (e.g., at a predetermined sampling rate, such as 30 seconds or a minute) over the time interval between wireless transmissions and to then similarly transmit those stored data samples together (or a subset and/or aggregation of those samples) during the next wireless transmission. As one example, if a wireless transmission of up to 1000 units of information costs $0.25 and each data sample is 50 units in size, it may be advantageous to sample every minute and send a data set comprising 20 samples every 20 minutes (rather than sending each sample individually each minute). In such embodiments, while data samples may be delayed slightly (in the example of the periodic transmissions, by on average half of the time period between transmissions, assuming regular acquisitions of the data samples), the road traffic condition information obtained from the transmissions still provides near-realtime information. Moreover, in some embodiments additional information may be generated and provided by a mobile device based on multiple stored data samples. For example, if a particular mobile device is able to acquire only information about a current instant position during each data sample, but is not able to acquire additional related information such as speed and/or direction, such additional related information may be calculated or otherwise determined based on multiple subsequent data samples.
In particular, Figure 9A depicts an example area 955 with several interconnected roads 925, 930, 935 and 940, and a legend indication 950 indicates the direction of North for the roads (with roads 925 and 935 running in a north-south direction, and with roads 930 and 940 running in an east-west direction). While only a limited number of roads are indicated, they may represent a large geographic area, such as interconnected freeways over numerous miles, or a subset of city streets spanning numerous blocks. In this example, a mobile data source (e.g., a vehicle, not shown) has traveled from location 945a to 945c over a period of 30 minutes, and is configured to acquire and transmit a data sample indicating current traffic conditions each 15 minutes. Accordingly, as the mobile data source begins to travel, it acquires and transmits a first data sample at location 945a (as indicated in this example by an asterisk "*"), acquires and transmits a second data sample 15 minutes later at location 945b, and acquires and transmits a third data sample a total of 30 minutes later at location 945c. In this example, each data sample includes an indication of current position (e.g., in GPS coordinates), current direction (e.g., northbound), current speed (e.g., 30 miles per hour), and current time, as represented for the 945a transmission using data values Pa. ^a. ^a and Ta> and may optionally include other information as well (e.g., an identifier to indicate the mobile data source). While such acquired and provided current traffic conditions information provides some benefit, numerous details cannot be determined from such data, including whether the route from location 945b to 945c occurred in part along road 930 or along 940. Moreover, such sample data does not allow, for example, portions of road 925 between locations 945a and 945b to be treated as distinct road segments for which distinct traffic conditions can be reported and predicted. In a manner similar to Figure 9A, Figure 9B depicts an example 905 with a mobile data source traveling over the interconnected roads 925, 930, 935 and 940 from location 945a to 945c over a period of 30 minutes, and with the mobile data source transmitting information about traffic conditions each 15 minutes (as indicated by the asterisks shown at locations 945a, 945b and 945c). However, in this example the mobile data source is configured to acquire and store data samples every minute, with a subsequent transmission including data from each of the data samples during the prior 15 minutes. Accordingly, as the mobile data source travels between location 945a and 945b, the mobile data source acquires a set 910b of 15 data samples 910b1- 910b15, with each data sample indicated in this example with an arrow pointed in the direction of the mobile data source at the time of the data sample. In this example, each data sample similarly includes an indication of current position, current direction, current speed, and current time, and the subsequent transmission at location 945b includes those data values for each of the data samples 910b. Similarly, as the mobile data source travels between location
945b and 945c, the mobile data source acquires 15 data samples 91 Od- 910c15, and the subsequent transmission at location 945c includes the acquired data values for each of those 15 data samples. By providing such additional data samples, various additional information may be obtained. For example, it is now easily determined that the route from location 945b to 945c occurred in part along road 930 rather than road 940, allowing corresponding traffic condition information to be attributed to road 930. In addition, particular data samples and their adjacent data samples may provide various information about smaller sections of roads, such as to allow road 925 between locations 945a and 945b to be represented as, for example, up to 15 distinct road segments (e.g., by associating each data sample with a distinct road segment) that each has potentially distinct road traffic conditions. For example, it can be visually observed that the average speed for data samples 910b1-910b6 is approximately static (since the data samples are approximately equally spaced), that the average speed increased for data samples 910b7 and 910b8 (since the data samples correspond to locations that are farther apart, reflecting that greater distance was traveled during the given 1 -minute interval between data samples for this example), and that the average speed decreased for data samples 910b11-910b15. While the data samples in this example provide information about such speed directly, in other embodiments such speed information may be derived from data sample information that includes only current position.
Figure 9C depicts a third example 990 with a mobile data source traveling over a portion of the interconnected roads from location 965a to 965c over a period of 30 minutes, and with the mobile data source transmitting information about traffic conditions each 15 minutes (as indicated by the asterisks shown at locations 965a, 965b and 965c). As in Figure 9C, the mobile data source is configured in this example to acquire and store data samples every minute, with a subsequent transmission including data from each of at least some of the data samples during the prior 15 minutes. Accordingly, as the mobile data source travels between location 965a and 965b, the mobile data source acquires a set 960b of 15 data samples 960b1- 960b15. However, as is illustrated by co-located data samples 960b5-b13 (with circles used in this instance rather than arrows because no movement was detected for these data samples, but shown separately rather than on top of each other for the purposes of clarity), in this example the mobile data source has stopped for approximately 9 minutes at a location to the side of road 925 (e.g., to stop at a coffee shop). Accordingly, when the next transmission at location 965b occurs, the transmission may in some embodiments include all of the information for all of the data samples, or may instead omit at least some such information (e.g., to omit information for data samples 960b6-960b12, since in this situation they do not provide additional useful information if it is known that the mobile data source remained immobile between data samples 960b5 and 960b13). Moreover, while not illustrated here, in other embodiments in which the information for one or more such data samples is omitted, the subsequent transmission may be delayed until 15 data samples to be transmitted are available (e.g., if the periodic transmissions are performed based on amount of data to send rather than time). Moreover, as the mobile data source travels between location 965b and 965c, the mobile data source acquires data samples 960c13 and 960c14 in an area in which wireless communications are not currently available (as indicated in this example with open circles rather than arrows). In other embodiments in which each data sample is individually transmitted when acquired but is not otherwise saved, these data samples would be lost, but in this example are instead stored and transmitted along with the other data samples 960d-960c12 and 960c15 at location 965c. While not shown here, in some situations a mobile data source may further temporarily lose the ability to obtain one or more data samples using a primary means of data acquisition (e.g., if a mobile data source loses the ability to obtain GPS readings for a few minutes) - if so, the mobile data source may in some embodiments report the other obtained data samples without further action (e.g., such as to allow the recipient to interpolate or otherwise estimate those data samples if so desired), while in other embodiments may attempt to obtain data samples in other manners (e.g., by using a less accurate mechanism to determine location, such as cellphone tower triangulation, or by estimating current location based on a prior known location and subsequent average speed and heading, such as via dead reckoning), even if those data samples have less precision or accuracy (e.g., which may be reflected by including a lesser degree of confidence or higher degree of possible error to those data samples, or by otherwise including an indication of how those and/or other data samples were generated). While the example data samples in each of Figures 9B and 9C are illustrated for a single vehicle or other mobile data source for the purposes of clarity, in other embodiments the multiple data samples for a particular mobile data source may not be used to determine a particular route taken by that mobile data source, and more generally may not even be associated with each other (e.g., if the source of each mobile data sample is anonymous or otherwise undifferentiated from other sources). For example, if multiple data samples from a particular mobile data source are not used by a recipient to generate aggregate data related to those data samples (e.g., to generate speed and/or direction information based on successive data samples that provide only location information), such as when such aggregate data is included with each data sample or is not used, such a recipient may not be provided in some embodiments with identifying data related to the source of the mobile data samples and/or with indications that the multiple data samples are from the same mobile data source (e.g., based on a design decision to increase privacy related to the mobile data sources).
Instead, in at least some such embodiments, multiple mobile data sources are used together to determine road condition information of interest, such as to use multiple data samples from all mobile data sources for a particular road segment (or other portion of a road) to determine aggregate information for that road segment. Thus, for example, during a period of time of interest (e.g., 1 minute, 5 minutes, 15 minutes, etc.), numerous unrelated mobile data sources may each provide one or more data samples related to their own travel on a particular road segment during that time period, and if each such data sample includes speed and direction information (for example), an average aggregate speed may be determined for that time period and that road segment for all mobile data sources that are generally moving in the same direction, such as in a manner similar to a road sensor that aggregates information for multiple vehicles passing the sensor. A particular data sample may be associated with a particular road segment in various ways, such as by associating the data sample location with the road (or road segment) having the nearest location (whether for any road, or only for roads meeting specified criteria, such as being of one or more indicated functional road classes) and then selecting the appropriate road segment for that road, or by using an indication provided by a mobile data source along with a data sample of an associated road (or road segment). In addition, in at least some embodiments roads other than 1-way roads will be treated as distinct roads for the purposes of assigning data samples to roads and for other purposes (e.g., to treat the northbound lanes of a freeway as being a distinct road from the southbound lanes of the freeway), and if so the direction for a mobile data sample may further be used to determine the appropriate road with which the data sample is associated - in other embodiments, however, roads may be modeled in other manners, such as to treat a two-way city street as a single road (e.g., with average traffic conditions being reported and predicted for vehicles moving in both directions), to treat each lane of a multiple lane freeway or other road as a distinct logical road, etc.
In some embodiments, to facilitate the use of multiple mobile data sources to determine road condition information of interest, fleet vehicles may be configured in various ways to provide data samples of use. For example, if a large fleet of vehicles will each leave the same origination point at a similar time each day, various of the fleet vehicles may be configured differently regarding how soon and how often to begin providing data samples, such as to minimize a very large number of data points all near the single origination point and/or to provide variability in when data samples will be acquired and transmitted. More generally, a mobile data source device may be configured in various ways regarding how and when to acquire data samples, including based on total distance covered since a starting point (e.g., an origination point for a group of fleet vehicles), distance covered since a last data sample acquisition and/or transmission, total time elapsed since a starting time (e.g., a departure time of a fleet vehicle from an origination point), time elapsed since a last data sample acquisition and/or transmission, an indicated relationship having occurred with respect to one or more indicated locations (e.g., passing by, arriving at, departing from, etc.), etc. Similarly, a mobile data source device may be configured in various ways regarding how and when to transmit or otherwise provide one or more acquired data samples, such as when predefined conditions are satisfied, including based on total distance covered since a starting point, distance covered since a last data sample acquisition and/or transmission, total time elapsed since a starting time, time elapsed since a last data sample acquisition and/or transmission, an indicated relationship having occurred with respect to one or more indicated locations, an indicated number of data samples having been gathered, an indicated amount of data having been gathered (e.g., an amount such as to fill or substantially fill a cache used to store the data samples on the mobile device, or an amount such as to fill or substantially fill an indicated amount of time for a transmission), etc. Figure 8 is a flow diagram of an example embodiment of a Mobile Data
Source Information Provision routine 800, such as may be provided by, for example, operation of a mobile data source device for each of one or more of the vehicle-based data sources 384 of Figure 3 and/or other data sources 388 (e.g., user devices) of Figure 3 and/or vehicle-based data sources 101 of Figure 1 and/or other data sources 102 of Figure 1. In this example, the routine acquires data samples for a particular mobile data source to indicate current traffic conditions, and stores the data samples as appropriate such that a subsequent transmission may include information for multiple data samples.
The routine begins at step 805, where parameters are retrieved that will be used as part of the data sample acquisition and providing, such as configurable parameters to indicate when data samples should be acquired and when transmissions should occur with information corresponding to one or more data samples. The routine continues to step 810 to wait until it is time to acquire a data sample, such as based on the retrieved parameters and/or other information (e.g., an indicated amount of time having passed since a prior data sample acquisition, an indicated distance having been traveled since a prior data sample acquisition, an indication to acquire data samples in a substantially continuous manner, etc.). The routine then continues to step 815 to acquire a data sample based on the current location and movement of the mobile data source, and stores the data sample in step 820. If it is determined in step 825 that it is not yet time to transmit data, such as based on the retrieved parameters and/or other information (e.g., an indicated amount of time having passed since a prior transmission, an indicated distance having been traveled since a prior transmission, an. indication to transmit data samples as soon as they become available or in a substantially continuous manner, etc.), the routine returns to step 810. Otherwise, the routine continues to step 830 to retrieve and select any stored data samples since the prior transmission (or since startup, for the first transmission). The routine then optionally in step 835 generates aggregated data based on multiple of the selected data samples (e.g., an overall average speed for all of the data samples, an average speed and a direction for each data sample if the acquired information provides only location information, etc.), although in other embodiments such aggregated data generation may not be performed. In step 840, the routine then optionally removes some or all of the acquired information for some or all of the data samples from the selected set of data samples (e.g., to transmit only selected types of data for each data sample, to remove data samples that appear to be outliers or otherwise erroneous, to remove data samples that do not correspond to actual movement of the mobile data source, etc.), although in other embodiments such information removal may not be performed. In step 845, the routine then transmits the current information in the current set of data samples and any aggregated information to a recipient that will use the data in an appropriate manner. In step 895, the routine determines whether to continue (e.g., whether the mobile data source continues to be in use and mobile), and if so returns to step 810. Otherwise, the routine continues to step 899 and ends. In embodiments and situations in which a mobile data source is not able to transmit data, whether due to temporary conditions or instead to reflect configuration of or limitations of the mobile data source, the steps 830-845 may not be performed until such time as the mobile data source is able to transmit or otherwise provide (e.g., via physical download) some or all of the data samples that have been acquired and stored since a prior transmission.
As previously noted, once information about road traffic conditions has been obtained, such as from one or more mobile data sources and/or one or more other sources, the road traffic conditions information may be used in various ways, such as to report current road traffic conditions in a substantially realtime manner, or to use past and current road traffic condition information to predict future traffic conditions at each of multiple future times. In some embodiments, the types of input data used to generate predictions of future traffic conditions may include a variety of current, past, and expected future conditions, and outputs from the prediction process may include the generated predictions of the expected traffic conditions on each of multiple target road segments of interest for each of multiple future times (e.g., every 5, 15 or 60 minutes in the future) within a pre-determined time interval (e.g., three hours, or one day), as discussed in greater detail elsewhere. For example, types of input data may include the following: information about current and past amounts of traffic for various target road segments of interest in a geographic area, such as for a network of selected roads in the geographic area; information about current and recent traffic accidents; information about current, recent and future road work; information about current, past and expected future weather conditions (e.g., precipitation, temperature, wind direction, wind speed, etc.); information about at least some current, past and future scheduled events (e.g., type of event, expected start and end times of the event, and/or a venue or other location of the event, etc., such as for all events, events of indicated types, events that are sufficiently large, such as to have expected attendance above an indicated threshold (for example, 1000 or 5000 expected attendees), etc.); and information about school schedules (e.g., whether school is in session and/or the location of one or more schools). In addition, while in some embodiments the multiple future times at which future traffic conditions are predicted are each points in time, in other embodiments such predictions may instead represent multiple time points (e.g., a period of time), such as by representing an average or other aggregate measure of the future traffic conditions during those multiple time points. Furthermore, some or all of the input data may be known and represented with varying degrees of certainty (e.g., expected weather), and additional information may be generated to represent degrees of confidence in and/or other metadata for the generated predictions. In addition, the prediction of future traffic conditions may be initiated for various reasons and at various times, such as in a periodic manner (e.g., every five minutes), when any or sufficient new input data is received, in response to a request from a user, etc.
Some of the same types of input data may be used to similarly generate longer-term forecasts of future traffic conditions (e.g., one week in the future, or one month in the future) in some embodiments, but such longer-term forecasts may not use some of the types of input data, such as information about current conditions at the time of the forecast generation (e.g., current traffic, weather, or other conditions). In addition, such longer-term forecasts may be generated less frequently than shorter-term predictions, and may be made so as to reflect different future time periods than for shorter-term predictions (e.g., for every hour rather than every 15 minutes).
The roads and/or road segments for which future traffic condition predictions and/or forecasts are generated may also be selected in various manners in various embodiments. In some embodiments, future traffic condition predictions and/or forecasts are generated for each of multiple geographic areas (e.g., metropolitan areas), with each geographic area having a network of multiple inter-connected roads - such geographic areas may be selected in various ways, such as based on areas in which current traffic condition information is readily available (e.g., based on networks of road sensors for at least some of the roads in the area) and/or in which traffic congestion is a significant problem. In some such embodiments, the roads for which future traffic condition predictions and/or forecasts are generated include those roads for which current traffic condition information is readily available, while in other embodiments the selection of such roads may be based at least in part on one or more other factors (e.g., based on size or capacity of the roads, such as to include freeways and major highways; based on the role the roads play in carrying traffic, such as to include arterial roads and collector roads that are primary alternatives to larger capacity roads such as freeways and major highways; based on functional class of the roads, such as is designated by the Federal Highway Administration; etc.). In other embodiments, future traffic condition predictions and/or forecasts may be made for a single road, regardless of its size and/or inter-relationship with other roads. In addition, segments of roads for which future traffic condition predictions and/or forecasts are generated may be selected in various manners, such as to treat each road sensor as a distinct segment; to group multiple road sensors together for each road segment (e.g., to reduce the number of independent predictions and/or forecasts that are made, such as by grouping specified numbers of road sensors together); to select road segments so as to reflect logically related sections of a road in which traffic conditions are typically the same or sufficiently similar (e.g., strongly correlated), such as based on traffic condition information from traffic sensors and/or from other sources (e.g., data generated from vehicles and/or users that are traveling on the roads, as discussed in greater detail elsewhere); etc.
In addition, future traffic condition prediction and/or forecast information may be used in a variety of ways in various embodiments, as discussed in greater detail elsewhere, including to provide such information to users and/or organizations at various times (e.g., in response to requests, by periodically sending the information, etc.) and in various ways (e.g., by transmitting the information to cellular telephones and/or other portable consumer devices; by displaying information to users, such as via Web browsers and/or application programs; by providing the information to other organizations and/or entities that provide at least some of the information to users, such as third parties that perform the information providing after analyzing and/or modifying the information; etc.). For example, in some embodiments, the prediction and/or forecast information is used to determine suggested travel routes and/or times, such as an optimal route between a starting location and an ending location over a network of roads and/or an optimal time to perform indicated travel, with such determinations based on predicted and/or forecast information at each of multiple future times for one or more roads and/or road segments.
In addition, various embodiments provide various mechanisms for users and other clients to interact with one or more of the traffic information systems (e.g., the Data Sample Manager system 350, RT Information Provider system 363, and/or Predictive Traffic Information Provider system 360 of Figure 3, etc.). For example, some embodiments may provide an interactive console (e.g. a client program providing an interactive user interface, a Web browser- based interface, etc.) from which clients can make requests and receive corresponding responses, such as requests for information related to current and/or predicted traffic conditions and/or requests to analyze, select, and/or provide information related to travel routes. In addition, some embodiments provide an API ("Application Programmer Interface") that allows client computing systems to programmatically make some or all such requests, such as via network message protocols (e.g., Web services) and/or other communication mechanisms.
Those skilled in the art will also appreciate that in some embodiments the functionality provided by the routines discussed above may be provided in alternative ways, such as being split among more routines or consolidated into fewer routines. Similarly, in some embodiments illustrated routines may provide more or less functionality than is described, such as when other illustrated routines instead lack or include such functionality respectively, or when the amount of functionality that is provided is altered. In addition, while various operations may be illustrated as being performed in a particular manner (e.g., in serial or in parallel) and/or in a particular order, those skilled in the art will appreciate that in other embodiments the operations may be performed in other orders and in other manners. Those skilled in the art will also appreciate that the data structures discussed above may be structured in different manners, such as by having a single data structure split into multiple data structures or by having multiple data structures consolidated into a single data structure. Similarly, in some embodiments illustrated data structures may store more or less information than is described, such as when other illustrated data structures instead lack or include such information respectively, or when the amount or types of information that is stored is altered.
From the foregoing it will be appreciated that, although specific embodiments have been described herein for purposes of illustration, various modifications may be made without deviating from the spirit and scope of the invention. Accordingly, the invention is not limited except as by the appended claims and the elements recited therein. In addition, while certain aspects of the invention are discussed in certain claim forms, the inventors contemplate the various aspects of the invention in any available claim form. For example, while only some aspects of the invention may currently be recited as being embodied in a computer-readable medium, other aspects may likewise be so embodied.

Claims

CLAIMSWhat is claimed is:
1. A computer-implemented method for determining estimated average speed information for vehicles traveling on roads based on data samples that reflect travel on those roads, the method comprising: receiving indications of one or more segments of one or more roads, each road segment having multiple associated data samples that each reflect a reported speed of a vehicle on the road segment at a reported time; for each of at least one of the road segments, automatically estimating an average traffic speed of vehicles traveling on the road segment during a period of time by, identifying a group of the multiple data samples associated with the road segment whose reported times occur during the period of time; determining weights for the data samples of the group based on one or more attributes of those data samples that affect accuracy of the reported speeds of those data samples; and determining the estimated average traffic speed of vehicles traveling on the road segment during the period of time based at least in part on a weighted average of the reported speeds of the data samples of the group, the weighted average calculated using the determined weights; and using one or more of the estimated average traffic speeds to facilitate travel on the one or more roads.
2. The method of claim 1 wherein the received indications of the one or more segments of the one or more roads include indications of multiple road segments of the one or more roads, wherein the automatic estimating of the average traffic speed of the vehicles traveling on each of the at least one road segments during a period of time is performed 'for each of multiple periods of time, wherein identifying the group of the multiple data samples associated with at least one road segment whose reported times occur during a period of time includes: receiving information related to current traffic conditions of the multiple road segments during the period of time, the received information including a plurality of data samples for the period of time that each are reported from one of multiple vehicles and reflect a reported speed of the one vehicle at a reported location on one of the road segments at a reported time during the period of time, the multiple vehicles being a subset of all vehicles traveling on the road segments during the period of time, the received information further including a plurality of additional data samples for the period of time that each are reported from one of multiple traffic sensors monitoring the multiple road segments and reflect a reported speed based on one or more speed readings for one or more vehicles at a location on one of the road segments for one or more reported times during the period of time; and for each of the multiple road segments, identifying a group of multiple data samples for the road segment for the period of time, the multiple data samples being from at least one of the plurality of data samples and the plurality of additional data samples, and wherein the one or more attributes of the data samples of the group on which the weights for the data samples are determined include recency of the reported time of a data sample and a source of a data sample, such that data samples whose reported times are less recent are given less weight than data samples whose reported times are more recent, and such that data samples reported from vehicles on the one or more roads are given differing weights than data samples reported from traffic sensors, so that average traffic speeds are determined for road segments based on data samples reflecting actual vehicle travel on the road segments that are weighted to reflect recency of the data samples and source of the data samples.
3. The method of claim 2 wherein, for each of at least one of the periods of time and each of at least one of the road segments, the identified group of multiple data samples for the road segment for the period of time includes multiple data samples from the plurality of data samples for the period of time whose reported locations are on the road segment and includes multiple data samples from the plurality of additional data samples for the period of time whose locations are on the road segment.
4. The method of claim 2 wherein, for each of at least one of the periods of time and each of at least one of the road segments, the determining of the weight for each of the data samples of the group is further based at least in part on an expected accuracy of the reported speed for the data sample, such that data samples whose reported speeds have lower expected accuracy are given less weight than data samples whose reported speeds have higher expected accuracy.
5. The method of claim 4 wherein, for the at least one periods of time and the at least one road segments, the determining of the weight for each of the data samples of the group is performed using an exponential weighting function, such that data samples whose reported speeds have lower expected accuracy are given exponentially less weight than data samples whose reported speeds have higher expected accuracy.
6. The method of claim 2 further comprising, for each of at least one of the periods of time and each of at least one of the road segments, dividing the period of time into multiple overlapping time windows and performing the estimating of the average traffic speed of vehicles traveling on the road segment during the period of time for each of the time windows using the data samples whose reported times are during the time window, such that at least some of the data samples are used for multiple time windows and are given differing determined weights for those time windows.
7. The method of claim 2 wherein, for each of at least one of the periods of time and each of at least one of the road segments, the determining of the estimated average traffic speed of vehicles traveling on the road segment during the period of time includes generating a confidence value for the estimated average traffic speed to reflect a degree of possible error in the estimated average traffic speed, and wherein the using of the oe or more estimated average traffic speeds for the period of time includes using the generated confidence values to facilitate future travel on the one or more roads.
8. The method of claim 2 wherein the estimating of the average traffic speed of vehicles traveling on a road segment during a period of time is performed using recently received data samples in a realtime manner, and wherein the using of the one or more estimated average traffic speeds for the period of time is further performed in a substantially realtime manner so as to facilitate imminent future travel on the one or more roads.
9. The method of claim 8 wherein the using of the one or more estimated average traffic speeds for a period of time to facilitate travel on the one or more roads includes inferring traffic volume for at least one road segment of the one or more roads based in part on the estimated average traffic speeds and providing information about the estimated average traffic speeds and the inferred traffic volumes to one or more people considering upcoming travel on the one or more roads.
10. The method of claim 1 wherein, for each of one or more of the at least some road segments, the one or more attributes of the data samples of the group that are used for the determining of the weights include recency of the reported times for the data samples.
11. The method of claim 10 wherein the determining of the weights for data samples based on recency of the reported times for the data samples is performed such that data samples whose reported times are less recent are given less weight than data samples whose reported times are more recent.
12. The method of claim 1 wherein, for each of one or more of the at least some road segments, the data samples associated with the road segment include data samples supplied from multiple sources, and wherein the one or more attributes of the data samples of the group that are used for the determining of the weights include the sources of the data samples.
13. The method of claim 12 wherein, for each of at least one of the one or more road segments, one of the multiple sources for the data samples include one or more vehicles that are traveling on the road segment and that report data samples based on the traveling, and another of the multiple sources for the data samples include one or more traffic sensors that monitor the road segment and that report data samples based on readings that reflect passing vehicles.
14. The method of claim 12 wherein, for each of at least one of the one or more road segments, the multiple sources for the data samples include multiple vehicles that are traveling on the road segment and that each report one or more data samples to reflect a location and/or speed of the vehicle.
15. The method of claim 12 wherein, for each of at least one of the one or more road segments, the multiple sources for the data samples include multiple traffic sensors that monitor the road segment and that each report one or more data samples based on readings that each reflect one or more passing vehicles.
16. The method of claim 12 further comprising, for each of at least one of the one or more road segments, assessing reliability of each of the multiple sources for the data samples for the road segment, and wherein the determining of the weight for those data samples based on the sources of the data samples is performed such that data samples whose sources have lower assessed reliability are given less weight than data samples whose sources have higher assessed reliability.
17. The method of claim 1 wherein, for each of one or more of the at least some road segments, the one or more attributes of the data samples of the group that are used for the determining of the weights include a total quantity of the data samples of the group.
18. The method of claim 1 wherein, for each of one or more of the at least some road segments, the determining of the weights for the data samples of the group is performed such that data samples whose attributes reflect lower expected accuracy are given less weight than data samples whose attributes reflect higher expected accuracy.
19. The method of claim 1 wherein, for each of one or more of the at least some road segments, the determining of the weights for the data samples of the group uses exponential weighting.
20. The method of claim 1 wherein, for each of one or more of the at least some road segments, the determining of the weights for the data samples of the group is further based on one or more current conditions.
21 . The method of claim 20 wherein the current conditions include at least one of a recent traffic accident, a sporting event, a current time-of-day, a current day-of-week, a current day-of-month, a current week-of-month, and a current month-of-year.
22. The method of claim 1 wherein, for each of one or more of the at least some road segments, the data samples associated with the road segment of the identified group are data samples supplied from one or more vehicles that are traveling on the road segment during the period of time and that report the data samples based on the traveling, the one or more vehicles being a subset of all vehicles traveling on the road segment during the period of time, and wherein the estimated average traffic speed of vehicles traveling on the road segment during the period of time is determined in such a manner as to estimate the average traffic speed of all the vehicles traveling on the road segment during the period of time.
23. The method of claim 1 wherein, for each of one or more of the at least some road segments, the estimating of the average traffic speed of vehicles traveling on the road segment during a period of time is performed for each of multiple distinct periods of time.
24. The method of claim 1 wherein, for each of one or more of the at least some road segments, the estimating of the average traffic speed of vehicles traveling on the road segment during a period of time is performed for each of multiple overlapping time windows during the period of time, such that at least some of the associated data samples for the road segment are used for each of multiple of the time windows.
25. The method of claim 24 wherein, for at least one of the one or more road segments, the multiple overlapping time windows during the period of time are modified to reflect one or more current conditions.
26. The method of claim 1 wherein, for each of one or more of the at least some road segments, the estimating of the average traffic speed of vehicles traveling on the road segment during the period of time includes determining a confidence value for the estimated average traffic speed, and wherein the using of the one or more estimated average traffic speeds includes using one or more of the determined confidence values to facilitate future travel on the one or more roads.
27. The method of claim 1 wherein the using of the one or more estimated average traffic speeds includes inferring traffic volume for at least one of the road segments based in part on the one or more estimated average traffic speeds.
28. The method of claim 1 wherein the using of the one or more estimated average traffic speeds includes providing indications of the one or more estimated average traffic speed to one or more people to facilitate decisions by the people regarding travel on the one or more roads.
29. The method of claim 28 wherein the determining of the one or more estimated average traffic speeds and the using of the one or more estimated average traffic speeds' is performed in a substantially realtime manner relative to receiving the data samples used for the determining, so as to enable substantially realtime decisions by the people.
30. The method of claim 1 wherein the automatic estimating of at least one of the estimated average traffic speeds is performed in a substantially realtime manner.
31. The method of claim 1 wherein, for each of one or more of the at least some road segments, the determining of the estimated average traffic speed of vehicles traveling on the road segment during the period of time based at least in part on a weighted average of the reported speeds of the data samples of the group is performed only if the identified group of multiple data samples associated with the road segment is sufficiently large that a statistical validity of the weighted average of the reported speeds exceeds a threshold.
32. A computer-readable medium whose contents enable a computing device to estimate average speed information for traveling vehicles, by performing a method comprising: receiving an indication of multiple data samples that each reflect a speed of one of multiple vehicles traveling on a road; estimating an average traffic speed of vehicles traveling on the road based at least in part on combining the speeds of the data samples in a weighted manner using weights associated with the data samples, the associated weights including multiple distinct weights; and providing an indication of the estimated average traffic speed for use in facilitating travel on the road.
33. The computer-readable medium of claim 32 wherein the multiple data samples each have a reported time associated with the speed, wherein the estimated average traffic speed is for vehicles traveling on the road during a period of time that includes the reported times, wherein the estimating of the average traffic speed of vehicles traveling on the road includes determining the weights associated with each of the data samples in such a manner as to reflect expected accuracy of the speeds of those data samples, and wherein the combining of the speeds of the data samples in a weighted manner includes determining a weighted average of the speeds of the data samples in a manner based on the determined weights.
34. The computer-readable medium of claim 33 wherein the multiple data samples are reported by the multiple vehicles traveling on the road, wherein the multiple vehicles are a subset of all vehicles traveling on the road, wherein the determined weighted average represents an average traffic speed of the multiple vehicles, wherein the estimated average traffic speed represents an average traffic speed of all the vehicles traveling on the road, and wherein the providing of the indication of the estimated average traffic speed for use in facilitating travel on the road includes presenting the estimated average traffic speed to operators of vehicles for use in influencing decisions regarding travel on the road.
35. The computer-readable medium of claim 32 wherein the computer-readable medium is a memory of a computing device.
36. The computer-readable medium of claim 32 wherein the computer-readable medium is a data transmission medium that transmits a generated data signal containing the contents.
37. The computer-readable medium of claim 32 wherein the contents are instructions that when executed cause the computing device to perform the method.
38. A computing system configured to estimate average speed information for traveling vehicles, comprising: a first component that is configured to, for each of multiple roads, receive an indication of multiple data samples associated with the road that each reflect a speed of a vehicle traveling on the road; and a data sample speed assessor component that is configured to, for each of the multiple roads, determine weights for the data samples associated with the road based on one or more attributes of those data samples; estimate a traffic speed of vehicles traveling on the road at one or more times based at least in part on a weighted average of the speeds of the data samples associated with the road, the weighted average calculated using the determined weights; and provide an indication of the estimated traffic speed for use in facilitating travel on the road.
39. The computing system of claim 38 wherein, for each of at least one of the multiple roads, the multiple data samples associated with the road each have a reported time associated with the speed,' the estimated traffic speed is for vehicles traveling on the road during a period of time that includes the reported times, the weights for the data samples associated with the road are determined in such a manner as to reflect expected accuracy of the speeds of those data samples, and the providing of the indication of the estimated traffic speed for use in facilitating travel on the road includes presenting the estimated traffic speed to operators of vehicles for use in influencing decisions regarding travel on the road.
40. The computing system of claim 38 wherein the first component and the data sample speed assessor component each include software instructions for execution in memory of the computing system.
41. The computing system of claim 38 wherein the first component consists of a means for, for each of multiple roads, receiving an indication of multiple data samples associated with the road that each reflect a speed of a vehicle traveling on the road, and wherein the data sample speed assessor component consists of a means for, for each of the multiple roads, determining weights for the data samples associated with the road based on one or more attributes of those data samples, estimating a traffic speed of vehicles traveling on the road at one or more times based at least in part on a weighted average of the speeds of the data samples associated with the road that is calculated using the determined weights, and providing an indication of the estimated traffic speed for use in facilitating travel on the road.
42.- A computer-implemented method for automatically providing data samples from vehicles traveling on roads for use in assessing traffic conditions on those roads, the method comprising: for each of multiple vehicles traveling on one or more roads, providing information regarding travel of the vehicle by, for each of multiple successive periods of time of p re-determined length, acquiring multiple data samples during the period of time from a geo- location device traveling with the vehicle, each data sample being acquired at a distinct acquisition time during the period of time and including a reported geographic location and speed of the vehicle at that acquisition time; temporarily storing the multiple data samples during the period of time in a storage device; and at the end of the period of time, sending the multiple stored data samples together in a single data transmission via a wireless data transmitter to a remote traffic information system that is configured to use at least some of the data samples for facilitating travel of other vehicles on the one or more roads; and removing the multiple stored data samples from the storage device so that data samples acquired during a next period of time can be temporarily stored.
43. The method of claim 42 wherein, for each of the multiple vehicles, the providing of the information regarding the travel of the vehicle is performed by one or more computing systems on the vehicle.
44. The method of claim 43 wherein all of the multiple vehicles send data samples to a single remote traffic information system, and wherein the method further comprises, under control of the single remote traffic information system: repeatedly receiving data transmissions from the multiple vehicles, each of the received data transmissions including multiple data samples for a vehicle that are acquired at distinct acquisition times and that report geographic locations and speeds of that vehicle at those acquisition times; and for each of multiple road segments of the one or more roads and each of multiple time periods, retrieving the data samples received from the multiple vehicles whose acquisition times are during the time period and whose reported geographic locations correspond to the road segment; assessing average road travel conditions for all vehicles traveling on the road segment during the period of time based at least in part on the reported speeds for the retrieved data samples; and using the assessed average road travel conditions to assist travel of other vehicles on or near the road segment at times during or near the period of time.
45. The method of claim 44 wherein the using of assessed average road travel conditions to assist the travel of the other vehicles includes at least one of sending information about the assessed average road travel conditions to the other vehicles in a substantially realtime manner and of making information available about future road travel conditions that are predicted based at least in part on the assessed average road travel conditions.
46. The method of claim 43 wherein, for each of at least some of the multiple vehicles, the geo-location device traveling with the vehicle is a global positioning system ("GPS") receiver installed in the vehicle.
47. The method of claim 43 wherein, for each of at least some of the multiple vehicles, the geo-location device traveling with the vehicle is a cellphone carried by a passenger in the vehicle.
48. The method of claim 43 wherein, for each of at least some of the multiple vehicles, the acquired data samples for the vehicle each further include a reported heading of the vehicle at the acquisition time for the data sample, an indication of a device status of the geo-location device traveling with the vehicle at the acquisition time for the data sample, an indication of a vehicle status of the vehicle at the acquisition time for the data sample, and a unique identifier associated with the geo-location device and/or the vehicle.
49. The method of claim 48 wherein, for each of the at least some multiple vehicles, the wireless data transmitter used for the sending of multiple data samples is a satellite transmitter that transmits only limited amounts of data, and wherein, for each of the at least some multiple vehicles, the sending of multiple data samples together in a single data transmission via the wireless data transmitter includes processing the multiple data samples prior to the single data transmission in order to reduce an amount of data to be included in the single data transmission.
50. The method of claim 49 wherein, for one of the at least some multiple vehicles, the providing of the information regarding the travel of the one vehicle during one of the periods of time includes acquiring one or more additional data samples for the one vehicle during the one period of time such that the one or more additional data samples are distinct from the multiple data samples acquired during the one period of time for the one vehicle, and wherein the processing of the multiple data samples prior to the single data transmission for the one vehicle and the one period of time includes determining to exclude from that single data transmission the additional data samples based on the additional data samples being determined to not reflect travel of interest.
51. The method of claim 42 wherein, for each of at least some of the multiple vehicles, the pre-determined length of each of the periods of time is 15 minutes and the data samples are acquired at approximately 1 -minute intervals.
52. A method for a device in a vehicle to automatically provide information regarding travel of the vehicle on one or more roads, the method comprising, under control of the device: obtaining multiple data samples that are each acquired at a distinct acquisition time to report a geographic location and travel characteristics of the vehicle at that acquisition time; storing the multiple data samples until one or more predefined conditions are satisfied; and after the one or more predefined conditions are satisfied, automatically providing the multiple data samples in a single data transmission to a traffic information system configured to use data samples provided from multiple vehicles for facilitating travel on roads.
53. The method of claim 52 wherein the one or more predefined conditions include an indicated length of a period of time during which the obtaining of the multiple data samples is performed.
54. The method of claim 53 wherein the indicated length of time is at least 10 minutes, and wherein the acquisition times of the data samples occur approximately every minute.
55. The method of claim 53 wherein the obtaining of multiple data samples, the storing of those multiple data samples, and the providing of those multiple data samples in a single data transmission are each performed repeatedly so as to provide information about travel of the vehicle for an extended period of time that includes numerous time periods of the indicated length.
56. The method of claim 52 wherein the one or more predefined conditions include an indicated time at which the providing of the multiple data samples in a single data transmission is to be performed.
57. The method of claim 52 wherein the one or more predefined conditions include an indicated number of multiple data samples to be obtained.
58. The method of claim 52 wherein the one or more predefined conditions include an indicated quantity of data to be obtained from the multiple data samples.
59. The method of claim 52 wherein the one or more predefined conditions include an indicated distance that the vehicle has traveled.
60. The method of claim 52 wherein at least some of the multiple data samples are each acquired after an indicated length of time has passed since a prior data sample has been acquired.
61. The method of claim 52 wherein at least some of the multiple data samples are each acquired after the vehicle has traveled an indicated distance since a prior data sample has been acquired.
62. The method of claim 52 wherein at least some of the multiple data samples are acquired after the vehicle has reached one or more indicated geographic locations.
63. The method of claim 52 wherein the obtaining of multiple data samples, the storing of those multiple data samples, and the providing of those multiple data samples in a single data transmission are each performed repeatedly.
64. The method of claim 52 wherein at least some of the data samples each report the geographic location of the vehicle using latitude and longitude coordinates.
65. The method of claim 52 wherein at least some of the data samples each report the geographic location of the vehicle using a location based on a road on which the vehicle is traveling.
66. The method of claim 52 wherein the reported travel characteristics of the vehicle for each of at least some of the data samples include a speed of the vehicle.
67. The method of claim 52 wherein the reported travel characteristics of the vehicle for each of at least some of the data samples include a heading of the vehicle.
68. The method of claim 52 wherein the reported travel characteristics of the vehicle for each of at least some of the data samples include at least one of a distance traveled by the vehicle and a status of the vehicle.
69. The method of claim 52 wherein at least some of the data samples each further include at least one of an indication of a status of a geo- location device that is used to obtain the geographic location for the data sample and of an identifier associated with the geo-location device and/or the vehicle.
70. The method of claim 52 wherein the device in the vehicle includes a global positioning system. ("GPS") receiver that provides geographic location information.
71. The method of claim 52 wherein the device in the vehicle is a cellphone carried by a passenger in the vehicle.
72. The method of claim 71 wherein the geographic location for each of at least some of the data samples is based on one or more cellphone network transmitters with which the cellphone is able to communicate.
73. The method of claim 71 wherein the providing of the multiple data samples in the single data transmission includes sending the single data transmission via a cellphone network of the cellphone.
74. The method of claim 52 wherein the device in the vehicle is a computing device that is installed in the vehicle and/or is part of the vehicle.
75. The method of claim 74 wherein the computing device is part of a wireless network, wherein the geographic location for each of at least some of the data samples is based at least in part on one or more wireless network access points with which the computing device is in communication, and wherein the providing of the multiple data samples in the single data transmission includes sending the single data transmission via the wireless network.
76. The method of claim 52 wherein the device in the vehicle includes a satellite transmitter, and wherein the providing of the multiple data samples in the single data transmission includes sending the single data transmission via the satellite transmitter.
77. The method of claim 52 further comprising, before the providing of the multiple data samples in the single data transmission, modifying information associated with the multiple data samples so as to reduce an amount of data to be included in the single data transmission.
78. The method of claim 52 further comprising, before the providing of the multiple data samples in the single data transmission, obtaining one or more additional data samples that each include information regarding travel of the vehicle, and determining to exclude the additional samples from the multiple data samples that are provided in the single data transmission.
79. The method of claim 78 wherein the determining to exclude the additional data samples is based at least in part on the additional data samples being determined to not reflect travel of interest.
80. The method of claim 52 wherein use of the data samples provided from the multiple vehicles includes assessing road travel conditions for vehicles traveling on at least portions of one or more roads based at least in part on reported geographic locations and travel characteristics from provided data samples, and using the assessed road travel conditions to assist potential travel of other vehicles on or near the at least portions of the one or more roads.
81. The method of claim 80 wherein the assessed road travel conditions include an average speed of all vehicles traveling on the at least
• portions of the one or more roads.
82. The method of claim 80 wherein the using of the assessed road travel conditions to assist the other traveling vehicles includes at least one of making information about the assessed road travel conditions available to the other traveling vehicles in a substantially realtime manner after the assessing and of making information available about future road travel conditions that are predicted based at least in part on the assessed road travel conditions.
83. The method of claim 80 wherein the assessing of the road travel conditions and the using of the assessed road travel conditions is performed automatically under control of a traffic information system remote from the vehicle.
84. The method of claim 52 wherein the one or more predefined conditions include a current ability to perform wireless data transmissions, wherein a temporary inability to perform wireless data transmissions occurs during the obtaining of the multiple data samples, and wherein the method further comprises obtaining other data samples when wireless data transmissions are available and providing each of the other data samples to the traffic information system without storing of the other data samples.
85. The method of claim 52 wherein the one or more predefined conditions include arrival of the vehicle at a location at which the single data transmission is able to be performed.
86. The method of claim 52 wherein an ability to determine a geographic location of the vehicle is temporarily unavailable, and wherein the geographic location for each of at least one of the data samples that is acquired while the ability to determine the geographic location of the vehicle is temporarily unavailable is based at least in part on an extrapolation and/or interpolation of geographic locations from one or more other data samples acquired while the ability to determine the geographic location of the vehicle is available.
87. The method of claim 52 wherein the vehicle is one of multiple vehicles that are each configured to provide data samples to a single traffic information system to reflect travel of the multiple vehicles.
88. The method of claim 87 wherein the multiple vehicles are part of a fleet of vehicles operating in conjunction with each other.
89. The method of claim 87 wherein he multiple vehicles are directed to operate in distinct manners in order to produce variation in provided information regarding the travel of the multiple vehicles.
90. The method of claim 52 wherein the vehicle is directed by the traffic information system to travel on an indicated route in order to obtain information about travel of vehicles along the route.
91. A computer-readable medium whose contents enable a computing device to provide information regarding movement of a mobile device, by performing a method comprising: obtaining multiple data samples at multiple times, each data sample indicating a geographic location of the mobile device at a time associated with that data sample; storing the multiple data samples; and automatically providing information from the multiple stored data samples for use in facilitating movement of other mobile devices.
92. The computer-readable medium of claim 91 wherein the mobile device is associated with a vehicle traveling on one or more roads, and wherein at least some of the data samples each further indicate travel characteristics of the associated vehicle at the time associated with the data sample.
93. The computer-readable medium of claim 92 wherein the travel characteristics of each of the at least some data samples include a reported heading of travel of the associated vehicle and a reported speed of the associated vehicle, and wherein the providing of the information from the multiple stored data samples includes transmitting the multiple data samples in a single data transmission to a traffic information system for use with data samples from multiple other vehicles in facilitating travel of other vehicles on the one or more roads.
94. The computer-readable medium of claim 92 wherein the method is performed by one or more devices located along the one or more roads that are able to detect passage of the mobile device and/or of the vehicle.
95. The computer-readable medium of claim 91 wherein the method further comprises, before the providing of the information from the multiple stored data samples, aggregating information from the multiple stored data samples so as to reduce an amount of data to be included in the single data transmission, and wherein the provided information includes the aggregated information.
96. The computer-readable medium of claim 91 wherein the mobile device is at least part of the. computing device, wherein the mobile device has an ability to access geo-location determination capabilities, and wherein the geographic location for each of at least some of the data samples is based on information obtained from the mobile device.
97. The computer-readable medium of claim 91 wherein the computer-readable medium is a memory of a computing device.
98. The computer-readable medium of claim 91 wherein the computer-readable medium is a data transmission medium that transmits a generated data signal containing the contents.
99. The computer-readable medium of claim 91 wherein the contents are instructions that when executed cause the computing device to perform the method.
100. A computing device configured to provide information regarding travel of a vehicle on one or more roads, comprising: one or more storage components; and a data source information provision component that is configured to provide information regarding travel of a vehicle on one or more roads by obtaining multiple data samples at multiple distinct acquisition times such that each data sample reflects one or more travel characteristics of the vehicle at the acquisition time for the data sample, by temporarily storing the multiple obtained data samples in the one or more storage components, and by sending the multiple stored data samples as a group for use by a remote traffic information system in facilitating travel on one or more roads.
101. The computing device of claim 100 wherein the data source information provision component is further configured to, after the sending of the multiple stored data samples as a group, remove the stored data samples from the one or more storage components so that other obtained data samples may be temporarily stored, and wherein the data source information provision component is further configured to repeatedly perform the providing of the information regarding the travel of the vehicle by repeatedly obtaining and storing data samples and periodically sending the stored data samples.
102. The computing device of claim 100 wherein the computing device is traveling with the vehicle and further comprises a receiver able to obtain global positioning system ("GPS") signals, and wherein the travel characteristics reflected in each of data sample include at least one of a geographic location, a speed, and a heading of the vehicle.
103. The computing device of claim 102 wherein the computing device is part of a system that includes a wireless transmitter able to send data transmissions, and wherein the sending of the multiple stored data samples as a group includes using the wireless transmitter to send the multiple stored data samples in a single data transmission to the remote traffic information system for use with data samples from multiple other vehicles in facilitating travel of other vehicles on the one or more roads.
104. The computing device of claim 100 wherein the data source information provision component includes software instructions for execution in memory of the computing device.
105. The computing device of claim 100 wherein the data source information provision component consists of a means for providing information regarding travel of a vehicle on one or more roads by obtaining multiple data samples at multiple distinct acquisition times such that each data sample reflects one or more travel characteristics of the vehicle at the acquisition time for the data sample, by temporarily storing the multiple obtained data samples in the one or more storage components, and by sending the multiple stored data samples as a group for use by a remote traffic information system in facilitating travel on one or more roads.
106. A computer-implemented method for assessing data samples reported by vehicles traveling on roads, the data samples including information regarding the travel of the vehicles, the method comprising: receiving indications of multiple road segments of one or more roads; receiving information related to current traffic conditions of the multiple road segments, the received information including a plurality of data samples that each are reported from one of multiple vehicles and reflect a reported speed of the one vehicle at a reported location related to one of the road segments at a reported time; and for each of the multiple road segments, assessing traffic conditions for the road segment based on data samples identified to represent travel on the road segment by, identifying a group of multiple data samples from the plurality of data samples such that the data samples of the group have reported locations that correspond to travel on the road segment; for each of the data samples in the group, determining an average speed and standard deviation for all other data samples of the group based on the reported speeds for those data samples, and determining whether the data sample is a statistical outlier relative to the other data samples of the group based on how a difference in the reported speed of the data sample and the determined average speed compares to the determined standard deviation; excluding from the group the data samples determined to be statistical outliers; and after the excluding, using the data samples remaining in the group to infer traffic conditions for all vehicles traveling on the road segment, so that the inferred traffic conditions based on the data samples are available for use in facilitating travel on the road segment.
107. The method of claim 106 wherein the assessing of the traffic conditions for each of the multiple road segments is performed for each of multiple distinct periods of time, and wherein the identifying of the group of data samples for a road segment for a period of time is further performed such that the identified data samples of the group have reported times that correspond to the period of time.
108. The method of claim 106 wherein, for each of at least one of the multiple road segments, one of the data samples of the identified group for the one road segment that is determined to be a statistical outlier is a data sample that is from a vehicle traveling on another road segment and that is incorrectly associated with the one road segment.
109. The method of claim 106 wherein, for each of at least one of the multiple road segments, one of the data samples of the identified group for the one road segment that is determined to be a statistical outlier is a data sample from a vehicle that is parked on or by the one road segment.
110. The method of claim 106 wherein the assessing of the traffic conditions for each of the multiple road segments includes determining an average speed and a standard deviation for all of the data samples of the identified group for the road segment, and using the determined average speed and standard deviation for all of the data samples as part of the determining, for each of the data samples of the identified group, of the average speed and standard deviation for all the other data samples of the group.
111. The method of claim 110 wherein the determining of whether a data sample of a group is a statistical outlier relative to the other data samples of the group includes determining whether the difference in the reported speed of the data sample and the determined average speed of the other data samples of the group exceeds a threshold based on the determined standard deviation for the other data samples of the group.
112. The method of claim 106 wherein data samples related to current traffic conditions of the multiple road segments are repeatedly received to reflect changing traffic conditions, and wherein the assessing of the traffic conditions for each of the multiple road segments is performed for recently received data samples in a realtime manner.
113. The method of claim 112 wherein the using of data samples remaining in a group to infer traffic conditions for all vehicles traveling on a road segment includes determining an average speed for the remaining data samples, inferring an average speed for all vehicles traveling on the road segment based on the determined average speed, and providing information about the inferred average speed to one or more people considering upcoming travel on the road segment.
114. A computer-implemented method for assessing data samples representing vehicles traveling on roads, the method comprising: receiving indications of one or more segments of one or more roads, each road segment having multiple associated data samples that each reflect a reported speed of a vehicle on the road segment; and for each of at least one of the road segments, automatically analyzing the multiple associated data samples for the road segment so as to determine one or more of those data samples that are unrepresentative of actual vehicle travel on the road segment, at least one of the determined data samples being a statistical outlier with respect to other of the multiple associated data samples; and providing one or more indications to exclude the determined data samples from later use so that the other data samples are available for use in facilitating travel on the road segment.
115. The method of claim 114 wherein, for one or more of the at least one road segments, the providing of the indications to exclude the determined data samples from later use includes analyzing the associated data samples for the road segment other than the determined data samples in order to determine an average speed of vehicles traveling on the road segment, and includes indicating the determined average speed for use in facilitating travel of other vehicles on the road segment.
116. The method of claim 114 wherein, for one or more of the at least one road segments, the providing of the indications to exclude the determined data samples from later use includes analyzing the associated data samples for the road segment other than the determined data samples in order to determine traffic flow of vehicles traveling on the road segment, and includes indicating the determined traffic flow for use in facilitating travel of other vehicles on the road segment.
117. The method of claim 114 wherein, for one or more of the at least one road segments, the determining of the one or more data samples for the road segment that are unrepresentative of actual vehicle travel on the road segment includes determining that each of those data samples is a statistical outlier with respect to other of the multiple data samples associated with the road segment.
118. The method of claim 117 wherein the determining that a data sample associated with a road segment is a statistical outlier with respect to other of the multiple data samples associated with the road segment is performed using leave-one-out outlier analysis.
119. The method of claim 117 wherein the determining that a data sample associated with a road segment is a statistical outlier with respect to other of the multiple data samples associated with the road segment is based at least in part on the reported speeds reflected by each of the data samples.
120. The method of claim 117 wherein the determining that each of the one or more data samples for a road segment is a statistical outlier with respect to other of the multiple data samples associated with the road segment includes: determining an average speed and a standard deviation for all of the multiple data samples for the road segment; and for each of the one or more data samples for the road segment, determining an average speed and a standard deviation for all other of the multiple data samples for the road segment based on the determined average speed and standard deviation for all of the multiple data samples for the road segment;
in determining a difference between the reported speed for the data sample and the determined average speed for all other of the multiple data samples for the road segment; determining a threshold based at least in part on the determined standard deviation for all other of the multiple data samples for the road segment; and . when the determined difference exceeds the determined threshold, identifying the data sample as a statistical outlier.
121. The method of claim 117 wherein, for each of the one or more road segments, the determining that each of the one or more data samples for the road segment is a statistical outlier with respect to other of the multiple data samples associated with the road segment is performed in a substantially realtime manner.
122. The method of claim 114 wherein, for one or more of the at least one road segments, the determining of the one or more data samples for the road segment that are unrepresentative of actual vehicle travel on the road segment includes assessing an activity of each vehicle whose reported speed is reflected by at least one of the determined data samples and determining that the assessed activity of each of the vehicles does not correspond to actual vehicle travel on the road segment.
123. The method of claim 122 wherein the assessed activity of at least one of the vehicles corresponds to a parked vehicle.
124. The method of claim 122 wherein the assessed activity of at least one of the vehicles based on one or more determined data samples corresponds to travel on a road segment other than a road segment with which the one or more determined data samples are associated.
125. The method of claim 114 wherein, for one or more of the at least one road segments, the determining of one or more data samples for the road segment that are unrepresentative of actual vehicle travel on the road segment includes identifying multiple data samples that are reported by a single vehicle traveling on the road segment, determining an activity of the single vehicle over time based on the identified data samples, and determining that the identified data samples are unrepresentative of actual vehicle travel on the road segment based on the determined activity.
126. The method of claim 114 wherein, for one or more of the at least one road segments, the determining of one or more data samples for the road segment that are unrepresentative of actual vehicle travel on the road segment includes identifying expected values for the multiple data samples associated with the road segment and determining that the determined data samples do not fit the identified expected values.
127. The method of claim 114 wherein, for one or more of the at least one road segments, the determining of one or more data samples for the road segment that are unrepresentative of actual vehicle travel on the road segment includes determining a statistical distribution for the multiple data samples associated with the road segment and determining that the determined data samples do not fit the determined statistical distribution.
128. The method of claim 114 wherein, for one or more of the at least one road segments, the determining of one or more data samples for the road segment that are unrepresentative of actual vehicle travel on the road segment includes identifying multiple distinct data curves for the road segment, each of the data curves reflecting a distinct subset of vehicle travel on at least a portion of the road segment, and wherein the determined data samples fit at least one of the data curves that reflects a subset of vehicle travel that is not of interest.
129. The method of claim 128 wherein at least one of the identified data curves is a Gaussian curve.
130. The method of claim 114 wherein, for one or more of the at least one road segments, the multiple associated data samples for the road segment each further reflect a reported time corresponding to the reported speed of the vehicle for the data sample, the automatic analyzing of the multiple associated data samples for the road segment further corresponding to a predetermined period of time such that the actual vehicle travel on the road segment is travel during the predetermined period of time.
131. The method of claim 130 wherein, for each of the one or more road segments, the determining of the one or more data samples for the road segment that are unrepresentative of actual vehicle travel on the road segment includes identifying that the reported time for each of the determined data samples is not within the predetermined period of time for the road segment.
132. The method of claim 114 further comprising, for each of multiple distinct periods of time, receiving multiple associated data samples for one of the road segments that each reflect a reported speed of a vehicle at a reported time on the one road segment during the period of time, and wherein the automatic analyzing is performed for the one road segment for each of the periods of time based on the data samples whose reported times are during the period of time.
133. The method of claim 114 wherein, for one or more of the at least one road segments, the determining of one or more data samples for the road segment that are unrepresentative of actual vehicle travel on the road segment is performed in a substantially realtime manner.
134. The method of claim 133 wherein at least some of the multiple data samples associated with at least some of the road segments are acquired by and reported from vehicles traveling on those road segments, the reporting of the at least some data samples occurring in a substantially realtime manner after acquisition of one or more of the at least one data samples.
135. A computer-readable medium whose contents enable a computing device to assess data samples representing traveling vehicles, by performing a method comprising: receiving an indication of multiple data samples that each reflect reported travel characteristics of one of multiple vehicles traveling on a road; automatically determine one or more of the multiple data samples that are unrepresentative of actual vehicle travel on the road; and providing one or more indications of the data samples other than" the determined data samples so that the indicated data samples are available for use in facilitating travel on the road.
136. The computer-readable medium of claim 135 wherein the reported travel characteristics of each data sample include reported speed of the vehicle to which the data sample corresponds, wherein the determining of at least one of the one or more data samples that are unrepresentative of actual vehicle travel on the road includes determining that the at least one data samples are statistical outliers with respect to other of the data samples, and wherein the providing of the indications of the data samples includes analyzing the data samples to determine average speed of vehicles traveling on the road and indicating the determined average speed for use in facilitating travel of other vehicles on the road.
137. The computer-readable medium of claim 136 wherein the determining that the at least one data samples are statistical outliers with respect to other of the data samples includes performing a leave-one-out outlier analysis in a substantially realtime manner.
138. The computer-readable medium of claim 135 wherein the computer-readable medium is a memory of a computing device.
139. The computer-readable medium of claim 135 wherein the computer-readable medium is a data transmission medium that transmits a generated data signal containing the contents.
140. The computer-readable medium of claim 135 wherein the contents are instructions that when executed cause the computing device to perform the method.
141. A computing system configured to assess data samples representing traveling vehicles, comprising: a first component that is configured to, for each of multiple roads, receive an indication of multiple data samples for the road that each reflect a reported speed of a vehicle traveling on the road; and a data sample outlier eliminator component that is configured to, for each of the multiple roads, automatically determine one or more of the multiple data samples for the road that are statistical outliers with respect to other of the multiple data samples for the road; and provide one or more indications of the multiple data samples for the road other than the determined data samples so that the indicated data samples are available for use in facilitating travel on the road.
142. The computing system of claim 141 wherein, for each of at least one of the multiple roads, the determining of the data samples for the road that are statistical outliers with respect to other of the data samples for the road includes performing a leave-one-out outlier analysis in a substantially realtime manner, and wherein the providing of the indications of the data samples for the road includes analyzing the data samples to determine average speed of vehicles traveling on the road and indicating the determined average speed for use in facilitating travel of other vehicles on the road.
143. The computing system of claim 141 wherein the first component and the data sample outlier eliminator component each include software instructions for execution in memory of the computing system.
144. The computing system of claim 141 wherein the first component consists of a means for, for each of multiple roads, receiving an indication of multiple data samples for the road that each reflect a reported speed of a vehicle traveling on the road, and wherein the data sample outlier eliminator component consists of a means for, for each of the multiple roads, automatically determining one or more of the multiple data samples for the road that are statistical outliers with respect to other of the multiple data samples for the road, and providing one or more indications of the multiple data samples for the road other than the determined data samples so that the indicated data samples are available for use in facilitating travel on the road.
145. A computer-implemented method for determining estimated traffic flow information for roads based on data samples that are reported by vehicles traveling on the roads and that include information regarding the travel of the vehicles, the method comprising: receiving indications of multiple road segments of one or more roads; generating probability distributions that indicate, for each of multiple distinct observed quantities of vehicles on a road segment during a period of time, probabilities for arrival rate volumes of vehicles at the road segment given the observed quantity of vehicles; and for each of multiple periods of time, receiving information related to current traffic conditions of the multiple road segments during the period of time, the received information including a plurality of data samples for the period of time that each are reported from one of multiple vehicles and reflect a reported speed of the one vehicle at a reported location on one of the road segments at a reported time during the period of time, the multiple vehicles being a subset of all vehicles traveling on the road segments during the period of time, the received information further including a plurality of additional data samples for the period of time that each are reported from one of multiple traffic sensors monitoring the multiple road segments and reflect a reported speed based on one or more speed readings for one or more vehicles at a location on one of the road segments for one or more reported times during the period of time; for each of the multiple road segments, automatically estimating traffic flow information of all vehicles traveling on the road segment during the period of time by, identifying a group of multiple data samples for the road segment for the period of time, the multiple data samples being from at least one of the plurality of data samples and the plurality of additional data samples; determining a quantity of vehicles to which the data samples of the group correspond, the corresponding vehicles being a subset of all the vehicles traveling on the road segment during the period of time; determining a most probable traffic arrival rate volume at the road segment of all the vehicles traveling on the road segment during the period of time, the determining of the traffic arrival rate volume being based at least in part on the generated probability distribution for the determined quantity of vehicles that reported the data samples of the group; determining a most probable traffic density for the road segment so as to represent a total quantity per unit of distance of all the vehicles traveling on the road segment during the period of time, the determining of the traffic density being based at least in part on the determined traffic arrival rate volume for the road segment during the period of time; and determining a most probable percentage traffic occupancy of at least one point on the road segment by all the vehicles traveling on the road segment during the period of time, the determining of the percentage traffic occupancy being based at least in part on the determined traffic density; and using at least some of the determined traffic arrival rate volumes, traffic densities, and percentage traffic occupancies for the period of time to facilitate future travel on the one or more roads, so that estimated traffic flow information is determined for road segments based on data samples reflecting actual vehicle travel on the road segments.
146. The method of claim 145 wherein, for each of at least one of the periods of time and each of at least one of the road segments, the identified group of multiple data samples for the road segment for the period of time includes multiple data samples from the plurality of data samples for the period of time whose reported locations are on the road segment and includes multiple data samples from the plurality of additional data samples for the period of time whose locations are on the road segment, and wherein the estimating of the traffic flow information of all the vehicles traveling on the road segment during the period of time includes generating an estimated average traffic speed of all the vehicles traveling on the road segment during the period of time based at least in part on the reported speeds of the data samples of the group.
147. The method of claim 146 wherein, for each of the at least one periods of time and each of the at least one road segments, the determining of the traffic density for the road segment of all the vehicles traveling on the road segment during the period of time is further based at least in part on the estimated average traffic speed of all the vehicles traveling on the road segment during the period of time.
148. The method of claim 147 wherein, for each of the at least one periods of time and each of the at least one road segments, the determining of the percentage traffic occupancy of at least one point on the road segment by all the vehicles traveling on the road segment during the period of time is further based at least in part on the estimated average traffic speed of all the vehicles traveling on the road segment during the period of time and on an estimated average length of all the vehicles traveling on the road segment during the period of time.
149. The method of claim 148 wherein, for each of the at least one periods of time and each of the at least one road segments, the determining of the traffic arrival rate volume at the road segment of all the vehicles traveling on the road segment during the period of time is further based at least in part on an estimated percentage of all the vehicles traveling on the road segment during the period of time that are the vehicles to which the data samples of the group correspond.
150. The method of claim 145 wherein, for each of at least one of the periods of time and each of at least one of the road segments, the determining of the traffic arrival rate volume of all the vehicles traveling on the road segment during the period of time includes generating a confidence value for the traffic arrival rate volume to reflect a degree of possible error in the traffic arrival rate volume, and wherein the using of the at least some determined traffic arrival rate volumes for the period of time includes using the generated confidence values to facilitate the future travel.
151. The method of claim 145 wherein the estimating of the traffic flow information of all the vehicles traveling on a road segment during a period of time is performed using recently received data samples in a realtime manner, and wherein the using of the at least some determined traffic arrival rate volumes, determined traffic densities, and determined percentage traffic occupancies for the period of time is further performed in a substantially realtime manner so as to facilitate imminent future travel on the one or more roads.
152. The method of claim 151 wherein the using of the at least some determined traffic arrival rate volumes, traffic densities, and percentage traffic occupancies for a period of time includes providing information about the determined traffic arrival rate volumes, traffic densities, and percentage traffic occupancies to one or more people considering upcoming travel on the one or more roads.
153. A computer-implemented method for determining estimated traffic flow information for vehicles traveling on roads based on data samples that reflect travel on those roads, the method comprising: receiving indications of one or more segments of one or more roads, each road segment having multiple associated data samples that each are reported by one of multiple vehicles to reflect travel on the road segment by the one vehicle at a reported time; for each of at least one of the road segments, automatically estimating traffic flow of vehicles traveling on the road segment during a period of time by, identifying a group of the multiple data samples associated with the road segment whose reported times occur during the period of time; determining a quantity of vehicles that reported the data samples of the group, the vehicles that reported the data samples of the group being a subset of all vehicles that traveled on the road segment during the period of time; and probabilistically assessing an estimated total quantity of all the vehicles that traveled on the road segment during the period of time based at least in part on the determined quantity of the vehicles that reported the data samples; and using one or more of the estimated total quantities of vehicles to facilitate travel on the one or more roads.
154. The method of claim 153 wherein, for one or more of the at least one road segments, the probabilistic assessing of the estimated total quantity of all the vehicles that traveled on the road segment during the period of time includes determining a most probable total quantity of all the vehicles that traveled on the road segment during the period of time.
155. The method of claim 153 wherein, for one or more of the at least one road segments, the probabilistic assessing of the estimated total quantity of all the vehicles that traveled on the road segment during the period of time includes determining a confidence value for the estimated total quantity based at least in part on a likelihood of the estimated total quantity.
156. The method of claim 153 wherein, for one or more of the at least one road segments, the probabilistic assessing of the estimated total quantity of all the vehicles that traveled on the road segment during the period of time includes determining a traffic arrival rate volume of vehicles to at least one point of the road segment during the period of time, the determined traffic arrival rate volume being based at least in part on the estimated total quantity of all the vehicles that traveled on the road segment during the period of time.
157. The method of claim 156 wherein, for each of the one or more road segments, the determining of the traffic arrival rate volume of vehicles to at least one point of the road segment during the period of time includes using a probability distribution that represents probabilities for actual arrival rate volumes of vehicles given the determined quantity of vehicles that reported the data samples of the group for the road segment.
158. The method of claim 157 wherein, for each of the one or more road segments, the using of the probability distribution as part of the determining of the traffic arrival rate volume of the vehicles to at least one point of the road segment during the period of time includes determining a most probable traffic arrival rate volume.
159. The method of claim 157 wherein, for each of the one or more road segments, the using of the probability distribution as part of the determining of the traffic arrival rate volume of the vehicles to at least one point of the road segment during the period of time includes estimating confidence in the determined traffic arrival rate volume based on the probability distribution.
160. The method of claim 157 wherein, for each of the one or more road segments, the probability distribution is a Poisson distribution.
161. The method of claim 156 wherein, for each of the one or more < road segments, the determining of the traffic arrival rate volume of vehicles to at least one point of the road segment during the period of time includes using a penetration factor for the road segment during the period of time, the penetration factor representing an estimated percentage of all the vehicles that traveled on the road segment during the period of time that are vehicles that reported the data samples of the group for the road segment.
162. The method of claim 156 wherein, for each of the one or more road segments, the at least one point of the road segment for which the traffic arrival rate volume of vehicles is determined is a beginning of the road segment.
163. The method of claim 156 wherein, for each of the one or more road segments, the at least one point of the road segment for which the traffic arrival rate volume of vehicles is determined is all of the road segment.
164. The method of claim 153 wherein, for one or more of the at least one road segments, the probabilistic assessing of the estimated total quantity of all the vehicles that traveled on the road segment during the period of time includes determining a traffic density for the road segment during the period of time, the determined traffic density being based at least in part on the estimated total quantity of all the vehicles that traveled on the road segment during the period of time.
165. The method of claim 164 wherein, for each of the one or more road segments, the determined traffic density represents a total quantity per unit of distance of all the vehicles that traveled on the road segment during the period of time..
166. The method of claim 164 wherein, for each of the one or more road segments, the determining of the traffic density for the road segment is based at least in part on at least one determined traffic arrival rate volume for the road segment during the period of time.
167. The method of claim 166 further comprising, for each of the one or more road segments, determining the at least one traffic arrival rate volumes for the road segment during the period of time so as to represent vehicles arriving to at least one point of the road segment during the period of time.
168. The method of claim 166 wherein, for each of the one or more road segments, the determining of the traffic density for the road segment is further based at least in part on an estimated average traffic speed of all the vehicles that traveled on the road segment during the period of time.
169. The method of claim 168 further comprising, for each of the one or more road segments, estimating the average traffic speed of all the vehicles that traveled on the road segment during the period of time.
170. The method of claim 164 wherein, for each of the one or more road segments, the determining of the traffic density for the road segment includes determining a most probable traffic density.
171. The method of claim 164 wherein, for each of the one or more road segments, the determining of the traffic density for the road segment includes estimating confidence in the determined traffic density.
172. The method of claim 153 wherein, for one or more of the at least one road segments, the probabilistic assessing of the estimated total quantity of all the vehicles that traveled on the road segment during the period of time includes determining a traffic occupancy for at least one point on the road segment during the period of time, the determined traffic occupancy being based at least in part on the estimated total quantity of all the vehicles that traveled on the road segment during the period of time.
173. The method of claim 172 wherein, for each of the one or more road segments, the determined traffic occupancy for the at least one point on the road segment represents an average percentage of time that the at least one point is occupied by at least one of the vehicles that traveled on the road segment during the period of time.
174. The method of claim 172 wherein, for each of the one or more road segments, the determining of the traffic occupancy for the road segment is based at least in part on at least one determined traffic density for the road segment during the period of time and on at least one estimated length of the vehicles that traveled on the road segment during the period of time.
175. The method of claim 174 wherein, for each of the one or more road segments, the determining of the traffic occupancy for the road segment is further based at least in part on at least one determined traffic arrival rate volume for the road segment during the period of time.
176. The method of claim 175 wherein, for each of the one or more road segments, the determining of the traffic occupancy for the road segment is further based at least in part on an estimated average traffic speed of all the vehicles that traveled on the road segment during the period of time.
177. The method of claim 176 further comprising, for each of the one or more road segments, determining the at least one traffic density for the road segment during the period of time, determining the at least one traffic arrival rate volume for the road segment during the period of time, and estimating the average traffic speed of all the vehicles that traveled on the road segment during the period of time.
178. The method of claim 172 wherein, for each of the one or more road segments, the determining of the traffic occupancy for the road segment includes determining a most probable traffic occupancy.
179. The method of claim 172 wherein, for each of the one or more road segments, the determining of the traffic occupancy for the road segment includes estimating confidence in the determined traffic occupancy.
180. The method of claim 153 wherein, for each of one or more of the at least some road segments, the estimating of the traffic flow of vehicles traveling on the road segment during a period of time is performed for each of multiple distinct periods of time.
181. The method of claim 153 wherein, for each of one or more of the at least some road segments, the estimating of the traffic flow of vehicles traveling on the road segment during a period of time is performed for each of multiple overlapping time windows during the period of time, such that at least some of the associated data samples for the road segment are used for each of multiple of the time windows.
182. The method of claim 181 wherein, for at least one of the one or more road segments, the multiple overlapping time windows during the period of time are modified to reflect one or more current conditions.
183. The method of claim 153 wherein, for each of one or more of the at least some road segments, the estimating of the total quantity of all the vehicles that traveled on the road segment during the period of time includes determining at least one confidence value for the estimated total quantity, and wherein the using of the one or more estimated total quantities of vehicles includes using one or more of the determined confidence values to facilitate future travel on the one or more roads.
184. The method of claim 153 wherein the using of the one or more estimated total quantities of vehicles includes providing indications of the one or more estimated total quantities of vehicles to one or more people to facilitate decisions by the people regarding travel on the one or more roads.
185. The method of claim 184 wherein the assessing of the one or more estimated total quantities and the using of the one or more estimated total quantities is performed in a substantially realtime manner relative to receiving the data samples used for the assessing, so as to enable substantially realtime decisions by the people.
186. A computer-readable medium whose contents enable a computing device to estimate traffic flow information for traveling vehicles, by performing a method comprising: receiving an indication of multiple data samples that each reflect travel of one of multiple vehicles on a road; probabilistically estimating traffic flow of all vehicles traveling on the road during a period of time based at least in part on a quantity of vehicles whose travel is reflected by the data samples; and providing an indication of the estimated traffic flow for use in facilitating travel on the road.
187. The computer-readable medium of claim 186 wherein the multiple data samples are each reported by a vehicle and each have information regarding travel of the vehicle on the road at a reported time during the period of time, and wherein the estimating of the traffic flow of all vehicles traveling on the road includes determining a quantity of vehicles that reported the data samples, the vehicles that reported the data samples being a subset of all the vehicles traveling on the road during the period of time, and includes determining an estimated arrival rate at a point on the road of all the vehicles and a likelihood of the estimated arrival rate based at least in part on the determined quantity of the vehicles that reported the data samples.
188. The computer-readable medium of claim 187 wherein the estimating of the traffic flow of all vehicles traveling on the road further includes determining an average percentage occupancy of a point on the road by the vehicles traveling on the road during the period of time, the determining of the average percentage occupancy being based at least in part on the determined estimated arrival rate, and wherein the providing of the indication of the estimated traffic flow for use in facilitating travel on the road includes presenting information about the estimated traffic flow to operators of vehicles for use in influencing decisions regarding travel on the road.
189. The computer-readable medium of claim 186 wherein the computer-readable medium is a memory of a computing device.
190. The computer-readable medium of claim 186 wherein the computer-readable medium is a data transmission medium that transmits a generated data signal containing the contents.
191. The computer-readable medium of claim 186 wherein the contents are instructions that when executed cause the computing device to perform the method.
192. A computing system configured to estimate traffic flow information for traveling vehicles, comprising: a first component that is configured to, for each of multiple roads, receive an indication of multiple data samples associated with the road that each include information representing travel of a vehicle on the road; and a data sample flow assessor component that is configured to, for each of the multiple roads, determine a quantity of vehicles whose travel is represented by the information of the data samples associated with the road; generate a probabilistic estimate of traffic flow of all vehicles traveling on the road during a period of time based at least in part on the determined quantity of vehicles; and provide an indication of the estimated traffic flow for use in facilitating travel on the road.
193. The computing system of claim 192 wherein, for each of at least some of the multiple roads, the multiple data samples associated with the road are each reported by a vehicle such that the information included with the data sample is information about travel of the vehicle on the road at a reported time during the period of time for the road, wherein the vehicles whose travel is represented by the information of the data samples associated with the road are a subset of all the vehicles traveling on the road during the period of time for the road, wherein the generating of the probabilistic estimate of the traffic flow of all the vehicles traveling on the road includes determining an estimated arrival rate at a point on the road of all the vehicles and a likelihood of the estimated arrival rate based at least in part on the determined quantity of the vehicles whose travel is represented by the information of the data samples associated with the road, and wherein the providing of the indication of the estimated traffic flow for use in facilitating travel on the road includes presenting information about the estimated traffic flow to operators of vehicles for use in influencing decisions regarding travel on the road.
194. The computing system of claim 193 wherein, for each of the at least some roads, the generating of the probabilistic estimate of the traffic flow of all the vehicles traveling on the road further includes determining an average percentage occupancy of a point on the road by the vehicles traveling on the road during the period of time for the road, the determining of the average percentage occupancy being based at least in part on the determined estimated arrival rate.
195. The computing system of claim 192 wherein the first component and the data sample flow assessor component each include software instructions for execution in memory of the computing system.
196. The computing system of claim 192 wherein the first component consists of a means for, for each of multiple roads, receiving an indication of multiple data samples associated with the road that each include information representing travel of a vehicle on the road, and wherein the data sample flow assessor component consists of a means for, for each of the multiple roads, determining a quantity of vehicles whose travel is represented by the information of the data samples associated with the road, generating a probabilistic estimate of traffic flow of all vehicles traveling on the road during a period of time based at least in part on the determined quantity of vehicles, and providing an indication of the estimated traffic flow for use in facilitating travel on the road.
197. A computer-implemented method for assessing data samples reported by vehicles traveling on roads, the data samples including information regarding the travel of the vehicles, the method comprising: receiving indications of multiple road segments of one or more roads; receiving information related to current traffic conditions of the multiple road segments, the received information including a plurality of data samples that each are reported from one of multiple vehicles and reflect a reported speed of the one vehicle at a reported geographic location and reflect a reported travel heading of the one vehicle; and for each of the multiple road segments, assessing traffic conditions for the road segment based on data samples identified to represent travel on the road segment by, identifying a group of multiple data samples from the plurality of data samples such that the data samples of the group have reported geographic locations that are within a predefined distance of one or more predefined geographic locations for the road segment and have reported travel headings that are within a predefined difference from one or more predefined headings for the road segment; automatically determining that one or more of the data samples of the group are unrepresentative of actual vehicle travel on the road segment based at least in part on the reported geographic locations of the determined data samples not corresponding to predefined portions of the road segment for which vehicle travel is of interest; excluding from the group the data samples determined to be unrepresentative of actual vehicle travel on the road segment; and after the excluding, using the data samples remaining in the group to infer traffic conditions for all vehicles traveling on the road segment, so that inferred traffic conditions based on data samples are available for use in facilitating travel on the road segments.
198. The method of claim 197 wherein one of the multiple road segments corresponds to a first section of a highway having multiple lanes, wherein the predefined geographic locations for the one road segment include a geographic area that covers the multiple lanes of the highway for the first section, wherein the predefined distance by which the geographic area is extended is based at least in part on a degree of accuracy of a type of location determination device that is used to determine the reported geographic locations for at least some of the data samples of the identified group for the one road segment, wherein the predefined headings for the one road segment include one or more headings that correspond to a direction of vehicle travel on the multiple lanes of the highway for the first section, and wherein the predefined difference for the one or more predefined headings for the one road segment is based at least in part on a degree of accuracy of a type of heading determination device that is used to determine the reported travel headings for at least some of the data samples of the identified group for the one road segment.
199. The method of claim 198 wherein the predefined portions of the one road segment for which vehicle travel is of interest include one or more lanes of the highway, and wherein one of the data samples of the identified group for the one road segment that is determined to be unrepresentative of actual vehicle travel on the one road segment is a data sample whose reported geographic location is determined to correspond to a ramp on and/or off the highway.
200. The method of claim 198 wherein the predefined portions of the one road segment for which vehicle travel is of interest include one or more lanes of the highway, and wherein one of the data samples of the identified group for the one road segment that is determined to be unrepresentative of actual vehicle travel on the one road segment is a data sample whose reported geographic location is determined to correspond to a collector/distributor road or lane near the highway.
201. The method of claim 198 wherein the predefined portions of the one road segment for which vehicle travel is of interest include a subset of the lanes of the highway, and wherein one of the data samples of the identified group for the one road segment that is determined to be unrepresentative of actual vehicle travel on the one road segment is a data sample whose reported geographic location is determined to correspond to a lane of the highway that is not in the subset of lanes.
202. The method of claim 198 wherein one of the data samples of the identified group for the one road segment that is determined to be unrepresentative of actual vehicle travel on the one road segment is a data sample that is from a vehicle traveling on another road segment corresponding to a distinct second section of the highway and that is determined to be incorrectly associated with the one road segment.
203. The method of claim 198 wherein the type of location determination device is a type of Global Positioning System (GPS) device, and wherein the predefined distance by which the geographic area is extended corresponds to a distance within which a reading from a GPS device of the type is accurate.
204. The method of claim 197 wherein, for each of one or more of the multiple road segments, the automatic determining that the one or more data samples of the group are unrepresentative of actual vehicle travel on the road segment is further based at least in part on one or more travel characteristics of the vehicles that reported those data samples other than reported geographic location, the one or more travel characteristics including the speed of the vehicles as reflected by the reported speeds of those data samples.
205. The method of claim 197 wherein each of the plurality of data samples further indicate a reported time associated with the reported speed and reported geographic location and reported travel heading for the data sample, wherein the assessing of the traffic conditions for each of the multiple road segments is performed for each of multiple distinct periods of time, and wherein the identifying of the group of data samples for a road segment for a period of time is further performed such that the identified data samples of the group have reported times that correspond to the period of time.
206. The method of claim 197 wherein data samples related to current traffic conditions of the multiple road segments are repeatedly received to reflect changing traffic conditions, wherein the assessing of the traffic conditions for each of the multiple road segments is performed for recently received data samples in a realtime manner, and wherein the using of data samples remaining in a group to infer traffic conditions for all vehicles traveling on a road segment includes determining an average speed for the remaining data samples, inferring an average speed for all vehicles traveling on the road segment based on the determined average speed, and providing information about the inferred average speed to one or more people considering upcoming travel on the road segment.
207. A computer-implemented method for assessing data samples representing vehicles traveling on roads, the method comprising: receiving .an indication of one or more segments of one or more roads, each road segment having multiple associated data samples that each are reported by one of multiple vehicles and indicate a reported location of the vehicle that corresponds to the road segment; and for each of at least one of the road segments, automatically analyzing the multiple associated data samples for the road segment so as to determine one or more of those data samples that are unrepresentative of actual vehicle travel on the road segment, at least one of the determined data samples each indicating a reported location for the vehicle that reported the data sample such that the reported location does not correspond to the actual vehicle travel on the road segment, and at least one of the determined data samples each having an associated heading for the vehicle that reported -the data sample such that the associated heading does not correspond to the actual vehicle travel on the road segment; and providing one or more indications to exclude' the determined data samples from later use so that the other data samples are available for use in facilitating travel on the road segment.
208. The method of claim 207 wherein, for each of one or more of the at least one road segments, the providing of the indications to exclude the determined data samples from later use includes analyzing the associated data samples for the road segment other than the determined data samples in order to determine an average speed of vehicles traveling on the road segment, and indicating the determined average speed for use in facilitating travel of other vehicles on the road segment.
209. The method of claim 208 wherein, for each of the one or more road segments, the providing of the indications to exclude the determined data samples from later use further includes analyzing the associated data samples for the road segment other than the determined data samples in order to determine traffic flow of vehicles traveling on the road segment, and indicating the determined traffic flow for use in facilitating travel of other vehicles on the road segment.
210. The method of claim 207 wherein, for each of one or more of the at least one road segments, the determining of the one or more data samples for the road segment that are unrepresentative of actual vehicle travel on the road segment includes determining that the reported vehicle locations for those data samples correspond to a section of road that is not of interest for use in representing the actual vehicle travel on the road segment.
211. The method of claim 210 wherein, for each of at least one of the one or more road segments, the section of road is at least part of a lower- capacity road that leads to and/or from the road segment.
212. The method of claim 210 wherein, for each of at least one of the one or more road segments, the section of road is part of a distinct road that is near to the road of the road segment.
213. The method of claim 210 wherein, for each of at least one of the one or more road segments, the section of road is a subset of multiple lanes that are part of the road segment.
214. The method of claim 210 wherein, for each of at least one of the one or more road segments, the section of road is at least part of one or more of a ramp on and/or off the road segment, a collector/distributor road associated with the road of the road segment, a collector/distributor iane associated with the road of the road segment, a feeder lane associated with the road of the road segment, a shoulder of the road of the road segment, and a breakdown area for the road of the road segment.
215. The method of claim 210 wherein, for one of the one or more road segments, the section of road that is not of interest is part of the one road segment.
216. The method of claim 210 wherein, for one of the one or more road segments, the section of road that is not of interest is at least a part of another road segment distinct from the one road segment.
217. The method of claim 207 wherein, for one of the at least one road segments, at least some of the multiple data samples associated with the one road segment are also associated with one or more other distinct road segments, and wherein the determined one or more data samples for the one road segment are from the at least some data samples.
218. The method of claim 207 further comprising, for one of the road segments, automatically determining that the multiple associated data samples for the one road segment are not of interest based at least in part on the one road segment not being of interest, and providing one or more indications to exclude the multiple associated data samples from later use.
219. The method of claim 218 wherein the one road segment is determined to not be of interest based at least in part on being of a functional road class that is not of interest.
220. The method of claim 218 wherein the one road segment is determined to not be of interest based at least in part on a determination of an amount of actual vehicle traffic on the one road segment.
221. The method of claim 218 wherein the one road segment is determined to not be of interest based at least in part on a determination of an amount of intra-day variability of vehicle traffic on the one road segment and/or on a determination of an amount of inter-day variability of vehicle traffic on the one road segment.
222. The method of claim 218 wherein the one road segment is determined to not be of interest based at least in part on a determination of an amount of actual traffic congestion on the one road segment.
223. The method of claim 218 wherein the one road segment is determined to not be of interest based at least in part on a determination of an amount of intra-day variability of traffic congestion on the one road segment and/or on a determination of an amount of inter-day variability of traffic congestion on the one road segment.
224. The method of claim 207 further comprising automatically determining that one or more data samples not associated with any of the road segments are not of interest, and providing one or more indications to exclude the one or more data samples from later use.
225. The method of claim 207 wherein, for each of one or more of the at least one road segments, the determining of the one or more data samples for the road segment that are unrepresentative of actual vehicle travel on the road segment includes determining that the one or more data samples are unrepresentative based at least in part on the reported locations of the one of more data samples.
226. The method of claim 225 wherein, for each of the one or more road segments, the multiple associated data samples for the road segment each indicate a speed of the vehicle that reported the data sample, and wherein the determining that the one or more data samples for the road segment are unrepresentative is further based at least in part on the speeds indicated by the one or more data samples.
227. The method of claim 226 further comprising, for each of at least one of the one or more road segments, and for each of at least some of the multiple associated data samples for the road segment, estimating the indicated speed for the data sample by using reported locations indicated by multiple data samples reported by the vehicle that reported the data sample.
228. The method of claim 225 wherein, for each of the one or more road segments, the multiple associated data samples for the road segment each having an associated heading of the vehicle that reported the data sample, and wherein the determining that the one or more data samples for the road segment are unrepresentative is further based at least in part on the headings associated with the one or more data samples.
229. The method of claim 228 further comprising, for each of at least one of the one or more road segments, and for each of at least some of the multiple associated data samples for the road segment, estimating the heading associated with the data sample by using reported locations indicated by multiple data samples reported by the vehicle that reported the data sample.
230. The method of claim 228 wherein one of the one or more road segments is part of a road that includes vehicles traveling in two opposite directions, wherein the one road segment corresponds to vehicles traveling in one of the two directions, and wherein the determining that one or more data samples for the one road segment are unrepresentative based at least in part on the headings associated with the one or more data samples includes determining that data samples whose associated headings correspond to travel in the other of the two directions are unrepresentative for the one road segment.
231. The method of claim 228 wherein one of the one or more road segments is part of a road that includes multiple lanes with vehicles traveling in multiple directions, wherein the one road segment corresponds to a subset of the multiple lanes with vehicles traveling in one or more of the multiple directions, and wherein the determining that one or more data samples for the one road segment are unrepresentative based at least in part on the headings associated with the one or more data samples includes determining that data samples whose associated headings do not correspond to the one or more directions are unrepresentative for the one road segment.
232. The method of claim 228 wherein one of the one or more road segments overlaps with one or more other road segments of one or more other roads, wherein the vehicles on the one road segment travel in one or more directions that are distinct from one or more other directions in which vehicles on the other road segments travel, and wherein the determining that one or more data samples for the one road segment are unrepresentative based at least in part on the headings associated with the one or more data samples includes determining that data samples whose associated headings do not correspond to the one or more directions for the one road segment are unrepresentative for the one road segment.
233. The method of claim 207 wherein, for each of one or more of the at least one road segments, the determining of the one or more data samples for the road segment that are unrepresentative of actual vehicle travel on the road segment includes comparing the one or more data samples to at least some of the other data samples for the road segment.
234. The method of claim 207 wherein, for each of one or more of the at least one road segments, the determining of the one or more data samples for the road segment that are unrepresentative of actual vehicle travel on the road segment includes identifying a subset of the actual vehicle travel on the road segment that is of interest or that is not of interest, and determining whether the one or more data samples correspond to the identified subset.
235. The method of claim 207 further comprising receiving one or more indications of a plurality of data samples that each indicate a reported location of a vehicle, and associating each of at least some of the plurality of data samples with at least one of the road segments based at least in part on the reported location of the data sample corresponding to one or more locations associated with each of the at least one road segments.
236. The method of claim 235 wherein the plurality of data samples each having an associated heading of the vehicle for the data sample, and wherein the associating of a data sample with a road segment is further based at least in part on the associated heading of the vehicle for the data sample corresponding to one or more headings associated with the road segment.
237. The method of claim 236 further comprising, for each of at least some of the plurality of data samples, estimating the heading associated with the data sample by using reported locations indicated by multiple data samples corresponding to the vehicle for the data sample.
238. The method of claim 235 wherein the associating of a data sample with a road segment is further based at least in part on one or more travel characteristics of the vehicle for the data sample other than the reported location.
239. The method of claim 235 wherein the associating of a data sample with a road segment is further based at least in part on extending the one or more locations associated with the road segment by one or more distances that are determined based at least in part on an accuracy of the reported location.
240. The method of claim 239 wherein the one or more determined distances by which the one or more locations associated with a road segment are extended for a data sample are based at least in part on a type of source of the data sample.
241. The method of claim 207 wherein, for each of one or more of the at least some road segments, the multiple associated data samples for the road segment further include multiple data samples that each are reported from a traffic sensor monitoring the road segment and each reflect one or more locations on the road segment corresponding to the traffic sensor.
242. The method of claim 241 further comprising receiving one or more indications of a plurality of data samples that each are reported from one of multiple traffic sensors monitoring multiple road segments, conditioning at least some of the plurality of data samples to account for the traffic sensors from which those data samples are reported, and, for each of at least some of the plurality of data samples, associating the data sample with at least one of the road segments based at least in part on the one or more locations reflected by the data sample matching one or more locations associated with each of the at least one road segments.
243. The method of claim 207 wherein, for each of one or more of the at least one road segments, the determining of the one or more data samples for the road segment that are unrepresentative of actual vehicle travel on the road segment includes identifying multiple data samples that are reported by a single vehicle traveling on the road segment, and determining that the identified multiple data samples are unrepresentative based on combining information from the identified multiple data samples.
244. The method of claim 207 wherein, for each of one or more of the at least one road segments, the multiple associated data samples for the road segment each further reflect a reported time at which the vehicle for the data sample is at the reported location, the automatic analyzing of the multiple associated data samples for the road segment further corresponding to a predetermined period of time such that the actual vehicle travel on the road segment is travel during the predetermined period of time.
245. The method of claim 207 further comprising, for each of multiple distinct periods of time, receiving multiple associated data samples for one of the road segments that each reflect a reported location of a vehicle at a reported time on the one road segment during the period of time, and wherein the automatic analyzing is performed for the one road segment for each of the periods of time based on the data samples whose reported times are during the period of time.
246. The method of claim 207 wherein, for each of one or more of the at least one road segments, the determining of the one or more data samples for the road segment that are unrepresentative of actual vehicle travel on the road segment is performed in a substantially realtime manner.
247. The method of claim 246 wherein at least some of the multiple data samples associated with at least some of the road segments are acquired by vehicles traveling on those road segments before the reporting of the data samples by the vehicles, the reporting of the at least some data samples occurring in a substantially realtime manner after acquisition of one or more of the at least one data samples.
248. A computer-readable medium whose contents enable a computing device to assess data samples representing traveling vehicles, by performing a method comprising: receiving an indication of multiple data samples that each reflect reported travel characteristics of one of multiple vehicles traveling on one or more roads, the reported travel characteristics for the data samples reflecting locations of the vehicles; automatically determining whether one or more of the multiple data samples are unrepresentative of actual vehicle travel of interest on the one or more roads, the determining being based at least in part on the travel characteristics; and providing one or more indications of the data samples that are not determined to be unrepresentative so that the indicated data samples are available for use in facilitating travel on the one or more roads.
249. The computer-readable medium of claim 248 wherein the reported travel characteristics of each data sample include a reported location of the vehicle to which the data sample corresponds, and wherein the determining of whether one or more data samples are unrepresentative of actual vehicle travel of interest on the one or more roads includes determining that the one or more data samples are unrepresentative based at least in part on the reported vehicle locations of those data samples not corresponding to locations for actual vehicle travel on the one or more roads.
250. The computer-readable medium of claim 249 wherein the determining that the one or more data samples are unrepresentative based at least in part on the reported vehicle locations of those data samples not corresponding to the locations for actual vehicle travel on the one or more roads includes determining that the reported vehicle locations of those data samples do not correspond to predetermined locations of interest for the one or more roads.
251. The computer-readable medium of claim 248 wherein the reported travel characteristics of each data sample include a reported heading of travel of the vehicle to which the data sample corresponds, and wherein the determining of whether one or more data samples are unrepresentative of actual vehicle travel of interest on the one or more roads includes determining that the one or more data samples are unrepresentative based at least in part on the reported vehicle travel headings of those data samples not corresponding to one or more headings for actual vehicle travel on the one or more roads.
252. The computer-readable medium of claim 251 wherein the determining that the one or more data samples are unrepresentative based at least in part on the reported vehicle travel headings of those data samples not corresponding to the one or more headings for actual vehicle travel on the one or more roads includes determining that the reported vehicle travel headings of those data samples do not correspond to predetermined travel headings of interest for the one or more roads.
253. The computer-readable medium of claim 248 wherein the determining of whether one or more data samples are unrepresentative of actual vehicle travel of interest on the one or more roads includes identifying one or more activities in which one or more vehicles are engaged based on the reported travel characteristics from at least one data sample for each of those one or more vehicles and determining that the at least one data samples are unrepresentative based at least in part on the identified activities being activities that are not of interest.
254. The computer-readable medium of claim 248 wherein the computer-readable medium is a memory of a computing device.
255. The computer-readable medium of claim 248 wherein the computer-readable medium is a data transmission medium that transmits a generated data signal containing the contents.
256. The computer-readable medium of claim 248 wherein the contents are instructions that when executed cause the computing device to perform the method.
257. A computing system configured to assess data samples representing traveling vehicles, comprising: a first component that is configured to, for each of multiple roads, receive an indication of multiple data samples for the road that each reflect a location of a vehicle near the road; and a data sample filterer component that is configured to, for each of at least some of the multiple roads, automatically determine one or more of the multiple data samples for the road whose reflected vehicle locations do not correspond to vehicle travel of interest on the road; and provide one or more indications of the multiple data samples for the road other than the determined data samples so that the indicated data samples are available for use in facilitating travel on the road.
258. The computing system of claim 257 wherein, for each of one or more of the at least one multiple roads, the determining of the data samples for the road whose reflected vehicle locations do not correspond to vehicle travel of interest on the road includes determining that those reflected vehicle locations do not match predefined locations for the road.
259. The computing system of claim 257 wherein the data sample filterer component is further configured to, for each of one or more of the at least one multiple roads, automatically determine one or more data samples for the road that reflect one or more vehicle travel headings that do not correspond to vehicle travel of interest on the road based at least in part on one or more predefined headings for the road.
260. The computing system of claim 257 wherein the first component and the data sample filterer component each include software instructions for execution in memory of the computing system.
261. The computing system of claim 257 wherein the first component consists of a means for, for each of multiple roads, receiving an indication of multiple data samples for the road that each reflect a location of a vehicle near the road, and wherein the data sample filterer component consists of a means for, for each of at least some of the multiple roads, automatically determining one or more of the multiple data samples for the road whose reflected vehicle locations 'do not correspond to vehicle travel of interest on the road, and providing one or more indications of the multiple data samples for the road other than the determined data samples so that the indicated data samples are available for use in facilitating travel on the road.
262. A computer-implemented method for facilitating travel on roads by providing reliable data readings for road traffic sensors associated with the roads in such a manner as to accurately reflect actual vehicle travel on the roads, the method comprising: receiving indications of multiple road segments of one or more roads, each road segment having one or more associated road traffic sensors that provide data regarding speeds of vehicles traveling by the road traffic sensors; and for each of at least some of the road traffic sensors, automatically providing reliable vehicle travel speed data for a recent period of time, by receiving from the road traffic sensor multiple data readings that each include a reported speed of one or more vehicles traveling by the road traffic sensor at an associated time that is within the recent period of time; determining a current data reading distribution for the road traffic sensor to reflect reported vehicle travel speeds during the recent period of time based on the received data readings; determining an average historical data reading distribution for the road traffic sensor to reflect average vehicle travel speeds during one or more prior periods of time that correspond to the recent period of time, the average historical data reading distribution being based on multiple data readings received from the road traffic sensor during the one or more prior periods of time; generating a comparison of the current and average historical data reading distributions for the road traffic sensor based at least in part on determining a statistical measure of entropy for each of the current and average historical data reading distributions and on determining a statistical measure of similarity between the current and average historical data reading distributions; determining whether the road traffic sensor likely provided reliable data readings for the recent period of time based at least in part on whether the generated comparison indicates sufficient differences between the current and average historical data reading distributions for the traffic sensor to reflect a likely malfunction of the road traffic sensor; and if the road traffic sensor is determined to not have likely provided reliable data readings for the recent period of time, estimating reliable vehicle speeds for the recent period of time for at least a portion of the road segment associated with the road traffic sensor in a manner that is not based on the received data readings for the recent period of time, and providing the estimated vehicle speeds for use as a replacement for the received data readings for the recent period of time, so as to facilitate travel on the one or more roads by providing reliable data about vehicle travel.
263. The method of claim 262 further comprising, for each of one or more of the at least some road traffic sensors, determining a sensor health status for the road traffic sensor based at least in part on whether the road traffic sensor is determined to have likely provided reliable data readings for the recent period of time, and providing an indication of the determined sensor health status for the road traffic sensor.
264. The method of claim 262 wherein, for each of one or more of the at least some road traffic sensors, the estimating of the reliable vehicle speeds for the recent period of time for at least a portion of the road segment associated with the road traffic sensor is based on at least one of reported vehicle travel speeds for a second road segment that is related to the road segment associated with the road traffic sensor, of predictive information that reflects vehicle travel speeds predicted to occur on the road segment associated with the road traffic sensor during the recent period of time, and of historical average vehicle travel speeds for the road segment associated with the road traffic sensor.
265. The method of claim 262 wherein, for each of one or more of the at least some road traffic sensors, the determining of whether the road traffic sensor likely provided reliable data readings for the recent period of time is further based at least in part on an automated classification of likely reliability using the determined statistical measure of entropy for each of the current and average historical data reading distributions for the road traffic sensor and the determined statistical measure of similarity between the current and average historical data reading distributions for the road traffic sensor, the automated classification being performed by a neural network.
266. The method of claim 265 wherein, for each of one or more of the at least some road traffic sensors, the determining of whether the road traffic sensor likely provided reliable data readings for the recent period of time is further based in part on an indication of an operational status provided by the road traffic sensor and whether the road traffic sensor likely provided reliable data readings for a previous period of time.
267. The method of claim 266 wherein, for each of one or more of the at least some road traffic sensors, the one or more prior periods of time that correspond to the recent period of time include multiple periods of time that are selected to match at least one of a day-of-week associated with the recent period of time and a time-of-day associated with the recent period of time.
268. The method of claim 262 wherein each of the at least some road traffic sensors is one of a loop sensor embedded in a road, a motion sensor installed adjacent to a road, a radar ranging device installed adjacent to a road, and a radio frequency identifier device installed adjacent to a road, and wherein each of the at least some road traffic sensors is configured to measure speeds of vehicles traveling by the road traffic sensor.
269. The method of claim 262 wherein, for each of one or more of the at least some road traffic sensors, at least some of the multiple data readings received from the road traffic sensor each further include a reported number of vehicles traveling by the road traffic sensor during a period of time and/or an indication of an operational status of the road traffic sensor.
270. The method of claim 262 wherein, for each of one or more of the at least some road traffic sensors, the determined statistical measure of similarity between the current and average historical data reading distributions is based on calculation of a Kullback-Leibler divergence between the current and average historical data reading distributions.
271. The method of claim 262 wherein the recent period of time is a portion of a day, and wherein the automatic providing of the reliable vehicle travel speed data for each of one or more of the at least some road traffic sensors is performed multiple times per day in order to provide reliable vehicle travel speed data readings for each of successive periods of time throughout the day.
272. A computer-implemented method for providing reliable data readings from road traffic sensors regarding traffic conditions on one or more roads, the method comprising: for each of one or more road traffic sensors that each have an associated location on an associated road, receiving information about multiple data readings taken by the road traffic sensor during a period of time, each data reading having an associated time and reflecting one or more measurements of traffic conditions at the associated time at the associated location of the associated road for the road traffic sensor; and for each of the one or more road traffic sensors, automatically determining whether the multiple data readings taken by the road traffic sensor during the period of time are likely to be unreliable, the determining being based at least in part on an automated comparison of information about at least some of those multiple data readings to information about multiple other data readings previously taken by the road traffic sensor; if the multiple data readings taken by the road traffic sensor during the period of time are not determined to be likely to be unreliable, providing an indication to use those multiple data readings in representing actual traffic conditions at the associated location of the associated road for the road traffic sensor during the period of time; and if the multiple data readings taken by the road traffic sensor during the period of time are determined to be likely to be unreliable, automatically providing an indication to use other estimated data in place of those multiple data readings in representing the actual traffic conditions at the associated location of the associated road for the road traffic sensor during the period of time, the other estimated data being based at least in part on other road traffic data that is related to those multiple data readings, so that travel on one or more roads is facilitated by automatically eliminating road traffic sensor data readings that are likely to be unreliable.
273. The method of claim 272 further comprising, for each of at least one of the one or more road traffic sensors, determining a sensor health status for the road traffic sensor for the period of time based at least in part on the comparison of information about the at least some of the multiple data readings to the information about the multiple other data readings previously taken by the road traffic sensor, and providing an indication of the determined sensor health status for the road traffic sensor.
274. The method of claim 273 wherein, after determining that the sensor health status for a road traffic sensor for a period of time is unhealthy, automatic determining during one or more later periods of time of whether data readings taken by the road traffic sensor during those later periods of time are likely to be unreliable is further based at least in part on the determined unhealthy status for the period of time.
275. The method of claim 272 wherein, for each of at least one of the one or more road traffic sensors, the automatic determining of whether the multiple data readings taken by the road traffic sensor during the period of time are likely to be unreliable includes determining a current data reading distribution for the road traffic sensor to reflect traffic conditions during the period of time based on the at least some multiple data readings for the road traffic sensor, and determining an average historical data reading distribution to reflect average traffic conditions during one or more prior periods of time based on the multiple other data readings previously taken by the road traffic sensor.
276. The method of claim 275 wherein, for each of the at least one road traffic sensors, the comparison of the information about the at least some multiple data readings to the information about the multiple other data readings previously taken by the road traffic sensor includes comparing statistical measures of information entropy for the current and average historical data reading distributions.
277. The method of claim 275 wherein, for each of the at least one road traffic sensors, the comparison of the information about the at least some multiple data readings to the information about the multiple other data readings previously taken by the road traffic sensor includes determining a statistical measure of similarity between the current and average historical data reading distributions.
278. The method of claim 277 wherein, for each of the at least one road traffic sensors, the determined statistical measure of similarity between the current and average data reading distributions is based on a calculation of a Kullback-Leibler divergence.
279. The method of claim 272 wherein, for each of at least one of the one or more road traffic sensors, the comparison of the information about the at least some multiple data readings to the information about the multiple other data readings previously taken by the road traffic sensor further includes classifying the information about the at least some multiple data readings.
280. The method of claim 279 wherein, for each of the at least one road traffic sensors, the classifying is performed by at least one of a neural network, a decision tree, and a Bayesian classifier.
281. The method of claim 272 wherein, for each of at least one of the one or more road traffic sensors, the other estimated data to be used in place of the multiple data readings taken by the road traffic sensor during the period of time is further based at least in part on a combination of at least some other road traffic sensor data readings that are related to those multiple data readings.
282. The method of claim 281 wherein, for one of the at least one road traffic sensors, the at least some other road traffic sensor data readings include data readings taken by one or more nearby road traffic sensors that are located on the associated road for the road traffic sensor.
283. The method of claim 282 wherein the one road traffic sensor is one of multiple traffic sensors associated with one of multiple road segments of the road associated with the one road traffic sensor, and wherein the one or more nearby road traffic sensors are part of the one road segment.
284. The method of claim 282 wherein the one road traffic sensor is one of multiple traffic sensors associated with one of multiple road segments of the road associated with the one road traffic sensor, and wherein the one or more nearby road traffic sensors are part of one or more other road segments adjacent to the one road segment.
285. The method of claim 281 wherein, for one of the at least one road traffic sensors, the at least some other road traffic sensor data readings include data readings taken by the road traffic sensor during one or more prior periods of time, the one or more prior periods of time selected at least in part to match a time category associated with the period of time.
286. The method of claim 281 wherein, for each of at least one of the one or more road traffic sensors, the at least some other road traffic sensor data readings include data samples from mobile data sources that are traveling on the associated road near the associated location for the road traffic sensor during the period of time.
287. The method of claim 272 wherein, for each of at least one of the one or more road traffic sensors, the other estimated data to be used in place of the multiple data readings taken by the road traffic sensor during the period of time is further based at least in part on predictive information that reflects traffic conditions predicted to occur during the period of time at the associated location of the associated road for the road traffic sensor, the predictive information being generated shortly before the period of time based in part on current traffic condition data at a time of generating the predictive information for the period of time.
288. The method of claim 272 wherein, for each of at least one of the one or more road traffic sensors, the other estimated data to be used in place of the multiple data readings taken by the road traffic sensor during the period of time is further based at least in part on forecast information that reflects traffic conditions forecasted to occur during the period of time at the associated location of the associated road for the road traffic sensor, the forecast information being generated sufficiently before the period of time that current traffic condition data at a time of generating the forecast information is not used as part of generating the forecast information for the period of time.
289. The method of claim 272 further comprising, for one of the road traffic sensors, failing to receive information about at least some missing data readings taken by the one road traffic sensor during a period of time, and automatically providing an indication to use other estimated data in place of the missing data readings in representing actual traffic conditions at the associated location of the associated road for the one road traffic sensor during the period of time.
290. The method of claim 272 further comprising, for each of at least one of the one or more road traffic sensors, automatically determining an operational state of the road traffic sensor based at least in part on whether the multiple data readings taken by the road traffic sensor during the period of time are determined to be likely to be unreliable, and providing an indication of the operational state.
291. The method of claim 272 wherein, for each of at least one of the one or more road traffic sensors, the automatic determining of whether the multiple data readings taken by the road traffic sensor during the period of time are likely to be unreliable is further based on multiple of a day-of-week associated with the period of time, a time-of-day associated with the period of time, an indication of an operational status provided by the road traffic sensor, whether the road traffic sensor likely provided reliable data readings during one or more previous periods of time, and an absence of data readings ordinarily taken by the road traffic sensor.
292. The method of claim 272 wherein, for each of at least one of the one or more road traffic sensors, the multiple data readings for the road traffic sensor each include a reported speed of vehicles traveling by the road traffic sensor at the associated time for the data reading.
293. The method of claim 272 wherein, for each of at least one of the one or more road traffic sensors, the multiple data readings for the road traffic sensor each include a reported quantity of vehicles traveling by the road traffic sensor over a period of time and/or an indication of an operational status of the road traffic sensor.
294. The method of claim 272 further comprising, for each of at least one of the one or more road traffic sensors, providing reliable data readings for the road traffic sensor to one or more traffic data clients, the reliable data readings including at least some of the multiple data readings and/or the other estimated data.
295. The method of claim 272 wherein each of at least some of the one or more road traffic sensors includes at least one of a loop sensor embedded in the associated road for the road traffic sensor, a motion sensor installed adjacent to the associated road for the road traffic sensor, a radar ranging device installed adjacent to the associated road for the road traffic
, sensor, and a radio frequency identifier device installed adjacent to the associated road for the road traffic sensor, and wherein each of the at least some road traffic sensors is configured to measure traffic conditions at the associated location of the associated road for the road traffic sensor.
296. The method of claim 272 wherein the method is performed multiple times per day in order to provide reliable data readings for at least some of the one or more road traffic sensors for each of multiple portions of the day.
297. A computer-readable medium whose contents enable a computing device to provide reliable data readings from a road traffic sensor regarding traffic conditions on a road, by performing a method comprising: receiving multiple data readings generated by a traffic sensor associated with a road that each reflect one or more measurements of traffic conditions on the associated road at an associated time; automatically determining current reliability of the traffic sensor based at least in part on comparing information about at least some of the multiple data readings to information about multiple other data readings previously generated by the traffic sensor; and providing an indication of the determined current reliability of the traffic sensor for use in facilitating travel on the road, so that data readings generated by a currently unreliable traffic sensor are not used to represent actual traffic conditions.
298. The computer-readable medium of claim 297 wherein the information about the at least some multiple data readings includes a first data reading distribution based on the at least some multiple data readings, and wherein the information about the multiple other data readings previously generated by the traffic sensor includes a second data reading distribution based on the multiple other data readings previously generated by the traffic sensor.
299. The computer-readable medium of claim 298 wherein the comparing of the information about the at least some multiple data readings to the information about the multiple other data readings previously generated by the traffic sensor includes determining a statistical measure of similarity between the first and second data reading distributions and determining a statistical measure of entropy for each of the first and second data reading distributions.
300. The computer-readable medium of claim 297 wherein the determining of the current reliability of the traffic sensor is further based at least in part on classifying the information about the at least some multiple data readings.
301. The computer-readable medium of claim 297 wherein the associated times of the multiple data readings are during a current period of time, and wherein the determining of the current reliability of the traffic sensor is for the current period of time and is further based at least in part on an automatic determination of reliability of the traffic sensor for each of one or more prior periods of time.
302. The computer-readable medium of claim 297 wherein the method further comprises, if the determined current reliability of the traffic sensor is determined to be reliable, providing at least some of the multiple data readings for use in representing actual traffic conditions on the associated road at the associated time, and if the determined current reliability of the traffic sensor is determined to not be reliable, providing other estimated data for use in representing actual traffic conditions on the associated road at the associated time.
303. The computer-readable medium of claim 297 wherein the computer-readable medium is at least one of a memory of a computing device and of a data transmission medium transmitting a generated data signal containing the contents.
304. The computer-readable medium of claim 297 wherein the ' contents are instructions that when executed cause the computing device to perform the method.
305. A computing device configured to provide reliable data from a traffic sensor regarding traffic conditions on an associated road, comprising: a memory; a first module configured to, after receiving information generated by a traffic sensor associated with a road that reflects one or more measurements of
traffic conditions on the associated road at multiple distinct times during a period of time, automatically determine reliability of the, generated information in representing actual traffic conditions on the associated road during the period of time based at least in part on comparing the generated information to other information previously generated by the traffic sensor to reflect one or more measurements of traffic conditions on the associated road for one or more other periods of time; and a second module configured to provide an indication of the determination of the reliability of the generated information in representing actual traffic conditions on the associated road during the period of time, so as to facilitate travel on the associated road via use of information that reliably represents actual traffic conditions on the associated road.
306. The computing device of claim 305 wherein the automatic determining of the reliability of the generated information in representing actual traffic conditions on the associated road during the period of time further includes determining whether the generated information reflects a minimum number of measurements to provide a sufficient degree of reliability for the period of time, and wherein the comparing of the generated information to other information is performed only if the generated information reflects the minimum number of measurements.
307. The computing device of claim 305 wherein, if the generated information does not reflect the minimum number of measurements to provide a sufficient degree of reliability for the period of time, the generated information is replaced with other estimated data based at least in part on other road traffic data that is related to a portion of the road corresponding to the traffic sensor, and wherein the provided indication of the determination of the reliability of the generated information includes providing an indication of the other estimated data.
308. The computing device of claim 305 wherein the provided indication of the determination of the reliability of the generated information includes an indication to use the generated information to represent actual vehicle travel of the road during the period of time if the generated information is determined to be reliable, and includes an indication to use other estimated data to represent actual vehicle travel of the road during the period of time if the generated information is not determined to be reliable.
309. The computing device of claim 305 wherein the first and second modules include software instructions for execution in the memory.
310. The computing device of claim 305 wherein the first module consists of a means for, after receiving information generated by a traffic sensor associated with a road that reflects one or more measurements of traffic conditions on the associated road at multiple distinct times during a period of time, automatically determining reliability of the generated information in representing actual traffic conditions on the associated road during the period of time based at least in part on comparing the generated information to other information previously generated by the traffic sensor to reflect one or more measurements of traffic conditions on the associated road for one or more other periods of time, and wherein the second module consists of a means for providing an indication of the determined reliability of the generated information in representing actual traffic conditions on the associated road during the period of time.
PCT/US2007/005355 2006-03-03 2007-03-02 Assessing road traffic conditions using data from mobile data sources WO2007103180A2 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
EP07752080A EP1938296B1 (en) 2006-03-03 2007-03-02 Assessing road traffic conditions using data from mobile data sources
JP2008558317A JP2009529187A (en) 2006-03-03 2007-03-02 Assessment of road traffic conditions using data from mobile data sources
AT07752080T ATE523869T1 (en) 2006-03-03 2007-03-02 ASSESSMENT OF ROAD TRAFFIC CONDITIONS USING DATA FROM MOBILE DATA SOURCES
ES07752080T ES2373336T3 (en) 2006-03-03 2007-03-02 EVALUATION OF ROAD TRAFFIC CONDITIONS USING DATA FROM MOBILE DATA SOURCES.
AU2007224206A AU2007224206A1 (en) 2006-03-03 2007-03-02 Assessing road traffic conditions using data from mobile data sources
CN2007800159162A CN101438335B (en) 2006-03-03 2007-03-02 Assessing road traffic conditions using data from mobile data sources

Applications Claiming Priority (18)

Application Number Priority Date Filing Date Title
US77894606P 2006-03-03 2006-03-03
US60/778,946 2006-03-03
US78974106P 2006-04-05 2006-04-05
US60/789,741 2006-04-05
US11/431,980 2006-05-11
US11/432,603 2006-05-11
US11/432,603 US20070208501A1 (en) 2006-03-03 2006-05-11 Assessing road traffic speed using data obtained from mobile data sources
US11/431,980 US20070208493A1 (en) 2006-03-03 2006-05-11 Identifying unrepresentative road traffic condition data obtained from mobile data sources
US11/438,822 2006-05-22
US11/438,822 US7831380B2 (en) 2006-03-03 2006-05-22 Assessing road traffic flow conditions using data obtained from mobile data sources
US11/444,998 US8014936B2 (en) 2006-03-03 2006-05-31 Filtering road traffic condition data obtained from mobile data sources
US11/444,998 2006-05-31
US11/473,861 US7912627B2 (en) 2006-03-03 2006-06-22 Obtaining road traffic condition data from mobile data sources
US11/473,861 2006-06-22
US83870006P 2006-08-18 2006-08-18
US60/838,700 2006-08-18
US11/540,342 2006-09-28
US11/540,342 US7706965B2 (en) 2006-08-18 2006-09-28 Rectifying erroneous road traffic sensor data

Publications (2)

Publication Number Publication Date
WO2007103180A2 true WO2007103180A2 (en) 2007-09-13
WO2007103180A3 WO2007103180A3 (en) 2007-12-06

Family

ID=38181159

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2007/005355 WO2007103180A2 (en) 2006-03-03 2007-03-02 Assessing road traffic conditions using data from mobile data sources

Country Status (7)

Country Link
EP (2) EP1938296B1 (en)
JP (1) JP2009529187A (en)
CN (6) CN102289935B (en)
AT (1) ATE523869T1 (en)
AU (1) AU2007224206A1 (en)
ES (2) ES2373336T3 (en)
WO (1) WO2007103180A2 (en)

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101782396A (en) * 2010-03-05 2010-07-21 中国软件与技术服务股份有限公司 Navigation method and navigation system
CN102157070A (en) * 2011-03-31 2011-08-17 天津大学 Road traffic flow prediction method based on cell phone data
CN102317987A (en) * 2009-02-19 2012-01-11 爱信艾达株式会社 Vehicle motion estimating device,vehicle motion estimating method, and vehicle motion estimating program
EP2081165B1 (en) * 2007-12-25 2012-02-08 Fujitsu Limited Sensor diagnostic apparatus and method thereof
WO2012041732A1 (en) * 2010-09-30 2012-04-05 Siemens Aktiengesellschaft A method and means for acquiring path information on the basis of mobile terminal handover information
BE1019524A3 (en) * 2010-09-30 2012-08-07 Be Mobile Nv SYSTEM AND METHOD FOR TRAVEL TIME MEASUREMENT.
CN101809412B (en) * 2008-03-14 2012-10-24 爱信艾达株式会社 Navigation system and route search method
CN102867421A (en) * 2012-09-24 2013-01-09 东南大学 Method for identifying outlier data in effective parking lot occupancy
US8818380B2 (en) 2004-07-09 2014-08-26 Israel Feldman System and method for geographically locating a cellular phone
CN104599499A (en) * 2015-01-12 2015-05-06 北京中交兴路车联网科技有限公司 Distributed statistic method and device for traffic position
EP2887332A1 (en) * 2013-12-23 2015-06-24 Siemens Aktiengesellschaft Method and system for detection of a traffic situation on a stretch of road
WO2016029348A1 (en) * 2014-08-26 2016-03-03 Microsoft Technology Licensing, Llc Measuring traffic speed in a road network
CN105679055A (en) * 2016-04-01 2016-06-15 深圳市智汇十方科技有限公司 Road status prediction method and prediction system
KR20160072574A (en) * 2014-12-15 2016-06-23 현대모비스 주식회사 Operation method of vehicle radar system
US9418545B2 (en) 2011-06-29 2016-08-16 Inrix Holding Limited Method and system for collecting traffic data
US9640071B2 (en) 2015-06-30 2017-05-02 Here Global B.V. Method and apparatus for identifying a bi-modality condition upstream of diverging road segments
CN106781489A (en) * 2016-12-29 2017-05-31 北京航空航天大学 A kind of road network trend prediction method based on recurrent neural network
CN107180530A (en) * 2017-05-22 2017-09-19 北京航空航天大学 A kind of road network trend prediction method based on depth space-time convolution loop network
US9798985B2 (en) 2009-02-02 2017-10-24 Inrix Holdings Limited Apparatus and methods for providing journey information
US9911327B2 (en) 2015-06-30 2018-03-06 Here Global B.V. Method and apparatus for identifying a split lane traffic location
CN107978153A (en) * 2017-11-29 2018-05-01 北京航空航天大学 A kind of multimode traffic factors influencing demand analysis method based on space vector autoregression model
US10061031B2 (en) 2014-12-19 2018-08-28 Hyundai Motor Company Navigation system, path prediction method thereof and computer readable medium for performing the same
CN108898851A (en) * 2018-06-20 2018-11-27 东南大学 Urban road link traffic flow combination forecasting method
US10147315B2 (en) 2016-07-27 2018-12-04 Here Global B.V. Method and apparatus for determining split lane traffic conditions utilizing both multimedia data and probe data
US10198941B2 (en) 2016-07-27 2019-02-05 Here Global B.V. Method and apparatus for evaluating traffic approaching a junction at a lane level
CN109410562A (en) * 2018-10-29 2019-03-01 重庆交通大学 A kind of Optimization Scheduling of community's public transport
US10279813B2 (en) 2014-08-07 2019-05-07 Toyota Jidosha Kabushiki Kaisha Vehicular drive assist system
CN110361024A (en) * 2018-04-10 2019-10-22 丰田自动车株式会社 Utilize the dynamic lane grade automobile navigation of vehicle group mark
WO2020057406A1 (en) * 2018-09-21 2020-03-26 阿里巴巴集团控股有限公司 Driving aid method and system
US10752253B1 (en) 2019-08-28 2020-08-25 Ford Global Technologies, Llc Driver awareness detection system
CN112489419A (en) * 2020-10-28 2021-03-12 华为技术有限公司 Method and device for determining road capacity and storage medium
CN112937584A (en) * 2021-03-31 2021-06-11 重庆长安汽车股份有限公司 Automatic lane changing control method and device and automobile
CN113256968A (en) * 2021-04-30 2021-08-13 济南金宇公路产业发展有限公司 Traffic state prediction method, equipment and medium based on mobile phone activity data
CN113469425A (en) * 2021-06-23 2021-10-01 北京邮电大学 Deep traffic jam prediction method
US11145198B2 (en) 2017-06-09 2021-10-12 Prannoy ROY Predictive traffic management system
CN114120632A (en) * 2021-11-01 2022-03-01 东南大学 Navigation map-based traffic control method during high-speed reconstruction and extension period
CN117058888A (en) * 2023-10-13 2023-11-14 华信纵横科技有限公司 Traffic big data processing method and system thereof

Families Citing this family (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6587781B2 (en) 2000-08-28 2003-07-01 Estimotion, Inc. Method and system for modeling and processing vehicular traffic data and information and applying thereof
JP4935704B2 (en) * 2008-02-14 2012-05-23 アイシン・エィ・ダブリュ株式会社 Parking lot congestion state determination device, parking lot congestion state determination method, and computer program
JP5403049B2 (en) * 2009-03-03 2014-01-29 トヨタ自動車株式会社 Driving assistance device
CN101694743B (en) * 2009-08-25 2011-09-21 北京世纪高通科技有限公司 Method and device for predicting road conditions
CN102032911B (en) * 2009-09-29 2014-05-28 宏达国际电子股份有限公司 Vehicle navigation method, system and computer program product
CN102262819B (en) * 2009-10-30 2014-10-15 国际商业机器公司 Method and device for determining real-time passing time of road based on mobile communication network
US9406229B2 (en) * 2009-11-12 2016-08-02 Gm Global Technology Operations, Llc Travel lane advisor
CN102741899B (en) * 2009-12-17 2014-11-12 丰田自动车株式会社 Vehicle control device
WO2011125185A1 (en) * 2010-04-07 2011-10-13 トヨタ自動車株式会社 Vehicle driving assistance device
JP5195848B2 (en) * 2010-08-31 2013-05-15 株式会社デンソー Traffic situation prediction device
KR101776807B1 (en) 2010-09-16 2017-09-19 에스케이텔레콤 주식회사 System for collecting of traffic information, revision device of valid sampling and method for measurement of velocity, and recording medium thereof
KR101506927B1 (en) * 2010-09-16 2015-04-06 에스케이플래닛 주식회사 System for collecting of traffic information, revision device of valid sampling and method for measurement of each average velocity of group, and recording medium thereof
KR101508136B1 (en) * 2010-10-22 2015-04-06 에스케이플래닛 주식회사 System for collecting of traffic information, revision device of valid sampling and method for revision of valid sampling
JP5601177B2 (en) * 2010-11-30 2014-10-08 アイシン・エィ・ダブリュ株式会社 Position specifying device, position specifying method, and position specifying program
CN102044153B (en) * 2010-12-22 2015-11-25 广州通易科技有限公司 The method and system of the unobstructed grade evaluation of a kind of traffic flow
JP5739182B2 (en) * 2011-02-04 2015-06-24 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Control system, method and program
JP5731223B2 (en) 2011-02-14 2015-06-10 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Abnormality detection device, monitoring control system, abnormality detection method, program, and recording medium
JP5689333B2 (en) 2011-02-15 2015-03-25 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Abnormality detection system, abnormality detection device, abnormality detection method, program, and recording medium
CN102169630B (en) * 2011-03-31 2013-04-24 上海电科智能系统股份有限公司 Quality control method of road continuous traffic flow data
CN102360529B (en) * 2011-09-20 2013-07-24 张忠义 Method for directly acquiring traffic speed of urban road
CN102521985A (en) * 2012-01-06 2012-06-27 北京捷易联科技有限公司 Traffic information evaluation method and device
US9727820B2 (en) * 2012-01-20 2017-08-08 Toyota Jidosha Kabushiki Kaisha Vehicle behavior prediction device and vehicle behavior prediction method, and driving assistance device
CN102568207A (en) * 2012-02-02 2012-07-11 北京捷易联科技有限公司 Traffic data processing method and device
US9132742B2 (en) * 2012-02-23 2015-09-15 International Business Machines Corporation Electric vehicle (EV) charging infrastructure with charging stations optimumally sited
GB201205348D0 (en) 2012-03-27 2012-05-09 Tomtom Belgium Nv Digital location-based data methods and product
CN102779410B (en) * 2012-07-19 2014-08-06 杭州师范大学 Parallel implementation method of multi-source heterogeneous traffic data fusion
US20140143184A1 (en) * 2012-11-21 2014-05-22 Microsoft Corporation Turn restriction inferencing
CN103888893A (en) * 2012-12-19 2014-06-25 中国移动通信集团公司 System and method for obtaining traffic state information
US9195938B1 (en) 2012-12-27 2015-11-24 Google Inc. Methods and systems for determining when to launch vehicles into a fleet of autonomous vehicles
CN104952270A (en) * 2012-12-28 2015-09-30 观致汽车有限公司 Traffic jam message advance notice method and system
US9014957B2 (en) 2012-12-29 2015-04-21 Google Inc. Methods and systems for determining fleet trajectories to satisfy a sequence of coverage requirements
WO2014114751A1 (en) 2013-01-24 2014-07-31 Eilertsen Roger André A traffic surveillance and guidance system
CN104123833B (en) * 2013-04-25 2017-07-28 北京搜狗信息服务有限公司 A kind of planning method and device of condition of road surface
KR101338496B1 (en) * 2013-07-18 2013-12-10 주식회사 로드코리아 Load monitoring method
CN104376712B (en) * 2013-08-16 2017-10-13 株式会社日立制作所 Lack transport information complementing device and its method
CN103473928B (en) * 2013-09-24 2015-09-16 重庆大学 Based on the urban traffic blocking method of discrimination of RFID technique
CN104580292B (en) * 2013-10-16 2019-03-05 电信科学技术研究院 A kind of acquisition methods of running condition information, report method and equipment
MX344376B (en) * 2013-10-17 2016-12-13 Ford Global Tech Llc Road characteristic prediction.
CN103561123B (en) * 2013-10-28 2017-05-10 北京国双科技有限公司 Method and device for determining IP segment affiliation
JP5613815B1 (en) * 2013-10-29 2014-10-29 パナソニック株式会社 Residence status analysis apparatus, residence status analysis system, and residence status analysis method
CN103578274B (en) * 2013-11-15 2015-11-04 北京四通智能交通系统集成有限公司 A kind of traffic flow forecasting method and device
JP6324101B2 (en) * 2014-02-21 2018-05-16 株式会社ゼンリン TRAVEL TIME DATA PREPARATION DEVICE, TRAVEL TIME DATA PREPARATION METHOD, AND PROGRAM
CN105091889B (en) * 2014-04-23 2018-10-02 华为技术有限公司 A kind of determination method and apparatus of hotspot path
CN105303820A (en) * 2014-07-18 2016-02-03 中兴通讯股份有限公司 Traffic condition information providing method and device and server
CN104182618B (en) * 2014-08-06 2017-06-30 西安电子科技大学 A kind of method for early warning that knocks into the back based on Bayesian network
JP6229981B2 (en) * 2014-12-26 2017-11-15 パナソニックIpマネジメント株式会社 Vehicle detector abnormality detection device, traffic condition analysis device, vehicle detector abnormality detection system, traffic condition analysis system, and program
CN104778834B (en) * 2015-01-23 2017-02-22 哈尔滨工业大学 Urban road traffic jam judging method based on vehicle GPS data
CN106156966A (en) * 2015-04-03 2016-11-23 阿里巴巴集团控股有限公司 Logistics monitoring method and equipment
CN104751644B (en) * 2015-04-14 2017-02-22 无锡物联网产业研究院 Traffic detection method and traffic detection device
CN104933860B (en) * 2015-05-20 2017-07-11 重庆大学 Bus traffic congestion delay time at stop Forecasting Methodology based on gps data
EP3106836B1 (en) * 2015-06-16 2018-06-06 Volvo Car Corporation A unit and method for adjusting a road boundary
DE102015213517A1 (en) * 2015-07-17 2017-01-19 Robert Bosch Gmbh Method and device for warning other road users of a wrong-moving vehicle
US10317243B2 (en) * 2015-10-15 2019-06-11 Intertrust Technologies Corporation Sensor information management systems and methods
JP6494782B2 (en) * 2015-10-30 2019-04-03 三菱電機株式会社 Notification control device and notification control method
CN105404772A (en) * 2015-11-04 2016-03-16 成都天衡电科科技有限公司 Segmented system memory effect based adaptive historical data analysis method
CN105303833B (en) * 2015-11-05 2017-06-20 安徽四创电子股份有限公司 Overpass accident method of discrimination based on microwave vehicle detector
CN105389980B (en) * 2015-11-09 2018-01-19 上海交通大学 Short-time Traffic Flow Forecasting Methods based on long short-term memory recurrent neural network
CN106683447B (en) * 2015-11-11 2019-11-19 中国移动通信集团公司 A kind of traffic lamp control method and device
CN105575155B (en) * 2016-01-08 2018-09-18 上海雷腾软件股份有限公司 Method and apparatus for determining vehicle traveling information
CN105486322B (en) * 2016-01-14 2020-07-03 上海博泰悦臻网络技术服务有限公司 Method and system for acquiring road condition information of regional roads
US10068470B2 (en) 2016-05-06 2018-09-04 Here Global B.V. Determination of an average traffic speed
JP6780456B2 (en) * 2016-05-09 2020-11-04 株式会社デンソー Driving characteristic storage device
CN108010357B (en) * 2016-11-01 2020-11-27 武汉四维图新科技有限公司 Speed limit information checking/counting method, device and system
GB201711408D0 (en) * 2016-12-30 2017-08-30 Maxu Tech Inc Early entry
US10262479B2 (en) * 2017-02-24 2019-04-16 Huf North America Automotive Parts Mfg. Corp. System and method for communicating with a vehicle
CN106846816B (en) * 2017-04-12 2019-09-17 山东理工大学 A kind of discretization traffic state judging method based on deep learning
CN107705560B (en) * 2017-10-30 2020-10-02 福州大学 Road congestion detection method integrating visual features and convolutional neural network
CN109754594B (en) * 2017-11-01 2021-07-27 腾讯科技(深圳)有限公司 Road condition information acquisition method and equipment, storage medium and terminal thereof
JP7353747B2 (en) * 2018-01-12 2023-10-02 キヤノン株式会社 Information processing device, system, method, and program
GB201802366D0 (en) 2018-02-14 2018-03-28 Tom Tom Traffic B V Methods and systems for generating taffic volumn or traffic density data
CN108510740A (en) * 2018-05-04 2018-09-07 百度在线网络技术(北京)有限公司 Report the method for digging and device of road conditions by mistake
CN109214175B (en) * 2018-07-23 2021-11-16 中国科学院计算机网络信息中心 Method, device and storage medium for training classifier based on sample characteristics
CN109035775B (en) * 2018-08-22 2020-12-08 青岛海信网络科技股份有限公司 Method and device for identifying emergency
CN110782652B (en) 2018-11-07 2020-10-16 滴图(北京)科技有限公司 Speed prediction system and method
US11087617B2 (en) * 2018-11-26 2021-08-10 GM Global Technology Operations LLC Vehicle crowd sensing system and method
DE102018133457B4 (en) * 2018-12-21 2020-07-09 Volkswagen Aktiengesellschaft Method and system for providing environmental data
US11393341B2 (en) * 2019-02-26 2022-07-19 Beijing Didi Infinity Technology And Development Co., Ltd. Joint order dispatching and fleet management for online ride-sharing platforms
FR3093690B1 (en) * 2019-03-14 2021-02-19 Renault Sas Selection process for a motor vehicle of a traffic lane of a roundabout
CN110164127B (en) * 2019-04-04 2021-06-25 中兴飞流信息科技有限公司 Traffic flow prediction method and device and server
CN111325993B (en) * 2019-04-24 2021-02-19 北京嘀嘀无限科技发展有限公司 Traffic speed determination method and device, electronic equipment and computer storage medium
IL269263B (en) * 2019-09-10 2021-09-30 Veeride Geo Ltd Cellular-based navigation method
CN111008119A (en) * 2019-12-13 2020-04-14 浪潮电子信息产业股份有限公司 Method, device, equipment and medium for updating hard disk prediction model
CN113808384B (en) * 2020-06-16 2023-02-10 英业达科技有限公司 Traffic condition detection method
CN111627219B (en) * 2020-06-20 2021-07-09 天津职业技术师范大学(中国职业培训指导教师进修中心) Vehicle cooperation method for detecting curve driving information by using vehicle electronic identification
CA3196254A1 (en) * 2020-10-20 2022-04-28 David H. Nguyen Probabilistically adaptive traffic management system
CN113593242A (en) * 2021-09-28 2021-11-02 之江实验室 In-transit amount estimation method based on intersection vehicle detector group
WO2023127033A1 (en) * 2021-12-27 2023-07-06 日本電気株式会社 Signal analysis device, signal analysis method, and computer-readable medium
CN116913097B (en) * 2023-09-14 2024-01-19 江西方兴科技股份有限公司 Traffic state prediction method and system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998005468A1 (en) 1996-08-05 1998-02-12 Homag Maschinenbau Ag Processing machine
US20040034467A1 (en) 2002-08-09 2004-02-19 Paul Sampedro System and method for determining and employing road network traffic status

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5590217A (en) * 1991-04-08 1996-12-31 Matsushita Electric Industrial Co., Ltd. Vehicle activity measuring apparatus
JPH10160494A (en) * 1996-11-29 1998-06-19 Toyota Motor Corp On-vehicle communication processing system
AU7703598A (en) * 1997-05-30 1998-12-30 David S. Booth Generation and delivery of travel-related, location-sensitive information
DE19805869A1 (en) * 1998-02-13 1999-08-26 Daimler Chrysler Ag Method and device for determining the traffic situation on a traffic network
CA2290301A1 (en) * 1999-03-05 2000-09-05 Loran Network Management Ltd. A method for detecting outlier measures of activity
CA2266208C (en) * 1999-03-19 2008-07-08 Wenking Corp. Remote road traffic data exchange and intelligent vehicle highway system
DE19928082C2 (en) * 1999-06-11 2001-11-29 Ddg Ges Fuer Verkehrsdaten Mbh Filtering method for determining travel speeds and times and remaining domain speeds
US6490519B1 (en) * 1999-09-27 2002-12-03 Decell, Inc. Traffic monitoring system and methods for traffic monitoring and route guidance useful therewith
US6989765B2 (en) * 2002-03-05 2006-01-24 Triangle Software Llc Personalized traveler information dissemination system
JP3990641B2 (en) * 2002-03-27 2007-10-17 松下電器産業株式会社 Road information providing system and apparatus and road information generation method
JP4657728B2 (en) * 2002-08-29 2011-03-23 アイティス・ホールディングス・ピーエルシー Apparatus and method for providing traffic information
JP3874745B2 (en) * 2003-01-22 2007-01-31 松下電器産業株式会社 Traffic information providing method, traffic information providing system and apparatus
JP2004280521A (en) * 2003-03-17 2004-10-07 Matsushita Electric Ind Co Ltd Method and device for transmitting traveling track in probe car system
JP4255007B2 (en) * 2003-04-11 2009-04-15 株式会社ザナヴィ・インフォマティクス Navigation device and travel time calculation method thereof
JP4392747B2 (en) * 2003-12-24 2010-01-06 アイシン・エィ・ダブリュ株式会社 Navigation system
CN100416584C (en) * 2005-01-19 2008-09-03 北京交通大学 Road traffic flow data quality controlling method and apparatus
CN100337256C (en) * 2005-05-26 2007-09-12 上海交通大学 Method for estimating city road network traffic flow state

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998005468A1 (en) 1996-08-05 1998-02-12 Homag Maschinenbau Ag Processing machine
US20040034467A1 (en) 2002-08-09 2004-02-19 Paul Sampedro System and method for determining and employing road network traffic status

Cited By (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8818380B2 (en) 2004-07-09 2014-08-26 Israel Feldman System and method for geographically locating a cellular phone
EP2081165B1 (en) * 2007-12-25 2012-02-08 Fujitsu Limited Sensor diagnostic apparatus and method thereof
US8620613B2 (en) 2007-12-25 2013-12-31 Fujitsu Limited Sensor diagnostic apparatus and method thereof
CN101809412B (en) * 2008-03-14 2012-10-24 爱信艾达株式会社 Navigation system and route search method
US9798985B2 (en) 2009-02-02 2017-10-24 Inrix Holdings Limited Apparatus and methods for providing journey information
CN102317987A (en) * 2009-02-19 2012-01-11 爱信艾达株式会社 Vehicle motion estimating device,vehicle motion estimating method, and vehicle motion estimating program
CN101782396A (en) * 2010-03-05 2010-07-21 中国软件与技术服务股份有限公司 Navigation method and navigation system
CN102446413A (en) * 2010-09-30 2012-05-09 西门子公司 Method and device for acquiring path information based on switching information of mobile terminal
BE1019524A3 (en) * 2010-09-30 2012-08-07 Be Mobile Nv SYSTEM AND METHOD FOR TRAVEL TIME MEASUREMENT.
WO2012041732A1 (en) * 2010-09-30 2012-04-05 Siemens Aktiengesellschaft A method and means for acquiring path information on the basis of mobile terminal handover information
CN102157070A (en) * 2011-03-31 2011-08-17 天津大学 Road traffic flow prediction method based on cell phone data
US9418545B2 (en) 2011-06-29 2016-08-16 Inrix Holding Limited Method and system for collecting traffic data
CN102867421A (en) * 2012-09-24 2013-01-09 东南大学 Method for identifying outlier data in effective parking lot occupancy
EP2887332A1 (en) * 2013-12-23 2015-06-24 Siemens Aktiengesellschaft Method and system for detection of a traffic situation on a stretch of road
US10279813B2 (en) 2014-08-07 2019-05-07 Toyota Jidosha Kabushiki Kaisha Vehicular drive assist system
WO2016029348A1 (en) * 2014-08-26 2016-03-03 Microsoft Technology Licensing, Llc Measuring traffic speed in a road network
US10545247B2 (en) 2014-08-26 2020-01-28 Microsoft Technology Licensing, Llc Computerized traffic speed measurement using sparse data
CN105723242A (en) * 2014-08-26 2016-06-29 微软技术许可有限责任公司 Measuring traffic speed in a road network
KR102303231B1 (en) * 2014-12-15 2021-09-16 현대모비스 주식회사 Operation method of vehicle radar system
KR20160072574A (en) * 2014-12-15 2016-06-23 현대모비스 주식회사 Operation method of vehicle radar system
US10061031B2 (en) 2014-12-19 2018-08-28 Hyundai Motor Company Navigation system, path prediction method thereof and computer readable medium for performing the same
CN104599499A (en) * 2015-01-12 2015-05-06 北京中交兴路车联网科技有限公司 Distributed statistic method and device for traffic position
US9640071B2 (en) 2015-06-30 2017-05-02 Here Global B.V. Method and apparatus for identifying a bi-modality condition upstream of diverging road segments
US9911327B2 (en) 2015-06-30 2018-03-06 Here Global B.V. Method and apparatus for identifying a split lane traffic location
CN105679055A (en) * 2016-04-01 2016-06-15 深圳市智汇十方科技有限公司 Road status prediction method and prediction system
US10147315B2 (en) 2016-07-27 2018-12-04 Here Global B.V. Method and apparatus for determining split lane traffic conditions utilizing both multimedia data and probe data
US10198941B2 (en) 2016-07-27 2019-02-05 Here Global B.V. Method and apparatus for evaluating traffic approaching a junction at a lane level
CN106781489A (en) * 2016-12-29 2017-05-31 北京航空航天大学 A kind of road network trend prediction method based on recurrent neural network
CN107180530A (en) * 2017-05-22 2017-09-19 北京航空航天大学 A kind of road network trend prediction method based on depth space-time convolution loop network
US11651682B2 (en) 2017-06-09 2023-05-16 Prannoy ROY Predictive traffic management system
US11145198B2 (en) 2017-06-09 2021-10-12 Prannoy ROY Predictive traffic management system
CN107978153A (en) * 2017-11-29 2018-05-01 北京航空航天大学 A kind of multimode traffic factors influencing demand analysis method based on space vector autoregression model
CN110361024A (en) * 2018-04-10 2019-10-22 丰田自动车株式会社 Utilize the dynamic lane grade automobile navigation of vehicle group mark
CN110361024B (en) * 2018-04-10 2023-12-08 丰田自动车株式会社 Method and system for dynamic lane-level vehicle navigation with vehicle group identification
CN108898851A (en) * 2018-06-20 2018-11-27 东南大学 Urban road link traffic flow combination forecasting method
CN108898851B (en) * 2018-06-20 2020-11-27 东南大学 Combined prediction method for traffic volume of urban road section
WO2020057406A1 (en) * 2018-09-21 2020-03-26 阿里巴巴集团控股有限公司 Driving aid method and system
CN109410562A (en) * 2018-10-29 2019-03-01 重庆交通大学 A kind of Optimization Scheduling of community's public transport
US10752253B1 (en) 2019-08-28 2020-08-25 Ford Global Technologies, Llc Driver awareness detection system
CN112489419A (en) * 2020-10-28 2021-03-12 华为技术有限公司 Method and device for determining road capacity and storage medium
CN112937584A (en) * 2021-03-31 2021-06-11 重庆长安汽车股份有限公司 Automatic lane changing control method and device and automobile
CN113256968A (en) * 2021-04-30 2021-08-13 济南金宇公路产业发展有限公司 Traffic state prediction method, equipment and medium based on mobile phone activity data
CN113469425A (en) * 2021-06-23 2021-10-01 北京邮电大学 Deep traffic jam prediction method
CN113469425B (en) * 2021-06-23 2024-02-13 北京邮电大学 Deep traffic jam prediction method
CN114120632A (en) * 2021-11-01 2022-03-01 东南大学 Navigation map-based traffic control method during high-speed reconstruction and extension period
CN114120632B (en) * 2021-11-01 2022-12-09 东南大学 Navigation map based traffic control method during high-speed reconstruction and extension
CN117058888A (en) * 2023-10-13 2023-11-14 华信纵横科技有限公司 Traffic big data processing method and system thereof
CN117058888B (en) * 2023-10-13 2023-12-22 华信纵横科技有限公司 Traffic big data processing method and system thereof

Also Published As

Publication number Publication date
CN102394009B (en) 2014-05-14
CN102289935A (en) 2011-12-21
EP2278573A1 (en) 2011-01-26
EP1938296B1 (en) 2011-09-07
ES2386529T3 (en) 2012-08-22
CN102254434B (en) 2013-05-01
CN102289935B (en) 2015-12-16
ATE523869T1 (en) 2011-09-15
CN102394008A (en) 2012-03-28
CN102289936A (en) 2011-12-21
EP2278573B1 (en) 2012-05-16
WO2007103180A3 (en) 2007-12-06
CN101438335A (en) 2009-05-20
CN102289936B (en) 2014-08-06
CN102394008B (en) 2015-01-07
CN102394009A (en) 2012-03-28
CN101438335B (en) 2011-09-21
EP1938296A2 (en) 2008-07-02
CN102254434A (en) 2011-11-23
JP2009529187A (en) 2009-08-13
ES2373336T3 (en) 2012-02-02
AU2007224206A1 (en) 2007-09-13

Similar Documents

Publication Publication Date Title
EP1938296B1 (en) Assessing road traffic conditions using data from mobile data sources
US7706965B2 (en) Rectifying erroneous road traffic sensor data
US10403130B2 (en) Filtering road traffic condition data obtained from mobile data sources
US7831380B2 (en) Assessing road traffic flow conditions using data obtained from mobile data sources
US8160805B2 (en) Obtaining road traffic condition data from mobile data sources
US9280894B2 (en) Filtering road traffic data from multiple data sources
US20070208501A1 (en) Assessing road traffic speed using data obtained from mobile data sources
US20070208493A1 (en) Identifying unrepresentative road traffic condition data obtained from mobile data sources
WO2008021551A2 (en) Representative road traffic flow information based on historical data

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2007752080

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2008558317

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2007224206

Country of ref document: AU

ENP Entry into the national phase

Ref document number: 2007224206

Country of ref document: AU

Date of ref document: 20070302

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 200780015916.2

Country of ref document: CN