<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Demonstration of Runtime Model Based Management of Diverse Cloud Resources</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Xiaodong Zhang</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Xing Chen</string-name>
          <email>chenxing08@sei.pku.edu.cn</email>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ying Zhang</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Yihan Wu</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gang Huang</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Qiang Lin</string-name>
          <email>linqiang@gdxx.csg.cn</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Information Center of Guangdong Power Grid Corporation</institution>
          ,
          <country country="CN">China</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Key Laboratory of High Confidence Software Technologies, Ministry of Education</institution>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>School of Electronics Engineering and Computer Science, Peking University</institution>
          ,
          <addr-line>Beijing</addr-line>
          ,
          <country country="CN">China</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Due to the diversity of resources and different personalized management requirements, Cloud management is faced with great challenges in complexity and difficulty. For constructing a management system to satisfy a specific requirement, a redevelopment solution based on existing system is usually more practicable than developing the system from scratch. However, the difficulty and workload of redevelopment are also very high. This paper demonstrates Jade Cloud, which is a runtime model based Cloud management system. Based on the runtime models of OpenStack and Hyperic, Jade Cloud can manage both the infrastructure and software resources in a unified manner. Demo link: https://www.youtube.com/watch?v=o2SiTGL689Q</p>
      </abstract>
      <kwd-group>
        <kwd>runtime model</kwd>
        <kwd>Cloud management</kwd>
        <kwd>diverse Cloud resources</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>With the rapid development of Cloud computing, it brings unprecedented challenges
to management of diverse Cloud resources, which mainly include two aspects. First,
there are many different kinds of hardware and software resources in Cloud which
have to be managed well. Second, there are different personalized management
requirements consisting of specific scenarios and appropriate management styles.</p>
      <p>
        To satisfy the personalized management requirements, Cloud administrators
