A cluster-based vehicular cloud architecture with ... - Springer Link

4 downloads 127 Views 1MB Size Report
Jan 7, 2015 - ular social networking, and location-based services are some of ..... resource management and resource scheduling algorithms which are ...
J Supercomput (2015) 71:1401–1426 DOI 10.1007/s11227-014-1370-z

A cluster-based vehicular cloud architecture with learning-based resource management Hamid Reza Arkian · Reza Ebrahimi Atani · Abolfazl Diyanat · Atefe Pourkhalili

Published online: 7 January 2015 © Springer Science+Business Media New York 2015

Abstract Recent advances in wireless communication technologies have made it possible to implement Intelligent Transportation Systems (ITS) to have more safety in roads and eliminating the excessive cost of traffic collisions. However, there are some resource limitations in mobile vehicles, which is a significant technical challenge in the deployment of new applications and advancement of ITS services. In this paper, a new vehicular cloud architecture is proposed which uses a clustering technique to solve the resource limitation problem by grouping the vehicles and cooperatively providing the resources. To be more specific, the clustering structure is made flexible using the fuzzy logic in the cluster head selection procedure. Resource management of the proposed architecture is improved by employing the Q-learning technique to select a service provider among participant vehicles as well as introducing three different queuing strategies to solve resource allocation problem. Finally, the performance of proposed architecture is evaluated using extensive simulation and its efficiency is demonstrated through comparison with other existing approaches. Keywords Vehicular cloud · Vehicular ad-hoc network (VANET) · Clustering · Fuzzy logic · Q-Learning

H. R. Arkian (B) · R. E. Atani · A. Pourkhalili Department of Computer Engineering, University of Guilan, Rasht, Iran e-mail: [email protected]; [email protected] R. E. Atani e-mail: [email protected] A. Pourkhalili e-mail: [email protected] A. Diyanat Department of Computer Engineering, University of Tehran, Tehran, Iran e-mail: [email protected]

123

1402

H. R. Arkian et al.

1 Introduction With the growth and advancement of wireless communication technologies and its services, our daily lives have been revolutionized. As an example, considerable research efforts have been made in this area to make inter-vehicle communications possible. Vehicular networks provide a variety of new services, ranging from driver safety, to traffic information and warnings regarding traffic jams and accidents, to providing information about weather or road condition, parking availability, and advertisements [1]. Vehicular networks are able to notably improve transport safety, relieve traffic congestion, reduce air pollution, and provide comfortable driving [7]. Advances in vehicular technology have provided new applications demanding complex computation and large storage. The in-vehicle multimedia entertainment, vehicular social networking, and location-based services are some of these applications. However, due to the requirements of small-size and low-cost hardware systems, a single vehicle has limited computation and storage resources. Hence, it is difficult for an individual vehicle to efficiently support these applications. Consequently, it hinders the rapid development of vehicular networks [28]. Vehicular ad-hoc network (VANET) is one of the vehicular communication technologies using to connect vehicles and roadside infrastructures. In VANETs, dedicated short-range communication (DSRC) is specifically designed for vehicle-to-vehicle (V2V) and vehicle-to-infrastructure (V2I) communications [43]. However, in VANETs there are some radio spectrum bandwidth limitations which have impacts on the quality of any data transmission services. A very promising solution is to share the computation and storage resources and also bandwidth among physically nearby vehicles. It motivates us to study the concept of cloud computing in the vehicular networks [25]. In [24], the concept of vehicular clouds (VCs) is defined as: “A group of largely autonomous vehicles whose corporate computing, sensing, communication, and physical resources can be coordinated and dynamically allocated to authorized users”. Hence, a group of vehicles share their computation, storage and spectrum resources in a vehicular cloud, and the resources of vehicles are dynamically scheduled on demand based on group cooperation. In fact, VC serves as both service provider and consumer at the same time and the overall resource utilization is significantly enhanced [14]. Moreover, VC can adapt dynamically according to the changing application requirements and system environments and will help to resolve many of technological challenges of vehicular networks [39]. Based on the VC architecture, there are some new types of cloud services such as Network as a service (NaaS), Storage as a service (STaaS), Cooperation as a service (CaaS), Information as a service (INaaS), etc. [25]. Cooperation as a service (CaaS) is introduced in [22] as a new form of community service which will allow providing drivers with a set of services by taking advantage of V2V communications and minimum infrastructure need. CaaS usually uses a publish/subscribe mechanism, where a vehicle expresses its interests regarding a service and other vehicles will cooperate by publishing necessary information regarding that service. The main technique for providing CaaS is partitioning the network into clusters [25]. To improve the vehicular networks performance, clustering techniques can be used to form efficient groups of vehicles. The cluster dynamically moves on the road and vehicles join or leave the cluster according to their speed and proximity to identified

123

A cluster-based vehicular cloud architecture

1403

cluster head (CH); besides, vehicles can communicate with other cluster members (CMs) based on vehicle-to-vehicle (V2V) communication [27]. The V2V communication is flexible and independent of the roadside conditions, which is particularly attractive for the areas where the roadside infrastructures are not necessarily available [35]. In addition, other main challenges in vehicular networks such as network stability and scalability which are issued by high mobility and frequently change of topology can be addressed by clustering techniques [37]. Another challenging issue in vehicular cloud is resource management. Since VC is a resource-intensive component [28], resource management is very crucial for this type of cloud. However, there are few studies on resource management in vehicular cloud environments. 1.1 Main contributions In this paper, the results of [4] which is a cluster-based vehicular cloud architecture are extended by observing inherent drawbacks of existing architectures. To be more specific, we emphasize the efficiency, stability and reliability of cloud services for vehicles by utilizing clustering technique. The new architecture is called COHORT. Furthermore, whereas exiting literature could not satisfy different aspects of a good resource management approach [i.e. fairness, efficiency and quality of service (QoS)] all together, we propose a new resource management approach. The other main contributions of this work are as follows: – A new Fuzzy logic-based cluster head selection method is proposed to handle the variety of environmental terms and provide flexibility for the cluster structure. – A new Q-Learning-based cloud site or service provider selection is introduced to improve the efficiency of cluster head decisions. – Also, considering to achieve a good resource management features, three resource allocation strategies are offered. 1.2 Organization The organization of the paper is as follows: in Sect. 2, we briefly review the literature of vehicular networks and specially vehicular clouds. Section 3 introduces the system design and different steps of COHORT, while in Sect. 4 we provide a detailed description of our proposed resource management scheme. We evaluate the performance of different components of COHORT through simulation in Sect. 5. Finally, the paper concludes in Sect. 6. 2 Related works The idea of involving mobile ad-hoc networks (MANETs) for street and highway communications was inspired by [2] whereas advanced communication technologies are used to interconnect vehicles and roadside infrastructures, and eventually access to the Internet [28]. A variety of information technologies have been developed for intelligent vehicles. The applications and the requirements for vehicular networks are

123

1404

H. R. Arkian et al.

