<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">JSEA</journal-id><journal-title-group><journal-title>Journal of Software Engineering and Applications</journal-title></journal-title-group><issn pub-type="epub">1945-3116</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jsea.2017.109043</article-id><article-id pub-id-type="publisher-id">JSEA-78533</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject></subj-group></article-categories><title-group><article-title>
 
 
  Application Resource Management for Highly Computational Applications in the Operational Environment: A Critical Review
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Joseph</surname><given-names>Balikuddembe</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Jael</surname><given-names>Gudu</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>Department of Networks, College of Computing and Information Sciences, Makerere University, Kampala, Uganda</addr-line></aff><author-notes><corresp id="cor1">* E-mail:<email>gudujael@gmail.com(JG)</email>;</corresp></author-notes><pub-date pub-type="epub"><day>11</day><month>08</month><year>2017</year></pub-date><volume>10</volume><issue>09</issue><fpage>777</fpage><lpage>786</lpage><history><date date-type="received"><day>December</day>	<month>22,</month>	<year>2016</year></date><date date-type="rev-recd"><day>Accepted:</day>	<month>August</month>	<year>14,</year>	</date><date date-type="accepted"><day>August</day>	<month>17,</month>	<year>2017</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  Computational resources have such a significant influence on the operation of any software application, it is therefore important to understand how these applications utilize these resources. Modern resource-intensive enterprise and scientific applications are creating a growing demand for high performance computing infrastructures. They constantly interact with and rely heavily on complex resources. However, they often operate in resource-limited environments yet they often handle massive data, both in size and complexity. Software application services, processes or transactions compete for the much required but scarce resources. This creates the need to improve the existing resource allocation and management issue in such operational environments, as well as propose new ones, if necessary. Software developers try to analyze application operation environment using diverse analysis and design methods. Our aim therefore, is to design a tool that is able to work with a hybrid of adaptive and prediction-based resource management and allocation models while applying the priority based job scheduling algorithm to try and solve the application resource management challenges currently being faced in such environments, even if, partially.
 
