<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Towards Model-Defined Cloud of Clouds</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Xiaodong</forename><surname>Zhang</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Peking University</orgName>
								<address>
									<country key="CN">China</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Mauricio</forename><surname>Tsugawa</surname></persName>
							<email>tsugawa@acis.ufl.edu</email>
							<affiliation key="aff1">
								<orgName type="institution">University of Florida</orgName>
								<address>
									<country key="US">USA</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Ying</forename><surname>Zhang</surname></persName>
							<email>zhang.ying@pku.edu.cn</email>
							<affiliation key="aff0">
								<orgName type="institution">Peking University</orgName>
								<address>
									<country key="CN">China</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Hui</forename><surname>Song</surname></persName>
							<email>hui.song@sintef.no</email>
							<affiliation key="aff2">
								<orgName type="institution">SINTEF</orgName>
								<address>
									<country key="NO">Norway</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Chun</forename><surname>Cao</surname></persName>
							<email>caochun@nju.edu.cn</email>
							<affiliation key="aff3">
								<orgName type="institution">Nanjing University</orgName>
								<address>
									<country key="CN">China</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Gang</forename><surname>Huang</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Peking University</orgName>
								<address>
									<country key="CN">China</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Jose</forename><surname>Fortes</surname></persName>
							<email>fortes@acis.ufl.edu</email>
							<affiliation key="aff1">
								<orgName type="institution">University of Florida</orgName>
								<address>
									<country key="US">USA</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Towards Model-Defined Cloud of Clouds</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">1BE6613281735C6002C1121339E3B7F7</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-23T22:36+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>model-defined</term>
					<term>Cloud of Clouds</term>
					<term>runtime model</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>With the growth in the number of Cloud Service Providers, many enterprises and organizations are now able to use multiple Cloud platforms in order to achieve improved overall Quality of Service (QoS), reliability and cost efficiency. However, due to the diversity in architecture and functionalities among different Cloud platforms, it is difficult to build a system that simultaneously manages multiple Clouds, i.e., a Cloud of Clouds. In this paper, we present a model-defined approach to the development of a Cloud of Clouds, and a real case study to demonstrate its feasibility.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>With the growth in the number of Cloud Service Providers, many enterprises and organizations can use and combine services from multiple providers. The use of multiple Clouds brings many advantages: cost optimization, Quality of Service (QoS) improvements, high availability, avoiding vendor lock-in, disaster recovery and so on. Due to differences in services and exported interfaces (APIs), current practice is to interact with each Cloud separately: e.g., use CloudStack tools to interact with Cloud-Stack Clouds and use VMware vCloud to interact with VMware Clouds. While this approach does not require additional software development, it has many disadvantages: administrators may need to continually switch among two or more completely different Cloud systems, the global and unified view of all available resources is not provided, and different Clouds do not interact with each other. In order to efficiently use resources and services from multiple Cloud providers, there is a need for a management system that can interact with different Clouds offering a unified view of the entire system. Such management system is often referred as inter-Cloud, sky computing, or "Cloud of Clouds".</p><p>There are many challenges to the development of Cloud of Clouds. This work focuses on three main challenges: (1) each Cloud system has its own way of organizing resources, and exposes different management interfaces, making it difficult to develop an integrated and unified management system; (2) Cloud providers are physically located on geographically separate sites, and a networking system that can be dynamically reconfigured is needed to enable the interaction among different Clouds; and</p><p>(3) there are different personalized management requirements consisting of specific scenarios and appropriate management styles.</p><p>A runtime model is a causally connected self-representation of the associated systems. We have developed a model-based runtime management tool called SM@RT (Supporting Model AT Run Time <ref type="bibr" target="#b5">[6,</ref><ref type="bibr" target="#b6">7]</ref>), which provides the synchronization engine between a runtime model and its corresponding running system. In this paper, we present a model-defined approach to the development of a Cloud-of-Clouds (as shown in Figure <ref type="figure" target="#fig_0">1</ref>). First, the run-time models of multiple Cloud platforms, and a virtual networking system (to enable and manage the connectivity among multiple Clouds) are constructed. ViNe <ref type="bibr" target="#b3">[4]</ref> has been selected as the network virtualization component due to its dynamic network reconfiguration ability and availability of programmatic interfaces. Second, These run-time models are merged to form a composite model. Finally, the composite model is transformed into a customized model that meets the personalized requirements of an enterprise or an organization. After the three steps, all the participant Clouds can be managed in a unified and personalized manner through manipulations on the customized model. Network connectivity between all virtual machines on these Clouds can be enabled. Management tasks such as VM scheduling and VM placement can be carried out through executing different QVT (Query/View/Transformation) programs on the customized model, without the need to interact with the interfaces of underlying Cloud systems.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Related Work</head><p>In recent years, the interest in Cloud of Clouds has been increasing both in academia and industry. Some libraries such as Apache jclouds and Apache Libcloud provide abstraction layers facilitating the provisioning and deployment of multiple Cloud systems through a unified interface. They support numerous IaaS providers such as OpenStack, CloudStack, Eucalyptus and Rackspace. Commercial products and research projects such as RightScale and EnStratus also adopt a similar approach. While these products and projects effectively foster their deployment and maintenance, they remain on the code-level, which makes redesign difficult and error-prone. Liu et.al. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Example</head><p>We use an example to illustrate the proposed approach. There are two Cloud systems in different geographical locations: a Cloud managed by PKU InternetwareCloud<ref type="foot" target="#foot_0">2</ref> , and a Cloud managed by OpenStack<ref type="foot" target="#foot_1">3</ref> . The access model describes how to access and manipulate these elements. Taking the meta-model and the access model as input, SM@RT tool can automatically generate the runtime model.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2.">Construct the composite model through model merge</head><p>In order to manage both Clouds in a unified way, we merge the runtime models of InternetwareCloud and OpenStack Cloud to construct the composite model. The composite model integrates all the managed elements and their management methods. We also propose a data synchronization mechanism between the Cloud models and the composite model. More details can be found in <ref type="bibr" target="#b7">[8]</ref>. The composite model is an aggregation of the runtime models of each Cloud and ViNe. In order to meet the personalized management requirements of the Cloud of Clouds, we use the model transformation to transform the composite model to the customized model. The transformation is based on a set of mapping rules between the two models. Figure <ref type="figure" target="#fig_3">3</ref> shows the managed elements in the customized model. For example, the element of "Cloud" is transformed to the element of "CloudofClouds". The elements of "Tenant" and "VirtualNetwork" are transformed to the elements of "Project". The elements of "Server", "VirtualRouter" and the elements of "Volume" whose attribute "volume_type" is "root" are transformed to the element of "VM".</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.3.">Transform the composite model to the customized model</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.4.">Inter-Cloud network connection</head><p>ViNe is a user-level virtual network software developed at the University of Florida. The ViNe network consists of a set of Virtual Networks (VNs). Each VN consists of a set of Virtual Routers (VRs). Any machine deployed with ViNe software can serve as a VR and VRs in the same VN have network connection with each other. In this case study, every VM serves as a VR. We transform the elements of "VirtualRouter" and the elements of "Server" to the elements of "VM". Every time an element of "VM" is created on the customized model, an element of "VirtualRouter" will be created on the runtime model of ViNe, and the ViNe software will be configured automatically on this VM. By using our approach, the administrators don't have to do the virtual network configuration manually, which can be complex and error-prone.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Conclusion and Future Work</head><p>In this paper, we presented a model-defined approach to the development of a Cloud of Clouds. Through model construction, model merge and model transformation, multiple Clouds can be managed in a unified and personalized manner. By merging with the runtime model of ViNe, inter-Cloud communication is enabled in the modeldefined Cloud of Clouds, which considerably reduces the need for user interventions.</p><p>In a runtime model, all the resources are modeled as managed elements and all the management interfaces are abstracted as manipulations on the elements. From this perspective, there's no difference between developing based on system management interfaces with developing based on runtime models in regards to feasibility. In our approach, we also guarantee the synchronization between the customized model, the composite model and the distributed models. Therefore, our approach is feasible.</p><p>We plan to leverage the developed base system to implement advanced management tasks such as virtual machine placement in a Cloud of Clouds environment.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Fig. 1 .</head><label>1</label><figDesc>Fig. 1. Overview of Model-Defined Cloud of Clouds</figDesc><graphic coords="2,141.24,255.36,312.72,113.04" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>[ 1 ]</head><label>1</label><figDesc>propose a Multi-Cloud management platform that locates between Cloud users and Cloud sites and provides unified Cloud services from the SOA perspective. Ferry et.al.<ref type="bibr" target="#b1">[2]</ref> propose a model-based framework called CLOUDMF to manage multiple Clouds. Liu and Ferry's work are on a higher level, but both lack the support of inter-Cloud network connection. Houidi et.al.<ref type="bibr" target="#b2">[3]</ref> present a Cloud broker framework to enable inter-Cloud links between two different Clouds by using OpenFlow technology, however, it needs the network infrastructure to support OpenFlow, which is currently not widely deployed. Riteau et.al.<ref type="bibr" target="#b4">[5]</ref> present an approach to building dynamic computing infrastructures over distributed Clouds and propose an inter-Cloud live migration mechanism called Shrinker. It shows good inter-Cloud network performance, however, it uses Nimbus to achieve the unified management of multiple Clouds, which is at code-level and not flexible to meet personalized requirements.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Fig. 2 . 3 . 1 .</head><label>231</label><figDesc>Fig. 2. Meta-model of each system and an access model sample</figDesc><graphic coords="3,145.80,372.36,303.72,276.00" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Fig. 3 .</head><label>3</label><figDesc>Fig. 3. The managed elements in the customized model</figDesc><graphic coords="4,124.68,369.60,345.96,139.32" type="bitmap" /></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_0">A IaaS Cloud system. The Cloud website: http://internetwarecloud.acis.ufl.edu</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_1">The Cloud website: https://openstack.futuregrid.tacc.utexas.edu/horizon</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>ACKNOWLEDGMENT. This work is supported by the National High Technology Research and Development Program of China (863 Program) under Grant No. 2013AA01A208; the National Natural Science Foundation of China under Grant No. 61361120097 and No. 61300002.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Multi cloud management for unified cloud services across cloud sites</title>
		<author>
			<persName><forename type="first">T</forename><surname>Liu</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">CCIS</title>
		<imprint>
			<date type="published" when="2011">2011</date>
		</imprint>
	</monogr>
	<note>IEEE</note>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Managing multi-cloud systems with CloudMF</title>
		<author>
			<persName><forename type="first">N</forename><surname>Ferry</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Second Nordic Symposium on Cloud Computing &amp; Internet Technologies</title>
				<meeting>the Second Nordic Symposium on Cloud Computing &amp; Internet Technologies</meeting>
		<imprint>
			<publisher>ACM</publisher>
			<biblScope unit="page" from="38" to="45" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Cloud service delivery across multiple cloud platforms</title>
		<author>
			<persName><forename type="first">I</forename><surname>Houidi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">SCC</title>
		<imprint>
			<date type="published" when="2011">2011</date>
			<publisher>IEEE</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">A virtual network architecture for grid computing</title>
		<author>
			<persName><forename type="first">M</forename><surname>Tsugawa</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IPDPS</title>
				<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Building dynamic computing infrastructures over distributed clouds</title>
		<author>
			<persName><forename type="first">P</forename><surname>Riteau</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">NCCA</title>
				<imprint>
			<date type="published" when="2011">2011</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Generating Synchronization Engines between Running Systems and Their Model-Based Views</title>
		<author>
			<persName><forename type="first">H</forename><surname>Song</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Models in Software Engineering</title>
				<imprint>
			<date type="published" when="2010">2010</date>
			<biblScope unit="page" from="140" to="154" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Inferring Meta-Models for Runtime System Data from the Clients of Management APIs</title>
		<author>
			<persName><forename type="first">H</forename><surname>Song</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">MODELS</title>
		<imprint>
			<date type="published" when="2010">2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<monogr>
		<title level="m" type="main">Runtime Model Based Management of Diverse Cloud Resources</title>
		<author>
			<persName><forename type="first">X</forename><surname>Zhang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">X</forename><surname>Chen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Zhang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Wu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Yao</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Huang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Q</forename><surname>Lin</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2013">MODELS2013</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