illustrated in [15]. This new type of network, known as a vehicular ad hoc network (VANET) [1], provides a wireless communication between moving vehicles, using a dedicated short range communication (DSRC). It is essentially IEEE 802.11a amended for low overhead operation to IEEE 802.11p called Wireless access in vehicular environments (WAVE) [33]. DSRC is specifically designed for vehicle-to-vehicle (V2V) and vehicle-to-infrastructure (V2I) communications [23]. Satyanarayanan [30] outlines the inherent problems of mobile devices, such as resource scarceness, finite energy and low connectivity caused by their mobility. The concept of offloading data and computation in cloud computing is used in [13] to address these problems. It applies resource providers other than the mobile device itself to host the execution of mobile applications and [10] termed it Mobile Cloud. Thus, mobile cloud computing is based on the fact that, without financing in infrastructure, businesses can function by renting the infrastructure and the necessary software for their organization [10]. Several unique features for mobile cloud computing in terms of hardware and service providing have been defined in [9]. Recently, in some works, the combination of cloud computing and vehicular network as a network of mobile nodes is addressed. The idea of applying smart vehicles as cloud servers in a mobile cloud computing environment was proposed in [24] and the concept of a vehicular cloud (VC) was introduced afterwards. In this paper, it is assumed that these vehicles have Internet access and will have the on-board computational, storage, and sensing capabilities and using self-organized autonomous resources, vehicles will serve on demand in real time to resolve large, serious problems of unexpected occurrences. The authors also extend their work in [25] by providing the possible architectural designs and the resource allocation and load balancing solutions for vehicular clouds. A comprehensive taxonomy of vehicular networking and a comparative study between cloud computing and vehicular cloud computing were presented in [39]. The authors highlight vehicular clouds as an extension of conventional cloud computing with several new aspects. In [14], the authors propose the taxonomy of VANET-based cloud computing and divide VANET clouds into three architectural frameworks named vehicular clouds (VC), vehicles using clouds (VuC), and hybrid vehicular clouds (HVC). Also, unique challenges from architectural, security, and privacy standpoint in VANET clouds are discussed. Moreover, Rong Yu et al. discuss the opportunities and challenges in exploiting cloud computing in vehicular networks [28]. They proposed a three-layered cloud architecture for vehicular networks to integrate redundant physical resources in ITS infrastructures, including data centers, roadside units, and vehicles. Also, they emphasize the efficiency, continuity, and reliability of cloud services by focusing on efficient resource management in the proposed architecture. The resource competition among virtual machines is formulated and solved in a game theoretical framework. Finally, they addressed virtual resource migration due to vehicle mobility based on a resource reservation scheme. CROWN, as a new cloud service discovery protocol for VANETs, is introduced in [20]. The authors extend the concept of vehicular clouds by enabling capable smart vehicles, which are called STARs, to offer their various resources directly to their neighboring vehicles as well as remote ones via the network of road side units (RSUs). In fact, the proposed scheme includes provisions for allowing vehicles to send requests about the resources they require for the RSUs,

123

A cluster-based vehicular cloud architecture

1405

and to make RSUs search for the best possible STARs that can satisfy users requests, according to the criteria specified by users, such as delay or cost. The above-mentioned schemes attempt to provide cloud services for vehicles on the roads. However, none of them addressed cooperating service providing and discovering by considering to the high mobility of vehicles as mobile wireless devices in VANETs. The high mobility of vehicles leads to frequent disconnection of communication links, changing the topology of the network and also transient connection to the RSUs. Another disadvantage of these approaches is the lack of considering to the management circumstance of the vehicular cloud resources in two conditions: when the number of resources is more than requests and conversely when the number of requests is more than resources. In case of making the vehicular networks more robust and scalable and confronting high mobility and frequently changes of topology in this type of networks, several techniques have been proposed in the literature, dealing with cluster formation. In [36], different clustering algorithms for vehicular networks have been surveyed and their objectives, features, specialities and possible limitations have been highlighted. As the newest algorithms, in [37] a new QoS-based clustering algorithm is discussed. The goal of the algorithm is to form stable clusters and maintain the stability during communications and link failures while satisfying the quality of service requirements. Also, a moving cluster multiple forward (MCMF) architecture based on clustering of vehicles, cluster movement and continuous transmission of messages in a multi-hop manner was proposed in [35]. MCMF introduces a hierarchical multiple forwarding mechanism enabling communication between every vehicle and RSU via other vehicles. As our previous work, we proposed a clustering scheme in a 3-step approach for estimation of traffic volume in a road segment based on the actual volume of wireless-equipped vehicles [5]. Varieties of different approaches have been observed in designing clustering algorithms whereby typically each one focuses on different performance metrics. However, these works do not take into consideration changing vehicular environment characteristics (e.g. highway or urban scenarios, density and time of the day) and they are not flexible enough, consequently. In [32], a user-oriented fuzzy logic-based k-hop distributed clustering scheme for VANETs is proposed which employs the fuzzy logic as a prominent player in the clustering scheme. In fact, as an optimal solution for clustering with considering the network environment, using fuzzy logic is more flexible than any mathematical model. To achieve the goals mentioned above and cooperative service providing in the vehicular cloud, we propose a novel cluster-based vehicular cloud architecture which uses fuzzy logic to solve the cluster head selection problem without deriving the mathematical model. Also, we complete our approach by proposing a learning-based technique for service provider selection and three different queuing strategies for resource allocation procedure. 3 COHORT architecture 3.1 System design In this paper, we consider a vehicular network where a set of vehicles are moving on the road and using some applications. Since many new applications involve large

123

1406

H. R. Arkian et al.

Fig. 1 Proposed cluster-based vehicular cloud architecture

amounts of data to download/upload and storing temporary data, they need more bandwidth, storage and computation resources. Moreover, we assume that all vehicles are equipped with a positioning system (e.g. a GPS), through which it can acquire information about its current location and direction, and a VANET-compliant radio transceiver, through which it can communicate with other vehicles. Furthermore, there are a set of RSUs which are located at certain predefined places like junctions, traffic signals, congested places, city exit points and toll gates. All RSUs are attached to a central cloud (i.e. Via Internet) and provide some services for vehicles. However, each RSU is accessible only to those vehicles located within its transmission range. Based on this situation, we decide to form a vehicular cloud and using CaaS as one of the cloud services; but, due to vehicles mobility, vehicular cloud implementation is very different from a cloud in a traditional computer network. The mobility attribute of the VC implies that long-term pooling of the resources of those vehicles is almost impossible; hence, there are no dedicated resources available. This feature does not exist in conventional clouds and turns out to be an important defining characteristic of VCs. Given that clustering technique is a good approach to overcome high mobility and frequent topology changes of vehicular network [36], we form vehicular cloud based on the cluster structure. Vehicles form dynamic clusters and the ones that are more suitable become cluster head (CH). The dynamic clusters are themselves mobile, moving along with the high-speed vehicles and the vehicles communicate with the RSU through CH node. This ensures that even with high-speed vehicles, the moving cluster architecture remains with a stable topology, as long as the velocity of vehicles remains more or less the same. Figure 1 shows the proposed architecture. In the proposed cluster-based vehicular cloud, a CH is in fact a cloud controller which is responsible for the creation, maintenance, and deletion of a vehicular cloud. All vehicles will virtualize their physical resources and register the virtual resources in the cluster head and it schedules all virtual resources of the vehicular cloud. If a vehicle needs some resources of the vehicular cloud, it should apply to the cluster head. Furthermore, with respect to resource management, cluster-based vehicular cloud is similar to a conventional cloud deployment strategy in which cloud resources are scheduled by the controller. This means, a vehicle is not aware of the cloud sites