</p></abstract><kwd-group><kwd>Resource Management</kwd><kwd> Resource-Intensive Applications</kwd><kwd> Resource Allocation</kwd><kwd> Design</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>There is growing interest in improving the resources utilization, such as memory and processor time efficiency of large scale enterprise applications [<xref ref-type="bibr" rid="scirp.78533-ref1">1</xref>] . A system resource can be defined as a provider of a set of capabilities and they entail a network, hardware (memory) and software [<xref ref-type="bibr" rid="scirp.78533-ref2">2</xref>] that are needed to execute any transaction initiated in and by the application. “ [<xref ref-type="bibr" rid="scirp.78533-ref1">1</xref>] ” notes that memory usage (as a resource) is perhaps the most important factor in system performance. In support [<xref ref-type="bibr" rid="scirp.78533-ref3">3</xref>] argues that processor time and memory resources have such a significant influence on the operation of any software application, it is therefore important to understand how these applications utilize them. Continued expansion of software applications represents the need for more of such resources [<xref ref-type="bibr" rid="scirp.78533-ref4">4</xref>] .</p><p>Resources should be distributed among the different application transactions in such a way that there should not be starvation [<xref ref-type="bibr" rid="scirp.78533-ref5">5</xref>] . Monitoring their utilization helps software engineers know how applications make demands on the resources and how those resources respond to each job or transaction [<xref ref-type="bibr" rid="scirp.78533-ref3">3</xref>] . This is what resource management is about; monitoring the availability of system resources, allocating the resources and provisioning of the resources [<xref ref-type="bibr" rid="scirp.78533-ref6">6</xref>] as demand arises. In this regard, interest is in controlling how capabilities provided by system resources and services are made available to other entities, whether users, applications, services. For improper resource management is susceptible to the underutilized and wastage of resources. The net result on user application experience is poor service delivery in these applications and data centers. [<xref ref-type="bibr" rid="scirp.78533-ref7">7</xref>] mentions that it is desirable to not just avoid wasting resources as a result of underutilization, but to avoid lengthy response times as a result of over-utilization.</p><p>There are many ways to provide resource management controls proposed by various researchers, we categorize them as: 1) resource management Middleware techniques; 2) Prediction-based resource allocation techniques [<xref ref-type="bibr" rid="scirp.78533-ref8">8</xref>] [<xref ref-type="bibr" rid="scirp.78533-ref9">9</xref>] ; 3) Web services; and 4) Virtualization Technology. However, our study proposes a self- adaptive and prediction-based resource allocation mainly because they allow for resource allocation at an application level. The operational environment of the used is a disease surveillance environment. However, it is important to note that there is no single technique or method which provides the complete solution for transaction and resource management challenges in dynamic operational environment in which these disease surveillance applications are deployed. Even so, this does not negate the fact that software developers are trying to analyze application operation environment using diverse analysis and design methods [<xref ref-type="bibr" rid="scirp.78533-ref10">10</xref>] . Methods here include the different ways of monitoring a utilization amount of resources within a server and identifying a resource-strained server to avoid an activation of capacity upgrade on demand (CUoD) [<xref ref-type="bibr" rid="scirp.78533-ref11">11</xref>] .</p></sec><sec id="s2"><title>2. Background</title><sec id="s2_1"><title>2.1. Resource-Intensive Applications</title><p>Modern resource-intensive enterprise and scientific applications are creating a growing demand for high performance computing infrastructures [<xref ref-type="bibr" rid="scirp.78533-ref12">12</xref>] . These applications constantly interact with and rely heavily on complex resources and are all stretching the limits of the organization’s existing resources [<xref ref-type="bibr" rid="scirp.78533-ref13">13</xref>] . Such applications are characterized by complex processes [<xref ref-type="bibr" rid="scirp.78533-ref14">14</xref>] that sometimes need to run for extended periods of time [<xref ref-type="bibr" rid="scirp.78533-ref15">15</xref>] .</p><p>Resource intensive applications can be either data-intensive or compute-in- tensive applications [<xref ref-type="bibr" rid="scirp.78533-ref14">14</xref>] . Data-intensive applications handle massive amounts of data commonly referred to as “big data”. Another category is the user-intensive applications, an aspect introduced by [<xref ref-type="bibr" rid="scirp.78533-ref16">16</xref>] . Such include web applications that must satisfy the interaction requirements of thousands if not millions of users, which can be hardly fully understood at design time. Both data-intensive and user-intensive software applications could be considered as compute-intensive applications. This is because they often require continuously increasing power of computing resources and storage volume that are in many cases required on- demand for specific operations in data lifecycle [<xref ref-type="bibr" rid="scirp.78533-ref17">17</xref>] . This therefore calls for a capacity planning approach as suggested by [<xref ref-type="bibr" rid="scirp.78533-ref18">18</xref>] in most organizations that are not in a position to purchase additional computational resources each time need arises due to financial constrains.</p></sec><sec id="s2_2"><title>2.2. Transaction Processing in Resource-Intensive Applications</title><p>Transaction processing is one of the essential features of such an enterprise application, since they perform computationally intensive work [<xref ref-type="bibr" rid="scirp.78533-ref15">15</xref>] [<xref ref-type="bibr" rid="scirp.78533-ref19">19</xref>] . For the transaction processing to happen efficiently and effectively, considerable amounts of resources are required to complete execution in a reasonable timeframe [<xref ref-type="bibr" rid="scirp.78533-ref14">14</xref>] . Each time a transaction is initiated it creates the demand for a resource [<xref ref-type="bibr" rid="scirp.78533-ref19">19</xref>] and there are instances where two or more workloads can place a demand for the resources at the same time. We deduce that for the extended time such a workload is running it will be assigned available resources and will consume the resources until its execution is complete which could lead to other applications being denied or put on hold (waiting) since the resource is committed elsewhere. The resources must therefore be sliced and shared between machines running potentially heterogeneous workloads [<xref ref-type="bibr" rid="scirp.78533-ref6">6</xref>] [<xref ref-type="bibr" rid="scirp.78533-ref20">20</xref>] , consisting of many short jobs (transactions) and a small number of large jobs (transactions) that consume the bulk of the available resources, without incurring extra resource and performance costs [<xref ref-type="bibr" rid="scirp.78533-ref21">21</xref>] [<xref ref-type="bibr" rid="scirp.78533-ref22">22</xref>] . That is why it is important to determine how best to maximize the performance of the system even in such circumstances. It is also important that software applications must have the ability to self-adapt to meet changes in such execution environment and yet still maintain expected qualities-of-service [<xref ref-type="bibr" rid="scirp.78533-ref23">23</xref>] .</p></sec></sec><sec id="s3"><title>3. Design Concerns and Methods</title><sec id="s3_1"><title>3.1. Design Concerns for Resource-Intensive Applications</title><p>Insufficient attention to workloads and the interactions of the applications with the available (limited) resources at the application design time can reduce the quality and effectiveness of the software [<xref ref-type="bibr" rid="scirp.78533-ref13">13</xref>] , yet there is an increasing demand, from the users, for software products with increasing quality [<xref ref-type="bibr" rid="scirp.78533-ref24">24</xref>] . We infer that for any application design, it is important to understand the management of the application transactional processes and its implication within its operational environment. Accordingly, scheduling of transactions and management of their execution time are important performance requirements of any enterprise application [<xref ref-type="bibr" rid="scirp.78533-ref25">25</xref>] [<xref ref-type="bibr" rid="scirp.78533-ref26">26</xref>] .</p><p>Designing for such situations is a challenging task because resource management in resource limited/constrained environment, in itself, is a hard problem due to the following: the large scale nature and complexity of such applications [<xref ref-type="bibr" rid="scirp.78533-ref27">27</xref>] [<xref ref-type="bibr" rid="scirp.78533-ref28">28</xref>] [<xref ref-type="bibr" rid="scirp.78533-ref29">29</xref>] [<xref ref-type="bibr" rid="scirp.78533-ref30">30</xref>] ; the heterogeneity of resource types and their interdependencies; the variability and unpredictability of the load [<xref ref-type="bibr" rid="scirp.78533-ref2">2</xref>] [<xref ref-type="bibr" rid="scirp.78533-ref28">28</xref>] . Failure to interpret different complexities that can arise in the course of an application development within the planning process can result in huge bottlenecks. This therefore means that a lot of attention should go to the planning of the architecture [<xref ref-type="bibr" rid="scirp.78533-ref31">31</xref>] [<xref ref-type="bibr" rid="scirp.78533-ref32">32</xref>] , and that is where the design comes in.</p><p>The underlying goal of any design process or decisions that are to be incorporated in the final architecture is ensuring that quality attribute are achieved [<xref ref-type="bibr" rid="scirp.78533-ref33">33</xref>] since these attributes are used as a bridge to connect business goals and software architectures [<xref ref-type="bibr" rid="scirp.78533-ref32">32</xref>] . In planning the components and how they will relate, it is important work out how the different categories of the heterogeneous workloads will be processed [<xref ref-type="bibr" rid="scirp.78533-ref21">21</xref>] and that is where the method comes in. There is need to assign available local resources for these applications which is capable of executing on it [<xref ref-type="bibr" rid="scirp.78533-ref6">6</xref>] , but in order to improve resource utility, resources must be properly allocated and load balancing must be guaranteed [<xref ref-type="bibr" rid="scirp.78533-ref34">34</xref>] . It is also important to note that the resource demand of an application can change over time [<xref ref-type="bibr" rid="scirp.78533-ref6">6</xref>] and a software application designer needs to factor in such changes in the design plan. The analysis drawn from this is that resource management in transaction processing and management is an important design decision and concern in the software engineering discipline.</p></sec><sec id="s3_2"><title>3.2. Design Methods for Resource-Intensive Applications</title><p>Define There are different techniques are being used to target specific design and implementation issues in the dynamic environment. “ [<xref ref-type="bibr" rid="scirp.78533-ref35">35</xref>] ” argues that there is always a trade-off in terms of performance, availability, consistency, concurrency, scalability and elasticity. Virtualization focuses heavily on the physical level of resource allocation for the transactions [<xref ref-type="bibr" rid="scirp.78533-ref36">36</xref>] , while web services, such as Elastic Compute Cloud (EC2) adopted by [<xref ref-type="bibr" rid="scirp.78533-ref37">37</xref>] , focuses on involving the users by giving them a chance to be able to monitor the allocation of resources and applications and also monitor the custom metrics generated by a customer’s applications and service, an aspect that will not be covered in this work. “ [<xref ref-type="bibr" rid="scirp.78533-ref38">38</xref>] [<xref ref-type="bibr" rid="scirp.78533-ref39">39</xref>] ” Present adaptive resource management middleware techniques that achieve the QoS requirements of the system.</p><p>The middleware performs QoS monitoring and failure detection, QoS diagnosis, and reallocation of resources to adapt the system to achieve acceptable levels of QoS; for an application to be able to adaptive applications needs to be self- aware, resource-aware and also context aware [<xref ref-type="bibr" rid="scirp.78533-ref40">40</xref>] . This means it should be able to understand its current environment of operation and the current circumstances, and the resources available [<xref ref-type="bibr" rid="scirp.78533-ref41">41</xref>] . Prediction and Forecasting should be important components of many real-world enterprise applications [<xref ref-type="bibr" rid="scirp.78533-ref42">42</xref>] . Such capabilities help in reducing the risk of making wrong decisions while allocating resources to transactions [<xref ref-type="bibr" rid="scirp.78533-ref9">9</xref>] . Our aim therefore, is to be able to work with a hybrid of adaptive and prediction-based resource management and allocation models to try and solve the application resource management challenges currently being faced in such environments, even if, partially. The resulting tabulation is an on demand plan (type of resources provision plan based on needs of each transaction or workload) [<xref ref-type="bibr" rid="scirp.78533-ref5">5</xref>] identified using the hybrid model.</p><p>The on demand plan, such as the one shown in <xref ref-type="table" rid="table1">Table 1</xref>, helps ensure that the software engineers are fully aware of the types of jobs to be executed and the resource demand for each transaction during the design of the application and the modules for the application.</p></sec><sec id="s3_3"><title>3.3. Workload Classification and Execution</title><p>Priority based job scheduling algorithm proposed by [<xref ref-type="bibr" rid="scirp.78533-ref43">43</xref>] [<xref ref-type="bibr" rid="scirp.78533-ref44">44</xref>] to help us identify the level of priority of each job. “ [<xref ref-type="bibr" rid="scirp.78533-ref43">43</xref>] ” mentions that in a workload there are some jobs that are executed prior to others depending on the nature of the job. Disease surveillance has the following components that are used to classify task: case detection, data recording, data compilation, and data transmission. Transactions from disease surveillance applications can be within any of these components and there must be a provision that all resources are made available to requesting users in efficient manner to satisfy their needs. But the question is how? Of the components mentioned which one should be executed before the other?</p><p>For example, the graph in <xref ref-type="fig" rid="fig1">Figure 1</xref> indicates that the most urgent task is given the available shortest execution time, while the lease urgent task will be executed within the last 3.5 time block. It is therefore important have a criteria that can</p><table-wrap id="table1" ><label><xref ref-type="table" rid="table1">Table 1</xref></label><caption><title> Sample on demand plan</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Transaction</th><th align="center" valign="middle" >Network</th><th align="center" valign="middle" >CPU</th><th align="center" valign="middle" >Memory</th></tr></thead><tr><td align="center" valign="middle" >T1 (Retrieve user details)</td><td align="center" valign="middle" >Demand 45% of network in 10 minutes</td><td align="center" valign="middle" >Currently utilizing (20%)</td><td align="center" valign="middle" >Demand (30% of memory in 15 minutes)</td></tr><tr><td align="center" valign="middle" >T2 (Upload updated information)</td><td align="center" valign="middle" >Demand (In 30 minutes needs 60% of network)</td><td align="center" valign="middle" >Demand (30% of CPU in 5 minutes)</td><td align="center" valign="middle" >Currently utilizing (50% job will release resource in 15 minutes)</td></tr><tr><td align="center" valign="middle" >T3 (Execute natural language processing)</td><td align="center" valign="middle" >Currently utilizing (80% will release in 20 minutes)</td><td align="center" valign="middle" >Currently utilizing (30%)</td><td align="center" valign="middle" >Demand (10% of memory in 2 minutes)</td></tr></tbody></table></table-wrap><fig id="fig1"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref></label><caption><title> Sample job mapping based on urgency of output</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/2-9302363x2.png"/></fig><p>be used to initiate the tasks and then executing the tasks when the criteria is met, a process known as task scheduling; a vital part that assigns tasks to suitable resources for execution. “ [<xref ref-type="bibr" rid="scirp.78533-ref9">9</xref>] ” proposes classification criteria that entail the following: Performance goals, Resource requirements and Business importance.</p><p>This approach is important in task classification where the concern is in adding value to a business process as shown in <xref ref-type="table" rid="table2">Table 2</xref>. For example in a disease surveillance environment, based on the output it will be improvement in patient monitoring where high risk conditions. However, it leaves out the element of understanding the nature of the task or workload and how that will contribute to the overall performance of an application; yet this study infers that if an application is “heavy” dealing with large quantities of data it will consume more resources and will in turn affect the performance of the application.</p><table-wrap id="table2" ><label><xref ref-type="table" rid="table2">Table 2</xref></label><caption><title> Sample task classification</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Task</th><th align="center" valign="middle" >Performance goals</th><th align="center" valign="middle" >Resource requirements</th><th align="center" valign="middle" >Business importance</th></tr></thead><tr><td align="center" valign="middle" >T1 (case detection)</td><td align="center" valign="middle" >Will require more resources, but might be transmitted or shared faster</td><td align="center" valign="middle" >- 50% CPU - 10% Bandwidth - 80% Memory and Storage</td><td align="center" valign="middle" >Important in single patient monitoring or disease surveillance</td></tr><tr><td align="center" valign="middle" >T2 (data recording)</td><td align="center" valign="middle" >Will require little resources, depending on amount being recorded at any given cycle or time</td><td align="center" valign="middle" >- 20% CPU - 5% Bandwidth - 10% Memory and Storage</td><td align="center" valign="middle" >Important for information preservation</td></tr><tr><td align="center" valign="middle" >T3 (data transmission)</td><td align="center" valign="middle" >Will require little resources, depending on amount being transmitted at any given cycle or time</td><td align="center" valign="middle" >- 10% CPU - 2% Bandwidth - 5% Memory and Storage</td><td align="center" valign="middle" >Important for information sharing</td></tr></tbody></table></table-wrap><p>“ [<xref ref-type="bibr" rid="scirp.78533-ref36">36</xref>] ” proposes an approach that considers the nature and characteristics of the job. They mention that the following three characteristics can be used: Volume: This refers to the quantity of data which is generated and it determines the size only; Variety: This specifies the category to which the data belong for example in a disease surveillance environment the categories are (case identification, case reporting etc); and Velocity: It specifies the speed at which the data is generated for example social media data comes in fast while hospital data comes in on either a weekly or monthly basis. The challenge with using this approach is that it is fully focused on the job leaving out other important things that need to be considered such as the available resources. “ [<xref ref-type="bibr" rid="scirp.78533-ref37">37</xref>] ” describes an approach to workload classifications based on task resource consumption needs and patterns; such as the time needed to execute the job (short or long duration), CPU and memory demand. However, the challenge with this approach according to is that it does not perform intra-cluster analysis to derive a detailed workload model and it also neglects the user patterns which are as important as the tasks in the overall workload model.</p></sec></sec><sec id="s4"><title>4. Conclusion</title><p>Achieving efficient resource allocation is one of the most challenging problems. But the question is how to choose a method that will give efficient resource allocation and management. This study has proposed a self adaptive resource aware approach which will give a better application capacity planning view to the software engineers during the design of the applications. It is important that software engineers know how applications make demands on the resources and how those resources respond to each job or transaction considering the fact that the computational resources are scarce. A priority based scheduling approach will help in ensuring that jobs which are considered most urgent, especially where disease surveillance is concerned, are given the priority that they deserve in terms of execution. This is because each job will be classified based on its nature and business value. This however does not mean that all resources will be committed to jobs considered “most important or urgent”, but the application will avail tasks based on how much resources need an aspect that is very much needed.</p></sec><sec id="s5"><title>Cite this paper</title><p>Balikuddembe, J. and Gudu, J. (2017) Application Resource Management for Highly Computational Applications in the Operational Environment: A Critical Review. Journal of Software Engineering and Applications, 10, 777-786. https://doi.org/10.4236/jsea.2017.109043<sup> </sup></p></sec></body><back><ref-list><title>References</title><ref id="scirp.78533-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Urgaonkar, R., et al. (2010) Dynamic Resource Allocation and Power Management in Virtualized Data Centers. Network Operations and Management Symposium (NOMS), 2010 IEEE, Osaka, 19-23 April 2010, 479-486.  
https://doi.org/10.1109/NOMS.2010.5488484</mixed-citation></ref><ref id="scirp.78533-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Ngenzi, A., et al. (2015) Dynamic Resource Management in Cloud Datacenters for Server Consolidation.</mixed-citation></ref><ref id="scirp.78533-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Microsoft (2016) Watching How Programs Use System Resources.  
https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/sag_ 
mpmonperf_14.mspx?mfr=true</mixed-citation></ref><ref id="scirp.78533-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Yang, C. (2010) Green Power Management with Dynamic Resource Allocation for Cloud Virtual Machines. IEEE 13th International Conference on High Performance Computing and Communications (HPCC), Banff, 2-4 September 2011, 726-733.</mixed-citation></ref><ref id="scirp.78533-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Beeda, K. and Manikandan, A.R. (2015) Secure and Optimal Resource Allocation in Cloud Environment for Media Streaming Applications. International Journal of Research and Engineering, 2, 68-73.</mixed-citation></ref><ref id="scirp.78533-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">K.L.A. and Suresh, S. (2015) A Survey on Dynamic Resource Management Technologies in Cloud Datacenter. International Journal of Advanced Research in Computer and Communication Engineering, 4.</mixed-citation></ref><ref id="scirp.78533-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Yazir, Y.O. (2010) Dynamic Resource Allocation in Computing Clouds Using Distributed Multiple Criteria Decision Analysis. IEEE 3rd International Conference on Cloud Computing, Miami, 26 August 2010, 91-98.</mixed-citation></ref><ref id="scirp.78533-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Jokhio, F. (2013) Prediction-Based Dynamic Resource Allocation for Video Transcoding in Cloud Computing. 21st Euromicro International Conference, Belfast, 27 February-1 March 2013, 254-261.</mixed-citation></ref><ref id="scirp.78533-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Gorde, B.P.A., Gandhi, N., Mishra, R. and Pathak, R. (2016) Prediction Based Outcome for Media Streaming Applications. International Journal of Computer Applications, 1, 11-15.</mixed-citation></ref><ref id="scirp.78533-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Amid, A. and Moradi, S. (2013) A Hybrid Evaluation Framework of CMM and COBIT for Improving the Software Development Quality. International Journal of Software Engineering and Knowledge Engineering, 6, 9.  
https://doi.org/10.4236/jsea.2013.65035</mixed-citation></ref><ref id="scirp.78533-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Dawson, C. (2013) Method and System for Cost Avoidance in Virtualized Computing Environments. http://www.google.com/patents/US8347307</mixed-citation></ref><ref id="scirp.78533-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Beloglazov, A. and Buyya, R. (2010) Energy Efficient Resource Management in Virtualized Cloud Data Centers. 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing, Melbourne, 17-20 May 2010, 826-831.</mixed-citation></ref><ref id="scirp.78533-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">Shin, S.Y. (2015) Resource Specification for Prototyping Human-Intensive Systems. International Conference on Fundamental Approaches to Software Engineering, 332-346. https://doi.org/10.1007/978-3-662-46675-9_22</mixed-citation></ref><ref id="scirp.78533-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">Buyya, R. and Vecchiola, C. (2013) Mastering Cloud Computing. Tata McGraw Hill Education Private Limited, New York.</mixed-citation></ref><ref id="scirp.78533-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">IBM (2016) Compute-Intensive Programming Mode.  
https://www.ibm.com/support/knowledgecenter/SSAW57_8.0.0/com.ibm.websphere.nd.doc/ 
info/ae/ae/cgrid_schintensve.html</mixed-citation></ref><ref id="scirp.78533-ref16"><label>16</label><mixed-citation publication-type="other" xlink:type="simple">Ghezzi, C. (2014) Mining Behavior Models from User-Intensive Web Applications. Proceedings of the 36th International Conference on Software Engineering, Hyderabad, 31 May-7 June 2014, 277-287. https://doi.org/10.1145/2568225.2568234</mixed-citation></ref><ref id="scirp.78533-ref17"><label>17</label><mixed-citation publication-type="other" xlink:type="simple">Demchenko, Y. (2016) CYCLONE: A Platform for Data Intensive Scientific Applications in Heterogeneous Multi-Cloud/Multi-Provider Environment. IEEE International Conference on Cloud Engineering Workshop (IC2EW), 4-8 April 2016, Berlin, 154-159.</mixed-citation></ref><ref id="scirp.78533-ref18"><label>18</label><mixed-citation publication-type="other" xlink:type="simple">Huang, C., He, D. and Miao, B. (2014) A Survey of Resource Management in Multi-tier Web Applications. IEEE Communications Surveys &amp; Tutorials, 16, 1574-1590.</mixed-citation></ref><ref id="scirp.78533-ref19"><label>19</label><mixed-citation publication-type="other" xlink:type="simple">Mihindukulasooriya, R.C.N. and Gutiérrez, M.E. (2014) Seven Challenges for RESTful Transaction Models. Proceedings of the 23rd International Conference on World Wide Web, Seoul, 7-11 April 2014, 949-952.  
https://doi.org/10.1145/2567948.2579218</mixed-citation></ref><ref id="scirp.78533-ref20"><label>20</label><mixed-citation publication-type="other" xlink:type="simple">Halevy, A.Y., et al. (2005) Enterprise Information Integration: Successes, Challenges and Controversies. Proceedings of the 2005 ACM SIGMOD International Conference on Management of Data, Baltimore, 14-16 June 2005, 778-787.  
https://doi.org/10.1145/1066157.1066246</mixed-citation></ref><ref id="scirp.78533-ref21"><label>21</label><mixed-citation publication-type="other" xlink:type="simple">Deldago, P. (2015) Hawk: Hybrid Datacenter Scheduling. Proceedings of the USENIX Annual Technical Conference, Santa Clara, 8-10 July 2015, 499-510.</mixed-citation></ref><ref id="scirp.78533-ref22"><label>22</label><mixed-citation publication-type="other" xlink:type="simple">Gember, A.A.A. and Dragga, C. (2012) ECOS: Practical Mobile Application Offloading for Enterprises. Proceedings of the 2nd USENIX conference on Hot Topics in Management of Internet, Cloud, and Enterprise Networks and Services, San Jose, 4 April 2012, 4-4.</mixed-citation></ref><ref id="scirp.78533-ref23"><label>23</label><mixed-citation publication-type="other" xlink:type="simple">Cheng, S.-W. and Garlan, D. (2012) Stitch: A language for Architecture-Based Self-Adaptation. Journal of Systems and Software, 85, 2860-2875.  
https://doi.org/10.1016/j.jss.2012.02.060</mixed-citation></ref><ref id="scirp.78533-ref24"><label>24</label><mixed-citation publication-type="other" xlink:type="simple">Miguel, G.R.J.P. and Mauricio, D. (2014) A Review of Software Quality Models for the Evaluation of Software Products. International Journal of Software Engineering &amp; Applications, 5. https://doi.org/10.5121/ijsea.2014.5603</mixed-citation></ref><ref id="scirp.78533-ref25"><label>25</label><mixed-citation publication-type="other" xlink:type="simple">Lin, W. (2011) A Threshold-Based Dynamic Resource Allocation Scheme for Cloud Computing. Procedia Engineering, 23, 695-703.  
https://doi.org/10.1016/j.proeng.2011.11.2568</mixed-citation></ref><ref id="scirp.78533-ref26"><label>26</label><mixed-citation publication-type="other" xlink:type="simple">Singh, Y.J. (2010) Dynamic Management of Transactions in Distributed Real-Time Processing System.</mixed-citation></ref><ref id="scirp.78533-ref27"><label>27</label><mixed-citation publication-type="other" xlink:type="simple">Gerostathpoulous, L. (2016) Self-Adaptation in Software-Intensive Cyber-Physical Systems: From System Goals to Architecture Configurations. Journal of Systems and Software, 122, 378-397. https://doi.org/10.1016/j.jss.2016.02.028</mixed-citation></ref><ref id="scirp.78533-ref28"><label>28</label><mixed-citation publication-type="other" xlink:type="simple">Jennings, B. and Stadler, R. (2013) Resource Management in Clouds: Survey and Research Challenges. Journal of Network and Systems Management, 23, 567-619.  
https://doi.org/10.1007/s10922-014-9307-7</mixed-citation></ref><ref id="scirp.78533-ref29"><label>29</label><mixed-citation publication-type="other" xlink:type="simple">Aktunc, O., Erol, B.A. and Garcia, J.D. (2012) Redesign of a Seismic Monitor Using Contextual Design. International Journal of Software Engineering &amp; Applications, 3. https://doi.org/10.5121/ijsea.2012.3601</mixed-citation></ref><ref id="scirp.78533-ref30"><label>30</label><mixed-citation publication-type="other" xlink:type="simple">Njeru, M.E. (2014) Software Frameworks, Architectural and Design Patterns. Journal of Software Engineering and Applications, 7, 670-678.  
https://doi.org/10.4236/jsea.2014.78061</mixed-citation></ref><ref id="scirp.78533-ref31"><label>31</label><mixed-citation publication-type="other" xlink:type="simple">Balikuddembe, J.K., Osunmakinde, I.O. and Bagula, A. (2008) Software Project Profitability Analysis Using Temporal Probabilistic Reasoning: An Empirical Study with the CASSE Framework. International Conference on Security Technology, 138-150.</mixed-citation></ref><ref id="scirp.78533-ref32"><label>32</label><mixed-citation publication-type="other" xlink:type="simple">Tan, L., Lin, Y. and Ye, H. (2012) Quality-Oriented Software Product Line Architecture Design. Journal of Software Engineering and Applications, 5, 472-476.  
https://doi.org/10.4236/jsea.2012.57054</mixed-citation></ref><ref id="scirp.78533-ref33"><label>33</label><mixed-citation publication-type="other" xlink:type="simple">Otero, C. (2012) Software Design Challenges.  
http://www.ittoday.info/ITPerformanceImprovement/Articles/2012-06Otero.html</mixed-citation></ref><ref id="scirp.78533-ref34"><label>34</label><mixed-citation publication-type="other" xlink:type="simple">Balan, R.V.S. and Punithavalli, M. (2011) Decision Based Development of Productline: A Quintessence Usability Approach. Journal of Scientific Computing, 7, 619-628. https://doi.org/10.3844/jcssp.2011.619.628</mixed-citation></ref><ref id="scirp.78533-ref35"><label>35</label><mixed-citation publication-type="other" xlink:type="simple">Waqas, A. (2015) Transaction Management Techniques and Practices in Current Cloud Computing Environments: A Survey. Int. J. Database Manag. Syst., 7.</mixed-citation></ref><ref id="scirp.78533-ref36"><label>36</label><mixed-citation publication-type="other" xlink:type="simple">Lee, E.K., Viswanathan, H. and Pompili, D. (2015) Proactive Thermal-Aware Resource Management in Virtualized HPC Cloud Datacenters. IEEE Transactions on Cloud Computing, 5, 234-248. https://doi.org/10.1109/TCC.2015.2474368</mixed-citation></ref><ref id="scirp.78533-ref37"><label>37</label><mixed-citation publication-type="other" xlink:type="simple">Kaleeswari and Juliet, N.M. (2014) Dynamic Resource Allocation by Using Elastic Compute Cloud Service. International Journal of Innovative Research in Science, Engineering and Technology, 3, 12375-12379.</mixed-citation></ref><ref id="scirp.78533-ref38"><label>38</label><mixed-citation publication-type="other" xlink:type="simple">Ravindran, B., Welch, L. and Shirazi, B. (2011) Resource Management Middleware for Dynamic, Dependable Real-Time Systems. Real-Time Systems, 20, 183-196.</mixed-citation></ref><ref id="scirp.78533-ref39"><label>39</label><mixed-citation publication-type="other" xlink:type="simple">Dharaskar, R.V., Tondre, V.S., Thakare., V.M. and Sherekar, S.S. (2011) Trends and Prospectives of the Dynamic Resource Management Using Adaptive Techniques in Distributed System. International Journal of Computer Science and Telecommunications, 2, 68-77.</mixed-citation></ref><ref id="scirp.78533-ref40"><label>40</label><mixed-citation publication-type="other" xlink:type="simple">Becker, T. (2012) EPiCS: Engineering Proprioception in Computing Systems. 15th International Conference on Computational Science and Engineering (CSE), 2012 IEEE. Nicosia, 5-7 December 2012, 353-360.</mixed-citation></ref><ref id="scirp.78533-ref41"><label>41</label><mixed-citation publication-type="other" xlink:type="simple">Miraoui, M. (2011) Dynamic Context-Aware and Limited Resources-Aware Service Adaptation for Pervasive Computing. Advances in Engineering Software, 2011, 11.  
https://doi.org/10.1155/2011/649563</mixed-citation></ref><ref id="scirp.78533-ref42"><label>42</label><mixed-citation publication-type="other" xlink:type="simple">Wagner, N. (2011) Intelligent Techniques for Forecasting Multiple Time Series in Real-World Systems. International Journal of Intelligent Computing and Cybernetics, 4, 284-310. https://doi.org/10.1108/17563781111159996</mixed-citation></ref><ref id="scirp.78533-ref43"><label>43</label><mixed-citation publication-type="other" xlink:type="simple">Kumar, R.S. and Rekha, S. (2014) Priority Based Job Scheduling For Heterogeneous Cloud Environment. International Journal of Computer Science Issues, 11, 114.</mixed-citation></ref><ref id="scirp.78533-ref44"><label>44</label><mixed-citation publication-type="other" xlink:type="simple">Blessie, R. and Stanislas, A. (2014) A State of Art Scheduling Algorithms in Cloud Environment. International Journal of Advance Research in Computer Science and Technology, 2, 476-481.</mixed-citation></ref></ref-list></back></article>