On Efficient Data Dissemination using Network Coding in Multi-RSU Vehicular Ad Hoc Networks G. G. Md. Nawaz Ali¶∗† , Md. Ashiqur Rahman∗‡ , Peter Han Joo Chong¶§ , and Syeda Khairunnesa Samantha∥∗∗ ¶ School of Electrical & Electronic Engineering, Nanyang Technological University, Singapore ∗ Department of Computer Science and Engineering, Khulna University of Engineering & Technology, Bangladesh ∥ Department of Computer Science, Iowa State University, Ames, Iowa, USA † Email:
[email protected], ‡ Email:
[email protected], § Email:
[email protected], ∗∗ Email:
[email protected]
Abstract—The usage of Road Side Units (RSUs) acting as a buffer point in VANETs alleviates the intermittent vehicle-tovehicle (V2V) connectivity problem. However, due to the vehicle mobility and the short RSU-transmission-range, a vehicle dwells short time inside an RSU. Nevertheless, quick response from the RSU server, helps a driver to make a quick decision while driving. Network coding is known to be efficient for broadcasting multiple data items in a single packet by encoding requested data items based on the cache information of the vehicles. This can significantly improve the broadcast bandwidth usage as well as reduce the response time of the system. However, this requires the prior knowledge of cached data items of vehicles. Hence vehicles need to upload the cache information to the RSU server. This wastes upload bandwidth. In multi-RSU VANETs, we propose an approach to apply network coding in such a way so that vehicles do not need to upload their cache information to the server. Applying network coding improves the broadcast performance of an RSU in terms of minimizing the deadline miss ratio of the generated requests by vehicles, and reducing the response time of serving requests by the RSU server. Simulation results support our claims.
I. INTRODUCTION Vehicular Ad Hoc Networks (VANETs) is an emerging technology in Intelligent Transportation System (ITS). VANETs is a kind of mobile ad hoc network that provides services such as safety, traffic efficiency, comfort driving, infotainment to name but a few [1], [6]. Traffic information is particularly useful for a driver while driving, such as accident warning or road congestion warning. However, due to some special characteristics of VANETs such as mobility of vehicle and short transmission range, i.e., IEEE 802.p based wireless communication [1], leads to very short connecting time between vehicle-to-vehicle (V2V). To overcome this situation RSUs are being used as a stationary unit and buffer point along roadside which is known as Vehicle-to-Infrastructure (V2I) communication . However, efficient data dissemination is necessary between RSU to vehicle, otherwise vehicles will fail to receive their required data items in time, which may jeopardize the objectives of VANETs. This paper is dedicated on the data dissemination issue on the V2I communication model. Unlike push based broadcast, on-demand broadcast is a very popular and scalable data dissemination approach for large population with different needs in wireless environment [2]. However, as the traditional broadcast approach only broadcasts one data item per broadcast tick, the traditional broadcast approach can not maximize the broadcast channel bandwidth. This may not keep the deadline miss ratio and the response time of the system as required. One of the possible solutions is to apply network coding in on-demand broadcast. Using
network coding multiple data items can be broadcast in a broadcast tick in encoded form [3]. However, in applying network coding the RSU server needs the full knowledge of requested and cached data items of vehicles [4], [5]. This introduces an overhead by uploading the cache information of vehicles to the server. This is a waste of upload bandwidth of the RSU server. In this paper, we are going to apply network coding in RSUbased VANETs in such a way so that vehicles do no need to upload their cache information explicitly. To the best of our knowledge, this is the first approach of applying network coding with on-demand broadcast in VANETs. An RSU server keeps the track of requested and broadcast data items of vehicles to know the cache information of vehicles. An RSU also sends cache update to the neighbor RSU using the backbone connection [6], if the corresponding vehicle moves to that neighbor RSU. This is a realistic assumption, as an RSU can maintain the neighbors list and their locations information [7]. Our objectives are to reduce the deadline miss ratio and the response time than the conventional data broadcast system in RSU-based VANETs. Our major contributions are in the following three folds: ∙ We apply network coding in multi-RSU VANETs in such a way so that vehicles do not need to upload their cache information to the RSU server, which saves the upload bandwidth. ∙ We integrate a number of on-demand existing scheduling algorithms with our proposed network coding based request serving approach to improve the system performance both in terms of minimizing the deadline miss ratio and the response time. ∙ We do an extensive simulations to demonstrate the effectiveness of applying network coding in RSU-based VANETs. The rest of the paper is organized as follows. Section II describes our system model, assumptions and prerequisites. Section III provides a brief overview of our proposed approach. Section IV describes the performance evaluation. Finally, Section V concludes this paper. II. SYSTEM MODEL A. System architecture The system architecture of our proposed model is shown in Fig. 1. In our proposed network coding-based on-demand broadcast model, each RSU consists of a request channel (ReqCH) and a response channel (ResCH). While a vehicle dwells inside an RSU range but could not find the required
978-1-5090-1698-3/16/$31.00 ©2016 IEEE
Requested data item Interconnected RSUs
d2
Database
d3 Vh2 Scheduler Cache Information
Service Queue t1 t2 t3
R1 , R12 R4 , R3 , R8 R11 , R5 , R7
Network coded scheduled data items for serving t1 d1 d2 d5 d11 d8 t2 t3 d7 d3 d9 d10
RSU service range
RSU
Request Channel (ReqCH)
d12
dn
tn
RSU
Vh1
Cached data items
Vh1
d1
d4 d5
d 1 d2
d4 d5
d2
Vh3
d1
d5
Vh4
d 1 d2 d3 d 4
d1
Vh5
v12
Vh5
v51
v23
Vh2
d3 d 4 d 5
d2 d3 d 4 d 5
Response Channel (ResCH)
(a) An example of queries in RSU queue
v45
v32 Vh3
Vh4
(b) CR-graph G
Fig. 2. An example of CR-Graph G construction.
Fig. 1. System architecture of network coding-based request service model. TABLE I S UMMERY OF NOTATIONS . Symbol 𝑅𝑖 𝑉 ℎ𝑖 𝑅𝑆𝑈𝑖 𝐷 𝑑𝑖 𝑁 (𝑑𝑖 ) 𝑔𝑛𝑟 𝑇𝑅 𝑖 𝑠𝑒𝑟𝑣 𝑇𝑅 𝑖
𝑑𝑒𝑎𝑑𝑙𝑖𝑛𝑒 𝑇𝑅 𝑖 𝑣𝑖𝑗 𝛼 𝐻𝐷(𝑉 ℎ𝑖 )
Description A request A vehicle An RSU Data item set in RSU database A data item Popularity of 𝑑𝑖 The time 𝑅𝑖 is generated Required serving time of 𝑅𝑖 Deadline of 𝑅𝑖 A vertex represents 𝑅𝑖 requesting 𝑑𝑗 A clique The next heading direction of 𝑉 ℎ𝑖
data item in its local cache, submits request through the RSU’s ReqCH for the required data item. A vehicle will only generate a new request upon successfully receiving the already requested data item or the generated request missed its deadline. The RSU maintains a service queue for the pending requests. The RSU first performs a feasibility check and removes any request which cannot be satisfied within the dwelling duration of the corresponding vehicle. Based on the underlying scheduling algorithm, the RSU chooses a suitable data item. Then, based on the scheduled data item an encoded packet is formed using the low overhead XOR operation [5] and broadcasts through the ResCH. The vehicle having other data items in the cache excepting the requested one can decode the encoded packet and add the data item in the local cache. The RSU also keeps the track of which vehicle receives which data items. The LRU (Least Recently Used) cache replacement policy is adopted for the cache replacement [8] both at the server and vehicles. The satisfied request will then be removed from the service queue. If a vehicle leaves an RSU range and moves to next RSU, the current RSU will send the cache information of the corresponding vehicle to the next RSU located to the direction in which the vehicle is heading. B. Notations and assumptions The primary notations used in this section are summarized in Table I. Request: A request 𝑅𝑖 submitted by a vehicle 𝑉 ℎ𝑖 at 𝑅𝑆𝑈𝑖 is characterized by the following tuples: , 𝑇𝑅𝑑𝑒𝑎𝑑𝑙𝑖𝑛𝑒 , 𝐻𝐷(𝑉 ℎ𝑖 )) 𝑅𝑖 = (𝑉 ℎ𝑖 , 𝐼𝐷𝑅𝑖 , 𝑑𝑖 , 𝑇𝑅𝑔𝑛𝑟 𝑖 𝑖 Here, 𝑉 ℎ𝑖 : The vehicle ID; 𝐼𝐷𝑅𝑖 : ID of 𝑅𝑖 ; 𝑑𝑖 : Data item
requested by 𝑅𝑖 ; 𝑇𝑅𝑔𝑛𝑟 : The generation time of 𝑅𝑖 . 𝑇𝑅𝑔𝑛𝑟 is assumed 𝑖 𝑖 = to follow the Uniform distribution, that is, 𝑇𝑅𝑔𝑛𝑟 𝑖 𝑑𝑤𝑒𝑙𝑙 𝑑𝑤𝑒𝑙𝑙 𝑟𝑎𝑛𝑑𝑜𝑚(0.0, {𝑇𝑚𝑎𝑥 (𝑉 ℎ𝑖 ) − 𝑇𝑅𝑠𝑒𝑟𝑣 }). Here, 𝑇 (𝑉 ℎ ) = 𝑖 𝑚𝑎𝑥 𝑖 2𝑅 𝑉 is the maximum dwelling duration of 𝑉 ℎ𝑖 inside an RSU, where 𝑅 denotes the transmission range of an RSU, and 𝑉 denotes the speed of 𝑉 ℎ𝑖 . 𝑇𝑅𝑠𝑒𝑟𝑣 denotes the required serving 𝑖 time of 𝑅𝑖 ; 𝑇𝑅𝑑𝑒𝑎𝑑𝑙𝑖𝑛𝑒 : The assigning deadline of 𝑅𝑖 . After expiring 𝑖 , 𝑅𝑖 will be removed from the RSU service queue; 𝑇𝑅𝑑𝑒𝑎𝑑𝑙𝑖𝑛𝑒 𝑖 𝐻𝐷(𝑉 ℎ𝑖 ): The next intended heading direction of 𝑉 ℎ𝑖 . Network Coding: To make the encoding decision the RSU server needs the full information about vehicles’ requested and cached data items [4]. A CR-graph 𝐺 can make a relationship between all vehicles by utilizing their requested and cached data item [5]. In the CR-graph 𝐺(𝑉, 𝐸), each vertex represents a data item requested by a vehicles. 𝑣𝑖𝑗 ∈ 𝑉 (𝐺) represents that a vehicles 𝑉 ℎ𝑖 requests data item 𝑑𝑗 . In a CR-Graph G for any two different vertices 𝑣𝑖1 𝑗1 and 𝑣𝑖2 𝑗2 , an undirected edge (𝑣𝑖1 𝑗1 , 𝑣𝑖2 𝑗2 ) ∈ 𝐸(𝐺) exists under either of the following conditions: ∙ There is an edge between vertex 𝑣𝑖1 𝑗1 and 𝑣𝑖2 𝑗2 , if 𝑖1 ∕= 𝑖2 and 𝑗1 = 𝑗2 , i.e. two vehicles require the same data item and can be satisfied in a broadcast tick. ∙ There is an edge between vertex 𝑣𝑖1 𝑗1 and 𝑣𝑖2 𝑗2 , if 𝑖1 ∕= 𝑖2 and 𝑗1 ∕= 𝑗2 and 𝑉 ℎ𝑖1 has data item 𝑑𝑗2 in its cache and requires data item 𝑑𝑗1 whereas 𝑉 ℎ𝑖2 has data item 𝑑𝑗1 in its cache and requires data item 𝑑𝑗2 , i.e. the requested data item of one vehicle being cached by another vehicle. If RSU server broadcasts 𝑑𝑗1 ⊕ 𝑑𝑗2 , 𝑉 ℎ𝑖1 can retrieve 𝑑𝑗1 and 𝑉 ℎ𝑖2 can retrieve 𝑑𝑗2 by performing simple XOR operation on the encoded data packet. A clique is a subset of vertices in an undirected graph, such that every two vertices in the subset are connected by an edge. Let 𝛼 = {𝑣𝑖1 ,𝑗1 , 𝑣𝑖2 ,𝑗2 , ⋅ ⋅ ⋅ , 𝑣𝑖𝑘 ,𝑗𝑘 } be an arbitrary clique in G, where 𝛼 ⊆ 𝑉 (𝐺). The} set of data items in 𝛼 are 𝐷𝛼 = { 𝑑𝛼(1) , 𝑑𝛼(2) , ⋅ ⋅ ⋅ , 𝑑𝛼(∣𝐷𝛼 ∣) , where 1 ≤ ∣𝐷𝛼 ∣ ≤ ∣𝛼∣. Let the set of vehicles covered in 𝛼 be 𝑉 ℎ𝛼 = {𝑉 ℎ𝑖 ∣𝑣𝑖𝑗 ∈ 𝛼}. We can see in Fig. 2(b), how a CR-Graph G and the cliques in that graph are formed from the relation of requested and cached data items as shown in Fig. 2(a). Note that a clique of size 4 means that there is an edge between all the vertex-pair among the 4 vertices. Let 𝛽 = 𝑑𝛼(1) ⊕ 𝑑𝛼(2) ⊕ ⋅ ⋅ ⋅ ⊕ 𝑑𝛼(∣𝐷𝛼 ∣) be an encoded packet. In 𝛼 each vertex represents an unique vehicle. From the properties of clique, for any vehicle 𝑉 ℎ𝑖 ∈ 𝑉 ℎ𝛼 , it can receive the requested data item 𝑑𝑗 from the encoded packet
𝛽 if its corresponding vertex 𝑣𝑖𝑗 ∈ 𝛼. Hence, by broadcasting one encoded packet all vehicles in a clique 𝛼 ⊆ 𝑉 (𝐺) will be satisfied. That is, the number of satisfied vehicles is equal to the number of vertices in the clique (∣𝛼∣). Hence the problem of satisfying the maximum number of vehicles by an encoded packet in a broadcast unit can be transformed into the problem of finding the maximum clique, 𝛼𝑚𝑎𝑥 in the CR-graph G. Maximum Clique: After identifying the scheduling data item the corresponding vertex 𝑣𝑖𝑗 (vehicle 𝑉 ℎ𝑖 request data 𝑣𝑖𝑗 item 𝑑𝑗 ) is used to generate the maximum clique 𝛼𝑚𝑎𝑥 from 𝑣𝑖𝑗 the CR-graph 𝐺(𝑉, 𝐸). The set of data items in 𝛼𝑚𝑎𝑥 is used to generate the encoded packet 𝛽 for broadcasting. In Fig. 2(b) we show the maximum clique (𝛼𝑚𝑎𝑥 ) by black thick lines. We get 𝛼𝑚𝑎𝑥 = {𝑣23 , 𝑣32 , 𝑣45 , 𝑣51 }, thus 𝑉 ℎ𝛼𝑚𝑎𝑥 = {𝑉 ℎ2 , 𝑉 ℎ3 , 𝑉 ℎ4 , 𝑉 ℎ5 }, 𝐷𝛼𝑚𝑎𝑥 = {𝑑1 , 𝑑2 , 𝑑3 , 𝑑5 }. The server broadcasts 𝛽 where 𝛽 = 𝑑1 ⊕ 𝑑2 ⊕ 𝑑3 ⊕ 𝑑5 and satisfies four vehicles in a single broadcast tick. As finding a maximum clique in the graph G is NP-hard [9] and many approximation algorithms have been proposed [10]. We adopt the approach presented in [10] for finding the approximate maximum 𝛼𝑚𝑎𝑥 clique in the CR-graph G in polynomial time. C. Transferring cache information In our system, for the ease of implementation the movement of vehicles is guided by the Manhattan mobility model [11]. In our system we handle the vehicles’ cache information at RSUs rather than asking the vehicles to upload their cache information each time before making the encoding decision. For an instance, in Fig. 3, we see initially an 𝑅𝑆𝑈𝑖 has no cache information about the vehicle 𝑉 ℎ𝑖 . After entering inside 𝑅𝑆𝑈𝑖 ’s range 𝑉 ℎ𝑖 generates a request 𝑅1 and waits for it to be satisfied. Upon satisfaction, the cache of the vehicle is updated both in 𝑉 ℎ𝑖 and 𝑅𝑆𝑈𝑖 . When 𝑉 ℎ𝑖 leaves 𝑅𝑆𝑈𝑖 towards 𝑅𝑆𝑈𝑗 , 𝑅𝑆𝑈𝑖 sends update cache information of 𝑉 ℎ𝑖 towards 𝑅𝑆𝑈𝑗 through the backbone connection. Note that 𝑅𝑆𝑈𝑖 knows the next dwelled 𝑅𝑆𝑈𝑗 of 𝑉 ℎ𝑖 from 𝐻𝐷(𝑉 ℎ𝑖 ). Thus cache information of vehicles becomes more clearer to RSUs as time progresses and vehicles move from RSU to RSU. Initial Cache at RSUi
After Satisfying R2
C(Vhi) C(Vhj)
d5
dm
C(Vhn) d7 d9
dm
Cache Transfer of Vhi to RSUj
RSUi
C(Vhi) d1
dm
RSUj
d1 C(Vhi) d1
After Satisfying R1
Initial Cache of Vi at RSUj
C(Vhi) d1
t1
R1=d1
t2
t4
R2= dm
t5
Fig. 3. An example of cache transfer mechanism.
III. NETWORK CODING-BASED REQUEST SERVING APPROACH The flow diagram of our network coding-based request serving approach performed by an RSU for a vehicle 𝑉 ℎ𝑖 is briefly shown in Fig. 4. The summary of the steps are:
Fig. 4. Flowchart of network coding-based request serving approach.
1. If an RSU receives updated cache information of a vehicle 𝑉 ℎ𝑖 from the neighbor RSU, update the cache information of RSU about 𝑉 ℎ𝑖 . 2. Add the generated requests in the RSU’s service queue and update the popularity of the requested data items. 3. Do the serving feasibility check on each pending request based the remaining deadline. Remove the infeasible requests having lower remaining deadlines than the required serving time. 4. Construct a CR-graph G(V,E) based on the vehicles requested data items and the known cache information of vehicles to the RSU. 5. Select a data item according to the underlying scheduling algorithm. 6. Find a maximum clique 𝛼𝑚𝑎𝑥 which covers the selected data item. Encode the data items in 𝛼𝑚𝑎𝑥 and broadcast it through ResCH. 7. Update the followings: ∙ Update 𝑉 (𝐺). ∙ Update the popularity of the requested data items. ∙ Remove the satisfied request from the service queue. ∙ Update the cache information of RSU for all the vehicles received the broadcast data item. 8. If the vehicle 𝑉 ℎ𝑖 continues to generate request, continue step 2 ∼ 7. If the vehicle exits the current RSU range and move towards to another RSU, transfer the updated cache information of the vehicle to the next RSU (in where the vehicle will dwell next). As finding 𝛼𝑚𝑎𝑥 requires polynomial time [10], the time complexity of our proposed approach is polynomial. IV. P ERFORMANCE E VALUATION A. Overview of comparable scheduling algorithms We have integrated the following on-demand scheduling algorithms with the proposed network coding based request serving approach as described in Section III.
First Come First Served (FCFS): FCFS selects the request according to the request arrival order in the RSU service queue. FCFS with Coding selects a request 𝑅𝑖 with the longest waiting time. For a corresponding vertex 𝑣𝑖𝑗 of a data item 𝑑𝑗 𝑣𝑖𝑗 with 𝑅𝑖 , FCFS with coding finds the maximum clique 𝛼𝑚𝑎𝑥 which covers 𝑑𝑗 to form the encoded packet. Slack time Inverse Number of pending requests (SIN) [2]: SIN serves a data item with the smallest SIN value, where SIN is defined as the ratio of the slack time of a request to the number of pending requests for the requested data item. SIN with Coding selects a data item 𝑑𝑗 of a request 𝑅𝑖 with the smallest SIN value which is calculated as 𝑣𝑖𝑗 ∣ ∣𝛼𝑚𝑎𝑥
𝑑𝑒𝑎𝑑𝑙𝑖𝑛𝑒 𝑇𝑅 −𝑡 𝑖
𝑣𝑖𝑗 ∣𝛼𝑚𝑎𝑥 ∣
,
denotes the size of maximum clique for data where item 𝑑𝑗 at time 𝑡. Earliest Deadline First (EDF) : EDF selects the request with the smallest remaining deadline. EDF with Coding selects a data item 𝑑𝑗 of a request 𝑅𝑖 with the smallest EDF value 𝑣𝑖𝑗 which covers 𝑑𝑗 to form and finds the maximum clique 𝛼𝑚𝑎𝑥 the encoded packet. Number of pending requests multiply Waiting time (R×W): R×W selects a data item in a request with the highest R×W value, where R×W value of a request 𝑅𝑖 at time 𝑡 is ), where 𝑁 (𝑑𝑗 ) calculated as, 𝑅×𝑊 (𝑅𝑖 ) = 𝑁 (𝑑𝑗 )×(𝑡−𝑇𝑅𝑔𝑛𝑟 𝑖 denotes the popularity of data item 𝑑𝑗 . R×W with Coding selects a data item 𝑑𝑗 of a request 𝑅𝑖 with the highest R×W 𝑣𝑖𝑗 which covers 𝑑𝑗 value and finds the maximum clique 𝛼𝑚𝑎𝑥 to form the encoded packet. B. Performance metrics We adopt the following performance metrics for the performance evaluation. Deadline miss ratio (DMR): The ratio of the number of requests missed their deadline to the total number of submitted requests. The primary goal of this work is to minimize the DMR. Expected Response Time (ERT): As an RSU removes infeasible requests from the service queue, average response time is not a fair performance metric for measuring the response time of the system. Therefore we consider Expected Response Time (ERT) [12] ∑ as a performance metric which is 𝑀
ℎ(𝑖)
calculated as, 𝐸𝑅𝑇 = 𝑖=1 , where 𝑀 denotes the total 𝑀 number of requests in the system, and { , if 𝑅𝑖 misses its deadline 𝑇𝑅𝑑𝑒𝑎𝑑𝑙𝑖𝑛𝑒 𝑖 ℎ(𝑖) = 𝑅𝑒𝑠𝑝𝑜𝑛𝑠𝑒𝑇 𝑖𝑚𝑒(𝑅𝑖 ), otherwise Saved bandwidth ratio (SBR): It is defined as, 𝑆𝐸𝑅 = where 𝑠𝑎𝑡𝑖𝑠𝑓 𝑖𝑒𝑑𝑅𝑒𝑞 denotes number of total request satisfied, 𝑏𝑟𝑜𝑎𝑑𝑐𝑎𝑠𝑡𝑁 𝑢𝑚 denotes total number of broadcasts. The higher the value of SBR is, the higher bandwidth is saved. Average encode length (AEL): The AEL is the average number of different data items encoded in an encoded packet. The higher AEL value means the more number of data items are encoded in a broadcast packet which is the key for satisfying more requests. 𝑠𝑎𝑡𝑖𝑠𝑓 𝑖𝑒𝑑𝑅𝑒𝑞−𝑏𝑟𝑜𝑎𝑑𝑐𝑎𝑠𝑡𝑁 𝑢𝑚 , 𝑠𝑎𝑡𝑖𝑠𝑓 𝑖𝑒𝑑𝑅𝑒𝑞
C. Simulation model The simulation model is based on the system architecture described in Section II-A and it is implemented using CSIM19
TABLE II S IMULATION PARAMETERS . Parameters 𝑁𝑅𝑆𝑈 𝑁𝑉 𝑒ℎ𝑖𝑐𝑙𝑒 𝑅𝑎𝑛𝑔𝑒 DBSIZE THETA(𝜃) CACHESIZE
Default 24 120 800 500 0.8 180
EXIT
Range 40-200 -
Description Number of RSUs in the simulation Generated number of vehicles Radius of an RSU range Number of data items in the database Zipf distribution parameter Maximum cache size of a vehicle
EXIT RSU20
RSU19
EXIT RSU21
RSU22
RSU23
RSU24 EXIT
EXIT
Vehicle generation point RSU18
RSU10
RSU17
RSU11
RSU12
RSU16
RSU13
RSU14
RSU15 EXIT
EXIT
RSU9 Vehicle RSU1 generation point
RSU8
RSU2
RSU3
RSU7
RSU4
RSU5
RSU6 EXIT
EXIT
Fig. 5. Simulated multiple RSUs area.
[13]. The explicit parameters used in the experiments and their corresponding descriptions are given in Table II. The values of the majority of these parameters are taken from related studies [5], [8]. Unless stated otherwise, the simulation is conducted under the default settings. The topology used in our simulation model is given in Fig. 5. Each vehicle is simulated by a process which generates a stream of requests one after another. The data item access pattern is shaped by the commonly used Zipf distribution. The simulation completes when all the generated vehicles exit the simulated topology. For performance analysis we take the average data of ten simulation runs with the same simulation parameter settings but with the different seed values. D. Performance analysis In this section we discuss the simulation results of different on-demand scheduling algorithms integrated with the proposed approach in compare of without coding. We continued the simulation until the stable simulation results were achieved. Fig 6 shows the effect of system workload in terms of changing the number of vehicles on the system performance. With the increasing number of vehicles system work load increases, hence the DMRs of all the algorithms increase (Fig. 6a). However, with the presence of network coding an algorithm shows a lower DMR than its without coding version. These results support our claim that applying network coding in multi-RSU VANETs can improve the data dissemination performance. Among the algorithms SIN with Coding has the best performance, because SIN considers both the urgency of request and the popularity of data item. R×W with Coding also shows a very good performance, because R×W considers both the request waiting time and the data item popularity. On an average SIN with Coding reduces about 21% DMR than the
achieves a higher SBR than without network coding. Fig. 6d explores why an algorithm with network coding provides better performance than without network coding. With network coding the system disseminates more than one different data item per broadcast, on contrast, without network coding the system disseminates only one data item which limits the broadcast bandwidth usage.
(a) Deadline miss ratio.
(b) Expected response time.
V. C ONCLUSION In the conventional multi-RSU VANETs, an RSU can only broadcast one data item per broadcast tick. This limits the broadcast bandwidth utilization. This also hampers to achieve a lower system response time which is crucial for a driver to get traffic information from RSU quickly for making decision on board. With network coding the servers can overcome this issue but at a greater cost of uploading vehicle cache information every time it generates request [5]. In this paper we have overcome this overhead of network coding by devising a cache transfer mechanism in the interconnected RSUs and handling the cache update mechanism intrinsically. We have devised a coding-based request serving approach. The simulation results demonstrate that with the integration of our proposed approach, the performance of the multi-RSU VANETs can be increased significantly than the conventional system. R EFERENCES
(c) Saved bandwidth ratio.
(d) Average encode length. Fig. 6. Performance under different number of vehicles.
traditional SIN algorithm. Fig. 6b shows that the algorithms with network coding have the reduced expected response time (ERT) than the traditional broadcast system. Fig. 6c shows the saved bandwidth ratio (SBR) of different approaches under different number of vehicles. With the increasing system workload, the SBRs of all the algorithms increase, this is because with the increasing number of requests in the RSU service queue, more requests of common interest may be satisfied with a single broadcast. From Fig. 6c it is clear that with the presence of network coding an algorithm
[1] C. Barba, A. Mezher, M. Igartua, I. Guerin-Lassous, and C. Sarr, “Available bandwidth-aware routing in urban vehicular ad-hoc networks,” in Vehicular Technology Conference (VTC Fall), 2012 IEEE, Sept 2012, pp. 1–5. [2] J. Xu, X. Tang, and W. Lee, “Time-critical on-demand data broadcast algorithms, analysis and performance evaluation,” IEEE Transactions on Parallel and Distributed Systems, vol. 17, no. 1, pp. 3–14, 2006. [3] R. Ahlswede, N. Cai, S.-Y. Li, and R. W. Yeung, “Network information flow,” IEEE Transactions on Information Theory, vol. 46, no. 4, pp. 1204–1216, 2000. [4] Y. Birk and T. Kol, “Coding on demand by an informed source (iscod) for efficient broadcast of different supplemental data to caching clients,” IEEE/ACM Transactions on Networking, vol. 14, no. SI, pp. 2825–2830, 2006. [5] J. Chen, V. C. Lee, K. Liu, G. Ali, and E. Chan, “Efficient processing of requests with network coding in on-demand data broadcast environments,” Information Sciences, vol. 232, no. 0, pp. 27 – 43, 2013. [6] G. N. Ali, E. Chan, and W. Li, “Supporting real-time multiple data items query in multi-rsu vehicular ad hoc networks (vanets),” Journal of Systems and Software, vol. 86, no. 8, pp. 2127–2142, Aug. 2013. [7] Z.-Y. Liu, J.-G. Zhou, T. Zhao, and W. Yan, “An opportunistic approach to enhance the geographical source routing protocol for vehicular ad hoc networks,” in Vehicular Technology Conference Fall (VTC 2009-Fall), 2009 IEEE 70th, Sept 2009, pp. 1–5. [8] C. Zhan, V. Lee, J. Wang, and Y. Xu, “Coding-based data broadcast scheduling in on-demand broadcast,” Wireless Communications, IEEE Transactions on, vol. 10, no. 11, pp. 3774–3783, November 2011. [9] R. Karp, “Reducibility among combinatorial problems,” in Complexity of Computer Computations, ser. The IBM Research Symposia Series, R. Miller, J. Thatcher, and J. Bohlinger, Eds. Springer US, 1972, pp. 85–103. [10] A. Dharwadker, “The clique algorithm. http://www.dharwadker.org/clique/,” 2006. [11] F. Bai, N. Sadagopan, and A. Helmy, “The IMPORTANT framework for analyzing the impact of Mobility on Performance Of RouTing protocols for Adhoc NeTworks,” Journal of Ad Hoc Networks, vol. 1, pp. 383– 403, 2003. [12] J.-Y. Ng, V. Chung-Sing, and C. Y. Hui, “Client-side caching strategies and on-demand broadcast algorithms for real-time information dispatch systems,” Broadcasting, IEEE Transactions on, vol. 54, no. 1, pp. 24–35, March 2008. [13] H. Schwetman, “CSIM19: A powerful tool for building system models,” in Proceedings of the 33th IEEE Winter Simulation Conference, Arlington, VA, USA, 2001.