123

A cluster-based vehicular cloud architecture

1407

where the VMs are built up. The cluster head should maintain the cloud resources and during a cloud service, if a vehicle (i.e. cloud site) is not available, the CH schedules a new site to replace it. Also, in terms of resource utilization, cluster head is able to globally schedule and allocate all resources of a vehicular cloud. As a result, we need a clustering scheme and a cluster head selection method, while we should define new resource management and resource scheduling algorithms which are discussed in the following.

3.2 Clustering procedure The proposed clustering scheme organizes the vehicles into clusters according to their location, direction of travel and their velocity. Vehicles are supposed to build their neighborhood relationship by broadcasting their current speed and position data embedded in H E L L O messages to other vehicles within their communication range. The vehicles moving in the same direction and in the vicinity of each other come under a cluster. Since several cluster formation approaches have been proposed in the literature, we do not focus on it in this paper. We model a cluster head selection algorithm that allows electing a set of optimal cluster heads and will present in the next section. Cluster head election information for any node is limited to the nodes that are within its communication range. The priority of a node to become a CH is determined by its Fit Factor . Hence, every node to become a CH calculates its Fit Factor and broadcasts it. Then, all nodes vote for their neighbor having the local maximum Fit Factor value. A node can as well vote for itself, if it has the maximum value. Once the election procedure is done, the elected node acknowledges electing as a cluster head by changing its state to a CH and sending an Ack message. Subsequently, neighboring vehicles change their cluster ID to the ID of the new CH and dynamic cluster is formed in this way.

3.3 Fuzzy logic-based cluster head selection As mentioned above, to select the cluster head, each vehicle should compute its Fit Factor . Since the optimal solution is dependent on the network environment, any mathematical model of the cluster head selection problem is complex to derive, and a solution based on it would be non-flexible. Therefore, we use fuzzy logic [16] to solve this problem without deriving the mathematical model. Fuzzy logic is a decisionmaking process based on input membership functions and a group of fuzzy rules. This is similar to the way the human brain operates, which simulates the interpretation of uncertain sensory information [17]. In addition, fuzzy logic approaches in real-time systems have been demonstrated to be very efficient [19]. The fuzzy inference system consists of fuzzification, inference engine and defuzzification. The first step in designing a fuzzy inference system is to determine input and output variables, and their fuzzy set of membership functions. This is followed by designing fuzzy rules for the system. Furthermore, a group of rules are used to represent inference engine (knowledge base) for articulating the control action in linguistic form [44]. Since fuzzy membership

123

1408

H. R. Arkian et al. Mapping of Rules Average Speed Neighborhood Degree

Fit Factor

RSU Link Quality Defuzzificaon

Fuzzificaon

Fig. 2 Proposed fuzzy logic scheme structure

functions and fuzzy rules can be modified to satisfy a specific environment, a fuzzy logic-based system is flexible [32,41]. Thus, as illustrated in Fig. 2, we propose a new fuzzy logic controller (FLC) for calculation of Fit Factor value which is assumed to be deployed in each vehicle. The vehicles evaluate their eligibility to become CH using fuzzy logic in terms of average speed, neighborhood degree, and RSU link quality. The procedure of calculating Fit Factor based on fuzzy logic has four steps described in the following. 3.3.1 Metrics computation step We consider average speed, neighborhood degree, and RSU link quality as the three metrics representing suitability of a cluster head. Therefore, in Fit Factor evaluation, these metrics should be considered jointly. The notations of metrics are described in Table 1. First, to select a more stable cluster head, every vehicle determines how close its velocity is to the mean velocity of all its neighbors. The vehicles compute their relative average speed (ψv ) as follows: ψv =

Savg − μs , σs

(1)

where Savg is the average of n sampling of the speed of vehicle v in different time interval, and μs is the mean speed of its all neighbors. Also, σs is the standard deviation of the speed of all neighbors. Note that, ψv is the standard score and the absolute value of it represents the distance between the raw score of the average speed of vehicle v and the mean velocity in units of the standard deviation; hence, we normalize the value of the relative average speed in this way. Moreover, with calculation of the average speed of vehicle v in different time intervals, we ensure vehicle v is moving with almost the same speed with its neighbors in different time intervals. As the second metric, to build relatively stable cluster structure, we consider the vehicles with better neighborhood degree (Dn ). In our scheme, we use the speed difference of vehicles to identify real neighbors of vehicle v. As a result, the neighborhood degree (Dn ) is the number of corresponding neighbors of v that the difference between

123

A cluster-based vehicular cloud architecture Table 1 Notations used in the COHORT

1409

Symbol

Description

ψv

Relative average speed of vehicle v

Dn

Neighborhood degree of vehicle v

RLQ

RSU link quality of vehicle v

Fit Factor

Suitability of vehicle v to become CH

Q(s, a)

Pair of state s and action a in the Q-table

Ri

Reward value of node i

BWi

Available bandwidth of node i

TRi

Total available computation and storage resources of node i

rreq

The reward given by the requester to helper node

γ

New variable discount factor

their speed and the speed of v is less than S thr . Note that, as discussed in [27], in order to avoid having a high variation of the number of neighbors, the threshold can be set as a function of the standard deviation (e.g. S thr = bσs ) and the threshold will be considered as a dynamic parameter which depends on the speed characteristics of the vehicles within the vicinity. Finally, through the RSU link quality metric (RLQ), we attempt to choose vehicles that have maximum robustness of the communication with RSU, as the dynamic cluster heads. For this reason, we prefer the vehicle v as a dynamic CH which is connected to the RSU provides the highest value of ρ. ρ represents the quality of connection between vehicle v and RSU and is computed by vehicle v as follows: (2) ρ = Prxv − Sv , where Prxv is the power (in dB) of a H E L L O message received from RSU and is computed based on Link Budget; Sv also is the sensitivity of the vehicle wireless interface (in dB). According to [8], the Link Budget is simply a balance sheet of all the gains and losses on a transmission path, and usually includes a number of product gains and losses. It relates TX power, RX power, path loss, RX noise and additional losses, and merges them into a single equation. A link budget equation can be written as: (3) Prx = Ptx + G − L , where Ptx is the transmitter output power, G is the total transmitter and receiver antenna gain and L is the total transmitter, receiver and other losses (i.e. large and small scale fading, shadowing, interference, etc.). Furthermore, ρthr is defined as the v and difference between the threshold values of the power of received message (PrxMin v PrxMax , respectively) corresponding to the minimum and maximum data rates (e.g. respectively RateMin = 6 Mbps and RateMax = 27 Mbps in DSRC) supported by the wireless interface of vehicle v. Therefore, we define RLQ as follows:   ρ ,1 (4) R L Q = min ρthr

123

1410

H. R. Arkian et al. Bad Medium Fast

1

Medium Slow

Smal

1

Medium Large

1 0.8

0.8

0.8

0.6

0.6

0.4

0.4

0.4

0.2

0.2

0.2

0

0.6

0

0 0

0.2

0.4

0.6

0.8

1

Average Speed

Good

0

0.2

0.4

0.6

0.8

Neighborhood Degree

1

0

