# Patent

## Title
System for providing traffic data and driving efficiency data

## Abstract

Current and predicted traffic information is provided from incident data, traffic flow data, and media related to traffic received from multiple sources. The crowd sourced data may be provided passively by applications on remote mobile devices or actively by users operating the remote mobile devices. An application on a mobile device may receive the multiple data types, aggregate and validate the data, and provides traffic information for a user. The traffic information may relate to the current position and route of the user or a future route. The present technology may also provide driving efficiency information such as fuel consumption data, carbon footprint data, and a driving rating for a user associated with a vehicle.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
The present application is a continuation and claims the priority benefit of U.S. patent application Ser. No. 13/475,502 filed May 18, 2012, which will issue as U.S. Pat. No. 8,725,396 on May 13, 2014, which claims the priority benefit of U.S. provisional application No. 61/487,425 filed May 18, 2011, the disclosures of which are incorporated herein by reference.


BACKGROUND OF THE INVENTION
As mobile devices become more popular among users, developers provide more applications. One type of application for mobile devices provides traffic information for roadways. Typically, the traffic information is provided on a display as a color coded roadway. For example, if traffic is flowing as normal the roadway may be highlighted in green. If traffic is disrupted, traffic may be highlighted in red.
Traffic information for existing mobile device applications is often unreliable. The traffic data may only be from a single source and may often be unavailable. As a result, the traffic information may be unreliable and frustrating for users.
There is a need in the art for an improved traffic data processing system for mobile devices.
SUMMARY OF THE CLAIMED INVENTION
The present technology provides current and predicted traffic information from incident data, traffic flow data, and media related to traffic received from multiple sources. The crowd sourced data may be provided passively by applications on remote mobile devices or actively by users operating the remote mobile devices. An application on a mobile device may receive the multiple data types, aggregate and validate the data, and provides traffic information for a user. The traffic information may relate to the current position and route of the user or a future route. The present technology may also provide driving efficiency information such as fuel consumption data, carbon footprint data, and a driving rating for a user associated with a vehicle.
In an embodiment, a method for processing traffic data, beings with receiving traffic data by a mobile device. The traffic data may originate from multiple sources. Traffic information may then be provided through an interface of the mobile device. The mobile device may also provide driving efficiency information through the interface. The driving efficiency information may include fuel consumption, carbon footprint data, and a driver rating.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of an exemplary system for analyzing traffic data.
FIG. 2 is a block diagram of an exemplary device application.
FIG. 3 is an exemplary method for processing traffic data.
FIG. 4 is an exemplary method for providing traffic information.
FIG. 5 is an exemplary method for providing fuel consumption data.
FIG. 6 is an exemplary method for providing driver rating data.
FIG. 7 is another exemplary method for providing driver rating data.
FIG. 8 is a block diagram of an exemplary mobile device.
FIG. 9 is a block diagram of an exemplary computing device.



