<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">CMC</journal-id>
<journal-id journal-id-type="nlm-ta">CMC</journal-id>
<journal-id journal-id-type="publisher-id">CMC</journal-id>
<journal-title-group>
<journal-title>Computers, Materials &#x0026; Continua</journal-title>
</journal-title-group>
<issn pub-type="epub">1546-2226</issn>
<issn pub-type="ppub">1546-2218</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">15026</article-id>
<article-id pub-id-type="doi">10.32604/cmc.2021.015026</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>A Resource Management Algorithm for Virtual Machine Migration in Vehicular Cloud Computing</article-title>
<alt-title alt-title-type="left-running-head">A Resource Management Algorithm for Virtual Machine Migration in Vehicular Cloud Computing</alt-title>
<alt-title alt-title-type="right-running-head">A Resource Management Algorithm for Virtual Machine Migration in Vehicular Cloud Computing</alt-title>
</title-group>
<contrib-group content-type="authors">
<contrib id="author-1" contrib-type="author">
<name name-style="western">
<surname>Pande</surname>
<given-names>Sohan Kumar</given-names>
</name>
<xref ref-type="aff" rid="aff-1">1</xref>
</contrib>
<contrib id="author-2" contrib-type="author">
<name name-style="western">
<surname>Panda</surname>
<given-names>Sanjaya Kumar</given-names>
</name>
<xref ref-type="aff" rid="aff-2">2</xref></contrib>
<contrib id="author-3" contrib-type="author">
<name name-style="western">
<surname>Das</surname>
<given-names>Satyabrata</given-names>
</name>
<xref ref-type="aff" rid="aff-1">1</xref></contrib>
<contrib id="author-4" contrib-type="author">
<name name-style="western">
<surname>Sahoo</surname>
<given-names>Kshira Sagar</given-names>
</name>
<xref ref-type="aff" rid="aff-3">3</xref></contrib>
<contrib id="author-5" contrib-type="author">
<name name-style="western">
<surname>Luhach</surname>
<given-names>Ashish Kr.</given-names>
</name>
<xref ref-type="aff" rid="aff-4">4</xref></contrib>
<contrib id="author-6" contrib-type="author" corresp="yes">
<name name-style="western">
<surname>Jhanjhi</surname>
<given-names>N. Z.</given-names>
</name>
<xref ref-type="aff" rid="aff-5">5</xref><email>noorzaman.jhanjhi@taylors.edu.my</email></contrib>
<contrib id="author-7" contrib-type="author">
<name name-style="western">
<surname>Alroobaea</surname>
<given-names>Roobaea</given-names>
</name>
<xref ref-type="aff" rid="aff-6">6</xref></contrib>
<contrib id="author-8" contrib-type="author">
<name name-style="western">
<surname>Sivanesan</surname>
<given-names>Sivakumar</given-names>
</name>
<xref ref-type="aff" rid="aff-5">5</xref></contrib>
<aff id="aff-1"><label>1</label><institution>Veer Surendra Sai University of Technology Burla</institution>, <addr-line>Burla, 768018</addr-line>, <country>India</country></aff>
<aff id="aff-2"><label>2</label><institution>National Institute of Technology Warangal</institution>, <addr-line>Warangal, 506004</addr-line>, <country>India</country></aff>
<aff id="aff-3"><label>3</label><institution>VNR Vignana Jyothi Institute of Engineering and Technology</institution>, <addr-line>Hyderabad, 500090</addr-line>, <country>India</country></aff>
<aff id="aff-4"><label>4</label><institution>The Papua New Guinea University of Technology</institution>, <addr-line>Lae-41, Papua</addr-line>, <country>New Guinea</country></aff>
<aff id="aff-5"><label>5</label><institution>School of Computer Science and Engineering, Taylor&#x2019;s University</institution>, <addr-line>Subang Jaya, 47500</addr-line>, <country>Malaysia</country></aff>
<aff id="aff-6"><label>6</label><institution>Department of Computer Science, College of Computers and Information Technology, Taif University</institution>, <addr-line>Taif, 21944</addr-line>, <country>Saudi Arabia</country></aff>
</contrib-group>
<author-notes><corresp id="cor1">&#x002A;Corresponding Author: N. Z. Jhanjhi. Email: <email>noorzaman.jhanjhi@taylors.edu.my</email></corresp></author-notes>
<pub-date pub-type="epub" date-type="pub" iso-8601-date="2021-01-02">
<day>02</day>
<month>01</month>
<year>2021</year>
</pub-date>
<volume>67</volume>
<issue>2</issue>
<fpage>2647</fpage>
<lpage>2663</lpage>
<history>
<date date-type="received">
<day>02</day>
<month>11</month>
<year>2020</year>
</date>
<date date-type="accepted">
<day>19</day>
<month>12</month>
<year>2020</year>
</date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2021 Pande et al.</copyright-statement>
<copyright-year>2021</copyright-year>
<copyright-holder>Pande et al.</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_CMC_15026.pdf"></self-uri>    
<abstract>
<p>In recent years, vehicular cloud computing (VCC) has gained vast attention for providing a variety of services by creating virtual machines (VMs). These VMs use the resources that are present in modern smart vehicles. Many studies reported that some of these VMs hosted on the vehicles are overloaded, whereas others are underloaded. As a circumstance, the energy consumption of overloaded vehicles is drastically increased. On the other hand, underloaded vehicles are also drawing considerable energy in the underutilized situation. Therefore, minimizing the energy consumption of the VMs that are hosted by both overloaded and underloaded is a challenging issue in the VCC environment. The proper and efficient utilization of the vehicle&#x2019;s resources can reduce energy consumption significantly. One of the solutions is to improve the resource utilization of underloaded vehicles by migrating the over-utilized VMs of overloaded vehicles. On the other hand, a large number of VM migrations can lead to wastage of energy and time, which ultimately degrades the performance of the VMs. This paper addresses the issues mentioned above by introducing a resource management algorithm, called resource utilization-aware VM migration (RU-VMM) algorithm, to distribute the loads among the overloaded and underloaded vehicles, such that energy consumption is minimized. RU-VMM monitors the trend of resource utilization to select the source and destination vehicles within a pre-determined threshold for the process of VM migration. It ensures that any vehicles&#x2019; resource utilization should not exceed the threshold before or after the migration. RU-VMM also tries to avoid unnecessary VM migrations between the vehicles. RU-VMM is extensively simulated and tested using nine datasets. The results are carried out using three performance metrics, namely number of final source vehicles (<italic>nfsv</italic>), percentage of successful VM migrations (<italic>psvmm</italic>) and percentage of dropped VM migrations (<italic>pdvmm</italic>), and compared with threshold-based algorithm (i.e., threshold) and cumulative sum (CUSUM) algorithm. The comparisons show that the RU-VMM algorithm performs better than the existing algorithms. RU-VMM algorithm improves 16.91% than the CUSUM algorithm and 71.59% than the threshold algorithm in terms of <italic>nfsv</italic>, and 20.62% and 275.34% than the CUSUM and threshold algorithms in terms of <italic>psvmm</italic>.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Resource management</kwd>
<kwd>virtual machine migration</kwd>
<kwd>vehicular cloud computing</kwd>
<kwd>resource utilization</kwd>
<kwd>source vehicle</kwd>
<kwd>destination vehicle</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>In the era of technology, vehicular cloud computing (VCC), Internet of vehicles (IoV) and cloud of things (CoT) are some of the promising technologies to provide better services to the users [<xref ref-type="bibr" rid="ref-1">1</xref>&#x2013;<xref ref-type="bibr" rid="ref-6">6</xref>]. Many modern smart vehicles are connected to the cloud in VCC to offer various services, such as information, storage, cooperation, computation, and infotainment as a service [<xref ref-type="bibr" rid="ref-7">7</xref>,<xref ref-type="bibr" rid="ref-8">8</xref>]. Each modern smart vehicle is equipped with an on-board unit (OBU). In general, OBU contains various components, such as storage unit, processor, sensors, global positioning system (GPS), cameras, communication systems and many more, and OBU is underutilized for a considerable amount of time [<xref ref-type="bibr" rid="ref-3">3</xref>,<xref ref-type="bibr" rid="ref-9">9</xref>]. Moreover, VCC provides a platform for these underutilized vehicles&#x2019; resources, and these resources can be intelligently utilized by offering services to the users on a pay-per-use basis [<xref ref-type="bibr" rid="ref-10">10</xref>]. For instance, car drivers and passengers can benefit by obtaining services like traffic management, parking availability, emergency assistance, smooth navigation, multimedia content sharing, etc., from the VCC [<xref ref-type="bibr" rid="ref-1">1</xref>,<xref ref-type="bibr" rid="ref-11">11</xref>].</p>
<p>A significant number of vehicles is spending considerable amount of time at parking lot and moving within a given area (hereafter, referred as grid). These vehicles can be participated in VCC by connecting to nearest fixed roadside unit (RSU), which is further connected to cloud service provider (CSP) in order to provide backbone infrastructure to the cloud [<xref ref-type="bibr" rid="ref-1">1</xref>,<xref ref-type="bibr" rid="ref-10">10</xref>&#x2013;<xref ref-type="bibr" rid="ref-12">12</xref>]. On the other hand, CSP can assign the loads to the RSUs in order to execute the same in the roadside infrastructure. Upon receiving loads from CSP, RSU can identify suitable vehicle and create a VM on that vehicle to perform load sharing as reported in [<xref ref-type="bibr" rid="ref-13">13</xref>]. However, the resources of the vehicle are not fully utilized as the created VM is handling all the resources of the vehicle. Many studies [<xref ref-type="bibr" rid="ref-13">13</xref>&#x2013;<xref ref-type="bibr" rid="ref-22">22</xref>] reported that some of these VMs are overloaded and others are underutilized. Moreover, energy consumption of overloaded and under loaded vehicles are varying with respect to their utilization. Note that high utilization leads to drastic increase in energy consumption and low utilization or idle situation leads to wastage of energy. Alternatively, energy consumption increases exponentially on or above 70% of resource utilization [<xref ref-type="bibr" rid="ref-14">14</xref>,<xref ref-type="bibr" rid="ref-19">19</xref>]. Therefore, it is challenging task to manage overloaded/source and under loaded/destination vehicles and share their load to minimize the energy [<xref ref-type="bibr" rid="ref-15">15</xref>,<xref ref-type="bibr" rid="ref-18">18</xref>,<xref ref-type="bibr" rid="ref-23">23</xref>,<xref ref-type="bibr" rid="ref-24">24</xref>]. One of the solutions is to migrate/consolidate the over utilized VMs of overloaded vehicles to under loaded vehicles in order to improve resource utilization. This phenomenon motivated us to identify the overloaded vehicles and their corresponding target vehicles by incorporating threshold value and checking the suitability of the vehicles.</p>
<p>In this paper, we propose a resource management algorithm, called resource utilization-aware VM migration (RUVMM) that selects the appropriate source and destination vehicles, and suitable VMs hosted on the source vehicle for the process of VM migration. For this, it monitors the trend of resource utilization and selects the source and destination vehicles within a pre-determined threshold limit. It ensures that the resource utilization of any vehicles should not exceed the threshold before or after the migration process. In this way, it solves the challenges associated with VM migration in VCC. RU-VMM is simulated using MATLAB and tested using nine randomly generated datasets. The simulation results are carried out for RU-VMM algorithm and compared with two existing algorithms, namely threshold-based algorithm [<xref ref-type="bibr" rid="ref-14">14</xref>,<xref ref-type="bibr" rid="ref-18">18</xref>] and cumulative sum (CUSUM) [<xref ref-type="bibr" rid="ref-13">13</xref>] in terms of three performance metrics, namely number of source vehicles, percentage of successful VM migrations and percentage of dropped VM migrations. For the sake of comparison, we use threshold and CUSUM algorithms as other algorithms are not directly comparable to our algorithm. The comparison results show that RU-VMM algorithm performs better than other two algorithms in terms of above performance metrics. Our major contributions are as follows.</p>
<list list-type="bullet">
<list-item><p>We develop a resource management algorithm, RUVMM to migrate the over utilized VMs that are hosted on the overloaded vehicles to the under loaded vehicles.</p></list-item>
<list-item><p>The overloaded vehicles are identified by determining a threshold value and checking the suitability of vehicles.</p></list-item>
<list-item><p>The migration process determines the source vehicles and destination vehicles by avoiding unnecessary migrations and ensures that the resource utilization of any vehicles at any point of time should not exceed the threshold.</p></list-item>
<list-item><p>We simulate the existing algorithms, threshold and CUSUM, and compare their results to show the efficacy of the proposed algorithm.</p></list-item>
</list>
<p>The rest of the paper is organized as follows. Section 2 discusses various studies carried out in the field of VM consolidation and migration. Section 3 presents the vehicular cloud model and problem statement followed by the proposed algorithm and performance metrics in Section 4 and Section 5, respectively. Simulation results are discussed in Section 6. We conclude in Section 7 with some notable remarks and future works.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>Related Work</title>
<p>In the recent past, many researchers [<xref ref-type="bibr" rid="ref-7">7</xref>,<xref ref-type="bibr" rid="ref-9">9</xref>,<xref ref-type="bibr" rid="ref-25">25</xref>] have explored the advancement and application of VCC for better traffic management, entertainment services, assistance in emergencies to drivers, finding parking areas, smooth navigation, managing data centers, parking lot and many more. With an increase in popularity, VCC also faces various notable problems, such as resource management, energy consumption, bandwidth, latency and many more [<xref ref-type="bibr" rid="ref-17">17</xref>,<xref ref-type="bibr" rid="ref-23">23</xref>,<xref ref-type="bibr" rid="ref-26">26</xref>]. Researchers have explored different dimensions of VCC to address the above-mentioned problems, which are briefly discussed in this section.</p>
<p>Hamdi et al. [<xref ref-type="bibr" rid="ref-18">18</xref>] have stated that high energy consumption makes an adverse effect on cost and environment. They have highlighted VM consolidation techniques in various dimension and discussed some important characteristics of VM consolidation techniques like varying nature of resource requirement, ideal power consumption of physical machines etc. Wu et al. [<xref ref-type="bibr" rid="ref-23">23</xref>] have proposed a power-aware scheduling algorithm, which uses the utilization threshold strategy to select host physical machines and minimum utilization gap to select VMs for the process of VM migration. Here, they used power-aware best fit decreasing to select destination vehicles. Hsieh et al. [<xref ref-type="bibr" rid="ref-17">17</xref>] have considered both current and future utilization of resources, and predicted future utilization of resources more accurately. They have determined the host overload and under load detection to perform this prediction. Li et al. [<xref ref-type="bibr" rid="ref-26">26</xref>] have proposed an energy-efficient and quality-aware VM consolidation technique, which uses four algorithms, namely multi-resource host overload detection, quality of service-aware VM selection, discrete differential evolution-based VM placement and under-loaded host detection to improve resource utilization and reduced energy consumption. Mekala et al. [<xref ref-type="bibr" rid="ref-16">16</xref>] have focused on the resource requirement rate for task classification, resource balance ranking and processing element cost to evaluate overloaded host, under loaded host and VMs for migration. Sharma et al. [<xref ref-type="bibr" rid="ref-27">27</xref>] have proposed a failure prediction technique, which is based on exponential smoothing to trigger two fault tolerance mechanisms, namely VM migration and VM check pointing. Many other studies on power and resource-aware VM placement and VM migration techniques are discussed in [<xref ref-type="bibr" rid="ref-3">3</xref>,<xref ref-type="bibr" rid="ref-10">10</xref>,<xref ref-type="bibr" rid="ref-11">11</xref>,<xref ref-type="bibr" rid="ref-28">28</xref>,<xref ref-type="bibr" rid="ref-29">29</xref>].</p>
<p>Andreolini et al. [<xref ref-type="bibr" rid="ref-14">14</xref>] have presented a dynamic load management approach using cumulative sum (CUSUM) algorithm to take a decision on VM reallocation. For this, it determines the abrupt change in the CPU utilization without considering any fixed thresholds. If the change is persistent, then it selects the corresponding host as a sender host and finds a suitable guest host to initiate the migration process. This algorithm achieves better performance and low overhead as it minimizes the number of migrations. However, the number of source vehicles is increased to a greater extent due to unknown thresholds over time. Alternatively, they have considered the load behavior of resources without relying on average measures. Khanna et al. [<xref ref-type="bibr" rid="ref-15">15</xref>] have monitored the performance of resources. If the performance exceeds a threshold, then it initiates the process of migration. The threshold value is relying on the service level agreement. Hence, it may vary with respect to the resources. Hsu et al. [<xref ref-type="bibr" rid="ref-19">19</xref>] have considered 70% as a threshold to perform the task consolidation. If the load exceeds 70%, then it redirects the load to other resources. However, in the case of the unavailability of resources, it keeps the load by violating the threshold. Some other studies on threshold-based algorithms are discussed in [<xref ref-type="bibr" rid="ref-20">20</xref>,<xref ref-type="bibr" rid="ref-21">21</xref>]. Most of the above studies have not considered the trend behavior of resource utilization of the vehicles while selecting source and destination vehicles in the process of VM migration. In this paper, we propose an algorithm, RU-VMM, which focuses on the trend and change in resource utilization to select source and destination vehicles and continuously monitors the utilization before and after the process of migration, such that unnecessary migrations are avoided.</p>
</sec>
<sec id="s3">
<label>3</label>
<title>Vehicular Cloud</title>
<sec id="s3_1">
<label>3.1</label>
<title>Vehicular Cloud Model</title>
<p>We consider a heterogeneous VCC environment, as shown in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>, where a large number of vehicles provide Intra and Inter grid transport facilities. This environment has a significant difference while comparing with traditional datacenters, and they are moving network pool, autonomous cloud formation and federation, mobility, and many more. In VCC, the vehicles are equipped with various resources, which are generally underutilized. These underutilized resources can host virtual machines (VMs) in order to help the cloud service provider (CSP) to render various services and improve their utilization. Whenever a vehicle enters in a grid, it broadcasts a beacon beam that consists of various information about that vehicle. The beacon beam is received by the roadside unit (RSU) of the respective grid. Moreover, vehicles are connected to the CSP through the RSU that are present in the grid. Here, CSP is a centralized unit to distribute the loads among the RSUs. RSUs keep track of the vehicles, and collect and monitor the current load, utilization of the VMs of the vehicles (i.e., resource utilization) along with the information like path, speed, parking time of the vehicles, etc. Note that RSU is a centralized component to monitor the vehicles that are present in a grid. Here, we assume that the resource utilization of vehicles is identifiable and collected periodically by the corresponding RSU. RSUs receive the loads from the CSP and distribute the same to the vehicles of the grid. Each vehicle can host one or more VMs to execute the assigned load and each VM contains its own operating system and required hardware resources using virtualization technology. To meet better resource utilization and load management, migration of overloaded VMs to under loaded VMs is required. However, the challenging task is the selection of the source vehicles, destination vehicle, and VMs in the process of migration. It is important to mention that VM migration is associated with various parameters, such as bandwidth, delay, and cost. Here, unnecessary migrations can significantly increase these parameters. Therefore, sufficient attention should be taken in the selection of source vehicles, destination vehicles, and VMs in order to overcome unnecessary migrations.</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>A system architecture</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="fig-1.png"/>
</fig>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>Problem Statement</title>
<p>Let us consider a grid <italic>G</italic>, in which a set of <italic>n</italic> vehicles, <inline-formula id="ieqn-1"><alternatives><inline-graphic xlink:href="ieqn-1.png"/><tex-math id="tex-ieqn-1"><![CDATA[$V = \{V_{i}\mid i = 1,  2,  3,  \ldots,  n\}$]]></tex-math><mml:math id="mml-ieqn-1"><mml:mi>V</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>V</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2223;</mml:mo><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mn>3</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:math></alternatives></inline-formula> is presented and connected to the RSU. Each vehicle <italic>V<sub>i</sub></italic>, <inline-formula id="ieqn-2"><alternatives><inline-graphic xlink:href="ieqn-2.png"/><tex-math id="tex-ieqn-2"><![CDATA[$1 \leq i \leq n$]]></tex-math><mml:math id="mml-ieqn-2"><mml:mn>1</mml:mn><mml:mo>&#x2264;</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mi>n</mml:mi></mml:math></alternatives></inline-formula> can host <italic>M<sub>i</sub></italic>, <inline-formula id="ieqn-3"><alternatives><inline-graphic xlink:href="ieqn-3.png"/><tex-math id="tex-ieqn-3"><![CDATA[$1 \leq i \leq n$]]></tex-math><mml:math id="mml-ieqn-3"><mml:mn>1</mml:mn><mml:mo>&#x2264;</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mi>n</mml:mi></mml:math></alternatives></inline-formula> VMs. <inline-formula id="ieqn-4"><alternatives><inline-graphic xlink:href="ieqn-4.png"/><tex-math id="tex-ieqn-4"><![CDATA[$\textit{VMU}[i,  j,  k]$]]></tex-math><mml:math id="mml-ieqn-4"><mml:mstyle class="text"><mml:mtext class="textit" mathvariant="italic">VMU</mml:mtext></mml:mstyle><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:math></alternatives></inline-formula> is a 3-D matrix which represents the utilization of <italic>VM<sub>j</sub></italic>, <inline-formula id="ieqn-5"><alternatives><inline-graphic xlink:href="ieqn-5.png"/><tex-math id="tex-ieqn-5"><![CDATA[$1 \leq j \leq M_{i}$]]></tex-math><mml:math id="mml-ieqn-5"><mml:mn>1</mml:mn><mml:mo>&#x2264;</mml:mo><mml:mi>j</mml:mi><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mrow><mml:mi>M</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></alternatives></inline-formula> at time instance <italic>k</italic>, <inline-formula id="ieqn-6"><alternatives><inline-graphic xlink:href="ieqn-6.png"/><tex-math id="tex-ieqn-6"><![CDATA[$1 \leq k \leq t$]]></tex-math><mml:math id="mml-ieqn-6"><mml:mn>1</mml:mn><mml:mo>&#x2264;</mml:mo><mml:mi>k</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mi>t</mml:mi></mml:math></alternatives></inline-formula>, that is hosted on vehicle <italic>V<sub>i</sub></italic>, <inline-formula id="ieqn-7"><alternatives><inline-graphic xlink:href="ieqn-7.png"/><tex-math id="tex-ieqn-7"><![CDATA[$1 \leq i \leq n$]]></tex-math><mml:math id="mml-ieqn-7"><mml:mn>1</mml:mn><mml:mo>&#x2264;</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mi>n</mml:mi></mml:math></alternatives></inline-formula> (<xref ref-type="disp-formula" rid="eqn-1">Eq. (1)</xref>). Here <italic>t</italic> represents the time window in which utilization of the vehicles are periodically collected.</p>
<p><disp-formula id="eqn-1">
<label>(1)</label>
<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-1.png"/>
<tex-math id="tex-eqn-1"><![CDATA[$$\begin{align}
VMUijk=\begin{matrix}
   VMi1  \\
   VMi2  \\
   \vdots   \\
   VMiMi  \\
\end{matrix}\left\{ \begin{matrix}
   \overset{1}{\mathop{VMUi11}}\, & \overset{2}{\mathop{VMUi12}}\, & \overset{\ldots }{\mathop{\cdots }}\, & \overset{t}{\mathop{VMUi1t}}\,  \\
   VMUi21 & VMUi22 & \cdots  & VMUi2t  \\
   \vdots  & \vdots  & \ldots  & \vdots   \\
   VMUiMi1 & VMUiMi2 & \cdots  & VMUiMit  \\
\end{matrix} \right\}

   \label{eqn-1}
\end{align}$$]]></tex-math>
<mml:math id="mml-eqn-1" display="block"><mml:mrow><mml:mi>V</mml:mi><mml:mi>M</mml:mi><mml:mi>U</mml:mi><mml:mi>i</mml:mi><mml:mi>j</mml:mi><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mi>V</mml:mi><mml:mi>M</mml:mi><mml:mi>i</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mi>V</mml:mi><mml:mi>M</mml:mi><mml:mi>i</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x22EE;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mi>V</mml:mi><mml:mi>M</mml:mi><mml:mi>i</mml:mi><mml:mi>M</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable><mml:mrow><mml:mo>{</mml:mo> <mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mover><mml:mrow><mml:mi>V</mml:mi><mml:mi>M</mml:mi><mml:mi>U</mml:mi><mml:mi>i</mml:mi><mml:mn>11</mml:mn></mml:mrow><mml:mn>1</mml:mn></mml:mover></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mover><mml:mrow><mml:mi>V</mml:mi><mml:mi>M</mml:mi><mml:mi>U</mml:mi><mml:mi>i</mml:mi><mml:mn>12</mml:mn></mml:mrow><mml:mn>2</mml:mn></mml:mover></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mover><mml:mo>&#x22EF;</mml:mo><mml:mo>&#x2026;</mml:mo></mml:mover></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mover><mml:mrow><mml:mi>V</mml:mi><mml:mi>M</mml:mi><mml:mi>U</mml:mi><mml:mi>i</mml:mi><mml:mn>1</mml:mn><mml:mi>t</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:mover></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mi>V</mml:mi><mml:mi>M</mml:mi><mml:mi>U</mml:mi><mml:mi>i</mml:mi><mml:mn>21</mml:mn></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi>V</mml:mi><mml:mi>M</mml:mi><mml:mi>U</mml:mi><mml:mi>i</mml:mi><mml:mn>22</mml:mn></mml:mrow></mml:mtd><mml:mtd><mml:mo>&#x22EF;</mml:mo></mml:mtd><mml:mtd><mml:mrow><mml:mi>V</mml:mi><mml:mi>M</mml:mi><mml:mi>U</mml:mi><mml:mi>i</mml:mi><mml:mn>2</mml:mn><mml:mi>t</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x22EE;</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x22EE;</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x2026;</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x22EE;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mi>V</mml:mi><mml:mi>M</mml:mi><mml:mi>U</mml:mi><mml:mi>i</mml:mi><mml:mi>M</mml:mi><mml:mi>i</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi>V</mml:mi><mml:mi>M</mml:mi><mml:mi>U</mml:mi><mml:mi>i</mml:mi><mml:mi>M</mml:mi><mml:mi>i</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:mtd><mml:mtd><mml:mo>&#x22EF;</mml:mo></mml:mtd><mml:mtd><mml:mrow><mml:mi>V</mml:mi><mml:mi>M</mml:mi><mml:mi>U</mml:mi><mml:mi>i</mml:mi><mml:mi>M</mml:mi><mml:mi>i</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow> <mml:mo>}</mml:mo></mml:mrow></mml:mrow></mml:math></alternatives></disp-formula></p>
<p>It is noteworthy to mention that, the utilization of the vehicle <italic>V<sub>i</sub></italic>, <inline-formula id="ieqn-8"><alternatives><inline-graphic xlink:href="ieqn-8.png"/><tex-math id="tex-ieqn-8"><![CDATA[$1 \leq i \leq n$]]></tex-math><mml:math id="mml-ieqn-8"><mml:mn>1</mml:mn><mml:mo>&#x2264;</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mi>n</mml:mi></mml:math></alternatives></inline-formula> at time instance <italic>k</italic>, <inline-formula id="ieqn-9"><alternatives><inline-graphic xlink:href="ieqn-9.png"/><tex-math id="tex-ieqn-9"><![CDATA[$1 \leq k \leq t$]]></tex-math><mml:math id="mml-ieqn-9"><mml:mn>1</mml:mn><mml:mo>&#x2264;</mml:mo><mml:mi>k</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mi>t</mml:mi></mml:math></alternatives></inline-formula> is the summation of the utilization of the hosted VMs at that time. Here, the problem is to find the source vehicles, destination vehicles and VMs for the process of VM migration such that the number of final source vehicles and the percentage of dropped VM migration are minimized, and the percentage of successful VM migration is maximized. Alternatively, the main aspect of the problem is to reduce the number of final source vehicles in order to minimize the unnecessary number of VM migration(s).</p>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>Proposed Algorithm</title>
<p>The proposed resource utilization-aware VM migration (RU-VMM) algorithm is a load balancing algorithm. It is implemented in the centralized cloud in which RSUs of the grids act as intermediary between vehicles and cloud. The objective of this algorithm is to migrate the load from the VMs that are hosted on overloaded vehicles to the VMs that are hosted on under loaded vehicles. Alternatively, it balances the load of the VMs and improves the resource utilization of the VMs. This algorithm works in three phases as follows. In the first phase, it finds the set of probable source vehicles. In the second phase, it finds the VMs that are hosted on the source vehicles to initiate the process of migration. In the last phase, it finds the destination vehicles to migrate the VMs and performs the actual process of migration. The pseudo-code of these phases is shown in Algorithm 1 and Procedures 1&#x2013;4. <xref ref-type="table" rid="table-1">Tab. 1</xref> shows the notations and their definition used in the pseudo-code of the proposed algorithm. An overview of the proposed algorithm is shown in <xref ref-type="fig" rid="fig-2">Fig. 2</xref>.</p>
<table-wrap id="table-1">
<label>Table 1</label>
<caption>
<title>Notations used in the pseudo-code and their definition</title>
</caption>
<table><colgroup>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Notation</th>
<th>Definition</th>
<th>Notation</th>
<th>Definition</th>
</tr>
</thead>
<tbody>
<tr>
<td><italic>VU<sub>ik</sub></italic></td>
<td>Resource utilization of vehicle <italic>V<sub>i</sub></italic> at time instance <italic>k</italic></td>
<td><italic>nfsv</italic></td>
<td>Number of final source vehicles</td>
</tr>
<tr>
<td><italic>VM<sub>mig</sub></italic></td>
<td>Set of VMs that are suitable for migration</td>
<td><italic>V<sub>dest</sub></italic></td>
<td>Set of destination vehicles</td>
</tr>
<tr>
<td><italic>npsv</italic></td>
<td>Number of probable source vehicles</td>
<td><italic>V<sub>src</sub></italic></td>
<td>Set of source vehicles</td>
</tr>
<tr>
<td><italic>SPSV</italic></td>
<td>Set of probable source vehicles</td>
<td><italic>STD</italic></td>
<td>Standard deviation function</td>
</tr>
<tr>
<td><italic>ncvmm</italic></td>
<td>Number if candidate VMs suitable for migration</td>
<td><italic>POWER</italic></td>
<td>Function to calculate exponentiation</td>
</tr>
<tr>
<td><italic>SORT</italic></td>
<td>Function to sort in ascending/descending order</td>
<td><italic>AVG</italic></td>
<td>Average</td>
</tr>
<tr>
<td><italic>npdv</italic></td>
<td>Number of probable destination vehicles</td>
<td><italic>AVGUTI</italic></td>
<td>Average utilization</td>
</tr>
<tr>
<td><italic>nvmm</italic></td>
<td>Number of successful VM migrations</td>
<td/>
<td/>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>An overview of the proposed algorithm </title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="fig-2.png"/>
</fig>
<p>RU-VMM algorithm first calculates the utilization of the vehicles for a given time window as shown in Algorithm 1 (Line 1&#x2013;5). Then it calls the three procedures for selecting probable source vehicles (Procedure 1), checking their suitability (Procedure 2, which is called from Procedure 1, Procedure 3 and Procedure 4), finding VMs (Procedure 3) and destination vehicles (Procedure 4), respectively.</p>
<fig id="fig-8">
<graphic mimetype="image" mime-subtype="png" xlink:href="fig-8.png"/>
</fig>
<p>The Algorithm calls Procedure 1 to find a set of probable source vehicles. For this, it checks sum of the utilization of VMs that are hosted by vehicles within a time window <italic>t</italic>. Note that the sum of the utilization of the VMs should not exceed 100%. If the utilization value is above a threshold (say, 70%) at any point of time and it is persistent, then the vehicle is a potential candidate in the set of probable source vehicles (Lines 2&#x2013;8 of Procedure 1). Note that the threshold is determined based on the drastic change in energy consumption and fixed at 70% in this paper as adopted in [<xref ref-type="bibr" rid="ref-19">19</xref>]. The determination of actual threshold is beyond the scope of this work. It is noteworthy to mention that the vehicles, whose utilization are above 70% for a small interval of time, are also potential candidates in the set of probable source vehicles. In order to avoid this, Procedure 1 calls the Procedure 2 to check the suitability of the source vehicles (Line 11).</p>
<fig id="fig-9">
<graphic mimetype="image" mime-subtype="png" xlink:href="fig-9.png"/>
</fig>
<p>Procedure 2 checks the suitability of source vehicles by determining the rolling change in utilization (Lines 2&#x2013;8 of Procedure 2). The rolling change is calculated using the equation given in Line 5. Note that it calculates the utilization for every instance of time and every duration of time. Then the rolling change values are averaged (Line 7). Next, this procedure calculates the standard deviation of average values and compares the product of standard deviation and 100 with the product of standard deviation of utilization of vehicle and a system parameter, <inline-formula id="ieqn-10"><alternatives><inline-graphic xlink:href="ieqn-10.png"/><tex-math id="tex-ieqn-10"><![CDATA[$\lambda$]]></tex-math><mml:math id="mml-ieqn-10"><mml:mi>&#x03BB;</mml:mi></mml:math></alternatives></inline-formula> (Line 10). If the later value is more, then the vehicle is suitable for a source vehicle (Line 11 of Procedure 2 and Lines 12&#x2013;14 of Procedure 1). Note that determination of actual value of the system parameter is beyond the scope of this work. Otherwise, the vehicle is removed from the set of probable source vehicles.</p>
<fig id="fig-10">
<graphic mimetype="image" mime-subtype="png" xlink:href="fig-10.png"/>
</fig>
<p>Next, the algorithm calls Procedure 3 to find a suitable VM from the final set of source vehicles (Line 7 of Algorithm 1). For this, it determines the standard deviation of VM utilization (Lines 4&#x2013;6 of Procedure 3) and arranging them in descending order of their standard deviation (Line 7). Then it finds the highest standard deviation and make that VM as a potential candidate for VM migration (Lines 10&#x2013;12). However, we have not used any elastic computing theory concept to find the potential VM for migration. Next, the suitability of the same vehicle is further checked (Lines 13&#x2013;21). If the vehicle is still suitable, then another potential candidate is determined by following the above process (Lines 9&#x2013;22). Otherwise, the vehicle is removed from the set of final source vehicles.</p>
<p>Next, the algorithm calls Procedure 4 to find the destination vehicles so that the VM of the source vehicle can be migrated to one of the destination vehicles. For this, it determines the average utilization of all vehicles, excluding the vehicles that are present in the set of final source vehicles and sort them in the ascending order of their average utilization (Lines 2&#x2013;7 of Procedure 4). Then the vehicle with lowest average utilization is selected as a destination vehicle (Line 9) and the migration process is carried out (Line 11). The suitability of the selected vehicle is checked to ensure that the destination vehicle should not become the source vehicle after the successful migration (Lines 10&#x2013;23).</p>
<fig id="fig-11">
<graphic mimetype="image" mime-subtype="png" xlink:href="fig-11.png"/>
</fig>
<fig id="fig-12">
<graphic mimetype="image" mime-subtype="png" xlink:href="fig-12.png"/>
<graphic mimetype="image" mime-subtype="png" xlink:href="fig-13.png"/>
</fig>
<p><bold><italic>Illustration</italic></bold></p>
<p>We illustrate the proposed algorithm using four vehicles (i.e., <italic>V</italic><sub>1</sub>, <italic>V</italic><sub>2</sub>, <italic>V</italic><sub>3</sub>, and <italic>V</italic><sub>4</sub>) that is present in a grid. Here, each vehicle can host one or more VMs. The proposed algorithm first calculates the resource utilization of the VMs that are hosted by the vehicles. These values are shown up to time instance <italic>t</italic> = 10 in <xref ref-type="table" rid="table-2">Tab. 2</xref>, and their cumulative values with respect to vehicles and time instances are shown in <xref ref-type="fig" rid="fig-3">Fig. 3</xref>. Then the proposed algorithm calls Procedure 1 to find the set of probable source vehicles. Here, vehicles <italic>V</italic><sub>1</sub>, <italic>V</italic><sub>2</sub> and <italic>V</italic><sub>3</sub> are the set of probable source vehicles as their resource utilization values exceed 70%.</p>
<table-wrap id="table-2">
<label>Table 2</label>
<caption>
<title>Resource utilization of the VMs</title>
</caption>
<table><colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th></th>
<th colspan="3"><italic>V</italic><sub>1</sub></th>
<th colspan="3"><italic>V</italic><sub>2</sub></th>
<th colspan="3"><italic>V</italic><sub>3</sub></th>
<th><italic>V</italic><sub>4</sub></th>
</tr>
<tr>
<th><bold>Time</bold></th>
<th><italic>VM</italic><sub>1</sub></th>
<th><italic>VM</italic><sub>2</sub></th>
<th><italic>VM</italic><sub>3</sub></th>
<th><italic>VM</italic><sub>1</sub></th>
<th><italic>VM</italic><sub>2</sub></th>
<th><italic>VM</italic><sub>3</sub></th>
<th><italic>VM</italic><sub>1</sub></th>
<th><italic>VM</italic><sub>2</sub></th>
<th><italic>VM</italic><sub>3</sub></th>
<th><italic>VM</italic><sub>1</sub></th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>16</td>
<td>10</td>
<td>39</td>
<td>04</td>
<td>03</td>
<td>05</td>
<td>03</td>
<td>08</td>
<td>09</td>
<td>01</td>
</tr>
<tr>
<td>2</td>
<td>23</td>
<td>18</td>
<td>45</td>
<td>13</td>
<td>22</td>
<td>30</td>
<td>08</td>
<td>07</td>
<td>10</td>
<td>08</td>
</tr>
<tr>
<td>3</td>
<td>11</td>
<td>09</td>
<td>36</td>
<td>15</td>
<td>18</td>
<td>43</td>
<td>07</td>
<td>11</td>
<td>14</td>
<td>04</td>
</tr>
<tr>
<td>4</td>
<td>04</td>
<td>03</td>
<td>05</td>
<td>21</td>
<td>33</td>
<td>35</td>
<td>09</td>
<td>10</td>
<td>20</td>
<td>07</td>
</tr>
<tr>
<td>5</td>
<td>14</td>
<td>13</td>
<td>28</td>
<td>9</td>
<td>11</td>
<td>12</td>
<td>10</td>
<td>9</td>
<td>24</td>
<td>03</td>
</tr>
<tr>
<td>6</td>
<td>09</td>
<td>08</td>
<td>27</td>
<td>16</td>
<td>26</td>
<td>27</td>
<td>08</td>
<td>13</td>
<td>48</td>
<td>06</td>
</tr>
<tr>
<td>7</td>
<td>11</td>
<td>09</td>
<td>28</td>
<td>19</td>
<td>30</td>
<td>25</td>
<td>12</td>
<td>10</td>
<td>56</td>
<td>03</td>
</tr>
<tr>
<td>8</td>
<td>12</td>
<td>07</td>
<td>13</td>
<td>17</td>
<td>29</td>
<td>48</td>
<td>17</td>
<td>15</td>
<td>49</td>
<td>02</td>
</tr>
<tr>
<td>9</td>
<td>26</td>
<td>11</td>
<td>21</td>
<td>20</td>
<td>25</td>
<td>42</td>
<td>15</td>
<td>19</td>
<td>54</td>
<td>02</td>
</tr>
<tr>
<td>10</td>
<td>05</td>
<td>07</td>
<td>10</td>
<td>14</td>
<td>18</td>
<td>49</td>
<td>16</td>
<td>17</td>
<td>62</td>
<td>03</td>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="fig-3">
<label>Figure 3</label>
<caption>
<title>Resource utilization of vehicles</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="fig-3.png"/>
</fig>
<p>Now, the algorithm calls Procedure 2 to check the suitability of the vehicles as source vehicle(s). For example, let us check the suitability of the vehicle <italic>V</italic><sub>3</sub>. For this, the algorithm calculates the rolling change (<italic>RC</italic>) in the resource utilization. For <italic>V</italic><sub>3</sub>, resource utilizations are 20, 25, 32, 39, 43, 69, 78, 81, 88 and 95 for time instance 1 to time instance 10, respectively. Suppose <italic>k</italic> = 1 and <inline-formula id="ieqn-11"><alternatives><inline-graphic xlink:href="ieqn-11.png"/><tex-math id="tex-ieqn-11"><![CDATA[$\textit{k}' = 1$]]></tex-math><mml:math id="mml-ieqn-11"><mml:msup><mml:mrow><mml:mstyle class="text"><mml:mtext class="textit" mathvariant="italic">k</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>&#x2032;</mml:mi></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math></alternatives></inline-formula>, <italic>RC</italic><sub>3</sub> is calculated as <inline-formula id="ieqn-12"><alternatives><inline-graphic xlink:href="ieqn-12.png"/><tex-math id="tex-ieqn-12"><![CDATA[$ \left(\displaystyle\frac{25}{20}\right)^{\frac{1}{1}}-1=0.2500 $]]></tex-math><mml:math id="mml-ieqn-12"><mml:msup><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mn>25</mml:mn></mml:mrow><mml:mrow><mml:mn>20</mml:mn></mml:mrow></mml:mfrac></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:mfrac></mml:mrow></mml:msup><mml:mo>-</mml:mo><mml:mn>1</mml:mn><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>.</mml:mo><mml:mn>2500</mml:mn></mml:math></alternatives></inline-formula>. Note that <italic>RC</italic> is calculated for each time instance <italic>k</italic> and these values are <inline-formula id="ieqn-13"><alternatives><inline-graphic xlink:href="ieqn-13.png"/><tex-math id="tex-ieqn-13"><![CDATA[$ \left(\displaystyle\frac{32}{25}\right)^{\frac{1}{1}}-1=0.2800 $]]></tex-math><mml:math id="mml-ieqn-13"><mml:msup><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mn>32</mml:mn></mml:mrow><mml:mrow><mml:mn>25</mml:mn></mml:mrow></mml:mfrac></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:mfrac></mml:mrow></mml:msup><mml:mo>-</mml:mo><mml:mn>1</mml:mn><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>.</mml:mo><mml:mn>2800</mml:mn></mml:math></alternatives></inline-formula>, <inline-formula id="ieqn-14"><alternatives><inline-graphic xlink:href="ieqn-14.png"/><tex-math id="tex-ieqn-14"><![CDATA[$ \left(\displaystyle\frac{39}{32}\right)^{\frac{1}{1}}-1=0.2188 $]]></tex-math><mml:math id="mml-ieqn-14"><mml:msup><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mn>39</mml:mn></mml:mrow><mml:mrow><mml:mn>32</mml:mn></mml:mrow></mml:mfrac></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:mfrac></mml:mrow></mml:msup><mml:mo>-</mml:mo><mml:mn>1</mml:mn><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>.</mml:mo><mml:mn>2188</mml:mn></mml:math></alternatives></inline-formula>, 0.1026, 0.6047, 0.1304, 0.0385, 0.0864 and 0.0795, respectively. Then these <italic>RC</italic> values are averaged as 0.1990 for <italic>k</italic> = 1. Similarly, <italic>RC</italic> values are calculated for <italic>k</italic> = 2 (i.e., <inline-formula id="ieqn-15"><alternatives><inline-graphic xlink:href="ieqn-15.png"/><tex-math id="tex-ieqn-15"><![CDATA[$ \left(\displaystyle\frac{32}{20}\right)^{\frac{1}{2}}-1=0.2649 $]]></tex-math><mml:math id="mml-ieqn-15"><mml:msup><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mn>32</mml:mn></mml:mrow><mml:mrow><mml:mn>20</mml:mn></mml:mrow></mml:mfrac></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac></mml:mrow></mml:msup><mml:mo>-</mml:mo><mml:mn>1</mml:mn><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>.</mml:mo><mml:mn>2649</mml:mn></mml:math></alternatives></inline-formula>, 0.2490, 0.1592, 0.3301, 0.3468, 0.0835, 0.0622 and 0.0830) to <italic>k</italic> = 9 (i.e., <inline-formula id="ieqn-16"><alternatives><inline-graphic xlink:href="ieqn-16.png"/><tex-math id="tex-ieqn-16"><![CDATA[$ \left(\displaystyle\frac{95}{20}\right)^{\frac{1}{9}}-1=0.1890 $]]></tex-math><mml:math id="mml-ieqn-16"><mml:msup><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mn>95</mml:mn></mml:mrow><mml:mrow><mml:mn>20</mml:mn></mml:mrow></mml:mfrac></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>9</mml:mn></mml:mrow></mml:mfrac></mml:mrow></mml:msup><mml:mo>-</mml:mo><mml:mn>1</mml:mn><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>.</mml:mo><mml:mn>1890</mml:mn></mml:math></alternatives></inline-formula>), respectively and the average values, for <italic>k</italic> = 2 to <italic>k</italic> = 9, are 0.1973, 0.1981, 0.2048, 0.2178, 0.2037, 0.1954, 0.1925 and 0.1890, respectively.</p>
<p>Next, the algorithm finds standard deviation of all the averaged values as 0.0084 (i.e., <italic>SD<sub>arc</sub></italic>) and standard deviation of the utilization as 14.0500 (i.e., <italic>SD<sub>ru</sub></italic>) of the vehicle <italic>V</italic><sub>3</sub>. As <inline-formula id="ieqn-17"><alternatives><inline-graphic xlink:href="ieqn-17.png"/><tex-math id="tex-ieqn-17"><![CDATA[$(SD_{ru}\times \lambda = 14.0500 \times 0.5000 \mathrm{(Let)}= 7.0250) > (SD_{arc}\times 100 = 0.0084 \times 100 = 0.8400)$]]></tex-math><mml:math id="mml-ieqn-17"><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>S</mml:mi><mml:msub><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>u</mml:mi></mml:mrow></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:mi>&#x03BB;</mml:mi><mml:mo>=</mml:mo><mml:mn>14</mml:mn><mml:mo>.</mml:mo><mml:mn>0500</mml:mn><mml:mo>&#x00D7;</mml:mo><mml:mn>0</mml:mn><mml:mo>.</mml:mo><mml:mn>5000</mml:mn><mml:mstyle mathvariant="normal"><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>L</mml:mi><mml:mi>e</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mstyle><mml:mo>=</mml:mo><mml:mn>7</mml:mn><mml:mo>.</mml:mo><mml:mn>0250</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x003E;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>S</mml:mi><mml:msub><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msub><mml:mo>&#x00D7;</mml:mo><mml:mn>100</mml:mn><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>.</mml:mo><mml:mn>0084</mml:mn><mml:mo>&#x00D7;</mml:mo><mml:mn>100</mml:mn><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>.</mml:mo><mml:mn>8400</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math></alternatives></inline-formula>, the vehicle <italic>V</italic><sub>3</sub> is suitable for a source vehicle. Note that <inline-formula id="ieqn-18"><alternatives><inline-graphic xlink:href="ieqn-18.png"/><tex-math id="tex-ieqn-18"><![CDATA[$\lambda$]]></tex-math><mml:math id="mml-ieqn-18"><mml:mi>&#x03BB;</mml:mi></mml:math></alternatives></inline-formula> is a system parameter and it is set as 0.5 for this illustration.</p>
<p>The vehicle <italic>V</italic><sub>3</sub> hosts three VMs (i.e., <italic>VM</italic><sub>31</sub>, <italic>VM</italic><sub>32</sub> and <italic>VM</italic><sub>33</sub>). Now, the algorithm finds the suitable VM(s) that is hosted on vehicle <italic>V</italic><sub>3</sub> by taking the standard deviation of VM utilization and arranging them in descending order of their standard deviation. The standard deviation of <italic>VM</italic><sub>31</sub>, <italic>VM</italic><sub>32</sub> and <italic>VM</italic><sub>33</sub> is 4.4500, 3.9800 and 21.0400, respectively. As <italic>VM</italic><sub>33</sub> contains the highest standard deviation, it is the potential candidate for VM migration. Once the successful migration of <italic>VM</italic><sub>33</sub> is over, vehicle <italic>V</italic><sub>3</sub> is no more suitable for a source vehicle to carry out further migration.</p>
<p>Now, the algorithm finds a destination vehicle to migrate <italic>VM</italic><sub>33</sub>. For this, it finds the average utilization of all vehicles, excluding the vehicles that are present in the set of final source vehicles and sort those vehicles in the ascending order of their average utilization. In this illustration, <italic>V</italic><sub>4</sub> is only available. Note that <italic>VM</italic><sub>33</sub> can be migrated to vehicle <italic>V</italic><sub>4</sub> if the utilization of vehicle <italic>V</italic><sub>4</sub> after accommodating <italic>VM</italic><sub>33</sub> should not be a potential candidate for the set of probable source vehicles. Here, <italic>VM</italic><sub>33</sub> is migrated to vehicle <italic>V</italic><sub>4</sub> and vehicle <italic>V</italic><sub>3</sub> is removed from the set of final source vehicles after this successful migration. As a result, the total number of VM candidates is one, i.e., <italic>VM</italic><sub>33</sub>.</p>
<p>From the set of probable source vehicles (refer <xref ref-type="fig" rid="fig-3">Fig. 3</xref>), it is clearly visible that the change in utilization for vehicle <italic>V</italic><sub>3</sub> is stable, but change in utilization for vehicle <italic>V</italic><sub>1</sub> and vehicle <italic>V</italic><sub>2</sub> is not stable. In this illustration, our proposed algorithm RU-VMM finds vehicle <italic>V</italic><sub>3</sub> as a source vehicle. Note that apart from vehicle <italic>V</italic><sub>3</sub>, other vehicles, that are present in set of probable source vehicles, are not suitable for migration. We run the same illustration for the existing threshold-based algorithm [<xref ref-type="bibr" rid="ref-15">15</xref>,<xref ref-type="bibr" rid="ref-19">19</xref>&#x2013;<xref ref-type="bibr" rid="ref-21">21</xref>] and CUSUM algorithm [<xref ref-type="bibr" rid="ref-14">14</xref>]. Here, threshold-based algorithm finds <italic>VM</italic><sub>1</sub>, <italic>VM</italic><sub>2</sub> and <italic>VM</italic><sub>3</sub> as source vehicles and CUSUM algorithm finds <italic>VM</italic><sub>2</sub> and <italic>VM</italic><sub>3</sub> as source vehicles. The detailed comparison of proposed and existing algorithms is given in the <xref ref-type="table" rid="table-3">Tab. 3</xref>.</p>
<table-wrap id="table-3">
<label>Table 3</label>
<caption>
<title>Comparison of Comparison of number of source vehicles and percentage of successful/dropped migration for RU-VMM, threshold and CUSUM algorithms</title>
</caption>
<table><colgroup>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Performance metrics</th>
<th>RU-VMM</th>
<th>Threshold [<xref ref-type="bibr" rid="ref-15">15</xref>,<xref ref-type="bibr" rid="ref-19">19</xref>]</th>
<th>CUSUM [<xref ref-type="bibr" rid="ref-14">14</xref>]</th>
</tr>
</thead>
<tbody>
<tr>
<td>Number of final source vehicles</td>
<td>1</td>
<td>3</td>
<td>2</td>
</tr>
<tr>
<td>Percentage of successful VM migration</td>
<td>100.00</td>
<td>33.33</td>
<td>50.00</td>
</tr>
<tr>
<td>Percentage of dropped VM migration</td>
<td>00.00</td>
<td>66.66</td>
<td>50.00</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s5">
<label>5</label>
<title>Performance Metrics</title>
<p>In this section, we present three performance metrics to compare the proposed and existing algorithms. Their definitions are presented in the following subsections.</p>
<sec id="s5_1">
<label>5.1</label>
<title>Number of Final Source Vehicles</title>
<p>The number of final source vehicles (<italic>nfsv</italic>) is the total number of suitable vehicles that are selected as potential candidates to carry out the process of migration.</p>
</sec>
<sec id="s5_2">
<label>5.2</label>
<title>Percentage of Successful VM Migration</title>
<p>The percentage of successful VM migration (<italic>psvmm</italic>) is the ration between the number of VMs that are successfully placed at the destination vehicle and the total number of VM candidates.</p>
</sec>
<sec id="s5_3">
<label>5.3</label>
<title>Percentage of Dropped Migration</title>
<p>The percentage of dropped VM migration (<italic>pdvmm</italic>) is the ration between the number of VMs that are not successfully placed and the total number of VM candidates.</p>
</sec>
</sec>
<sec id="s6">
<label>6</label>
<title>Simulation Results</title>
<p>We create a virtual environment using MATLAB R2017a (version 9.2), on a computer system with Intel(R) core(TM) <italic>i</italic>7-4790 CPU@3.60 GHz 3.60 GHz, 8 GB RAM, 64-bit Windows 10 operating system for the simulation of the proposed algorithm RU-VMM. We also use MATLAB R2017a to generate nine datasets by considering three different types of situation, namely low congestion, medium congestion and high congestion of vehicles. Note that these datasets are named using the total number of vehicles in a grid (e.g., 500, 1000, 1500, 5000 etc.). Each dataset further contains three instances of same size. We follow the Monte&#x2013;Carlo simulation method and uniform distribution to generate the datasets [<xref ref-type="bibr" rid="ref-5">5</xref>,<xref ref-type="bibr" rid="ref-13">13</xref>]. The resource utilization is collected for one hour and the average resource utilization is determined in each five minutes for the simplicity of simulation. The detail of the parameters and their respective values is shown in <xref ref-type="table" rid="table-4">Tab. 4</xref>. In addition, we use simulation of urban mobility (SUMO) traffic simulator 1.6.0 to generate the parameters, such as timestamp, lane, position, speed, vehicle acceleration/deceleration and vehicle length, and network simulator OMNeT++. We also use IEEE 802.11p with ITS band of 5.9 GHz to exchange the data between the vehicles and/or the RSUs [<xref ref-type="bibr" rid="ref-30">30</xref>]. This band enables wireless access in vehicular environments. We use a open source hybrid simulation framework, called Veins, which uses IEEE 802.11p for communication and to integrate two simulators, namely SUMO and OMNeT++ using traffic control interface (TraCI) [<xref ref-type="bibr" rid="ref-31">31</xref>]. In the simulation process, we consider a city map (Bhubaneswar, Odisha) as shown in <xref ref-type="fig" rid="fig-4">Fig. 4</xref>, which consists of a set of lanes. The other configuration parameters are shown in <xref ref-type="table" rid="table-5">Tab. 5</xref>.</p>
<table-wrap id="table-4">
<label>Table 4</label>
<caption>
<title>Parameters and their respective values</title>
</caption>
<table><colgroup>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Parameter</th>
<th>Values</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td># of Vehicles</td>
<td>Low: [500, 1000, 1500]<break/> Medium: [5000, 10000, 15000]<break/> High: [50000, 100000, 500000]</td>
<td/>
</tr>
<tr>
<td># of VMs</td>
<td>[<inline-formula id="ieqn-19"><alternatives><inline-graphic xlink:href="ieqn-19.png"/><tex-math id="tex-ieqn-19"><![CDATA[$3 {\sim}1$]]></tex-math><mml:math id="mml-ieqn-19"><mml:mn>3</mml:mn><mml:mo>~</mml:mo><mml:mn>1</mml:mn></mml:math></alternatives></inline-formula>] VMs per vehicle</td>
<td/>
</tr>
<tr>
<td>Duration</td>
<td>1 h</td>
<td/>
</tr>
<tr>
<td>Resource utilization of VMs</td>
<td>[<inline-formula id="ieqn-20"><alternatives><inline-graphic xlink:href="ieqn-20.png"/><tex-math id="tex-ieqn-20"><![CDATA[$1{\sim}99$]]></tex-math><mml:math id="mml-ieqn-20"><mml:mn>1</mml:mn><mml:mo>~</mml:mo><mml:mn>99</mml:mn></mml:math></alternatives></inline-formula>]</td>
<td/>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="fig-4">
<label>Figure 4</label>
<caption>
<title>A city map </title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="fig-4.png"/>
</fig>
<table-wrap id="table-5">
<label>Table 5</label>
<caption>
<title>Parameters and their respective values in SUMO and OMNeT++</title>
</caption>
<table><colgroup>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Parameter</th>
<th>Values</th>
<th>Parameter</th>
<th>Values</th>
</tr>
</thead>
<tbody>
<tr>
<td>Area</td>
<td><inline-formula id="ieqn-21"><alternatives><inline-graphic xlink:href="ieqn-21.png"/><tex-math id="tex-ieqn-21"><![CDATA[$1500 \times 1500$]]></tex-math><mml:math id="mml-ieqn-21"><mml:mn>1500</mml:mn><mml:mo>&#x00D7;</mml:mo><mml:mn>1500</mml:mn></mml:math></alternatives></inline-formula> m<sup>2</sup></td>
<td>Number of lanes</td>
<td><inline-formula id="ieqn-22"><alternatives><inline-graphic xlink:href="ieqn-22.png"/><tex-math id="tex-ieqn-22"><![CDATA[$2 \times \text{D}\text{i}\text{r}\text{e}\text{c}\text{tion}$]]></tex-math><mml:math id="mml-ieqn-22"><mml:mn>2</mml:mn><mml:mo>&#x00D7;</mml:mo><mml:mstyle class="text"><mml:mtext>D</mml:mtext></mml:mstyle><mml:mstyle class="text"><mml:mtext>i</mml:mtext></mml:mstyle><mml:mstyle class="text"><mml:mtext>r</mml:mtext></mml:mstyle><mml:mstyle class="text"><mml:mtext>e</mml:mtext></mml:mstyle><mml:mstyle class="text"><mml:mtext>c</mml:mtext></mml:mstyle><mml:mstyle class="text"><mml:mtext>tion</mml:mtext></mml:mstyle></mml:math></alternatives></inline-formula></td>
</tr>
<tr>
<td>Speed of vehicles</td>
<td>25 m/s</td>
<td>Vehicle acceleration</td>
<td>3.0 m/s<sup>2</sup></td>
</tr>
<tr>
<td>Vehicle deceleration</td>
<td>6.0 m/s<sup>2</sup></td>
<td>Number of vehicles</td>
<td>500<inline-formula id="ieqn-23"><alternatives><inline-graphic xlink:href="ieqn-23.png"/><tex-math id="tex-ieqn-23"><![CDATA[$\sim$]]></tex-math><mml:math id="mml-ieqn-23"><mml:mo>~</mml:mo></mml:math></alternatives></inline-formula>5000</td>
</tr>
<tr>
<td>Length of vehicles</td>
<td>3.5 and 4.5 m</td>
<td>Simulation time</td>
<td>3600 s</td>
</tr>
<tr>
<td>Number of simulations</td>
<td>3</td>
<td>Bitrate</td>
<td>5 Mbps</td>
</tr>
<tr>
<td>Communication range of vehicles</td>
<td>250 m</td>
<td/>
<td/>
</tr>
</tbody>
</table>
</table-wrap>
<p>The simulation results of the proposed algorithm, RU-VMM and two existing algorithms, threshold and CUSUM are compared in terms of number of final source vehicles and percentage of successful/dropped VM migration as shown in <xref ref-type="fig" rid="fig-5">Figs. 5</xref> and <xref ref-type="fig" rid="fig-6">6</xref>, respectively. Note that we present the average of three instances per dataset for the comparison of the proposed and existing algorithms. The simulation results show the better performance of the proposed algorithm RU-VMM in comparison to the existing algorithms. RU-VMM algorithm improves 16.91% than the CUSUM algorithm and 71.59% than the threshold algorithm in terms of <italic>nfsv</italic>, and 20.62% than the CUSUM algorithm and 275.34% than the threshold algorithms in terms of <italic>psvmm</italic>. The simulation results are also carried out using SUMO and OMNeT++, and compared in terms of percentage of dropped VM migration as shown in <xref ref-type="fig" rid="fig-7">Fig. 7</xref>. Here also, the proposed algorithm outperforms the existing algorithms. The rationality behind this better performance is as follows. (1) The proposed algorithm finds the RC of set of probable vehicles to determine continuous increase in utilization. (2) The proposed algorithm uses standard deviation to monitor the abrupt change of VMs. (3) The proposed algorithm restricts the VM candidates by continuously monitoring the utilization after each successful migration.</p>
<fig id="fig-5">
<label>Figure 5</label>
<caption>
<title>Graphical comparison of <italic>nfsv</italic> for RU-VMM, threshold and CUSUM algorithms</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="fig-5.png"/>
</fig>
<fig id="fig-6">
<label>Figure 6</label>
<caption>
<title>Graphical comparison of <italic>psvmm</italic> for RU-VMM, threshold and CUSUM algorithms</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="fig-6.png"/>
</fig>
<fig id="fig-7">
<label>Figure 7</label>
<caption>
<title>Graphical comparison of <italic>pdvmm</italic> for RU-VMM, threshold and CUSUM algorithms</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="fig-7.png"/>
</fig>
</sec>
<sec id="s7">
<label>7</label>
<title>Conclusion</title>
<p>In this paper, we have presented a novel algorithm RU-VMM for VM migration in vehicular cloud computing. The objective of the proposed algorithm is to migrate the load from the overloaded vehicles to the under loaded vehicles. For this, RU-VMM creates a set of probable sources vehicles and monitors the rolling change in resource utilization to select the final source vehicles. Then it finds a destination vehicle to migrate the VM by continuously monitoring the resource utilization of the destination vehicle and the source vehicle. The proposed algorithm has been simulated using MATLAB and compared with two existing algorithms, threshold and CUSUM using twenty-seven instances of nine dataset. The comparison has been shown in terms of three performance metrics, namely number of final source vehicles, percentage of successful migration(s) and percentage of dropped migration(s). The comparison of simulation results has shown that the proposed algorithm RU-VMM outperforms the two existing algorithms in terms of three performance metrics.</p>
<p>The proposed algorithm has not considered the bandwidth and delay associated with VM migration, which can be considered as a future work. Moreover, determining an appropriate threshold to prepare a set of probable source vehicles is very much interesting and beyond the scope of this paper. It can be further investigated to develop more efficient algorithm. We have not considered the parameters associated with driving strategies, such as speed, acceleration, path and many more, which can be considered as a future work. We have also not considered the road accident and emergency scenarios in our proposed model and algorithm, and not tested the proposed algorithm in the actual environment. The congestion scenarios can be generated using SUMO by taking the number of vehicles and speed of the vehicles with respect to the traffic routes. We will extend our work by incorporating these scenarios in our future work.</p>
</sec>
</body>
<back>
<fn-group><fn fn-type="other"><p><bold>Funding Statement:</bold> Taif University Researchers Supporting Project number (TURSP-2020/36), Taif University, Taif, Saudi Arabia.</p></fn>
<fn fn-type="conflict"><p><bold>Conflicts of Interest:</bold> The authors declare that they have no conflicts of interest to report regarding the present study.</p></fn></fn-group>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>[1]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>F.</given-names> <surname>Hagenauer</surname></string-name>, <string-name><given-names>T.</given-names> <surname>Higuchi</surname></string-name>, <string-name><given-names>O.</given-names> <surname>Altintas</surname></string-name> and <string-name><given-names>F.</given-names> <surname>Dressler</surname></string-name></person-group>, &#x201C;<article-title>Efficient data handling in vehicular micro clouds</article-title>,&#x201D; <source>Ad Hoc Networks</source>, vol. <volume>91</volume>, pp. <fpage>101871</fpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-2"><label>[2]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>T.</given-names> <surname>Kim</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Min</surname></string-name>, <string-name><given-names>E.</given-names> <surname>Choi</surname></string-name> and <string-name><given-names>J.</given-names> <surname>Jung</surname></string-name></person-group>, &#x201C;<article-title>Optimal job partitioning and allocation for vehicular cloud computing</article-title>,&#x201D; <source>Future Generation Computer Systems</source>, vol. <volume>108</volume>, pp. <fpage>82</fpage>&#x2013;<lpage>96</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-3"><label>[3]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>G. J. L.</given-names> <surname>Paulraj</surname></string-name>, <string-name><given-names>S. A. J.</given-names> <surname>Francis</surname></string-name>, <string-name><given-names>J. D.</given-names> <surname>Peter</surname></string-name> and <string-name><given-names>I. J.</given-names> <surname>Jebadurai</surname></string-name></person-group>, &#x201C;<article-title>Resource-aware virtual machine migration in IoT cloud</article-title>,&#x201D; <source>Future Generation Computer Systems</source>, vol. <volume>85</volume>, pp. <fpage>173</fpage>&#x2013;<lpage>183</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-4"><label>[4]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S. K.</given-names> <surname>Panda</surname></string-name> and <string-name><given-names>P. K.</given-names> <surname>Jana</surname></string-name></person-group>, &#x201C;<article-title>Normalization-based task scheduling algorithms for heterogeneous multi-cloud environment</article-title>,&#x201D; <source>Information Systems Frontiers</source>, vol. <volume>20</volume>, no. <issue>2</issue>, pp. <fpage>373</fpage>&#x2013;<lpage>399</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-5"><label>[5]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S. K.</given-names> <surname>Panda</surname></string-name>, <string-name><given-names>S. K.</given-names> <surname>Pande</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Das</surname></string-name></person-group>, &#x201C;<article-title>Task partitioning scheduling algorithms for heterogeneous multi-cloud environment</article-title>,&#x201D; <source>Arabian Journal for Science and Engineering</source>, vol. <volume>43</volume>, no. <issue>2</issue>, pp. <fpage>913</fpage>&#x2013;<lpage>933</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-6"><label>[6]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S. K.</given-names> <surname>Panda</surname></string-name> and <string-name><given-names>P. K.</given-names> <surname>Jana</surname></string-name></person-group>, &#x201C;<article-title>An energy-efficient task scheduling algorithm for heterogeneous cloud computing systems</article-title>,&#x201D; <source>Cluster Computing</source>, vol. <volume>22</volume>, no. <issue>2</issue>, pp. <fpage>509</fpage>&#x2013;<lpage>527</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-7"><label>[7]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Boukerche</surname></string-name> and <string-name><given-names>E.</given-names> <surname>Robson</surname></string-name></person-group>, &#x201C;<article-title>Vehicular cloud computing: Architectures, applications, and mobility</article-title>,&#x201D; <source>Computer Networks</source>, vol. <volume>135</volume>, pp. <fpage>171</fpage>&#x2013;<lpage>189</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-8"><label>[8]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S. K.</given-names> <surname>Panda</surname></string-name> and <string-name><given-names>P. K.</given-names> <surname>Jana</surname></string-name></person-group>, &#x201C;<article-title>Efficient task scheduling algorithms for heterogeneous multi-cloud environment</article-title>,&#x201D; <source>Journal of Supercomputing</source>, vol. <volume>71</volume>, no. <issue>4</issue>, pp. <fpage>1505</fpage>&#x2013;<lpage>1533</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-9"><label>[9]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Whaiduzzaman</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Sookhak</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Gani</surname></string-name> and <string-name><given-names>R.</given-names> <surname>Buyya</surname></string-name></person-group>, &#x201C;<article-title>A survey on vehicular cloud computing</article-title>,&#x201D; <source>Journal of Network and Computer Applications</source>, vol. <volume>40</volume>, pp. <fpage>325</fpage>&#x2013;<lpage>344</lpage>, <year>2014</year>.</mixed-citation></ref>
<ref id="ref-10"><label>[10]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>N.</given-names> <surname>Garg</surname></string-name>, <string-name><given-names>D.</given-names> <surname>Singh</surname></string-name> and <string-name><given-names>M. S.</given-names> <surname>Goraya</surname></string-name></person-group>, &#x201C;<article-title>Power and resource-aware vm placement in cloud environment</article-title>,&#x201D; in <conf-name>IEEE 8th Int. Advance Computing Conf.</conf-name>, Greater Noida, India, <publisher-name>IEEE</publisher-name>, pp. <fpage>113</fpage>&#x2013;<lpage>118</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-11"><label>[11]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A. N.</given-names> <surname>Asadi</surname></string-name>, <string-name><given-names>M. A.</given-names> <surname>Azgomi</surname></string-name> and <string-name><given-names>R.</given-names> <surname>Entezari-Maleki</surname></string-name></person-group>, &#x201C;<article-title>Analytical evaluation of resource allocation algorithms and process migration methods in virtualized systems</article-title>,&#x201D; <source>Sustainable Computing: Informatics and Systems</source>, vol. <volume>25</volume>, pp. <fpage>100370</fpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-12"><label>[12]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Sahoo</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Pattanayak</surname></string-name>, <string-name><given-names>K. S.</given-names> <surname>Sahoo</surname></string-name>, <string-name><given-names>B.</given-names> <surname>Sahoo</surname></string-name> and <string-name><given-names>A. K.</given-names> <surname>Turuk</surname></string-name></person-group>, &#x201C;<article-title>MCSA: A multi-constraint scheduling algorithm for real-time task in virtualized cloud</article-title>,&#x201D; in <conf-name>2018 15th IEEE India Council Int. Conf.</conf-name>, Coimbatore, India, pp. <fpage>1</fpage>&#x2013;<lpage>6</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-13"><label>[13]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>T. K.</given-names> <surname>Refaat</surname></string-name>, <string-name><given-names>B.</given-names> <surname>Kantarci</surname></string-name> and <string-name><given-names>H. T.</given-names> <surname>Mouftah</surname></string-name></person-group>, &#x201C;<article-title>Virtual machine migration and management for vehicular clouds</article-title>,&#x201D; <source>Vehicular Communications</source>, vol. <volume>4</volume>, pp. <fpage>47</fpage>&#x2013;<lpage>56</lpage>, <year>2016</year>.</mixed-citation></ref>
<ref id="ref-14"><label>[14]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Andreolini</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Casolari</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Colajanni</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Messori</surname></string-name></person-group>, &#x201C;<article-title>Dynamic load management of virtual machines in cloud architectures</article-title>,&#x201D; in <conf-name>Int. Conf. on Cloud Computing</conf-name>, Beijing, China, <publisher-name>Springer</publisher-name>, pp. <fpage>201</fpage>&#x2013;<lpage>214</lpage>, <year>2009</year>.</mixed-citation></ref>
<ref id="ref-15"><label>[15]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>G.</given-names> <surname>Khanna</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Beaty</surname></string-name>, <string-name><given-names>G.</given-names> <surname>Kar</surname></string-name> and <string-name><given-names>A.</given-names> <surname>Kochut</surname></string-name></person-group>, &#x201C;<article-title>Application performance management in virtualized server environments</article-title>,&#x201D; in <conf-name>IEEE/IFIP Network Operations and Management Symp.</conf-name>, Vancouver, BC, Canada, <publisher-name>IEEE</publisher-name>, pp. <fpage>373</fpage>&#x2013;<lpage>381</lpage>, <year>2006</year>.</mixed-citation></ref>
<ref id="ref-16"><label>[16]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M. S.</given-names> <surname>Mekala</surname></string-name> and <string-name><given-names>P.</given-names> <surname>Viswanathan</surname></string-name></person-group>, &#x201C;<article-title>Energy-efficient virtual machine selection based on resource ranking and utilization factor approach in cloud computing for IoT</article-title>,&#x201D; <source>Computers &#x0026; Electrical Engineering</source>, vol. <volume>73</volume>, pp. <fpage>227</fpage>&#x2013;<lpage>244</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-17"><label>[17]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S. Y.</given-names> <surname>Hsieh</surname></string-name>, <string-name><given-names>C. S.</given-names> <surname>Liu</surname></string-name>, <string-name><given-names>R.</given-names> <surname>Buyya</surname></string-name> and <string-name><given-names>A. Y.</given-names> <surname>Zomaya</surname></string-name></person-group>, &#x201C;<article-title>Utilization-prediction-aware virtual machine consolidation approach for energy-efficient cloud data centers</article-title>,&#x201D; <source>Journal of Parallel and Distributed Computing</source>, vol. <volume>139</volume>, pp. <fpage>99</fpage>&#x2013;<lpage>109</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-18"><label>[18]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>N.</given-names> <surname>Hamdi</surname></string-name> and <string-name><given-names>W.</given-names> <surname>Chainbi</surname></string-name></person-group>, &#x201C;<article-title>A survey on energy aware vm consolidation strategies</article-title>,&#x201D; <source>Sustainable Computing Informatics and Systems</source>, vol. <volume>23</volume>, pp. <fpage>80</fpage>&#x2013;<lpage>87</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-19"><label>[19]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>C. H.</given-names> <surname>Hsu</surname></string-name>, <string-name><given-names>K. D.</given-names> <surname>Slagter</surname></string-name>, <string-name><given-names>S. C.</given-names> <surname>Chen</surname></string-name> and <string-name><given-names>Y. C.</given-names> <surname>Chung</surname></string-name></person-group>, &#x201C;<article-title>Optimizing energy consumption with task consolidation in clouds</article-title>,&#x201D; <source>Information Sciences</source>, vol. <volume>258</volume>, pp. <fpage>452</fpage>&#x2013;<lpage>462</lpage>, <year>2014</year>.</mixed-citation></ref>
<ref id="ref-20"><label>[20]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>T.</given-names> <surname>Wood</surname></string-name>, <string-name><given-names>P. J.</given-names> <surname>Shenoy</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Venkataramani</surname></string-name> and <string-name><given-names>M. S.</given-names> <surname>Yousif</surname></string-name></person-group>, &#x201C;<article-title>Black-box and gray-box strategies for virtual machine migration</article-title>,&#x201D; <source>NSDI</source>, vol. <volume>7</volume>, pp. <fpage>17</fpage>, <year>2007</year>.</mixed-citation></ref>
<ref id="ref-21"><label>[21]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>N.</given-names> <surname>Bobroff</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Kochut</surname></string-name> and <string-name><given-names>K.</given-names> <surname>Beaty</surname></string-name></person-group>, &#x201C;<article-title>Dynamic placement of virtual machines for managing sla violations</article-title>,&#x201D; in <conf-name>2007 10th IFIP/IEEE Int. Symp. on Integrated Network Management</conf-name>, Munich, Germany, <publisher-name>IEEE</publisher-name>, pp. <fpage>119</fpage>&#x2013;<lpage>128</lpage>, <year>2007</year>.</mixed-citation></ref>
<ref id="ref-22"><label>[22]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>H.</given-names> <surname>Chen</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Zhu</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Guo</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Zhu</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Qin</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>Towards energy-efficient scheduling for real-time tasks under uncertain cloud computing environment</article-title>,&#x201D; <source>Journal of Systems and Software</source>, vol. <volume>99</volume>, pp. <fpage>20</fpage>&#x2013;<lpage>35</lpage>, <year>2015</year>.</mixed-citation></ref>
<ref id="ref-23"><label>[23]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>X.</given-names> <surname>Wu</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Zeng</surname></string-name> and <string-name><given-names>G.</given-names> <surname>Lin</surname></string-name></person-group>, &#x201C;<article-title>An energy efficient vm migration algorithm in data centers</article-title>,&#x201D; in <conf-name>2017 16th Int. Symp. on Distributed Computing and Applications to Business, Engineering and Science</conf-name>, AnYang, China, <publisher-name>IEEE</publisher-name>, pp. <fpage>27</fpage>&#x2013;<lpage>30</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-24"><label>[24]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Nithya</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Sangeetha</surname></string-name>, <string-name><given-names>K. N.</given-names> <surname>Apinaya Prethi</surname></string-name>, <string-name><given-names>K. S.</given-names> <surname>Sahoo</surname></string-name>, <string-name><given-names>S. K.</given-names> <surname>Panda</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>SDCF: A software-defined cyber foraging framework for cloudlet Environment</article-title>,&#x201D; <source>IEEE Transactions on Network and Service Management</source>, vol. <volume>17</volume>, no. <issue>4</issue>, pp. <fpage>2423</fpage>&#x2013;<lpage>2435</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-25"><label>[25]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>T.</given-names> <surname>Mekki</surname></string-name>, <string-name><given-names>I.</given-names> <surname>Jabri</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Rachedi</surname></string-name> and <string-name><given-names>M.</given-names> <surname>ben Jemaa</surname> </string-name></person-group>, &#x201C;<article-title>Vehicular cloud networks: Challenges, architectures, and future directions</article-title>,&#x201D; <source>Vehicular Communications</source>, vol. <volume>9</volume>, pp. <fpage>268</fpage>&#x2013;<lpage>280</lpage>, <year>2017</year>.</mixed-citation></ref>
<ref id="ref-26"><label>[26]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Z.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Yu</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Yu</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Guo</surname></string-name> and <string-name><given-names>V.</given-names> <surname>Chang</surname></string-name></person-group>, &#x201C;<article-title>Energy-efficient and quality-aware vm consolidation method</article-title>,&#x201D; <source>Future Generation Computer Systems</source>, vol. <volume>102</volume>, pp. <fpage>789</fpage>&#x2013;<lpage>809</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-27"><label>[27]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Sharma</surname></string-name>, <string-name><given-names>W.</given-names> <surname>Si</surname></string-name>, <string-name><given-names>D.</given-names> <surname>Sun</surname></string-name> and <string-name><given-names>B.</given-names> <surname>Javadi</surname></string-name></person-group>, &#x201C;<article-title>Failure-aware energy-efficient vm consolidation in cloud computing systems</article-title>,&#x201D; <source>Future Generation Computer Systems</source>, vol. <volume>94</volume>, pp. <fpage>620</fpage>&#x2013;<lpage>633</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-28"><label>[28]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S. K.</given-names> <surname>Mishra</surname></string-name>, <string-name><given-names>D.</given-names> <surname>Puthal</surname></string-name>, <string-name><given-names>B.</given-names> <surname>Sahoo</surname></string-name>, <string-name><given-names>P. P.</given-names> <surname>Jayaraman</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Jun</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;<article-title>Energy-efficient vm-placement in cloud data center</article-title>,&#x201D; <source>Sustainable Computing Informatics and Systems</source>, vol. <volume>20</volume>, pp. <fpage>48</fpage>&#x2013;<lpage>55</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-29"><label>[29]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>I.</given-names> <surname>Mohiuddin</surname></string-name> and <string-name><given-names>A.</given-names> <surname>Almogren</surname></string-name></person-group>, &#x201C;<article-title>Workload aware vm consolidation method in edge/cloud computing for iot applications</article-title>,&#x201D; <source>Journal of Parallel and Distributed Computing</source>, vol. <volume>123</volume>, pp. <fpage>204</fpage>&#x2013;<lpage>214</lpage>, <year>2019</year>.</mixed-citation></ref>
<ref id="ref-30"><label>[30]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><given-names>T.</given-names> <surname>Begin</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Busson</surname></string-name>, <string-name><given-names>I.</given-names> <surname>Lassous</surname></string-name> and <string-name><given-names>A.</given-names> <surname>Boukerche</surname></string-name></person-group>, &#x201C;<chapter-title>Delivering video-ondemand services with ieee 802.11p to major non-urban roads: A stochastic performance analysis</chapter-title>,&#x201D; in <source>Computer Networks</source>, <publisher-name>Elsevier</publisher-name>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-31"><label>[31]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><given-names>A. F.</given-names> <surname>Acosta</surname></string-name>, <string-name><given-names>J. E.</given-names> <surname>Espinosa</surname></string-name> and <string-name><given-names>J.</given-names> <surname>Espinosa</surname></string-name></person-group>, &#x201C;<chapter-title>Traci4matlab: Enabling the integration of the sumo road traffic simulator and matlab&#x00AE; through a software re-engineering process</chapter-title>, &#x201D; in <source>Modeling Mobility with Open Data</source>, <publisher-loc>Berlin, Germany</publisher-loc>: <publisher-name>Springer</publisher-name>, pp. <fpage>155</fpage>&#x2013;<lpage>170</lpage>, <year>2015</year>.</mixed-citation></ref>
</ref-list>
</back>
</article>