0.2

0.4

0.6

0.8

1

RSU Link Quality

Fig. 3 Fuzzy membership functions

If RLQ ∼ 1, then vehicle v and RSU will communicate at the maximum rate, and vehicle v can preserve the link connectivity with RSU and handle the impact of vehicular mobility. 3.3.2 Fuzzification step Fuzzifier takes the crisp values of CH selection metrics as inputs and gives their corresponding fuzzy membership values as output based on the predefined linguistic variables and membership functions. The fuzzy membership functions of average speed (ψv ), neighborhood degree (Dn ), and RSU link quality (RLQ) metrics are depicted in Fig. 3. It is possible to use more complicated membership functions (e.g. continuously differentiable curves). However, triangular or trapezoidal functions are adequate for the proposed approach because we only need to distinguish the best suitable vehicle node from other vehicles to become a cluster head. Also, triangular and trapezoidal membership functions have reduced computation complexity (especially in the case of triangular membership functions); therefore, they are suitable for real-time systems. We consider following issues in defining membership functions. First, to provide high stability of cluster head and prevention of small cluster creations, we should choose a node which has almost same speed with its neighbors while there are more vehicles in its vicinity. Therefore, the average speed (ψv ) membership function and neighborhood degree (Dn ) membership function are defined to sort nodes when the values are larger than 0.6. Each node calculates what degree the ψv belongs to Slow, Medium, Fast and what degree the Dn belongs to Small, Medium, Large. Moreover, we have to avoid choosing a node with a weak connection to the RSU. However, if the RSU link quality (RLQ) is above a certain level for multiple links, there is no significant preference for selecting any node. As shown in Fig. 3, we do not differentiate between the nodes when the RLQ is larger than 0.4. In this case, each node uses the RSU link quality membership function to calculate to what degree the RLQ belongs to Bad, Medium, Good. Furthermore, Fig. 4 depicts the correlation behavior between two inputs and the output variables. The trend shows that the value of Fit Factor increases when the value of the average speed (ψv ) and neighborhood degree (Dn ) increase

123

A cluster-based vehicular cloud architecture

1411

Fig. 4 Correlation between inputs (average speed and neighborhood degree) and output (fit factor)

from 0.6 to 1. However, the value of Fit Factor remains 0 when ψv and Dn are smaller than 0.6. Note that, as mentioned above, we consider these two metrics to improve the stability of the chosen cluster head and the cluster, consequently. 3.3.3 Rules mapping step Based on the fuzzy values of ψv , Dn , and RLQ of vehicle v, Inference Engine maps the fuzzy values to the IF-THEN rules contained in the Knowledge Rule Base and defined in Table 2, to get the eligibility of vehicle v to become CH, as the output fuzzy value. The linguistic variables of the output are defined as Perfect, Good, Acceptable, Bad, VeryBad and described as the following: – IF ψv is {Fast, Medium, Slow}, Dn is {Small, Medium, Large}, and R L Q is {Bad, Medium, Good}, THEN FitFactor is {Per f ect, Good, Acceptable, Bad, V er y Bad}. Since there can be multiple rules applying at the same time, we use the min–max method to combine their evaluation results. In the min–max method, for each rule, the minimal value of the antecedent is used as the final degree, and when combining different rules, the maximal value of the consequence is used. 3.3.4 Defuzzification step In this step, the Defuzzifier takes the fuzzy output value and converts it to a crisp value using predefined output membership function as indicated in Fig. 5. The defuzzifica-

123

1412 Table 2 Knowledge rule base

H. R. Arkian et al. Rules

A. Speed

N. Degree

RLQ

FitFactor

Rule1

Slow

Large

Good

Perfect

Rule2

Slow

Large

Medium

Good

Rule3

Slow

Large

Bad

Bad

Rule4

Slow

Medium

Good

Good

Rule5

Slow

Medium

Medium

Good

Rule6

Slow

Medium

Bad

Bad

Rule7

Slow

Small

Good

Bad

Rule8

Slow

Small

Medium

Bad

Rule9

Slow

Small

Bad

VeryBad

Rule10

Medium

Large

Good

Good

Rule11

Medium

Large

Medium

Good

Rule12

Medium

Large

Bad

Acceptable

Rule13

Medium

Medium

Good

Good

Rule14

Medium

Medium

Medium

Acceptable

Rule15

Medium

Medium

Bad

Bad

Rule16

Medium

Small

Good

Acceptable

Rule17

Medium

Small

Medium

Acceptable

Rule18

Medium

Small

Bad

VeryBad

Rule19

Fast

Large

Good

Acceptable

Rule20

Fast

Large

Medium

Acceptable

Rule21

Fast

Large

Bad

Bad

Rule22

Fast

Medium

Good

Acceptable

Rule23

Fast

Medium

Medium

Bad

Rule24

Fast

Medium

Bad

VeryBad

Rule25

Fast

Small

Good

Bad

Rule26

Fast

Small

Medium

VeryBad

Rule27

Fast

Small

Bad

VeryBad

tion is performed based on the center-of-gravity method which is used in the Mamdani fuzzy logic controllers [17]. For instance, if the degree for {Bad}, {Acceptable} and {Good} are 0.25, 0.75 and 0.5, respectively, the consequent result function forms a shape as in Fig. 5. Then, we calculate the centroid of this shape. The x-coordinate of the centroid is the defuzzified value, which shows the eligibility value (i.e. Fit Factor ) of the Vehicle v to become a cluster head. 4 COHORT resource management In this section, we mainly focus on resource management in vehicular clouds. In the COHORT architecture, in order to have a good resource management there are two issues that need to be resolved: (1) helper selection—how to select a helper (i.e.

123

A cluster-based vehicular cloud architecture VeryBad

1413

Bad

Acceptable

Good

Perfect

0.25

0.5

0.75

1

1 0.8 0.6 0.4 0.2 0 0

Fig. 5 An example of output μx on the output membership function

Fig. 6 COHORT resource management issues. Case 1: vehicle A sends a request to CH. Three helpers are available and CH should select one of them. Case 2: vehicles B, C and D have different requests and CH should setup a priority queue to allocate limited resources to them

a vehicle with sufficient unutilized resources in VC) from cluster members to get optimum result, and (2) requester selection—how to select a requester (i.e. a cluster member having some resources request from VC) when there are several requests and limited resources. Figure 6 illustrates two different cases showing the resource management issues. We consider these two issues in the following sections.

4.1 Helper selection based on Q-learning High dynamic environment of vehicular cloud and frequent state changes of vehicles as the service providers make it necessary to adapt the resource management to the vehicles state. In fact, it is difficult to predict in advance the set of vehicles that will help the requester, when the vehicular environment variables are changing. Fortunately, the reinforcement learning techniques [26] can tackle these problems. Reinforcement learning is a technique in machine learning which consists of finding the optimal action to perform in a dynamic environment. Generally, an agent learns to optimize an interaction with a dynamic environment through trial-and-error to make different decisions. The ultimate goal is to learn an optimal policy that maximizes the reward of the agent on the long run [6]. We model the helper selection operation in the cluster as a Markov decision process (MDP) which can be solved by the reinforcement learning. This model is designed for cluster heads with the objective of improving global performance of the helper

123

1414

H. R. Arkian et al. observaon

