## 2 Internet of Vehicles and Smart Cities
### Applications
#### 2.3.1 Taxonomy  
According to [PERSON] et al. [13] and [PERSON] et al. [19], IoV applications can be divided into categories. Figure 4 presents a taxonomy of IoV applications. Firstly, the _User_ or _Infotainment applications_, which are applications that provide value-added services and have multiple requirements in terms of real-timeliness or communications. These applications range from video/music streaming, file transfer to weather information and local point of interest information. The services these applications offer can also be further divided into:  
* _cooperative local services_--relates to infotainment from local-based services (i.e., point of interest notification and media downloading). * _global internet services_--relates to data obtained from services like insurance management and parking zone information, which are constantly updated. Figure 4: Taxonomy of applications for the Internet of Vehicles. Some _User applications_ that have been developed are, for example, the Cooperative Video Streaming over Vehicular Networks, [20], which provides basic QoS over 3/3.5G networks. In this application, helpers (other vehicles) can voluntarily share bandwidth with requesters and improve QoS by transmitting video through the established dedicated short-range communications (DSRC) channels. Next, [PERSON] et al. [13] and [PERSON] et al. [19] diverge on how they approach the taxonomy of the rest of the applications. While the latter has two more categories, which are _Safety applications_ and _Transportation efficiency applications_, the former does not do this differentiation. _Safety_ applications aim at providing services to ensure safe driving through notifications and, possibly, car control. Given that it is the most researched technology, _Safety applications_ mainly refer to collision avoidance systems (CAS), vehicle-based systems that serve two purposes:  
* _collision warning_--warns the driver that a collision is about to occur, and it can also warn when a collision happened down the road to prevent congestion. * _driver assistance_--controls the car for steady-state or emergency intervention (e.g., braking before a collision). CAS can be extended to cooperative collision avoidance systems (CCAS), where vehicles share their information with neighboring vehicles to diminish even more the chance of collisions. There is also some research on speed limiting applications that prevent speeding. [PERSON] et al. [21] developed a system based on RFID technology, with RF transmitters on roads, RF receiver modules on vehicles, and engine control units to establish speed values. One of the earliest works with CCAS was CarTALK 2000 [22], which developed _Cooperative assistance systems_, information, and warning functions. Finally, _Transportation efficiency applications_ are applications that aim at improving efficiency for vehicles and drivers similarly by providing solutions that improve efficiency in things like fuel consumption and travel time. These applications can be divided into four different categories, based on their main work environment and objectives:  
* _intersection control_ is the biggest research area in efficiency solutions. These applications aim at controlling traffic at intersections, which requires complex solutions to reduce waiting time and retain fairness. They can be split into two types of approaches:
* _traffic-light-based_ applications schedule traffic lights based on traffic volume with V2V (the cluster of vehicles at the intersection makes decisions) or V2I (a controller makes the decisions) communication approaches. * _non-traffic-light-based_ applications apply maneuver manipulation, controlled by the intersection controller, to drive on the intersection or vehicle scheduling algorithms. * _route navigation_, also known as vehicular network-based navigation, it is investigated to avoid the negatives of using GPS-based approaches.