<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Archiving and Interchange DTD v2.3 20070202//EN" "archivearticle.dtd">
<article xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="methods-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Bohr. Scit.</journal-id>
<journal-title>BOHR International Journal of Smart Computing and Information Technology</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Bohr. Scit.</abbrev-journal-title>
<issn pub-type="epub">2583-2026</issn>
<publisher>
<publisher-name>BOHR</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.54646/bijscit.2022.03</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Methods</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>A practical fault-tolerance approach in cloud computing using support vector machine</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name><surname>Sharma</surname> <given-names>Gajendra</given-names></name>
<xref ref-type="corresp" rid="c001"><sup>&#x002A;</sup></xref>
</contrib>
<contrib contrib-type="author">
<name><surname>Karki</surname> <given-names>Praynita</given-names></name>
</contrib>
</contrib-group>
<aff><institution>Department of Computer Science and Engineering, Kathmandu University</institution>, <addr-line>Kavre</addr-line>, <country>Nepal</country></aff>
<author-notes>
<corresp id="c001">&#x002A;Correspondence: Gajendra Sharma, <email> gajendra.sharma@ku.edu.np</email></corresp>
</author-notes>
<pub-date pub-type="epub">
<day>14</day>
<month>04</month>
<year>2020</year>
</pub-date>
<volume>1</volume>
<issue>1</issue>
<fpage>18</fpage>
<lpage>22</lpage>
<history>
<date date-type="received">
<day>05</day>
<month>03</month>
<year>2020</year>
</date>
<date date-type="accepted">
<day>24</day>
<month>03</month>
<year>2020</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#x00A9; 2020 Sharma and Karki.</copyright-statement>
<copyright-year>2020</copyright-year>
<copyright-holder>Sharma and Karki</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by-nc-nd/4.0/"><p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p></license>
</permissions>
<abstract>
<p>Fault tolerance is an important issue in the field of cloud computing which, is concerned with the techniques or mechanisms needed to enable a system to tolerate the faults that it may encounter during its functioning. Fault tolerance policies can be categorized into three categories, viz., proactive, reactive and adaptive. By providing a systematic solution, the loss can be minimized and to ensure the availability and reliability of the critical services. The purpose and scope of this study is to recommend support vector machine, a supervised machine learning algorithm to proactively monitor the fault so as to increase the availability and reliability by combining the strength of machine learning algorithms with cloud computing.</p>
</abstract>
<kwd-group>
<kwd>cloud computing</kwd>
<kwd>fault tolerance</kwd>
<kwd>proactive</kwd>
<kwd>support vector machine</kwd>
</kwd-group>
<counts>
<fig-count count="2"/>
<table-count count="1"/>
<equation-count count="0"/>
<ref-count count="12"/>
<page-count count="5"/>
<word-count count="2312"/>
</counts>
</article-meta>
</front>
<body>
<sec id="S1" sec-type="intro">
<title>1. Introduction</title>
<p>Cloud is a widely adopted technology in the industry. It is a style of computing where its end users are provided with a service through the internet using different models and layers of abstraction on a pay-per- use basis. The services provided by cloud computing have been divided as follows:</p>
<list list-type="simple">
<list-item>
<label>(a)</label>
<p>Software-as-a-Service</p>
</list-item>
<list-item>
<label>(b)</label>
<p>Platform-as-a-service</p>
</list-item>
<list-item>
<label>(c)</label>
<p>Infrastructure-as-a-Service</p>
</list-item>
</list>
<p>With the increasing maturity of cloud computing, there is also an increase in research regarding the issues such as fault tolerance, workflow scheduling, workflow management, and security. Fault tolerance is one of the key factors that may be encountered in several communication and computer networks (<xref ref-type="bibr" rid="B3">3</xref>, <xref ref-type="bibr" rid="B4">4</xref>). It is related to the entire set of techniques required to enable a system to tolerate software faults. A fault is a defect or flaw that occurs in some hardware or software component. In the traditional software fault classification, the fault is divided into hardware faults and software faults. In cloud computing systems, the hardware and software faults are further classified. The general hierarchy of the fault classification is shown in <xref ref-type="fig" rid="F1">Figure 1</xref>.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption><p>Classification of fault sources. Source: (<xref ref-type="bibr" rid="B1">1</xref>).</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijscit-2020-03-g001.tif"/>
</fig>
<p>The main concern of fault tolerance is to assure reliability and availability of sensitive services and application execution by reducing the failure influence on the system as well as application execution (<xref ref-type="bibr" rid="B5">5</xref>, <xref ref-type="bibr" rid="B6">6</xref>). The fault should be anticipated and carefully handled. As such, the fault tolerance technique is to predict failures and take suitable action before failures occur.</p>
<sec id="S1.SS1">
<title>1.1. Fault-tolerance techniques</title>
<p>Depending upon when to apply the fault tolerance techniques, fault tolerance has been classified as follows (<xref ref-type="bibr" rid="B7">7</xref>):</p>
<p>Proactive fault tolerance</p>
<p>This is an important technique, which predicts the fault and eliminates recovery from faults and failures by substituting the alleged component. It is able to detect the problem before it arises. This is a perception that prevents compute node failures from running parallel applications by pre-emptively migrating parts of an application.</p>
<p>Reactive fault tolerance</p>
<p>This mechanism enables us to reduce the effort of failures when they take place. The reactive fault-tolerance technique facilitates the system&#x2019;s more robust or on-demand fault tolerance.</p>
<p>Adaptive fault tolerance</p>
<p>The fault-tolerance of an application depends on its existing position and the range of control inputs that can be applied efficiently. Therefore, in adaptive fault tolerance, entire procedures are performed automatically as per the condition. It can guarantee reliability of critical modules under resource constraints and temporal constraints by allocating redundancy to less critical modules. It can be affordable by minimizing resource requirements.</p>
</sec>
<sec id="S1.SS2">
<title>1.2. Objectives</title>
<p>In paper, we aim to develop a systematic solution to improve the predictability of the fault-tolerant system in cloud computing environment using the machine learning approach which has been proved to be a well-adapted model on different domains.</p>
</sec>
<sec id="S1.SS3">
<title>1.3. Statement of the problem</title>
<p>Using the reactive fault-tolerant technique increases the clock execution time of the system. While rule-based fault detection may underfit the problem, model-based system are generally complex and computationally intensive, which requires a large amount of skilled work to develop a model for a particular system.</p>
<p>A systematic solution is required to improve the observability of the system. A machine learning algorithm, such as a support vector machine may be a well-efficient solution to solve this particular issue.</p>
<p>The paper is organized as follows: Section &#x201C;2. Related Works&#x201D; presents the related works where the various existing techniques have been pointed out as well as a comparison chart is provided to provide an analytical view. Section &#x201C;3. Framework&#x201D; introduces the proposed proactive fault tolerance framework; Section &#x201C;4. Method Development&#x201D; demonstrates how the proposed technique works in detail; and the last section concludes the paper and discusses future work.</p>
</sec>
</sec>
<sec id="S2">
<title>2. Related works</title>
<p>Various fault tolerances are currently prevalent in clouds (<xref ref-type="bibr" rid="B7">7</xref>&#x2013;<xref ref-type="bibr" rid="B9">9</xref>).</p>
<sec id="S2.SS1">
<title>2.1. Check pointing</title>
<p>In check pointing, after making a change in system, a checkpoint is created. Whenever a task fails, the job is restarted from the recently added checkpoint.</p>
</sec>
<sec id="S2.SS2">
<title>2.2. Job migration</title>
<p>If the job cannot be executed on a particular machine, it is migrated to another machine where it can be continued.</p>
</sec>
<sec id="S2.SS3">
<title>2.3. Replication</title>
<p>It permits several copies of tasks to run on different resources for their effective implementation and to receive the expected result.</p>
</sec>
<sec id="S2.SS4">
<title>2.4. Self-healing</title>
<p>Different instances of an application are allowed to run on virtual machines and the failure of instances is handled repeatedly.</p>
</sec>
<sec id="S2.SS5">
<title>2.5. Safety-bag checks</title>
<p>The command does not meet the safety properties and is likely to be vulnerable.</p>
</sec>
<sec id="S2.SS6">
<title>2.6. S-guard</title>
<p>This is less turbulent than normal stream processing and is based on rollback recovery.</p>
</sec>
<sec id="S2.SS7">
<title>2.7. Retry</title>
<p>This retires the failed task on the identical resource, which was implemented repeatedly.</p>
</sec>
<sec id="S2.SS8">
<title>2.8. Task resubmission</title>
<p>The task is resubmitted either to a similar or different resource for execution whenever a failed task is detected.</p>
</sec>
<sec id="S2.SS9">
<title>2.9. Timing check</title>
<p>This technique, with critical function, can be performed by a watch dog.</p>
</sec>
<sec id="S2.SS10">
<title>2.10. Rescue workflow</title>
<p>It enables the workflow to continue until it becomes unimaginable to move forward without catering to the failed task.</p>
</sec>
<sec id="S2.SS11">
<title>2.11. Software rejuvenation</title>
<p>It allows frequent reboots of the system. It assists the system with a clean start and a fresh start.</p>
</sec>
<sec id="S2.SS12">
<title>2.12. Pre-emptive migration</title>
<p>This is regularly monitored and analyzed using a feedback-loop control appliance.</p>
</sec>
<sec id="S2.SS13">
<title>2.13. Masking</title>
<p>A new state is recognized as a transformed state after the employment of error recovery. If this process is applied thoroughly in the absence of effective error provision, the user is error masking.</p>
</sec>
<sec id="S2.SS14">
<title>2.14. Reconfiguration</title>
<p>A faulty element from the system is removed.</p>
</sec>
<sec id="S2.SS15">
<title>2.15. Resource co-allocation</title>
<p>A resource is allocated for execution of task.</p>
</sec>
<sec id="S2.SS16">
<title>2.16. User-specific exception handling</title>
<p>User defines the treatment for a task on its failure.</p>
<p>Based upon these techniques, a number of models is implemented. <xref ref-type="table" rid="T1">Table 1</xref> summarizes different models based on protection against fault and procedure.</p>
<table-wrap position="float" id="T1">
<label>TABLE 1</label>
<caption><p>Comparison among various models based on protection against the type of fault, and procedure (<xref ref-type="bibr" rid="B2">2</xref>).</p></caption>
<table cellspacing="5" cellpadding="5" frame="hsides" rules="groups">
<thead>
<tr>
<td valign="top" align="left">Model nos.</td>
<td valign="top" align="left">Model names</td>
<td valign="top" align="left">Protection against type of faulttype of fault</td>
<td valign="top" align="left">Applied procedure to tolerate the fault</td>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="left">M1</td>
<td valign="top" align="left">AFTRC</td>
<td valign="top" align="left">Reliability</td>
<td valign="top" align="left">1. Delete node depending on their reliability. 2.Back word recovery with the help of check pointing</td>
</tr>
<tr>
<td valign="top" align="left">M2</td>
<td valign="top" align="left">LLFT</td>
<td valign="top" align="left">Crash-cost, trimming fault</td>
<td valign="top" align="left">Replication</td>
</tr>
<tr>
<td valign="top" align="left">M3</td>
<td valign="top" align="left">FTWS</td>
<td valign="top" align="left">Dead line of work flow</td>
<td valign="top" align="left">Replication and resubmission of jobs</td>
</tr>
<tr>
<td valign="top" align="left">M4</td>
<td valign="top" align="left">FTM</td>
<td valign="top" align="left">Reliability, availability, on-demand service</td>
<td valign="top" align="left">Replication users application and in the case of replica failure use algorithm like gossip-based protocol.</td>
</tr>
<tr>
<td valign="top" align="left">M5</td>
<td valign="top" align="left">CANDY</td>
<td valign="top" align="left">Availability</td>
<td valign="top" align="left">1. It assembles the model components generated from IBD and STM according to allocation notation. 2. Then activity SNR is synchronized to system SRN by identifying the relationship between action in activity SNR and state transition in system SRN.</td>
</tr>
<tr>
<td valign="top" align="left">M6</td>
<td valign="top" align="left">VEGA-WARDEN</td>
<td valign="top" align="left">Usability, security, scaling</td>
<td valign="top" align="left">1. Two-layer authentication and standard technical solution for the application.</td>
</tr>
<tr>
<td valign="top" align="left">M7</td>
<td valign="top" align="left">FT-CLOUD</td>
<td valign="top" align="left">Reliability, crash, and value fault</td>
<td valign="top" align="left">1. Significant component is determined based on the ranking. 2. Optimal ft technique is determined.</td>
</tr>
<tr>
<td valign="top" align="left">M8</td>
<td valign="top" align="left">MAGI-CUBE</td>
<td valign="top" align="left">Performance, reliability, low storage cost</td>
<td valign="top" align="left">1. Source file is encoded and then splits to save as a cluster. 2. File recovery procedure is triggered as the original file is lost.</td>
</tr>
</tbody>
</table></table-wrap>
</sec>
</sec>
<sec id="S3">
<title>3. Framework</title>
<p>A general framework for a fault-tolerant system is given hereunder, which consist of different modules with different special tasks:</p>
<sec id="S3.SS1">
<title>3.1. Node-monitoring module</title>
<p>It is equipped with the lm-sensors, which are used to evaluate the system, affecting parameters that are used for forecasting as attributes along with the prediction model that has been purposed in this study.</p>
<p>Node-monitoring module monitors the following:</p>
<list list-type="simple">
<list-item>
<label>(a)</label>
<p>Central processing unit temperature</p>
</list-item>
<list-item>
<label>(b)</label>
<p>Fan speed</p>
</list-item>
<list-item>
<label>(c)</label>
<p>Memory consumption</p>
</list-item>
<list-item>
<label>(d)</label>
<p>MIPS usage</p>
</list-item>
<list-item>
<label>(e)</label>
<p>Response time</p>
</list-item>
<list-item>
<label>(f)</label>
<p>Average rate of node load</p>
</list-item>
</list>
</sec>
<sec id="S3.SS2">
<title>3.2. Failure predictor</title>
<p>A failure predictor module is run in each node. It uses the model trained using the support vector machine algorithm to predict failure. The model is trained by using the logs captured in the past and with some seed values. The parameters captured by the node-monitoring modules are used as input by the model, which is used for predictions (<xref ref-type="fig" rid="F2">Figure 2</xref>) (<xref ref-type="bibr" rid="B10">10</xref>, <xref ref-type="bibr" rid="B11">11</xref>).</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption><p>Framework for proactive fault-tolerance system.</p></caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="bijscit-2020-03-g002.tif"/>
</fig>
</sec>
<sec id="S3.SS3">
<title>3.3. Proactive fault tolerance policy</title>
<p>The objective of this module is to decrease the influence of failure of the execution. The policies that will be implemented by the proposed architecture are as follows:</p>
<list list-type="simple">
<list-item>
<label>(a)</label>
<p>Detect the addition node</p>
</list-item>
<list-item>
<label>(b)</label>
<p>Leave the unhealthy node</p>
</list-item>
<list-item>
<label>(c)</label>
<p>Set the alarm to inform the administrator to take an action</p>
</list-item>
</list>
<p>The log is maintained by noting the incident of happening of fault.</p>
</sec>
<sec id="S3.SS4">
<title>3.4. Controller module</title>
<p>The controller module is the one that implements the policies listed earlier. In every node, a controller module is installed. This node is responsible for the action to be performed by the node that is about to fail (<xref ref-type="bibr" rid="B12">12</xref>). Once the fault in the system is predicted by the model, the controller module takes an action based upon the policies and records the incident in the log table.</p>
</sec>
</sec>
<sec id="S4">
<title>4. Method development</title>
<p>The proposed system acts on the following two steps:</p>
<p>(a) Capturing data</p>
<p>Data sensed through the lm-sensor are captured. These data are further used as an input.</p>
<p>(b) Monitoring system</p>
<p>Monitoring task is performed by the failure predictor module. This module is built by using support vector machine.</p>
<sec id="S4.SS1">
<title>4.1. Support vector machine</title>
<p>Support vector machine are the one of the well-known supervised approaches. This is usually used for classification purposes. The support vector machine divides the data provided by the hyperplane. Using the support vector model involves the following two phases:</p>
</sec>
<sec id="S4.SS2">
<title>4.2. Training phase</title>
<p>The supervised learning support vector machine must first be trained. Different instances are captured from the log table using seed values and are labeled into two classes:</p>
<p>(a) Normal and</p>
<p>(b) Fault</p>
<p>These instances are further used for training the model. Once the model is trained, it is tested using different testing methods, such as the cross-validation test. Optimal Hyper Plane separating Fault and Normal.</p>
</sec>
<sec id="S4.SS3">
<title>4.3. Deployment phase</title>
<p>The trained and tested model is implemented and used for the purpose of prediction. The model takes the data captured in step (a) and then predicts the class for the data. If the predicted data class is found to be fault, the alarm is set.</p>
</sec>
<sec id="S4.SS4">
<title>4.4. Handling the predicted fault</title>
<p>Once the occurrence of a fault is predicted, the controller module takes an appropriate action based upon the policies set and maintains the log.</p>
</sec>
</sec>
<sec id="S5" sec-type="conclusion">
<title>Conclusion</title>
<p>Fault tolerance is a popular research domain in security and networking, including cloud computing. Fault tolerance is a significant issue that requires maintenance the stability of the system. Early detection of the fault helps to minimize the risk associated with the fault. A machine learning algorithm has been found to be a milestone for the purpose of prediction. The power of machine learning algorithms like support vector machine can be implemented in the cloud. In this paper, a conceptual approach to implementing support vector machines for proactive fault detection is discussed. This task can be further improved by performing the experiment and comparing it with other machine learning algorithms like Naive Bayes and Logistic Regression. It can also be tweaked by using different parameters.</p>
</sec>
</body>
<back>
<ref-list>
<title>References</title>
<ref id="B1"><label>1.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jiang</surname> <given-names>Y</given-names></name> <name><surname>Huang</surname> <given-names>J</given-names></name> <name><surname>Ding</surname> <given-names>J</given-names></name> <name><surname>Liu</surname> <given-names>Y</given-names></name></person-group>. <article-title>Method of fault detection in cloud computing systems.</article-title> <source><italic>Int J Grid Distrib Comp.</italic></source> (<year>2014</year>) <volume>7</volume>:<fpage>205</fpage>&#x2013;<lpage>12</lpage>.</citation></ref>
<ref id="B2"><label>2.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Egwutuoha</surname> <given-names>P</given-names></name> <name><surname>Chen</surname> <given-names>S</given-names></name> <name><surname>Levy</surname> <given-names>D</given-names></name> <name><surname>Selic</surname> <given-names>B</given-names></name> <name><surname>Calvo</surname> <given-names>R</given-names></name></person-group>. <article-title>A Proactive Fault Tolerance Approach to High Performance Computing (HPC) in the Cloud.</article-title> <source><italic>Proceedings of the Second International Conference on Cloud and Green Computing.</italic></source> <publisher-loc>Xiangtan</publisher-loc> (<year>2012</year>).</citation></ref>
<ref id="B3"><label>3.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bala</surname> <given-names>A</given-names></name> <name><surname>Chana</surname> <given-names>I</given-names></name></person-group>. <article-title>Fault tolerance-challenges, techniques and implementation in cloud computing.</article-title> <source><italic>IJCSI Int J Comp Sci.</italic></source> (<year>2012</year>) <volume>9</volume>:<fpage>11</fpage>&#x2013;<lpage>7</lpage>.</citation></ref>
<ref id="B4"><label>4.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Laprie</surname> <given-names>J-C.</given-names></name></person-group> <source><italic>Dependable computing and fault tolerance: concepts and terminology.</italic></source> <publisher-loc>Pasadena, CA</publisher-loc>: <publisher-name>IEEE</publisher-name> (<year>1995</year>).</citation></ref>
<ref id="B5"><label>5.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Gao</surname> <given-names>Y</given-names></name> <name><surname>Gupta</surname> <given-names>SK</given-names></name> <name><surname>Wang</surname> <given-names>Y</given-names></name> <name><surname>Pedram</surname> <given-names>M.</given-names></name></person-group> <source><italic>An Energy-Aware Fault Tolerant Scheduling Framework for Soft Error Resilient Cloud Computing Systems.</italic></source> <publisher-loc>Los Angeles, CA</publisher-loc>: <publisher-name>University of Southern California</publisher-name> (<year>2014</year>).</citation></ref>
<ref id="B6"><label>6.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Meshram</surname> <given-names>D</given-names></name> <name><surname>Sambare</surname> <given-names>A</given-names></name> <name><surname>Zade</surname> <given-names>S</given-names></name></person-group>. <article-title>Fault tolerance model for reliable cloud computing.</article-title> <source><italic>Int J Recent Innov Trends Comp Commun.</italic></source> (<year>2013</year>) <volume>1</volume>:<issue>7</issue>.</citation></ref>
<ref id="B7"><label>7.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Guo</surname> <given-names>Y</given-names></name> <name><surname>Wall</surname> <given-names>J</given-names></name> <name><surname>Li</surname> <given-names>J</given-names></name> <name><surname>West</surname> <given-names>S.</given-names></name></person-group> <source><italic>A Machine Learning Approach for Fault Detection in Multivariable Systems.</italic></source> <publisher-loc>Peachtree Corners</publisher-loc>: <publisher-name>ASHRAE</publisher-name> (<year>2011</year>).</citation></ref>
<ref id="B8"><label>8.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Patra</surname> <given-names>PK</given-names></name> <name><surname>Singh</surname> <given-names>H</given-names></name> <name><surname>Singh</surname> <given-names>G</given-names></name></person-group>. <article-title>Fault tolerance techniques and comparative implementation in cloud computing (0975-8887).</article-title> <source><italic>Int J Comput Applic.</italic></source> (<year>2013</year>) <volume>64</volume>:<fpage>37</fpage>&#x2013;<lpage>41</lpage>.</citation></ref>
<ref id="B9"><label>9.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kaur</surname> <given-names>R</given-names></name> <name><surname>Mahajan</surname> <given-names>M.</given-names></name></person-group> <source><italic>Fault Tolerance in Cloud Computing.</italic></source> <publisher-loc>Pasadena, CA</publisher-loc>: <publisher-name>IEEE</publisher-name> (<year>2015</year>).</citation></ref>
<ref id="B10"><label>10.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhao</surname> <given-names>W</given-names></name> <name><surname>Melliar-Smith</surname> <given-names>P</given-names></name> <name><surname>Moser</surname> <given-names>L</given-names></name></person-group>. <article-title>Fault Tolerance Middle ware for Cloud Computing.</article-title> <source><italic>Proceedings of the 2010 IEEE 3rd International Conference on Cloud Computing.</italic></source> <publisher-loc>Pasadena, CA</publisher-loc> (<year>2010</year>).</citation></ref>
<ref id="B11"><label>11.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Poola</surname> <given-names>D</given-names></name> <name><surname>Ramamohanarao</surname> <given-names>K</given-names></name> <name><surname>Buyya</surname> <given-names>R</given-names></name></person-group>. <article-title>Fault-Tolerant Work flow Scheduling Using Spot Instances on Clouds.</article-title> <source><italic>Proceedings of the ICCS 2014, 14th International Conference on Computational Science.</italic></source> <publisher-loc>London</publisher-loc> (<year>2014</year>).</citation></ref>
<ref id="B12"><label>12.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jiang</surname> <given-names>Y</given-names></name> <name><surname>Huang</surname> <given-names>J</given-names></name> <name><surname>Ding</surname> <given-names>J</given-names></name> <name><surname>Yingli</surname> <given-names>L</given-names></name></person-group>. <article-title>Method of Fault Detection in Cloud Computing Systems.</article-title> <source><italic>Proceedings of the International Journal of Grid Distribution Computing.</italic></source> <publisher-loc>Daejon</publisher-loc> (<year>2014</year>).</citation></ref>
</ref-list>
</back>
</article>