Reward/State Esmaon

r

request

Request Scheduler

s State Transion

Q-Learning KB (Q-Table) Cluster Head

acon Vehicular Cloud (Cluster environment)

Fig. 7 Markov decision process model

selection procedure. In our model, each cluster head or agent decides based on its experience that which action to take at each state. After taking an action, the agent gets a reward from the environment. We use MDP to describe this learning model (Fig. 7). The model is defined as a tuple < S, A, Ta , Ra >, where – S is a finite set of states. – A is the finite set of actions a CH can perform. – Ta (s, s  ) is the transition probability that action a in state s will lead to state s  at time t + 1. – Ra (s, s  ) is the immediate reward a CH may receive after taking action a in state s at time t. To solve this MDP model, we propose to use a reinforcement learning algorithm. The literature provides a large number of reinforcement learning approaches, such as temporal difference learning, direct utility estimation and Q-learning [29]. We are motivated to use Q-learning algorithm [38] since it allows comparing the expected utility of the available actions without requiring a model of its environment and works by estimating the values of state–action pairs Q(s,a). With Q-learning, each cluster head maintains a two-dimensional Q-table. Given particular state s and action a, we can locate Q value of Q(s,a) as a cell in the Q-table. The Q value in each cell implicates the average reward value over the time. Therefore, we just look up the maximal Q value in the table, when we need to make a decision, and the corresponding action is the optimal action. A cluster head periodically updates the Q-table to improve the optimality of its actions. The Q-table serves as the local knowledge base for each CH. Thus, the ultimate objective of Q-learning is to find an optimal policy by estimating its Q value. The core of Q-learning algorithm is given by Eq. 5:     Q(s , a ) , Q(s, a) ← (1 − α) × Q(s, a) + α × r + γ × max  a

(5)

where α is the learning rate which models here how quickly the Q values can change with a dynamic network topology. γ is the discount factor. It models the fact that immediate reward is or not more valuable than future reward. If this value is high, future rewards are more valued than immediate rewards. In the opposite case, the

123

A cluster-based vehicular cloud architecture

1415

learning algorithm counts immediate rewards more strongly. r represents the expected immediate reward of executing action a at state s. Also, maxa  Q(s  , a  ) models the maximum expected future reward when the system reaches the state s  after taking the action a. We define the COHORT Q-learning components as follows: The cluster is considered as the environment and the cluster head plays the role of agent. The action of a CH is to select the best helper; hence, the possible set of actions allowed at each CH is the set of cluster members. Also, we define three states namely complete, incomplete and r eject, which indicate the result of helper cooperation in requester demand. Note that, the state of a CH changes based on the feedback received from requesters in the cluster. If a service is provided for the requester and its request (e.g. downloading a stream) is completed, the CH will be rewarded. Consequently, the state of the CH will be changed to complete. Conversely, if the request is not completed, the state of the CH is changed to incomplete. On the other hand, if the helper does not accept cooperation, no reward is given to it, and it causes a transition to the state r eject. The most important challenge to successfully achieve the helper selection’s performance is to define the suitable reward function. In fact, the CH will use this function to update its selecting policy. We define two feedbacks for every action. The first feedback is an immediate reward given to the CH after choosing a helper node. This feedback will represent the impact of the decision in comparison with other nodes in the vicinity. Also, we consider the feedback which is issued by the requester vehicles as the second reward (i.e. called delayed reward). For immediate rewards, we consider parameters which are effective in the decisions. The first factor is based on how vehicles are moving in the cluster. If vehicles are moving with variant speeds, it is more likely that leads to frequent disconnection of communication links compared to when vehicles are moving with a nomadic pattern [12]. Therefore, the reward should be more effective for choosing a vehicle if the vehicles are moving with variant speeds. Secondly, we consider a node more suitable if its available bandwidth is high and it will be highly desirable for those applications that need bandwidth sharing (e.g. cooperative download/upload and streaming). Third, according to the main goal of the COHORT, we consider high total available computation and storage resources as an effective factor in rewarding. Based on the decision factors described above, we formulate the reward function for node i as follows: Ri = w1 × ψi + w2 ×

BW i T Ri + w3 × , BW max T R max

(6)

where ψi is the relative average speed calculated based on Eq. 1, while BW and TR mean the values of bandwidth and total resources, respectively. Also, w1, w2 and w3 are the corresponding weighing factors varying in the range of 0 to 1 and w1 + w2 + w3 = 1. These factors facilitate the weighting to the metrics and indicate the sensitivity of Ri to the values of decision factors. For delayed reward (i.e. second feedback), we consider requester feedback (rreq ) which is the reward given by the requester after getting services. In this way, we ensure that the helper chosen by CH satisfies requester’s resource needs. According to [44], we use a variable discount factor called γ  which is calculated as γ  = γ × rreq . Therefore, when a node gets a service, it sends its delayed reward to the cluster head,

123

1416

H. R. Arkian et al.

and CH calculates the rewards for the selected helper, and updates the Q value of node i in its Q-table using the following equation: 







Q i (si , ai ) = (1 − α) × Q i (si , ai ) + α × Ri + γ × max Q i (s , a )  a

 (7)

Finally, in this way the vehicle with the highest Q value will be selected as the next helper. 4.1.1 Evaluation of the Q-learning algorithm A challenge for a learning agent is the exploitation versus exploration: the agent must exploit its knowledge from previous learning, but this will not lead necessarily to a global optimum; hence, it has to explore new actions and states in its environment to obtain more knowledge about the environment and looking for better policies. Since CH selects the node that has a maximal Q value to be a helper and add new vehicles to its Q-table upon becoming a cluster member, in the proposed Q-learning algorithm exploitation and exploration do not contradict each other. CH also updates its knowledge (Q values) upon reception of feedbacks and a helper is determined after updating the Q values; consequently, the action selected is always the best. Moreover, convergence is a concern for reinforcement learning algorithms. In [38], the authors demonstrate that a Q-learning scheme converges to the optimum action values with a probability of 1 if the following two conditions are satisfied: (1) Actions are repeatedly sampled in all states; and (2) action values are represented discretely. In the proposed Q-learning algorithm, the conditions of convergence are insured. In fact, in the proposed algorithm, CH samples all cluster members by computing the Ri factor. In addition, the Q values are represented discretely in the proposed approach. Therefore, the algorithm used in COHORT converges to the optimum action values. 4.2 Resource allocation approach Resources in VCs are represented in the form of virtual machines (VMs). Generally, in a vehicular cloud, since it provides services to several vehicles concurrently, there are multiple VMs. In this case, the resources in a cloud should be appropriately allocated. VM resource allocation should consider several aspects [28]: – Efficiency: VM resource allocation strategy should be efficient such that the limited resources are fully utilized. – Quality of service (QoS): The resources allocated to a specific VM should be sufficient for the completion of the VMs tasks to achieve its QoS requirements. – Fairness: VMs with the same workload should be offered statistically equal resources. In COHORT, we achieve efficiency and QoS via constructing vehicular cloud based on clustering approach and using the Q-learning technique. For fairness aspect, we also use three queuing strategies which can be employed in different applications and

123

A cluster-based vehicular cloud architecture

1417

New Request

FFQ

New Request

BAQ

Round Rabin