DETAILED DESCRIPTION
The present technology provides current and predicted traffic information from multiple types of traffic data received from multiple sources. Traffic data such as incident data, traffic flow data, and media related to traffic may be received by a mobile device. The traffic data may originate from public entities, private companies, and crowd sourcing. The crowd sourced data may be provided passively by applications on remote mobile devices or actively by users operating the remote mobile devices. An application on a mobile device receives the multiple data types, aggregates the data, validates the data, and provides traffic information for a user. The traffic information may relate to the current position and route of the user or a future route.
The present technology may also provide driving efficiency information. The driving efficiency information may include fuel consumption data, carbon footprint data, and a driving rating for a user associated with a vehicle. The fuel consumption data may be generated from vehicle speed and acceleration as determined by positioning system data provided to a mobile device application, as well as vehicle information provided by a user or other source. The carbon footprint may be derived from the fuel consumption by the vehicle. The driver rating may be determined based on fuel consumption and various EPA specifications for a vehicle or other information.
FIG. 1 is a block diagram of an exemplary system 100 for analyzing traffic data. System 100 includes mobile devices 110, 130 and 140, network 120, public entity traffic data server 150, private entity traffic data server 160, and crowd sourcing management server 170. Mobile device 100 may communicate with network 120 and be operated by a user in a moving vehicle. Mobile device 110 may include circuitry, logic, software, and other components for determining a position, speed, and acceleration of the mobile device. In some embodiments, mobile device 110 may include a global positioning system (GPS) mechanism for determining the location of the device. Based on the location data, the speed and acceleration of the device may be determined.
Mobile device 110 may also include device application 115. Device application 115 may be stored in memory and executed by one or more processors to process the GPS data, locally collected data and other data received over network 120 to provide traffic information, eco-information, and driving rating information through a display of mobile device 110.
Network 120 may communicate with mobile devices 110, 130 and 140 and data servers 150, 160 and 170. Network 120 may include a private network, public network, local area network, wide area network, the Internet, an intranet, and a combination of these networks.
Mobile devices 130 and 140 may also be associated with a respective vehicle and may include GPS or other position detection mechanisms. Each mobile device 130 and 140 may include a device application which may actively or passively provide traffic data and other data to crowd sourcing management server 170 over network 120. For example, when a device application stored on mobile device 130 is executing and the vehicle containing mobile device 130 is moving, the mobile application may passively provide data by transmitting position, speed and acceleration data detected by a GPS unit to crowd sourcing management server 170.
Mobile device 130 may also provide active data to crowd sourcing management server 170. A user may capture an image or video of a traffic incident or create an incident report by providing information of a collision, stalled car, or other event that affects traffic. The user may provide the image, video, or incident report to the device application, which in turn transmits the content to crowd sourcing management server 170.
Public entity traffic data server 150 may include one or more servers, including one or more network servers, web servers, applications servers and database servers, that provide traffic data by a public sector organization. The public sector organization may be, for example, the Department of Transportation or some other public entity. Public entity traffic data server 150 may provide traffic data such as incident data for a planned or unplanned traffic incident, traffic speed and flow data, or traffic camera image and video data. A planned traffic incident may include data for a highway closure or construction work. An unplanned traffic incident may include data for a disabled vehicle or a car crash. The traffic speed and flow data may be determined from radar outposts, toll booth data collection, or other data. The traffic camera image and video may be collected by public sector traffic cams located on roadways.
Private entity traffic data server 160 may include one or more servers, including one or more network servers, web servers, applications servers and database servers, that provide traffic data such as incident data, traffic speed and flow data and traffic camera and image data. Examples of private entity traffic data servers are those provided by companies such as Inrix, Traffic Cast, Clear Channel, and Traffic.com.
Crowd sourcing management server 170 may include one or more servers, including one or more network servers, web servers, applications servers and database servers, that receive crowd source data from mobile devices 110, 130 and 140, aggregate and organize the data, and provide traffic data to a device application on any of mobile devices 110, 130 or 140. Data is received from a plurality of remote mobile device applications regarding current traffic information. The traffic information is aggregated to create a unified set of data and broadcast to mobile devices to which the data is relevant.
In some embodiments, crowd sourcing data is transmitted directly between mobile devices. Hence, data which is passive and actively collected by mobile device 110 may be transmitted directly to mobile devices 130 and 140 via network 120, without involving crowd sourcing management server 170.
FIG. 2 is a block diagram of an exemplary device application 115. Device application 115 may include a data management module 210, personalization module 220, traffic prediction module 230, data validation module 240, trip routing module 250, data collection module 260, and eco analysis module 270. Data management module 210 may receive various types of data from different data sources. The data types may include incident data, traffic speed and flow data, and traffic camera, image and video data. The data sources may include crowd sourcing, public entity network services and private company network services. Module 210 may sort the received data and provide the data to data validation module 240.
Personalization module 220 may store and provide data regarding a particular user's preferred or favorite route, interface preferences, and other parameters that a user of device application 115 has set to customize their experience. Personalization module 220 may distill all the received data and present the user with only the relevant part according to received user criteria. The criteria may include user location (received from the mobile device), profile data, various start and end locations for routes they are likely to take, specified types of traffic information they are most interested in, and certain traffic cameras they are interested in for snapshots.
Traffic prediction module 230 may predict traffic along a user's specified route, a particular location at a particular time or period of time, or for some other roadway in the future. The prediction engine 230 learns about recurring traffic speeds at certain locations and times, and displays to the user forecasted traffic conditions on a user-centered map at various points of time as requested by the user. In this way, the system may provide to a user information such that the user can make an informed decision on whether to delay a departure, leave on time, or leave earlier if possible.
Data validation module 240 may receive data for a particular point from data management module 210. Validation module 240 may then determine if all the data points for the particular traffic points are valid. For example, if device application 115 receives multiple points of traffic data indicating different traffic speeds at a particular road for a particular time as a result of crowd sourcing data, data validation module 240 may validate the collection of data for the traffic point by removing an anomaly data point from that data set.
Data validation module 240 may implement a quality process which acts on the input data and validates it for various criteria including timeliness. The relevance of a quality process helps address data sources which are subject to being unavailable due to network connection (i.e., cellular) becoming temporarily unavailable or various types of disruptions with the data source itself. By entirely relying on just one data source and reproducing it exactly for the end user, the result for data disruption would potentially detrimental to the user/traveler. For example, the absence/intermittence of a displaced incident potentially being interpreted as the roadway being clear, just because the source became temporarily unavailable.
Trip routing module 250 allows a user to select routes between points of travel, and provides traffic predictions for the travel route. The travel prediction is provided by trip routing module 250 through an interface and is received by routing module 250 from traffic prediction module 230. The routing module may provide point to point trip times, as well as trip time predictions for various departure times, and various days of the week.
Data collection module 260 may collect data from device application 115 and mobile device 110 with respect to crowd sourcing data. The crowd sourcing data may include current location, speed and acceleration of the mobile device. The crowd sourcing data may also include data actively provided by a user, such as video, incident report, or other data.
In some embodiments, when the present application is executing and a GPS module on device 110 is operating, location data may be collected with a sampling interval and a transmission interval. The sampling interval and transmission interval may be selected so as to optimize latency and data relevance while minimizing data transmission costs for the user of the mobile device. Data is transmitted to data management module 210 by the data collection module 260 and may be provided to other mobile devices. The data may be provided to other mobile devices through a crowd sourcing management server 170 or via direct communication between mobile devices.
Eco analysis module 270 may determine a user rating, carbon footprint, fuel consumption, and other driver related data based on activity data processed by device application 115. Information provided by eco analysis module 270 is discussed in more detail below.
FIG. 3 is an exemplary method for processing traffic data. The method of FIG. 3 is performed by device application 115. Traffic information is provided at step 310. Providing traffic information may include providing an indication of the current or predicted traffic for a particular location through a display of mobile device 110. The traffic information may be generated based on multiple data types received form multiple data sources. Providing traffic information is discussed in more detail below with respect to the method of FIG. 4.
Speed and acceleration data are received at step 320. The data collection module 250 may receive data provided by a GPS system, mobile device accelerometer components, and other sources. Vehicle information is then received at step 330. The vehicle information may be received by device application 115 from user input received by mobile device 110. The input may indicate the user's car make, model and year. Upon receiving this information, device application 115 may retrieve the vehicle mass, front area, and drag efficient from a data store maintained at mobile device 110. This information may be used to determine fuel consumption by application 115.
Fuel consumption data may be provided to a user at step 340. Device application 115 may provide fuel consumption data based on the car specification and car activity. Providing fuel consumption data is discussed in more detail below with respect to the method of FIG. 5.
A carbon footprint data is provided for a particular user at step 350. The carbon footprint data may be based on the fuel consumed by the driver as determined by device application 115. The fuel consumed corresponds to the exhaust generated by the car, and therefore the carbon footprint data can be determined accordingly. For example, a gallon of gasoline emits 8.7 kg of CO2 into the atmosphere.
A driver rating is generated and provided for the user of the mobile device at step 360. A driver rating may be provided in a variety of ways. For example, Environment Protection Agency (EPA) statistics may be used to provide a driver rating. Alternatively, an ideal trip comparison with the user's actual trip may be determined to generate a driver rating. Providing a driver rating is discussed in more detail below with respect to FIGS. 6 and 7.
FIG. 4 is an exemplary method for providing traffic information. The method of FIG. 4 provides more information for step 310 of the method of FIG. 3. Incident data is retrieved at step 410. The incident data may be retrieved locally from the mobile device 110 and remotely from crowd sourcing management server 170. The incident data may include planned and unplanned incidents as discussed herein.
Vehicle data and acceleration data may be retrieved at step 420. The vehicle speed and acceleration data may be retrieved from GPS components within mobile device 110. The GPS data may include a longitude, latitude and other data. Traffic media data may be retrieved at step 430. The traffic media data may include images and video associated with the user's current location or planned route. The received incident data, traffic media data, and GPS data may be validated at step 440. Data validation may include removing anomalies in sets of traffic data associated with a current point or route.
Route or current location data is received at step 450. The current location may be determined by a GPS component in mobile device 110 while a route may be received from a user through an interface at mobile device 110. Personalized traffic data is then generated for the user at step 460. The personalized traffic data may include a type of traffic information to display, settings for an interface in which to display the traffic, and other personalizations. The traffic information is then provided to the user at step 470. The information may be provided to the user through an interface of mobile device 110 by device application 115. The traffic information may be updated periodically and is based on types of data provided by multiple sources. The frequency at which the traffic information is updated may be selected by a user or set by the device application, and may be based on the balance of accuracy versus the battery performance.
FIG. 5 is an exemplary method for providing fuel consumption data. The method of FIG. 5 provides more detail for step 340 of the method of FIG. 3. First, a current vehicle power spent is determined by a user at step 510. The current vehicle power may be estimated using the speed, the acceleration and the car's specification information, according to H. Rakha et. al's paper “Simple Comprehensive Fuel Consumption and CO2 Emission Model based on Instantaneous Vehicle Power”:

P=(Force(t)*v(t)/(3600·η),

with Force(t)=·CD·Ch·Af·v(t)2/25.92+g·m·Cr·(c1·v(t)+c2)+g·m·G(t)+m·a(t)/1.04, and P in kW, with v in km/h, a(t) in m/s/s.
In the calculation,  is the density of air at sea level at a temperature of 15° C. (59° F.), CD is the drag coefficient (unitless), Ch is a correction factor for altitude (unitless), Af is the vehicle frontal area (m2), v(t) is the vehicle speed at time t, Cr, c1, and c2 are rolling resistance parameters that vary as a function of the road surface type, road condition, and vehicle tire type, m is the vehicle mass (kg), a(t) is the vehicle acceleration (m/s2) at time t, g=9.8066, and G(t) is the vertical acceleration.
A determination is then made as to whether the current vehicle power differs from the previous vehicle power at step 520. In some embodiments, the current vehicle power might be analyzed to determine if it differs from the previous vehicle power or is within an acceptable threshold range of the previous vehicle power trend data, such as within 5%. If the current vehicle power does not differ from the previous vehicle power by greater than a threshold amount, the vehicle power is not stored and the fuel consumption is not determined for the vehicle power. Rather, the current fuel consumption is set as the previous fuel consumption and the method of FIG. 5 continues to step 560.
If the current vehicle power does differ from the previous vehicle power, current fuel consumption is generated from the current power spent at step 530. The current fuel consumption may be generated as a function of power:

FC(t)=α0+α1·P(t)+α2·P(t)2,

The coefficients of this second order polynomial may be calculated with the EPA estimations.
The current vehicle fuel consumption is then filtered at step 540. The vehicle fuel consumption may be filtered using a variety of techniques, such as a median filter, average filter, or least square filter. The filtered vehicle fuel consumption value is then stored at step 550 but the filtered vehicle fuel consumption may be stored locally at mobile device 110. The fuel consumption value is then provided through an interface to a user of mobile device 110 at step 560.
FIG. 6 is an exemplary embodiment for providing driver rating data. The method of FIG. 6 provides more detail for an embodiment of step 360 of the method of FIG. 3. An EPA miles per gallon (MPG) is set to a city rating if the detected velocity of the mobile device (and corresponding vehicle) is the same or less than the average city speed at step 610. In some embodiments, the average city speed may be set at 21 miles per hour. Therefore, if a user is currently traveling or has shown a trend of traveling at 21 miles per hour or less, the EPA MPG is set to the vehicles city MPG rating.
The EPA MPG is set to the vehicle's highway MPG rating if the mobile device's detected velocity is the same or greater than an average highway speed at step 620. In some embodiments, the average highway speed may be 48 miles per hour.
The EPA mpg may be set to a value between the city MPG and highway MPG if the velocity is between the average city speed and average highway speed at step 630. In some embodiments, the EPA MPG may be set to a value proportionally between the city and highway MPG values based on where the velocity value is between the average city speed and the average highway speed. In some embodiments the following formula may be used to determine the EPA mpg for a speed between the city speed and highway speed.

EPA MPG=(r*EFhwy+(1−r)*EFcity),

where r=(speed−21.81)/(48.27−21.81).

An EPA gas spent value is determined at step 640. The EPA gas spent value is determined as the actual distance divided by the EPA mpg value determined previously. The EPA mileage traveled value is determined at step 650. The EPA mileage traveled value is determined as the EPA mpg times the fuel consumption by the user.
The potential fuel savings and potential additional miles for the user are determined at step 660. The potential fuel savings and additional miles is determined by calculating the difference between the actual fuel spent and miles traveled from the EPA fuel spent and mileage traveled. Next, the EPA and potential information is provided to a user through an interface provided by application 115 at step 670.
FIG. 7 is another exemplary method for providing a driver rating. First, fuel consumption is determined for a trip with one start and one stop. For example, for a trip from San Francisco to San Jose, the fuel consumption is determined for the trip assuming that the user leaves San Francisco and arrives at San Jose without making any stops and maintaining a constant speed.
The trip is divided into portions separated by stops at step 720. The stops may be determined based on traffic lights, off ramps, and other locations along the planned route at which a stop is likely. A beginning portion of each separate portion is replaced with an acceleration from a stop at step 730. The acceleration portion is intended to account for fuel consumption required to bring the vehicle up to speed after stopped at expected stopping points. The average speed proportion is then determined at step 740. The ideal fuel consumption is then determined for each portion based on the distance, expected average speed, and acceleration at step 750. The actual fuel consumption is compared to the ideal fuel consumption determined at step 750 at 760. A score is then based on a comparison and provided to a user at step 770.
FIG. 8 illustrates an exemplary mobile device system 800 that may be used to implement a mobile device for use with the present technology, such as for mobile devices 110, 130 and 140. The mobile device 800 of FIG. 8 includes one or more processors 810 and memory 812. Memory 812 stores, in part, programs, instructions and data for execution and processing by processor 810. The system 800 of FIG. 8 further includes storage 814, one or more antennas 816, a display system 818, inputs 820, one or more microphones 822, and one or more speakers 824.
The components shown in FIG. 8 are depicted as being connected via a single bus 826. However, the components 810-1024 may be connected through one or more data transport means. For example, processor unit 810 and main memory 812 may be connected via a local microprocessor bus, and storage 814, display system 818, input 820, and microphone 822 and speaker 824 may be connected via one or more input/output (I/O) buses.
Memory 812 may include local memory such as RAM and ROM, portable memory in the form of an insertable memory card or other attachment (e.g., via universal serial bus), a magnetic disk drive or an optical disk drive, a form of FLASH or PROM memory, or other electronic storage medium. Memory 812 can store the system software for implementing embodiments of the present invention for purposes of loading that software into main memory 810.
Antenna 816 may include one or more antennas for communicating wirelessly with another device. Antenna 816 may be used, for example, to communicate wirelessly via Wi-Fi, Bluetooth, with a cellular network, or with other wireless protocols and systems. The one or more antennas may be controlled by a processor 810, which may include a controller, to transmit and receive wireless signals. For example, processor 810 execute programs stored in memory 812 to control antenna 816 transmit a wireless signal to a cellular network and receive a wireless signal from a cellular network.
Display system 818 may include a liquid crystal display (LCD), a touch screen display, or other suitable display device. Display system 870 may be controlled to display textual and graphical information and output to text and graphics through a display device. When implemented with a touch screen display, the display system may receive input and transmit the input to processor 810 and memory 812.
Input devices 820 provide a portion of a user interface. Input devices 860 may include an alpha-numeric keypad, such as a keyboard, for inputting alpha-numeric and other information, buttons or switches, a trackball, stylus, or cursor direction keys.
Microphone 822 may include one or more microphone devices which transmit captured acoustic signals to processor 810 and memory 812. The acoustic signals may be processed to transmit over a network via antenna 816.
Speaker 824 may provide an audio output for mobile device 800. For example, a signal received at antenna 816 may be processed by a program stored in memory 812 and executed by processor 810. The output of the executed program may be provided to speaker 824 which provides audio. Additionally, processor 810 may generate an audio signal, for example an audible alert, and output the audible alert through speaker 824.
The mobile device system 800 as shown in FIG. 8 may include devices and components in addition to those illustrated in FIG. 8. For example, mobile device system 800 may include an additional network interface such as a universal serial bus (USB) port.
The components contained in the computer system 800 of FIG. 8 are those typically found in mobile device systems that may be suitable for use with embodiments of the present invention and are intended to represent a broad category of such mobile device components that are well known in the art. Thus, the computer system 800 of FIG. 8 can be a cellular phone, smart phone, hand held computing device, minicomputer, or any other computing device. The mobile device can also include different bus configurations, networked platforms, multi-processor platforms, etc. Various operating systems can be used including Unix, Linux, Windows, Macintosh OS, Google OS, Palm OS, and other suitable operating systems.
FIG. 9 illustrates an exemplary computing system 900 that may be used to implement a computing device for use with the present technology. System 900 of FIG. 9 may be implemented in the contexts of the likes of servers 150, 160 and 170 of FIG. 1. The computing system 900 of FIG. 9 includes one or more processors 910 and memory 920. Main memory 920 stores, in part, instructions and data for execution by processor 910. Main memory 920 can store the executable code when in operation. The system 900 of FIG. 9 further includes a mass storage device 930, portable storage medium drive(s) 940, output devices 950, user input devices 960, a graphics display 970, and peripheral devices 980.
The components shown in FIG. 9 are depicted as being connected via a single bus 990. However, the components may be connected through one or more data transport means. For example, processor unit 910 and main memory 920 may be connected via a local microprocessor bus, and the mass storage device 930, peripheral device(s) 980, portable storage device 940, and display system 970 may be connected via one or more input/output (I/O) buses.
Mass storage device 930, which may be implemented with a magnetic disk drive or an optical disk drive, is a non-volatile storage device for storing data and instructions for use by processor unit 910. Mass storage device 930 can store the system software for implementing embodiments of the present invention for purposes of loading that software into main memory 920.
Portable storage device 940 operates in conjunction with a portable non-volatile storage medium, such as a floppy disk, compact disk or Digital video disc, to input and output data and code to and from the computer system 900 of FIG. 9. The system software for implementing embodiments of the present invention may be stored on such a portable medium and input to the computer system 900 via the portable storage device 940.
Input devices 960 provide a portion of a user interface. Input devices 960 may include an alpha-numeric keypad, such as a keyboard, for inputting alpha-numeric and other information, or a pointing device, such as a mouse, a trackball, stylus, or cursor direction keys. Additionally, the system 900 as shown in FIG. 9 includes output devices 950. Examples of suitable output devices include speakers, printers, network interfaces, and monitors.
Display system 970 may include a liquid crystal display (LCD) or other suitable display device. Display system 970 receives textual and graphical information, and processes the information for output to the display device.
Peripherals 980 may include any type of computer support device to add additional functionality to the computer system. For example, peripheral device(s) 980 may include a modem or a router.
The components contained in the computer system 900 of FIG. 9 are those typically found in computer systems that may be suitable for use with embodiments of the present invention and are intended to represent a broad category of such computer components that are well known in the art. Thus, the computer system 900 of FIG. 9 can be a personal computer, hand held computing device, telephone, mobile computing device, workstation, server, minicomputer, mainframe computer, or any other computing device. The computer can also include different bus configurations, networked platforms, multi-processor platforms, etc. Various operating systems can be used including Unix, Linux, Windows, Macintosh OS, Palm OS, and other suitable operating systems.
The foregoing detailed description of the technology herein has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the technology to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. The described embodiments were chosen in order to best explain the principles of the technology and its practical application to thereby enable others skilled in the art to best utilize the technology in various embodiments and with various modifications as are suited to the particular use contemplated. It is intended that the scope of the technology be defined by the claims appended hereto.

## Claims

1. A system for processing traffic data, the system comprising:
a network interface that receives traffic data at a mobile device, the traffic data originating from multiple sources, wherein the traffic data is received at least in part from crowd sourced data, a portion of the crowd sourced data originating passively through a plurality of mobile devices and another portion of the crowd sourced data originating actively from a remote user through a plurality of mobile devices, and wherein the traffic data includes incident data, traffic flow data, and media data associated with the traffic;
a memory that stores instructions;
a processor that executes the instructions stored in memory to:
validate the traffic data by:
aggregating the traffic data, and
removing anomalies in the traffic data;

provide traffic information to a user through an interface of the mobile device according to user criteria, wherein the user criteria includes at least a user location and at least one type of traffic information the user is interested in receiving, and wherein the traffic information is generated based on the validated traffic data;
provide driving efficiency information through the interface; and
update the traffic information at a frequency based on accuracy of the traffic information and battery performance of the mobile device.

2. The system of claim 1, wherein the system further includes a user interface for receiving user input, the user input including vehicle information.

3. The system of claim 1, wherein the driving efficiency information includes carbon footprint data.

4. The system of claim 1, wherein the traffic information includes predicted traffic information.

5. The system of claim 1, wherein the driving efficiency information includes fuel consumption data.

6. The system of claim 5, wherein execution of instructions by the processor further:
retrieves vehicle specification information, including vehicle mass, front area, and drag efficiency, based on the received vehicle information.

7. The system of claim 6, wherein the fuel consumption data is based at least in part on vehicle specification information.

8. The system of claim 5, wherein the fuel consumption data is filtered.

9. A method for predicting traffic, the method comprising:
receiving traffic data by a mobile device, the traffic data originating from multiple sources, wherein the traffic data is received at least in part from crowd sourced data, a portion of the crowd sourced data originating passively through a plurality of mobile devices and another portion of the crowd sourced data originating actively from a remote user through a plurality of mobile devices;
receiving user input by an interface of the mobile device, wherein the user input specifies a location and a time; and
executing instructions stored in memory, wherein execution of the instructions by a processor:
analyzes the traffic data received over time to determine recurring traffic speeds associated with locations, wherein a plurality of recurring traffic speeds are determined for each location, and wherein each of the plurality of recurring traffic speeds is associated with a respective time,
predicts traffic information based on the determined recurring traffic speeds associated with the specified location and the specified time, and
displays the predicted traffic information to a user at an interface of the mobile device.

10. The method of claim 9, wherein the method further comprises validating the received traffic data by aggregating the traffic data and removing anomalies in the received traffic data.

11. The method of claim 10, wherein the recurring traffic speeds are generated by processing the validated traffic data.

12. The method of claim 9, wherein the user input specifies a starting point, an ending point, and a departure time, and wherein the predicted traffic information includes a trip time prediction for a route between the starting point and the ending point, the trip time prediction associated with the specified departure time.

13. The method of claim 12, wherein the predicted traffic information includes a plurality of trip time predictions for the route, wherein each of the plurality of trip time predictions is associated with a respective departure time.

14. The method of claim 9, wherein the predicted traffic information is displayed on a user-centered map at the time specified by the user input.

15. The method of claim 9, wherein the user input specifies a period of time, and wherein the predicted traffic information is displayed on a user-centered map at the period of time specified by the user input.

16. The method of claim 9, wherein the traffic data includes incident data, traffic flow data, and media data associated with the traffic.

17. The method of claim 9, wherein the predicted traffic information is updated based on the accuracy of the predicted traffic information and battery performance of the device.