Investigation of routing reliability of vehicular ad hoc networks
© Hashem Eiza et al.; licensee Springer. 2013
Received: 4 February 2013
Accepted: 18 June 2013
Published: 1 July 2013
In intelligent transportation systems, the cooperation between vehicles and the road side units is essential to bring these systems to fruition. Vehicular ad hoc networks (VANETs) are a promising technology to enable the communications among vehicles on one hand and between vehicles and road side units on the other hand. However, it is a challenging task to develop a reliable routing algorithm for VANETs due to the high mobility and the frequent changes of the network topology. Communication links are highly vulnerable to disconnection in VANETs; hence, the routing reliability of these ever-changing networks needs to be paid special attention. In this paper, we propose a new vehicular reliability model to facilitate the reliable routing in VANETs. The link reliability is defined as the probability that a direct communication link between two vehicles will stay continuously available over a specified time period. Furthermore, the link reliability value is accurately calculated using the location, direction and velocity information of vehicles along the road. We extend the well-known ad hoc on-demand distance vector (AODV) routing protocol to propose our reliable routing protocol AODV-R. Simulation results demonstrate that AODV-R outperforms significantly the AODV routing protocol in terms of better delivery ratio and less link failures while maintaining a reasonable routing control overhead.
KeywordsAODV Link reliability Routing reliability VANET Vehicular networks
Recently, it has been widely accepted by the academic society and industry that the cooperation between vehicles and road transportation systems can significantly improve driver's safety and road efficiency and reduce environmental impact. In light of this, the development of vehicular ad hoc networks (VANETs) has received more attention and research efforts. Much work has been conducted to provide a common platform to facilitate inter-vehicle communications (IVCs) . IVC is necessary to realize traffic condition monitoring, dynamic route scheduling, emergency-message dissemination and, most importantly, safe driving . It is supposed that each vehicle has a wireless communication equipment to provide ad hoc network connectivity. VANETs are considered as a special class of mobile ad hoc networks (MANETs), yet they have several key features distinguishing them. Network nodes in VANETs are highly mobile, thus the network topology is ever-changing. Accordingly, the communication link condition between two vehicles suffers from fast variation, and it is prone to disconnection due to the vehicular movements and the unpredictable behaviour of drivers. Fortunately, their mobility can be predictable along the road because it is subject to the traffic networks and its regulations. VANETs have normally higher computational capability and higher transmission power than MANETs.
Those unique characteristics of VANETs raise important routing challenging issues that should be resolved before deploying these networks effectively . The most challenging issue is potentially the high mobility and the frequent changes of the network topology [4, 5]. The topology of vehicular networks could vary when the vehicles change their velocities and/or lanes. These changes depend on the drivers, road situations and traffic status, and are not scheduled in advance. The proposed routing protocols and mechanisms that may be employed in VANETs should adapt to the rapidly changing topology. Besides that, they must be efficient and provide quality-of-service support to permit different transmission priorities according to the data traffic type. The existing routing protocols as they are designed for MANETs are not suitable for VANETs.
In this paper, we propose a new reliability based routing scheme to establish a more reliable route between the source and the destination nodes. The novelty of this work lies in its unique design of a reliable routing protocol that considers the mathematical distribution of vehicular movements and the link breakages. This work is based on the scenario, where vehicles move at a variant velocity along two directions on the highway. Extensive simulation experiments are performed to evaluate the performance of our proposed scheme in comparison to ad hoc on-demand distance vector (AODV) routing protocol. Packet delivery ratio, average number of link failures, average end-to-end delay and routing control overhead are the performance metrics considered in our evaluation process.
The rest of this paper is organized as follows: Related works summarizes the related works in this field. Background of vehicular communications briefs a background of vehicular communication technology. Vehicular reliability model presents the proposed vehicular reliability model and explains how our mathematical model is developed to get calculate the link reliability value. The reliability based routing protocol AODV-R explains our reliability based routing protocol AODV-R. Simulation setup and results presents the simulation scenario setup and results. Finally, Conclusion concludes the paper.
2 Related works
The literature on routing reliability mainly addresses MANETs (e.g. [6, 7]). For VANETs, Taleb et al.  propose a scheme that uses the information on vehicle headings to predict a possible link breakage prior to its occurrence. Vehicles are grouped according to their velocity vectors. When a vehicle shifts to a different group and a route involving the vehicle is to break, the proposed scheme searches for a more stable route that includes other vehicles from the same group.
In , the authors propose a velocity-aided routing protocol which determines its packet forwarding scheme based on the relative velocity between the forwarding node and the destination node. The region for packet forwarding is determined by predicting the future trajectory of the destination node based on its location information and velocity.
The authors of  present a prediction-based routing (PBR) protocol for VANETs. It is specifically designed for the mobile gateway scenario and takes advantage of the predictable mobility pattern of vehicles on highways. PBR predicts route lifetimes and preemptively creates new routes before the existing ones fail. The link lifetime is predicted based on the range of communication, vehicles' location, and corresponding velocities of vehicles. Since a route is comprised of one or more links, the route lifetime is the minimum of all its link lifetimes. PBR allows the processing of multiple routing requests to check all the available routes to the destination. If the source node receives multiple replies, then it uses the route that has the maximum predicted route lifetime.
The movement prediction based routing (MOPR) algorithm is proposed in . This algorithm predicts the future position of the vehicle and searches for a stable route to avoid link breakage. If several potential routes between the source vehicle and the destination vehicle exist, MOPR chooses the route that is the most stable when considering the movement conditions of the intermediate nodes with respect to source and destination nodes. This is done using the location, direction and velocity information of each vehicle. An extension to the routing table in each node is needed to fulfill the requirements of this algorithm.
3 Background of vehicular communications
The development of VANETs is motivated by the desire to disseminate road safety information among vehicles to prevent accidents and improve the road safety. All data collected from the sensors on a vehicle can be displayed to the driver or sent to a road side unit (RSU) or be broadcasted to neighbouring vehicles depending on certain requirements . Many more applications are proposed for vehicular networks besides road safety like car-to-home communication, travel and tourism information distribution, multimedia and game applications, and Internet connectivity.
3.1 The architecture of vehicular networks
As shown in Figure 1, the architecture of VANETs falls in three main categories
Inter-vehicle communication - This is also known as vehicle-to-vehicle (V2V) communication or pure ad hoc networking. In this category, the vehicles communicate among each other with no infrastructure support. Any valuable information collected from sensors on a vehicle, or communicated to a vehicle, can be sent to neighbouring vehicles.
Vehicle-to-roadside communication - This is also known as vehicle-to-infrastructure (V2I) communication. In this category, the vehicles can use cellular gateways and wireless local area network access points to connect to the Internet and facilitate vehicular applications .
Inter-roadside communication - This is also known as hybrid vehicles-to-roadside communication. Vehicles can use infrastructure to communicate with each other and share the information received from infrastructure with other vehicles in a peer-to-peer mode through ad hoc communication. Besides that, vehicles can communicate with infrastructure either in single-hop or multi-hop fashion depending on their position. This architecture includes V2V communication and provides greater flexibility in content sharing.
3.2 The special characteristics of VANETs
Similar to MANETs, the network nodes in VANETs are self-organized and can self-manage information in a distributed fashion without a centralized authority or a server dictating the communication . It means that nodes can act as servers and/or clients at the same time and exchange information with each other. Moreover, VANETs have unique attractive features over MANETs as follows :
Higher transmission power and storage - The network nodes (vehicles) in VANETs are usually equipped with higher power and storage than those in MANETs.
Higher computational capability - Operating vehicles can afford higher computing, communication and sensing capabilities than MANETs.
Predictable mobility - Unlike MANETs, the movement of the network nodes in a VANET can be predicted because they move on a road network. If the current velocity and road trajectory information are known, then the future position of the vehicle can be predicted.
3.3 Challenging routing requirements of VANETs
Due to the special features of VANETs, the routing process is an important issue that needs to be addressed before these networks can be deployed effectively. Data packets are forwarded from the source node to the destination node using the available vehicles as relays. However, the expected large number of vehicles and the high dynamics and frequent changing of vehicles' densities raise real challenges for the routing process. Crossing, traffic lights and similar traffic network conditions cause frequent partitions in VANETs that make the routing process even harder. On the other hand, the design of the routing protocol in VANETs can benefit from features like mobility constraints and some kind of predictable mobility on roads. Moreover, the availability of other additional information such as geographical coordinates and city maps can be utilized.
According to , the current routing protocols proposed for VANETs can be classified into five categories: the flooding-based routing protocols that simply broadcast messages over the network; the mobility-based routing protocols, where the mobility information like relative distance, relative velocity, relative acceleration and directions of movement can be used to predict the lifetime/duration of the routing path; the infrastructure-based routing protocols, where the infrastructure such as RSUs, cellular base stations and even routine buses is used to help the robustness and security of VANET communications; the geographic location-based routing protocols, where VANETs can use global positioning system (GPS) location coordinates to find the routes that are geographically closer to the destination vehicle; and the probability-based routing protocols, where the probability theory is used to describe the likelihood of certain events like the probability of link breakage with a certain transmission power or a certain mobility parameter.
4 Vehicular reliability model
4.1 Highway mobility model
where dm is the average distance between vehicles in meters; ρveh is the traffic density on the freeway section considered in vehicles per kilometer; lm is the average length of vehicle in meters; τm is the average time gap between vehicles in seconds; vm is the average velocity of vehicles on the road in meters per second; and qm is the average traffic flow measured in vehicles per second.
On the other hand, the microscopic approach describes the motion of each individual vehicle. It models actions like the accelerations, decelerations and lane changes of each driver as a response to the surrounding traffic. It is known that the macroscopic approach can be used to describe both individual vehicle motion and general traffic flow status . Hence, we use the macroscopic traffic flow model to describe the vehicular traffic flow and utilize the average velocity quantity to consider the mathematical distribution of vehicular movements over the traffic network. Moreover, the connection availability is determined based on the position, direction and velocity of each individual vehicle so the involvement of microscopic traffic flow model can improve the accuracy of the modelling. Thus, we propose a hybrid approach combining both macroscopic and microscopic traffic flow models as an improvement to , where we used only the macroscopic traffic flow model. The vehicular velocity distribution comes from the macroscopic approach, and each individual vehicle's movement is tuned using a microscopic approach to refine the prediction of its movement. Using this hybrid approach, we can obtain more accurate estimation of the link reliability between vehicles.
where U 1 is a random variable generated between 0 and 1. The DBR parameter value is set based on highway studies which suggest that about 75% of aggressive drivers tend to favour acceleration over a general mean velocity .
where q is substituted by use of Equation (3), and lm is neglected to keep the mathematics simple. Hence, the distance between vehicles is exponentially distributed with the rate λ = ρveh/1,000, where d > 0. Nonetheless, the pdf in Equation (9) suggested replacing the velocity of vehicles with a constant average velocity vm which is not quite accurate according to the fact that velocities are variable because of the acceleration/deceleration while driving. However, this simple presentation of the pdf of vehicles' distance is suitable for our highway mobility model and simulation scenario design. More general and accurate distribution of the distance between vehicles has been investigated in .
4.2 Link reliability model
where μΔv = |μv1−μv2| and σ 2 Δv=σ 2 v1 + σ 2 v2 denote the mean and the variance of relative velocity Δ v, respectively. We suppose that each vehicle is equipped with a GPS device to identify its location, velocity and direction information. Tp is defined as the prediction interval for the continuous availability of a specific link l between two vehicles Ci and Cj. We assume that vehicles will not change their velocities either by accelerating or decelerating during Tp. We also assume there is no separation distance between lanes carrying forward traffic and lanes carrying backward traffic. The width of the road is ignored for simplicity. The following cases are considered to calculate Tp accurately:
Vehicles are moving in the same direction(13)
Vehicles are moving in opposite directions(14)
where we assumed that Lij > 0, i.e. two vehicles cannot be at the same location at the same time.
4.3 Route reliability definition
In other words, if multiple routes are available, we choose the most reliable route that satisfies the reliability threshold determined by the application. It can be said that the route P is reliable if R(P) is greater than the reliability threshold, e.g. sensitive data needs more reliable route than other normal data. In this case, the reliability threshold for sensitive data could be R(P) > 0.9. A route could be reliable for some types of data to be transferred while it is not reliable for other types of data.
In conclusion, route reliability is a relative concept and depends on the data type to be transferred. If we have many routes that satisfy the reliability threshold, then we could choose the route that has the least number of hops.
5 The reliability based routing protocol AODV-R
- 1.RREQ message is extended by adding five new fields to its structure as shown in Figure 3a
XPos, YPos contain the coordinates of the vehicle that generates/processes this RREQ.
Speed contains the current velocity of the vehicle that generates/processes this RREQ.
Direction contains the movement angle of the vehicle that generates/processes this RREQ.
Link_reliability contains the value of the link reliability between the sender and receiver of this RREQ.
- 2.RREP message is extended by adding one new field to its structure as shown in Figure 3b
Route_reliability contains the final value of the whole route reliability between the source node and the destination node. This value is used by the source node to decide which route will be chosen in case of multiple routes between the source and the destination are found.
- 3.Routing table is extended by adding one new field to its structure as shown in Figure 3c
Route_reliability contains the value of the route reliability of this route entry. This value is updated every time a route with a higher reliability value is found for the same destination.
5.1 Route discovery process in AODV-R
When the source vehicle sr has data to send, it first looks at its routing table. If there is a valid route to the destination de, then it will use it, else a new route discovery process starts. The source vehicle broadcasts a new RREQ message to the neighbouring vehicles and adds its location information, direction and velocity to this request. Once the RREQ is received by the neighbour vehicle, it calculates the link reliability to the sender vehicle based on Equation (16) and creates/updates a direct route based on the calculated link reliability value. After that, the link reliability value is updated by multiplying the calculated value and the saved value in RREQ message according to Equation (19). The new reliability value is then saved in the RREQ message. After that, the current vehicle will check if this RREQ is processed before or not. If it is, then we have a reverse route to the source vehicle. If the reliability value of this reverse route is less than the reliability value of the discovered one, it means that we have a new reverse route with better reliability value. In this case, the RREQ message will be processed again. Otherwise, it will be discarded. This mechanism allows the intermediate/destination vehicle to process multiple RREQs and send multiple RREPs to the source vehicle.
After finishing the creating/updating process of the reverse route, the current vehicle checks if it is the destination vehicle. If yes, then RREP message is sent back to the source vehicle with the final route reliability value. If it is not the destination, then it checks if it has an active route to the destination. If there is one, then it sends RREP message back to the source vehicle, else it forwards RREQ to other vehicles.
6 Simulation setup and results
We use the OMNet++ simulator  to conduct our simulation experiments and performance evaluation. OMNet++ is an extensible, modular, component-based C++ simulation library and framework, primarily for building network simulators. Since OMNet++ is a discrete event simulation package, we perform 15 runs for each simulation experiment to average our results and construct 95% confidence intervals to indicate the reliability of our simulation results. We compare the simulation results of AODV routing protocol with our proposed routing protocol AODV-R.
Experiment A - We change the average velocity of the vehicles in the third lane only from 60 to 140 km/h. The UDP packet size is 1,024 bytes. The transmission data rate is 10 packets per second.
Experiment B - We change the data packet size from 500 to 3,000 bytes. The transmission data rate is 10 packets per second. The average velocity of vehicles for each lane is 40, 60 and 80 km/h, respectively.
In the following, the simulation results and confidence intervals are obtained via 15 simulation runs with one random stream seeded by the number of the corresponding run (from 0 to 14). This random stream is generated using the Mersenne Twister random number generator algorithm  that has the incredible cycle length of 2^19937-1. In addition, there is no need for seed generation because chances are very very small that any two seeds produce overlapping streams.
6.1 Performance metrics
The following four performance metrics are considered for the simulation experiments:
Average packet delivery ratio (PDR) represents the average ratio of the number of successfully received data packets at the destination node to the number of data packets supposed to be delivered.
Links failures represent the average number of link failures during the routing process. This metric shows the efficiency of the routing protocol in avoiding link failures.
Routing control overhead expresses the ratio of the total generated routing control messages to the total number of data messages supposed to be received.
Average end-to-end delay represents the average time between the sending and receiving times for packets received.
6.2 Effect of different velocities on the routing performance
Experiment A - average packet delivery ratio using 95% confidence intervals
Velocity in the third lane (km/h)
Experiment A - average end-to-end delay using 95% confidence intervals in seconds
Velocity in the third lane (km/h)
Experiment A - average number of link failures using 95% confidence intervals
Velocity in the third lane (km/h)
Experiment A - average routing control overhead ratio using 95% confidence intervals
Velocity in the third lane (km/h)
6.3 Effect of different data packet sizes on the routing performance
Experiment B - average packet delivery ratio using 95% confidence intervals
Data packet size (bytes)
Experiment B - average end-to-end delay using 95% confidence intervals in seconds
Data packet size (bytes)
Experiment B - average number of link failures using 95% confidence intervals
Data packet size (bytes)
Experiment B - average routing control overhead ratio using 95% confidence intervals
Data packet size (bytes)
In this paper, we developed a link reliability model based on the vehicular velocity distribution on highways. A hybrid approach combining both macroscopic and microscopic traffic flow models is used in our highway mobility model. We applied the link reliability model to the routing process in VANETs to have a reliability-based routing scheme. We showed the advantages of using the link reliability model to improve the performance of the current routing protocol in VANETs. The vehicular reliability model is incorporated into AODV routing protocol to create our AODV-R routing protocol. The evaluation results reveal that AODV-R has a better delivery ratio compared to the conventional AODV since it chooses the most reliable route among all possible routes to the destination. Although the proposed AODV-R scheme has a slightly higher computational cost, it results much lower link failures while providing slightly higher average end-to-end delays than AODV.
The developed link reliability model considered the vehicular movements as the main cause for link breakages. Wireless channel congestion and/or noise errors  could be other possible causes for link breakages as well. The impact of wireless channel congestion/noise errors on the link reliability model and considering more routing constraints such as delay in our developed routing protocol will be our future extensions.
- Jiang D, Taliwal V, Meier A, Holfelder W, Herrtwich R: Design of 5.9 GHz DSRC-based vehicular safety communication. IEEE Wirel. Commun 2006, 13(5):36-43.View ArticleGoogle Scholar
- Yang K, Ou S, Chen H, He J: A Multihop peer communication protocol with fairness guarantee for IEEE 802.16 based vehicular networks. IEEE Trans. Veh. Technol 2007, 56(6):3358-3370.View ArticleGoogle Scholar
- Moustafa H, Zhang Y: Vehicular Networks Techniques, Standards and Applications. Auerbach Publications Boston, MA, USA; 2009:7-11. 111–115, 145–148View ArticleGoogle Scholar
- Abdalla GMT, Abu-Rghef MA, Senouci SM: Current trends in vehicular ad hoc networks. Paper presented at the 1st international workshop UBIROADS’2007, Marrakech, Morocco 6 July 2007.Google Scholar
- Blum JJ, Eskandarian A, Hoffman LJ: Challenges of inter vehicle ad hoc networks. IEEE Trans. Intell. Transport. Syst 2004, 5(4):347-351. 10.1109/TITS.2004.838218View ArticleGoogle Scholar
- Jiang S, He D, Rao J: A prediction-based link availability estimation for mobile ad hoc networks. Proceedings of IEEE INFOCOM 2001, Anchorage, AK 2001, 3: 1745-1752.Google Scholar
- Thilagavathe V, Duraiswamy K: Prediction based reliability estimation in MANETs with Weibull nodes. Eur. J. Sci. Res 2011, 64(2):325-329.Google Scholar
- Taleb T, Ochi M, Jamalipour A, Kato N, Nemoto Y: An efficient vehicle-heading based routing protocol for VANET networks. Paper presented at IEEE wireless communications and networking conference, Las Vegas, NV, USA 3–6 April 2006.Google Scholar
- Feng KT, Hsu CH, Lu TE: Velocity-assisted predictive mobility and location-aware routing protocols for mobile ad hoc networks. IEEE Trans. Veh. Technol 2008, 57(1):448-464.View ArticleGoogle Scholar
- Namboodiri V, Gao L: Prediction-based routing for vehicular ad hoc networks. IEEE Trans. Veh. Technol 2007, 56(4):2332-2345.View ArticleGoogle Scholar
- Menouar H, Lenardi M, Filali F: A movement prediction-based routing protocol for vehicle-to-vehicle communications. Paper presented at the 1st international vehicle-to-vehicle communications workshop V2VCOM 2005, co-located with MobiQuitous 2005, San Diego, California, USA 21 July 2005.Google Scholar
- Nekovee M: Sensor networks on the road: the promises and challenges of vehicular ad hoc networks and vehicular grids. Paper presented at the workshop on ubiquitous computing and e-research, Edinburgh, UK; 2005.Google Scholar
- Kao J: Research interests. . Accessed (January 2013) http://www.cs.nthu.edu.tw/~jungchuk/research.html
- Lee KC, Lee U, Gerla M: Survey of routing protocols of vehicular ad hoc networks. In Advances in Vehicular Ad-hoc Networks: Developments and Challenges. Edited by: Watfa M. Information Science Reference, Hershey, PA; 2009:149-170.Google Scholar
- Yan G, Mitton N, Li X: Reliable routing in vehicular ad hoc networks. Proceedings of the IEEE 30th international conference on distributed computing systems workshops (ICDCSW), Genova, Italy; 2010. 2125–263269View ArticleGoogle Scholar
- Olariu S, Weigle MC: Vehicular Networks from Theory to Practice. Chapman & Hall/CRC, Boca Raton, FL, USA; 2009. pp. 46View ArticleGoogle Scholar
- Rudack M, Meincke M, Jobmann K, Lott M: On the dynamics of ad hoc networks for inter vehicle communication (IVC). Paper presented at the international conference on wireless networks (ICWN’02), Las Vegas, NV, USA 24–27 June 2002.Google Scholar
- Kerner BS: Introduction to Modern Traffic Flow Theory and Control. Springer, Heidelberg; 2009.View ArticleGoogle Scholar
- Eiza MH, Ni Q: A reliability-based routing scheme for vehicular ad hoc networks (VANETs) on highways. Paper presented at the IEEE 11th international conference on trust, security, and privacy in computing and communications (TrustCom), Liverpool, UK 25–27 June 2012, 1578-1585.Google Scholar
- Niu Z, Yao W, Ni Q, Song Y: Dereq: a qos routing algorithm for multimedia communications in vehicle ad hoc networks. In Proceedings of the 2007 international conference on wireless communications and mobile computing (IWCMC’07). ACM, New York, NY, USA; 2007. August 1216,– 393–398Google Scholar
- Schnabe W, Lohse D: Grundlagen der Straßenverkehrstechnik und der Verkehrsplanung (Aufl. Verlag für Bauwesen, Berlin; 1997.Google Scholar
- Davies VA: Evaluating mobility models within an ad hoc network, Colorado School of Mines, USA, 2000. . Accessed (January 2013) http://toilers.mines.edu/Public/Publications/Thesis/VanessaDavies.pdfGoogle Scholar
- Box GEP, Muller ME: A note on the generation of normal random deviates. Analysis of Mathematics Statistics 1958, 29(2):610-611. 10.1214/aoms/1177706645View ArticleGoogle Scholar
- Marsaglia G, Tsang WW: The ziggurat method for generating random variables. J. Stat. Soft 2000, 5(8):17.View ArticleGoogle Scholar
- Leutzbach W: Introduction to the Theory of Traffic Flow. Springer, Berlin; 1988.View ArticleGoogle Scholar
- Yousefi S, Altman E, El-Azouzi R, Fathy M: Connectivity in vehicular ad hoc networks in presence of wireless mobile base-stations. Paper presented at the 7th Int. Conf. on ITS Telecommunication, Sophia Antipolis, France 6–8 June 2007.Google Scholar
- Eiza MH, Ni Q: An evolving graph-based reliable routing scheme for VANETs. IEEE Trans. Veh. Technol 2013, 62(4):1493-1504. 10.1109/TVT.2013.2244625View ArticleGoogle Scholar
- Andrews LC: Special functions of Mathematics for Engineers. 2nd edition. McGraw-Hill, New York; 1992. pp. 110–112Google Scholar
- Perkins CE, Royer EM: Ad-hoc on-demand distance vector routing. Proceedings of the 2nd IEEE workshop on mobile computing systems and applications (WMCSA’99), New Orleans, Louisiana, USA; 1999:90-100.Google Scholar
- OMNeT++ Community, OMNeT++ network simulation framework. . Accessed May 2011 http://www.omnetpp.org/
- OMNeT++ Community, New random number architecture. . Accessed October 2012 http://www.omnetpp.org/component/content/article/8-news/3533
- Vinel A: 3GPP LTE versus IEEE 802.11p/WAVE: which technology is able to support cooperative vehicular safety applications? IEEE Wirel. Commun. Let 2012, 1(2):125-128.View ArticleGoogle Scholar
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.