RAQ

Round Rabin

New Request

Fig. 8 Resource allocation strategies. FFQ is first in first out queuing strategy, BAQ is bandwidth aware queuing strategy and RAQ is resource aware queuing strategy

these are First In First Out (FIFO), Bandwidth Aware and Resource Aware strategies. Figure 8 also depicts these strategies. 4.2.1 First in first out (FIFO) queuing (FFQ) The FIFO is an intuitive scheduling strategy which does not adopt any consideration to enhance the efficiency of the usage of resources. In the FFQ strategy, when the CH receives a request, it just inputs this request into the tail of its buffer. When the CH wants to send a request to a helper, it always fetches the first one in the buffer. 4.2.2 Bandwidth aware queuing (BAQ) The basic idea of the bandwidth aware queuing (BAQ) is that a CH should assigns resources to the requesters based on their bandwidth requirements. The CH may have requests with different required bandwidths. In the BAQ, the strategy is maximizing the total number of requests which get DSRC resources from vehicular cloud. In this case, the CH will prepare a queue, sort requests and follow a round-robin method to assign the DSRC channel to requesters. The proposed BAQ strategy let as many requests use DSRC resources as possible, but to constrain the amount of permitted queue by currently available DSRC resources. 4.2.3 Resource aware queuing (RAQ) In the resource aware queuing (RAQ), the cluster head will prepare a queue for each type of resources (i.e. storage and computation). Whenever the CH receives a request, it will categorize it according to which type of resources requested and then inputs this request into the corresponding queue. Similar to BAQ, we sort the queues based on the number of resources needed by the requests and with the strategy of maximizing the

123

1418

H. R. Arkian et al.

Fig. 9 Simulation of a part of Zeyneddin Highway of Tehran with SUMO

total number of the requests which get resources, and also we use round-robin method to assign resources to the queues. Moreover, since requests are fetched one-by-one from the queues and are assigned to helpers, we let requests with the same type and the same number of resources has the same priority in queues. 5 Performance evaluation 5.1 Simulation model A comprehensive simulation was conducted to evaluate the performance of our approach. We have used a simulation platform composed by the OMNet++ [34] and the SUMO [21] tools. To connect these two tools, we resorted to the use of Veins [31]. We have implemented the functionalities of COHORT and modeled the wireless communication among the vehicles using OMNet++. SUMO supports both micro-mobility and macro-mobility features and through it, we have generated mobility patterns for different vehicle densities. As shown in Fig. 9, we have considered 10 km length of the Zeyneddin Highway of Tehran city, with two lanes and two traffic direction. At the beginning of a simulation, vehicles are uniformly distributed in lanes and when reaching directional and non-directional ramps (as in exit ramp and entrance ramp), each vehicle randomly has a decision to continue. We use several traffic characteristics in our simulation: inter-vehicle spacing, density and flow rate. Inter-vehicle spacing is the distance between vehicles [42]. Density is the number of vehicles occupying a certain area, usually represented in vehicles/km. Flow rate is the number of vehicles passing a certain point over a certain amount of time, usually represented in vehicles/h [3]. According to [40], inter-vehicle spacing can be reasonably approximated by exponential distributions when the network is divided into different segments. The flow rate in different traffic densities can have three different types of distributions: Poisson, exponential, or uniform [18]. We consider

123

A cluster-based vehicular cloud architecture Table 3 Simulation parameters

Parameter

1419 Value

Simulation time

180 s

Highway length

10 km

Speed of vehicles

60–120 km/h

Transmission range

300 m

Transmission rate

6 Mbps

Size of messages

100 Bytes

1,800, 3,600 and 5,400 vehicles/h for low, medium and high flow rates, respectively. The speed assigned to the vehicles typically follows the normal distribution [18]. The velocity bounds on this highway range from 60 to 120 km/h. Furthermore, according to DSRC standard supporting bit rate in the range 6–27 Mbps, the data rate is set to 6 Mbps as default and the 5.9 GHz frequency band is considered in the simulation design. The transmission range for the simulations is fixed on 300 m and the size of the messages is 100 bytes. To provide more accurate simulations, we took a confidence level of 95 % and for each case we repeated the simulation with different random seeds (i.e. independent simulations). Table 3 shows the values of the parameters used in our simulation. Since our proposed approach contains different parts, we evaluate the performance of it in three different aspects: (1) The performance of fuzzy clustering scheme, (2) The performance of Q-learning scheme, and finally (3) The performance of vehicular cloud architecture. 5.2 Evaluation of the proposed fuzzy clustering scheme Since the constancy of the COHORT architecture is mainly based on the stability of its cluster structure, we focus on the stability evaluation of our clustering scheme. We present a comparison between proposed scheme and two existing clustering techniques, Lowest-ID [11] and user-oriented fuzzy logic-based clustering Scheme [32]. In Lowest-ID algorithm, each node in the has an identifier that is distributed to all of the node’s neighbors in a broadcast transmission and a node with lowest ID in its k-hop neighborhood becomes the cluster head. We choose Lowest-ID algorithm because it is a well known and widely accepted clustering scheme in the area of adhoc networks. Also, the User-Oriented scheme is the only existing fuzzy logic-based clustering scheme designed for VANETs. It organizes the vehicles into k-hop clusters according to their location, direction of travel and velocity and also passenger interests in certain information. We compare the three schemes under the same environment variables in two different performance metrics: cluster head duration and cluster stability. 5.2.1 Cluster head duration The existence time of a dynamic cluster on the road is directly related to the duration of its cluster head availability. Therefore, we define the cluster head duration as the

123

1420

H. R. Arkian et al.

Fig. 10 Cluster head duration

time interval from when a vehicle node becomes the cluster head node to when it gives up the cluster head role. The cluster head duration allows us to evaluate the global stability of the clustering algorithms. Figure 10 illustrates the variation of the average cluster head duration of three schemes in three different flow rates with respect to the velocity of vehicles. Due to the fact that when the vehicles move faster, the topology of the vehicular network is more dynamic, and the average cluster head duration will decrease when the velocity of vehicles increases. Simulation results show that when the maximum speed changes from 60 to 120 km/h, the cluster head duration is reduced around 15 % for COHORT clustering algorithm, while this value is reduced much more for two other techniques. In this case, the User-oriented algorithm has better performance than Lowest-ID algorithm. This performance improvement is based on the fact that the velocity of vehicles in the cluster formation process is taken into account. However, connectivity between the cluster head and the cluster members is not considered in this scheme and also it organizes the vehicles into k-hop clusters. As a result, it has a lower cluster

123

A cluster-based vehicular cloud architecture

1421

Fig. 11 Cluster stability value

