1 Introduction
-
Firstly, we present a taxonomy of existing research with a major focus on services in computing, storage, network and application in VCC. There are surveys papers on VCC available in literature; however, most of these are exploring the VCC applications space [3‐5]. In this work, we explore the frameworks designed to provide various services through VCC, where applications are only a sub-part of the domain.
-
Secondly, to provide a comprehensive overview of the research area, we have also reviewed existing simulators and tools required to evaluate the performance of a proposed framework in VANETs/VCC. To the best of our knowledge, VCC has not been fully explored in a review paper from its service frameworks and simulation tool perspective.
-
The VCC framework design is very complex due to its ad hoc nature, wireless communications, and inherent dynamism associated with the vehicles. Thus, this survey on frameworks highlights existing challenges and identifies new research directions for the research community. Moreover, a better understanding of the available simulation tools can help researchers in the selection of an appropriate simulation platform for performance testing of any new proposed framework.
2 Vehicular networks
3 Vehicular cloud computing
3.1 Computing as a service
3.1.1 Research challenges and future directions
3.2 Storage as a service
3.2.1 Research challenges and future directions
3.3 Network as a service
3.3.1 Research challenges and future directions
3.4 Application as a service
3.4.1 Research challenges and future directions
4 Vehicular simulation tools
4.1 Mobility generators
Active | Map | Traffic | Network simulator | Major characteristics | |
---|---|---|---|---|---|
development | support | model | compatibility | ||
SUMO [50] | ✓ | Both real and | Microscopic | NS-2, NS-3, | Lane change, collision avoidance, |
user defined | OMNeT++ | multiple vehicles types, traffic intersections, speed control | |||
MOVE [51] | × | Both real and | Microscopic | NS-2, QualNet, | Lane change, collision avoidance |
user defined | GloMoSim | multiple vehicles types, traffic intersections, speed control | |||
STRAW [53] | × | Built-in | Microscopic | NS-2 | Lane change, collision avoidance, |
models only | multiple vehicles types, speed control | ||||
STRAW [53] | × | Real and | Microscopic | SWANS | Lane change, speed control |
maps only | |||||
Vanet- | × | Both real | Microscopic | NS-2, QualNet, | Lane change, speed control |
MobiSim [54] | OMNeT++ | traffic intersections | |||
GloMoSim | |||||
PARAMICS [55] | ✓ | Both real and | Microscopic | OMNeT++, | Lane change, collision avoidance |
user defined | NS-2 | multiple vehicles types, traffic intersections, speed control | |||
VISSIM [56] | ✓ | Both real and | Microscopic and | NS-2, QualNet | Lane change, collision avoidance, |
user defined | mesoscopic | multiple vehicles types, traffic intersections, speed control | |||
MoNoTrac [57] | × | Real maps | Microscopic | NS-2, NS-3, | Speed control, collision avoidance |
only | OMNeT++ | ||||
SMARTS [58] | ✓ | Both real and | Microscopic | N/A | Lane change, collision avoidance |
user defined | multiple vehicles types, traffic intersections, Speed control | ||||
Traffsim [59] | ✓ | Both real and | Microscopic | N/A | Lane change, collision avoidance |
user defined | multiple vehicles types, traffic intersections, Speed control | ||||
MATSim [60] | ✓ | Both real and | Microscopic | N/A | Lane change, collision avoidance |
user defined | multiple vehicles types, traffic intersections, Speed control | ||||
DTALite [61] | ✓ | Real maps | Mesoscopic | N/A | Lane change, speed control, traffic |
only | intersections | ||||
MovSim [62] | ✓ | Built-in | Microscopic | N/A | Lane change, traffic intersections, |
maps only | multiple vehicles types, speed control | ||||
FreeSim [63] | × | Real maps | Microscopic and | N/A | Speed control |
only | macroscopic |
-
SUMO (Simulation of Urban Mobility) [50] is an open-source traffic simulator. The main features of SUMO include the traffic portability, handling of large road networks, multiple vehicles categories, vehicle collision avoidance, traffic junction support, and single and multiple vehicle routing with Graphical User Interface (GUI) support. It also supports the traffic simulation on real locations across the globe. Its output cannot be directly incorporated with a network simulator; however, third party open-source software is available to convert its output for import in Objective Modular Network Testbed (OMNeT++).
-
MOVE (MObility model generator for VEhicular networks) [51] is an extension of SUMO for realistic traffic pattern generator in VANET simulations. It supports the traffic generation using the GUI, resulting in saving time and effort of writing traffic generation scripts. It also supports the map editing function. The output of MOVE can be directly incorporated with several network simulators such as Network Simulator 2 (NS-2) and Global Mobile Information System Simulator (GloMoSim).
-
CityMob [52] is a traffic generator with multiple models. Mobility models include Downtown model, Simple model, and Manhattan model. It supports the uniform blocking size, non-uniform traffic distribution as in realistic environment, effect of traffic density on vehicle movement speed, all streets with bidirectional lanes, pre-defined range for vehicle movement speed, and vehicle queuing.
-
STRAW (Street Random Waypoint) [53] is a traffic generator based on real geographical location in USA. STRAW output is directly compatible with the network simulator SWANS only. Modifications are required in order to incorporate the output of STRAW with other network simulator such as NS-2.
-
VanetMobiSim [54] is a JAVA-based traffic generator that produces realistic traffic at microscopic and macroscopic level. It supports the additional feature of importing real geographical US-based maps beside generating random maps. VanetMobiSim also supports the pre-compiled intelligent driving models such as Intelligent Driving Model with Lane Changing and Intelligent Driving Model with Intersection Management. The output of VanetMobiSim is directly compatible with multiple network simulators such as NS-2, GloMoSim, and QualNet.
-
PARAMICS [55] is a commercial traffic generator application. Offering more enhanced features for mobility patterns such as 3D visualization, support for economical evaluation, large-scaled traffic generation, and integration of real statistics.
-
VISSIM [56] is a commercial multi-modal traffic generator developed and maintained by Planung Transport Verkehr (PTV) AG group, which specializes in transport engineering and related solutions. Basically it is a microscopic level traffic simulator but a mesoscopic module is also available. It also supports the hybrid simulation (mixture of microscopic and mesoscopic level traffic flows). It can simulate more than one kind of traffic, e.g., vehicles, public transport, pedestrians, and cycles. Moreover, the output traces are exportable into 3D graphical platforms such as AutoCAD 3D max software.
-
MoNoTrac [57] (Mobile Node Trace generator) is a mobility generator developed in JAVA, which aims to ease generation of mobility data based on real geographical data. The user first defines description using frontend and selects map to simulate from Openstreet Map. Then nodes along with their configurations are defined. User can also give simulation options such as simulation time. In addition, replication and specific position of the nodes can be defined. It generates eXtensible Markup Language (XML)-based meta-format which needs to be converted to other format for use with network simulators like OMNET++, NS-2, and Network Simulator 3 (NS-3). With the help of a plug-in, it also supports custom models.
-
SMARTS (Scalable Microscopic Adaptive Road Traffic Simulator) [58] is a microscopic level distributed mobility generator that supports the execution of multiple process in parallel making it capable of simulating huge number of vehicles (in millions). Due to its quick simulation time, it can be used as a traffic forecaster for the future events. Moreover, the output trace can be exported to multiple formats. A major limitation of SMARTS is the assumption of uniform rational car behavior for all the traffic.
-
TraffSim [59] is a JAVA-based platform independent traffic simulator capable of executing simulation scenarios in parallel. Basically, it is a microscopic level traffic generator with the support of speed calculations, distance traveled, fuel consumption, carbon dioxide emissions, traveling time, and other such parameters for each vehicle individually. It also supports the occasional events such as traffic jams and congestion in peak hours. XML is used for the scripting of each simulation. It can support various third party maps such as Google Maps or even hybrid satellite road layouts.
-
MATSim (Multi Agent Transport Simulation) [60] is a microscopic traffic simulator, originally designed to study the traffic movement of Swiss daily traffic spanning over more than 7 million trips each day. It supports XML-based input and output for setting parameters of nodes/persons. By default, it uses second as the smallest time entity and the overall simulation time depends upon the computing speed of the machine. It also supports variation in quality and quantity in data as input.
-
DTALite [61] is a mesoscopic level open-source DTA (Dynamic Traffic Assignment) traffic generator, which is used with NeXTA (Network eXplorer for Traffic Analysis) for the simulations. Output traces are supported in the 3D environment. DTALite can be used for large-scale transportation modeling applications because of its support for multi-threaded processing, which significantly reduces model run-times. Model includes the impacts of work zones, proposed freeways/ highways, and tolling facilities on the traffic flows.
-
MovSim (Multi-model open-source vehicular-traffic Simulator) [62] is another JAVA-based platform independent microscopic simulator. It supports XML-based configuration and produces csv text output. It has implemented several different models for car following and uses its own physics-based fuel-consumption model and lane change models. The simulator does not support multiple lane junctions.
-
FreeSim [63] is an open-source customizable traffic generator for microscopic and macroscopic level traffic. It supports the traffic algorithm for single and multiple vehicles on multiple lanes and data collected on real time can also be used for traffic generation. The major advantage of FreeSim is its support for ITS as it enables the communication of vehicles with the monitoring system on the highways.
4.2 Network simulators
Active development | 802.11p support | Architecture language | Simulation language | |
---|---|---|---|---|
NS-2 [64] | × | NS-2.33 | C++ | C++ & OTCL |
GloMoSim [65] | × | × | C | C |
NS-3 [66] | ✓ | ✓ | C++ & Python | C++ & Python |
OMNet++ [67] | ✓ | ✓ | C++ | C++ |
Mininet [68] | ✓ | ✓ | Python | Python |
JiST/SWANS [69] | × | × | JAVA | JAVA |
OPNET [70] | ✓ | ✓ | C++ | C++ & OTCL |
-
NS-2 (Network Simulator 2) [64] is a commonly used discrete event network simulator. It uses C++ simulation kernel and Object-oriented Tool Command Language (OTCL) for simulation modeling. It is open source; thus, new modules are easy to implement. Wireless support includes node mobility, propagation modeling for radio, and 802.11p protocol. NS-2 also supports the event scheduler, which maintains the event log and executes the simulation accordingly.
-
GloMoSim [65] is an open-source multi-layered parallel discrete event simulator. Due to its multi-layered architecture, it is very convenient to incorporate different models at different layers using the standard APIs. It supports the simulation scripts written in C programming language. QualNet is the commercial version of the GloMoSim written in C++ that offers very high scalability factor as compared to GloMoSim.
-
NS-3 (Network Simulator 3) [66] is the replacement of NS-2 to cater for the modern network research requirements. TCL is no longer needed for simulation modeling, and Python script support is enabled. NS-3 does not support backward compatibility with NS-2 and has the extended software integration support with the other open-source network models.
-
OMNeT++ [67] (Objective Modular Network Test bed in C++) is an open-source component-based C++ discrete event simulator with a GUI support. Several modules are glued together to form a simulation setup. The output from OMNeT++ is in the form of text files that can also be processed by other tools such as MATLAB or R. It is free only for academic and non-profit use; a commercial version OMNEST is also available.
-
Mininet [68] is an open-source network emulator which leverages virtualization to run networking scenarios where each host, networking switch or router act like a real machine. It provides an extensible Python API for network creation and experimentation. Simulation of wireless networks is enabled with the help of Mininet-WiFi add-on. Simulations of SDN in wireless networks as well as 802.11p protocol is supported.
-
JiST (JAVA in Simulation Time) [69] is a JAVA-based open-source discrete event simulator. Whereas SWANS is a wireless network simulation platform build on the JiST platform to meet the modern requirements of the networking simulations. SWANS is capable of simulating large-scaled wireless sensor networks by consuming fewer resources as compare to the GloMoSim and NS-2.
-
OPNET [70] (OPtimized Network Engineering Tools) is a discrete event commercial network simulator. It provides an interactive GUI to define topologies and to configure parameters from application layer to the physical layer. It uses object-oriented programming paradigm to map GUI-based input to simulation of the real systems. Users can also define custom packet format using OPNET. Its open interface supports the use of external libraries with OPNET.
4.3 VANET simulators and frameworks
Active | Mobility | Network | Traffic | Major characteristics | |
---|---|---|---|---|---|
development | generator | simulator | model | ||
VEINS [71] | ✓ | SUMO | OMNeT++ | Microscopic | Car following, traffic light, multiple flow models, environmental model, speed model |
VSimRTI [72] | ✓ | SUMO, VISSIM | OMNeT++, SNS | Microscopic | Cellular network simulation support, |
PHABMACS | NS-3, SWANS | car following, traffic light, speed model | |||
VENTOS [73] | ✓ | SUMO | OMNeT++ | Microscopic | MATLAB compatibility for plots, |
& Mesoscopic | dynamic traffic routing, car following & traffic light models | ||||
EstiNet [74] | ✓ | Built-in | Estinet | Microscopic | Car following, traffic light, multiple traffic flow models, speed model |
iTETRIS [75] | × | SUMO | NS-3 | Microscopic | Emission and noise models, traffic rerouting, car following & speed models |
TraNS [76] | × | SUMO | NS-2 | Microscopic | Danger warning and accident simulation support, random & flow-based vehicles, car following, dynamic rerouting, manual traffic lights |
NCTUns [77] | × | Built-in | Built-in | Microscopic | Speed models, random flow-based vehicles, car following, automatic traffic lights |
GrooveNet [78] | × | Built-in | Built-in | Microscopic | Speed models, random flow-based vehicles, car following, manual traffic lights |
MobiReal [79] | × | Built-in | GTNetS | Microscopic | Speed model, car following, manual traffic light, Probablistic & Rule based flows |
-
VEINS (Vehicles in Network Simulation) [71] is an open-source VANET framework that uses SUMO as the mobility generator and OMNeT++ as the network simulator. VEINS is bidirectionally coupled between network and traffic simulators enabling it to model the influence of road traffic on network traffic and also vice versa. For example, vehicles need to change their route or slow down (change in mobility pattern) on reception of a warning message generated by the network simulator. Message exchange between mobility generator and network simulator takes place using TCP. Real maps can be used for road layout plans. Moreover, an environmental application has also been integrated that monitors the carbon dioxide gas released by the vehicles.
-
VSIMRTI (V2X Simulation Runtime Infrastructure) [72] is a VANET simulator developed by DCAITI (Daimler Center for Automotive Information Technology Innovations), Germany, that provides a flexible framework for adaptive evaluations of ITS protocols. The framework can be compiled using any of the available traffic generators SUMO, VISSIM, etc. Similarly, for network simulator, it can use NS-3, OMNeT++, JiST/SWANS, and VSimRTI_Cell (cellular network simulator). It thus allows easy integration and exchange of simulators. Since it adopts a layered architecture, it can be used for the simulation of latest ITS applications using VSIMRTI_AppNT module.
-
VENTOS [73] (VEhicular NeTwork Open Simulator) is a cooperative platoon management simulator that uses SUMO as mobility generator and OMNeT++ as network simulator. This advanced simulator also enables the V2I communication using DSRC enabled wireless communications. Major features consist of bi-directional message exchange using Simple Network Management Protocol (SNMP) protocol, adversary module for security attacks, and dynamic routing of traffic.
-
EstiNet [74] is a commercial network emulator and simulator maintained by EstiNet Technolgies Inc. The VANET add-on enables the V2V and V2I simulation environment for high-speed environments with minimal latency. For the mobility generator functionality, it provides built in support for customized maps or importing roadmap traces and defining mobility pattern/parameters (lane changing, overtaking, traffic signals, trip type, etc.). It also provides support for IEEE802.11p for fast transmission of data.
-
iTETRIS [75] (an Integrated) is a part of FP7 (Framework program 7) for the ITS applications. It couples the SUMO as the mobility generator and NS-3 as the network simulator with the help of iCS (iTETRIS Control System). The major objective of iTETRIS is to design an open-source VANET simulation platform for the large-scaled V2V and V2I communication using the state-of-the-art simulators. Due to advanced capabilities of NS-3 and architecture of iTETRIS, it can handle multiple transmissions between vehicles at the same time using multiple wireless communication medium, which is close to realistic scenarios.
-
TraNS (Traffic and Network Simulation Environment) [76] is an open-source integration of SUMO and NS-2, with an objective of simulating close to real VANET environment. It is not under active development and the last release (Trans V1.2) was in 2009; hence, it is not compatible with later versions of both SUMO and NS-2. It includes the generation of random routes for vehicles, simulating traffic events, and visualization using the Google Earth API. It also contains pre-modeled applications for road safety and traffic efficiency.
-
NCTUns (National Chiao Tung University network simulator) [77] is an integrated network simulator and emulator that utilizes Linux TCP/IP stack to provide simulation results with high fidelity. Moreover, on a multicore computing machine, NCTUns is capable of executing parallel simulations. With the built-in GUI interface, users can have customized network topologies, modification of modules inside the nodes, plotting graphs, and animation for packet transmission.
-
GrooveNet [78] is a hybrid VANET simulator as it enables the communication between real vehicles and simulated vehicles. Any new designed protocol can be analyzed on the simulated roads. As it supports visualization of real road network, any geographical location of USA can be used for modeling, even at street level. This simulator is also Linux based.
-
MobiReal [79] is a network simulator capable of simulating the mobility of vehicles as well as mobility of humans. It supports algorithms for traffic congestion, pedestrian’s collision avoidance, and simulating multiple mobility modules simultaneously. Basically, it utilizes GTNetS (Georgia Tech Network simulator) to incorporate the mobility in network simulator. For vehicular mobility, it uses the NETSREAM, which is a non-open-source release from TOYOTA Motors limiting the use of MobiReal. However, other traffic simulators can be incorporated with MobiREAL to provide the vehicular mobility functionality.
4.4 Vehicular datasets
Origon | Detail |
---|---|
Rome (Italy) | Mobility traces of Taxi Cabs [81] |
Shanghai (China) | Mobility traces of Taxi Cabs [82] |
San Francisco (USA) | Mobility traces of Taxi Cabs [83] |
New York (USA) | Trace set of vehicle with steerable antenna [84] |
Washington (USA) | WiFi-based connectivity between vehicles and |
base station [85] | |
Asturias (Spain) | Mobility traces based on GPS [86] |
Stockholm (Sweden) | Pedestrian mobility (Micro-simulation) [87] |
Multiple locations (USA) | Human mobility [88] |
Milano (Italy) | Traces of mobile phone based mobility [89] |
Aachen (Germany) | Traces of 802.11p packets under RF jamming [90] |
Maryland (USA) | Data set for vehicle collision (2012) [91] |
Washington (USA) | Data set of new vehicles assessment |
(safety tests) [92] | |
Aarhus (Denmark) | Road Traffic Data [93] |
Aarhus (Denmark) | Parking Data [94] |
Europe | Time stamped real traffic data set [95] |
– | Data set for short-ranged communication of V2V |
and V2I [96] | |
Cologne (Germany) | Vehicular Mobility Trace [97] |
Creteil (France) | Vehicular Mobility Trace (Microscopic Level) [98] |