usually conduct redevelopment based on the existing management systems other than
develop a new system from scratch [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. However, the difficulty and workload of
redevelopment are also very high, which have to understand the existing systems first and
invoke and organize many kinds of heterogeneous management interfaces of Cloud
resources and third-party services to satisfy a given management requirement.
      </p>
      <p>
        To solve the above issues, we present a runtime model based approach to
managing diverse Cloud resources and have published a paper in Models 2013 [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Through
runtime model construction of Cloud resources, getting the composite model through
model merge and model transformation from the composite model to customized
models, Cloud management tasks can be carried out through executing operating
programs on the customized model.
      </p>
      <p>
        To further demonstrate the above approach, in this paper, we present Jade Cloud
a runtime model based Cloud platform managing diverse Cloud resources. Jade Cloud
is constructed based on OpenStack [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] and Hyperic [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. OpenStack is an open source
product which is aimed to manage Cloud infrastructure. Hyperic is a product which
manages different kinds of software. However, to the best of our knowledge, there is
currently no product which can manage both of the infrastructure and software
resources in a unified manner. Based on the runtime model, Jade Cloud implements the
unified management of both infrastructure and software resources.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Overview of Jade Cloud</title>
      <p>We only define the architecture-based meta-model specifying the structure of the
running system (OpenStack or Hyperic) and the access model specifying how to
ma1
*</p>
      <p>Project
-id</p>
      <p>Appliances
1 1 1 -t1enantId
*</p>
      <sec id="sec-2-1">
        <title>JOnAS 1</title>
        <p>
          1
nipulate the system’s elements, then the construction of runtime models of OpenStack
and Hyperic are completed with the help of SM@RT [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. Figure 2 shows the
architecture-based meta-models of OpenStack and Hyperic. We then construct the composite
model of these two models through model merge.The right part in Figure 2 shows a
sample of the composite runtime model. We use the customized model to better meet
the personalized management requirements, which is constructed through model
transformation from the composite model. In Jade Cloud, The virtual machine and the
software deployed on it are regarded as an appliance [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ], which is the basic managed
unit. Several appliances compose a project. The resources of the infrastructure are
divided into many projects. Figure 3 shows the main elements of the customized
model of Jade Cloud. All the details about the above approach can be found in [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ].
        </p>
        <p>Cloud
-projectList</p>
        <p>*</p>
      </sec>
      <sec id="sec-2-2">
        <title>Apache 1</title>
        <p>-id
-applianceId
-name
-ip</p>
        <p>ApacheSwConfig -id
1 1 ---asvvteaaritsluiasobnility ---inapapmpelianceId
-requestsPerSecond
-requestsPerMinute
-BytesPerMinute
-....</p>
        <p>1 1 ---JsavOtvenaarAtisSuliSsaowbnCiolniftiyg ----niaiappd*mpMelyiSanQcLe1Id1 1 -----pasvcrvtepMoaaruycitsUSeluisQsasoaLsbngSMiewelmiCotorynyfSiigze
-usedMemory -tablesPerMinute
-totalMemory -filesPerMinute
-.... -queriesPerMinute
-....
We deploy Jade Cloud on 11 physical servers and it can support about 150 appliances.
Figure 5 shows a screenshot of the user interface of Jade Cloud. Administrators can
manage the resources through updating the system deployment diagram on the web
interface. In the diagram, the elements of the appliance stand for virtual machines
with software products, which compose the runtime model of the Jade Cloud. Taking
the appliance named “APACHE” as an example, we can get and set the hardware
information (freeMemory, LoadAverage_5min etc.) and the software information
(Bytes_Served_per_Minute, Requests_Served_per_Second etc.). Jade Cloud reuses
and reorganizes the management interfaces of OpenStack Compute and Hyperic,
instead of modifying the two systems. The runtime model based management system
also benefits from many model-centric analyzing or planning methods and
mechanisms. We have implemented three kinds of model-based Cloud services on Jade
Cloud, which are Micro-reboot, Reliability Analyze and Load Analyze. The
Microreboot service can reboot an appliance automatically when the appliance is shutdown
unexpectedly. The Reliability Analyze service implements a SBRA-based algorithm
to find out the key components which have crucial influence to the system. And the
Load Analyze service can find the appliance with the highest workload.</p>
        <p>
          With the help of SM@RT [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ][
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], the model construction, model merge, and model
transformation are all one-off work, which only need to be done once. So the work
load of the runtime model based approach is much smaller than the redevelopment.
To evaluate the performance of Jade Cloud, we develop Java programs using JMX [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]
management interfaces and QVT (Query/View/Transformation) [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] programs using
runtime models. These two kinds of programs are used for executing five groups of
management tasks respectively. The results are shown in Table 1.The execution time
means the average time cost of each group of management tasks, and the data delay is
the average delayed time to obtain the data.
        </p>
        <p>For the “create”, “delete”, “set” and “restart” management tasks, the execution
time of Java programs is less than the QVT ones. The main reason is that the two sets
of programs are based on the same management APIs and there are some extra
operations in runtime model based approach, which ensure the synchronization between the
runtime model and real system. However, the difference is small and acceptable.</p>
        <p>For the “get ‘used-memory’ attribute” management tasks, the execution time of
Java programs is longer than the QVT ones, but the data delay of QVT programs is
longer than the Java ones. The reasons are two folds. On one hand, the Java programs
query the attributes of appliances through directly invoking the management APIs, so
the execution time increases linearly with the number of the appliances and the delay
is little. On the other hand, the runtime model is equivalent to the snapshot of system
metrics and getting the attributes of appliances just needs a reading operation, so the
execution time of the QVT programs is shorter. The runtime model is synchronized
with the running system with traversing all the metrics of the running system, so the
data delay increases linearly with the size of the model.
4</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Conclusion and Future Work</title>
      <p>In this paper, we demonstrated Jade Cloud, which is a runtime model based Cloud
management system. Based on the runtime models of OpenStack and Hyperic, Jade
Cloud can manage both the infrastructure and software resources in a unified manner
without modifying existing systems. The work load and performance of Jade Cloud is
also evaluated. For future work, we plan to add more model-based management
functions and apply the approach in production environment.</p>
      <p>ACKNOWLEDGMENT. This work is supported by the National High-Tech
Research and Development Program of China (863) under Grant No. 2013AA01A208;
the National Natural Science Foundation of China under Grant No. 61300002 and the
China Postdoctoral Science Foundation under Grant No. 2013M530011</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>X.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Wu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Yao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Huang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Q.</given-names>
            <surname>Lin</surname>
          </string-name>
          .
          <article-title>Runtime model based management of Diverse Cloud Resources</article-title>
          ,
          <source>accepted by MODELS</source>
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>2. OpenStack. http://www.openstack.org/</mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>3. Hyperic. http://www.hyperic.com/</mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>H.</given-names>
            <surname>Song</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Xiong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Chauvel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Huang</surname>
          </string-name>
          and
          <string-name>
            <given-names>Z.</given-names>
            <surname>Hu</surname>
          </string-name>
          , et al.
          <source>Generating Synchronization Engines between Running Systems and Their Model-Based Views. Models in Software Engineering, Pages</source>
          <volume>140</volume>
          -
          <fpage>154</fpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Sapuntzakis</surname>
            ,
            <given-names>C. P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brumley</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chandra</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zeldovich</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chow</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lam</surname>
            ,
            <given-names>M. S.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Rosenblum</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          (
          <year>2003</year>
          ,
          <article-title>October)</article-title>
          .
          <article-title>Virtual Appliances for Deploying and Maintaining Software</article-title>
          .
          <source>In LISA (Vol. 3</source>
          , pp.
          <fpage>181</fpage>
          -
          <lpage>194</lpage>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>6. JMX. https://en.wikipedia.org/wiki/Java_Management_Extensions</mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. Object Management Group. “
          <source>Meta Object Facility (MOF) 2</source>
          .0 Query/View/Transformation (QVT)”. Retrieved 9 May
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>