head duration in comparison with the proposed scheme in which both neighborhood degree and velocity metrics are taken into account in the cluster head selection process. On the other hand, the proposed scheme decreases the re-clustering time by merging different clusters and increasing the average CH duration in this way. Note that, by increasing the density of vehicles, the probability of clusters merging goes up and the average CH duration decreases, consequently. 5.2.2 Cluster stability We define cluster stability as the changing value of cluster configuration according to the topology changes. The stability of a clustering algorithm will vary depending on the number of cluster changes of vehicles and the number of cluster breaks. Generally, a good clustering algorithm should be designed to minimize the number of cluster changes by maximizing the proportion of mobility pattern of the cluster head with the cluster members. Figure 11 shows the comparison of the cluster stability percentage between three schemes. As depicted in this figure, COHORT clustering scheme experiences the highest value of cluster stability among the case studies in all flow rates. The reason of this superiority is participation of both neighborhood degree and average speed metrics in the cluster head selection procedure. Furthermore, as expected, the results shown that we have more stable clusters by increasing the flow rate. However, the figure shows an improved percentage of stability in medium flow rate compared to the low flow rate, but this improvement decreases in the case of high flow rate. We conclude that despite having less cluster breaking in higher flow rates, the higher density of vehicles, the more changing in cluster configuration. 5.3 Evaluation of the proposed Q-learning scheme In this section, we show our simulation results and evaluation of the convergence and performance of the COHORT Q-learning-based helper selection scheme, in terms of the successful and unsuccessful completion rates. We assign 0.7 to variable α and it is decreased to 0.05 during the simulation time. Also, γ is set to 0.9 and rreq varies between 0.05 and 0.2 based on the convergence rate of state values. To the best of our knowledge, COHORT is the first learning-based resource management scheme

123

1422

H. R. Arkian et al.

Fig. 12 Normalized standard deviation of the complete state’s values

proposed for vehicular cloud. Hence, in order to investigate the effects of learning, we compare the COHORT Q-learning-based helper selection method with a non-learning version of our scheme, where in the non-learning scheme, the helper vehicles are selected simply based on their distance to the cluster head.

5.3.1 Convergence As mentioned in Sect. 4.1.1, convergence is a challenge for Q-learning algorithms. In Fig. 12, the normalized standard deviation in the value of state complete is shown for a cluster head. As can be seen, the value of this CH is eventually converged to the optimum action value and, hence, almost all the actions of this cluster head lead to a complete state. In other words, the COHORT Q-learning-based helper selection scheme is able to converge to fixed complete state after some time.

5.3.2 Unsuccessful service completion rate To show the effect of the COHORT Q-learning scheme on the choosing suitable vehicles as helpers, we compare learning-based and non-learning-based methods in terms of unsuccessful resources providing and service completion over the repetition of cooperation. Since each vehicle after receiving a service request, response in two modes (i.e. accept or r eject), and also accepet mode has two finish states (i.e. complete and incomplete), we consider 50 % value for the probability of request rejection by the helper and 25 % value for the probability of both service providing completion and incompletion states. Thus, we define two general results: (1) success or the probability of successful service providing with 25 % probability and (2) unsuccess or the probability of unsuccessful service providing which is contained total probability of r eject and incomplete jointly and has 75 % probability value. Therefore, as depicted in Fig. 13, in non-learning version of the COHORT (i.e. theoretically and without any adaptation) the rate of success case is 0.25 and the rate of the unsuccess case is 0.75, consequently. However, Fig. 13 shows that more iteration in cooperation of helpers clearly distinguishes our scheme from the non-learning version in the case of unsuccessful service completion rate. This can be explained by the fact that in the COHORT

123

A cluster-based vehicular cloud architecture

1423

Fig. 13 Unsuccessful service completion rate over the cooperation iteration

learning-based method, the CH can choose adaptively better helper nodes and increase the rate of successful service completion; whereas the non-learning version frequently makes wrong decisions without any adaptation.

5.4 Evaluation of the vehicular cloud architecture Since the only framework proposed for discovering and consuming services in vehicular cloud is CROWN [20], we borrow the main performance evaluation metrics of the CROWN and compare our proposed architecture (COHORT) with its results. In the CROWN, the RSUs act as cloud directories that store information about mobile cloud servers which is called STARs. Each RSU share the information about STARs with its neighbors. The vehicles send their resource requests to the RSUs. Then, the RSUs will search for the best possible STARs that can satisfy user’s requests. The performance evaluation metrics are service discovery delay and service consuming delay which are described in the following. 5.4.1 Service discovery delay According to [20], we define service discovery delay as the time between sending a request and receiving the reply message from cloud controller. As depicted in Fig. 14, average service discovery delay produced by COHORT in both sparse and high density of vehicles is much lower than CROWN. Cluster-based cloud structure of COHORT and using the cluster head as the cloud controller are the main reasons of its lower service discovery delays. Regarding the utilization of Q-learning-based helper selection method, we ensure that the selected helper is capable of providing the required resources. On the other side, the RSUs are employed for this task in CROWN. The vehicles must send their request to the RSUs via their neighbors. Then, the RSUs inform requester vehicles to the best possible STARs that can satisfy their requests. We can deduce (also can be observed in Fig. 14) that CROWN needs higher density of vehicles to achieve a faster packet forwarding and the packets take smaller times to reach their destinations only by increasing the number of vehicles.

123

1424

H. R. Arkian et al.

Fig. 14 Service discovery delay while increasing the number of vehicles

Fig. 15 Service consuming delay while increasing the number of vehicles

5.4.2 Service consuming delay We consider service consuming delay as the time between sending the message containing helper information by the CH and starting the service by the helper. Figure 15 illustrates significant difference between COHORT and CROWN in service consuming delay. The worse results for CROWN are predictable while RSUs are responsible to determine the best service provider (i.e. STARs) and this operation will lead to higher time overhead. Furthermore, according to the application of local helpers in the cluster-based structure of COHORT, even in sparse network environments, it gets much better results. We should note that, in the simulation of this metric, queue formation was not considered. As mentioned in Sect. 4.2, greater number of requests from existing resources will lead to the formation of a queue of requests and service providing delay, consequently. 6 Conclusion In this paper, we first proposed an architecture for vehicular clouds based on a new clustering scheme which is called COHORT. It facilitates cooperation as a service with sharing computation, storage and bandwidth resources among vehicles. We attempted to increase the flexibility of the clustering scheme for different terms of vehicular environment using fuzzy logic in cluster head selection procedure. Then, we focused on efficient resource management in the COHORT by proposing a new Q-learning-based

123

A cluster-based vehicular cloud architecture

1425

helper selection as the main task of the cluster head. Furthermore, we defined three different strategies for efficient resource allocation in our approach. A comprehensive simulation was conducted that its illustrative results demonstrated the superiority of the COHORT clustering scheme in the case of forming more stable dynamic clusters in compared with two existing algorithms. Finally, in another simulation result, we showed that COHORT in comparison with CROWN as the recently proposed architecture has a significant reduction in the service discovery and service consuming delays.

References 1. Al-Sultan S, Al-Doori MM, Al-Bayatti AH, Zedan H (2014) A comprehensive survey on vehicular Ad Hoc network. J Netw Comput Appl 37:380–392 2. Anda J, LeBrun J, Ghosal D, Chuah CN, Zhang M (2005) Vgrid: vehicular adhoc networking and computing grid for intelligent traffic control. In: IEEE 61st Vehicular Technology Conference, vol 5, pp 2905–2909 3. Arbabi H, Weigle M (2011) Monitoring free flow traffic using vehicular networks. In: IEEE Consumer Communications and Networking Conference (CCNC), pp 272–2760 4. Arkian HR, Atani RE, Kamali S (2014) Fcvca: A fuzzy clustering-based vehicular cloud architecture. In: 7th International Workshop on Communication Technologies for Vehicles (Nets4Cars-Fall), pp 24–28 5. Arkian HR, Atani RE, Pourkhalili A, Kamali S (2014) Cluster-based traffic information generalization in vehicular ad-hoc networks. Vehicular Communications http://dx.doi.org/10.1016/j.vehcom.2014. 08.003 6. Boushaba M, Hafid A, Belbekkouche A (2011) Reinforcement learning-based best path to best gateway scheme for wireless mesh networks. In: IEEE 7th International Conference on Wireless and Mobile Computing, Networking and Communications (WiMob), pp 373–379 7. Chen J, Cao X, Zhang Y, Xu W, Sun Y (2011) Measuring the performance of movement-assisted certificate revocation list distribution in VANET. Wirel Commun Mob Comput 11(7):888–898 8. Das SK (2010) Mobile handset design. Wiley, Singapore. doi:10.1002/9780470824696 9. Dinh HT, Lee C, Niyato D, Wang P (2013) A survey of mobile cloud computing: architecture, applications, and approaches. Wirel Commun Mob Comput 13(18):1587–1611 10. Fernando N, Loke SW, Rahayu W (2013) Mobile cloud computing: a survey. Future Gener Comput Syst 29(1):84–106 11. Gerla M, Tzu-Chieh Tsai J (1995) Multicluster, mobile, multimedia radio network. Wirel Netw 1(3):255–265 12. Hosseininezhad S, Shirazi G, Leung VCM (2011) RLAB: Reinforcement learning-based adaptive broadcasting for Vehicular Ad-Hoc Networks. In: IEEE 73rd Vehicular Technology Conference (VTC Spring), pp 1–5 13. Huerta-Canepa G, Lee D (2010) A Virtual Cloud Computing Provider for Mobile Devices. In: Proceedings of the 1st ACM Workshop on Mobile Cloud Computing & #38; Services: Social Networks and Beyond, ACM, MCS ’10, pp 6:1–6:5 14. Hussain R, Son J, Eun H, Kim S, Oh H (2012) Rethinking vehicular communications: Merging VANET with cloud computing. In: IEEE 4th International Conference on Cloud Computing Technology and Science (CloudCom), pp 606–609 15. Karagiannis G, Altintas O, Ekici E, Heijenk G, Jarupan B, Lin K, Weil T (2011) Vehicular networking: a survey and tutorial on requirements, architectures, challenges, standards and solutions. Commun Surv Tutor, IEEE 13(4):584–616 16. Klir GJ, St Clair U (1997) Fuzzy set theory: foundations and applications. Prentice-Hall Inc, Upper Saddle River 17. Mamdani EH (1977) Application of fuzzy logic to approximate reasoning using linguistic synthesis. Comput, IEEE Trans C–26(12):1182–1191 18. May A (1990) Traffic flow fundamentals. Prentice Hall, Englewood Cliffs, NJ, USA 19. Mendel J (1995) Fuzzy logic systems for engineering: a tutorial. Proc IEEE 83(3):345–377

123

1426

H. R. Arkian et al.

20. Mershad K, Artail H (2013) Finding a STAR in a Vehicular Cloud. Intel Transp Syst Mag, IEEE 5(2):55–68 21. Michael Behrisch JEDK, Bieker L (2011) SUMO-simulation of urban mobility: an overview. The Third International Conference on Advances in System Simulation, SIMUL pp 63–68 22. Mousannif H, Khalil I, Moatassime HA (2011) Cooperation as a service in VANETs. J Univers Comput Sci 17(8):1202–1218 23. Olariu S, Weigle MC (2009) Vehicular networks: from theory to practice, 1st edn. Chapman & Hall/CRC, Boca Raton, USA 24. Olariu S, Khalil I, Abuelela M (2011) Taking VANET to the clouds. Int J Pervasive Comput Commun 7(1):7–21 25. Olariu S, Hristov T, Yan G (2013) The next paradigm shift: from vehicular networks to vehicular clouds. Wiley 26. Panait L, Luke S (2005) Cooperative multi-agent learning: the state of the art. Auton Agents MultiAgent Syst 11(3):387–434 27. Rawashdeh Z, Mahmud S (2012) A novel algorithm to form stable clusters in vehicular ad hoc networks on highways. EURASIP J Wirel Commun Netw 1:1–13 28. Yu R, Zhang Y, Gjessing S, Xia W, Yang K (2013) Toward cloud-based vehicular networks with efficient resource management. IEEE Netw 27(5):48–55. doi:10.1109/MNET.2013.6616115 29. Russel S, Norvig P (2003) Artificial intelligence: a modern approach, 2nd edn. Prentice Hall, USA 30. Satyanarayanan M (1996) Fundamental challenges in mobile computing. In: Proceedings of the Fifteenth Annual ACM Symposium on Principles of Distributed Computing, ACM, PODC ’96, pp 1–7 31. Sommer C (2012) Vehicles in network simulation (VEINS). http://veins.car2x.org 32. Tal I, Muntean GM (2013) User-oriented fuzzy logic-based clustering scheme for vehicular ad-hoc networks. In: IEEE 77th Vehicular Technology Conference (VTC Spring), pp 1–5 33. Uzcategui R, Acosta-Marum G (2009) WAVE: a tutorial. IEEE Commun Mag 47(5):126–133 34. Varga A (2011) OMNET++ discrete event simulation system user manual. 4.2.2 35. Venkataraman H, Delcelier R, Muntean GM (2013) A moving cluster architecture and an intelligent resource reuse protocol for vehicular networks. Wirel Netw 19(8):1881–1900 36. Vodopivec S, Bester J, Kos A (2012) A survey on clustering algorithms for vehicular ad-hoc networks. In: 35th International Conference on Telecommunications and Signal Processing (TSP), pp 52–56 37. Wahab OA, Otrok H, Mourad A (2013) VANET QoS-OLSR: QoS-based clustering protocol for Vehicular Ad hoc Networks. Comput Commun 36(13):1422–1435 38. Watkins C, Dayan P (1992) Technical note: Q-Learning. Mach Learn 8:279–292 39. Whaiduzzaman M, Sookhak M, Gani A, Buyya R (2014) A survey on vehicular cloud computing. J Netw Comput Appl 40:325–344 40. Wisitpongphan N, Bai F, Mudalige P, Sadekar V, Tonguz O (2007) Routing in sparse vehicular ad hoc wireless networks. IEEE J Sel Areas Commun 25(8):1538–1556 41. Wu C, Ohzahata S, Kato T (2013) Flexible, portable, and practicable solution for routing in VANETs: a fuzzy constraint Q-learning approach. Veh Technol, IEEE Trans 62(9):4251–4263 42. Yan G, Olariu S, Weigle M (2010) Cross-layer location verification enhancement in vehicular networks. In: IEEE Intelligent Vehicles Symposium (IV), pp 95–100 43. Zeadally S, Hunt R, Chen YS, Irwin A, Hassan A (2012) Vehicular ad hoc networks (VANETS): status, results, and challenges. Telecommun Syst 50(4):217–241 44. Zrar Ghafoor K, Abu- Bakar K (2013) A fuzzy logic approach to beaconing for vehicular ad hoc networks. Telecommun Syst 52(1):139–149

123

Suggest Documents