Difference between revisions of "Modeling for cloud part1"

From Knoesis wiki
Jump to: navigation, search
(Semantic Modeling for Cloud Computing)
(Fixes to hyphens)
 
(27 intermediate revisions by 2 users not shown)
Line 1: Line 1:
===Semantic Modeling for Cloud Computing===
+
This is the Wiki version of the article published in IEEE Internet Computing May/June 2010 Issue.
Amit Sheth and Ajith Ranabahu • <i>Wright State University</i><br />
+
[http://www.computer.org/portal/web/csdl/doi/10.1109/MIC.2010.77 External Reference]
 +
 
 +
<table border="1" width="650" cellpadding="10">
 +
<tr>
 +
<td width="650">
 +
<span style="font-size:28pt;color:purple">Semantic Modeling<br /><br />for Cloud Computing, Part 1</span><br /><br />
 +
Amit Sheth and Ajith Ranabahu • <i>Wright State University</i><br /><br />
 
<p style="float:left;width:300px">
 
<p style="float:left;width:300px">
Part 1 of this two-part article discussed
+
<span style="font-size:16pt;color:purple">
challenges related to cloud computing,  
+
C</span>loud computing has lately become the
cloud interoperability, and multidimen-
+
attention grabber in both academia and
sional analysis of cloud-modeling requirements
+
industry. The promise of seemingly unlimited, readily available utility-type computing
(see the May/June issue). Here, we look more
+
has opened many doors previously considered
specifically at areas in which semantic models
+
difficult, if not impossible, to open. The cloud-
can support cloud computing.<br /><br />
+
computing landscape, however, is still evolving,  
Opportunities for Semantic Models in Cloud Computing
+
and we must overcome many challenges to foster widespread adoption of clouds.
Semantic models are helpful in three aspects of  
+
The main challenge is interoperability.
cloud computing.
+
Numerous vendors have introduced paradigms
The first is functional and nonfunctional
+
and services, making the cloud landscape
definitions. The ability to define application
+
diverse and heterogeneous. Just as in the computer hardware industry’s early days, when each
functionality and quality-of-service details in  
+
vendor made and marketed its own version of  
a platform-agnostic manner can immensely
+
(incompatible) computer equipment, clouds are
benefit the cloud community. This is particu-
+
diverse and vendor-locked. Although many
larly important for porting application code
+
efforts are under way to standardize clouds’
horizontally—that is, across silos. Lightweight
+
important technical aspects, notably from the  
semantics, which we describe in detail later, are
+
US National Institute of Standards and Technology (NIST), consolidation and standardization
particularly applicable.
+
are still far from reality. In this two-part article,  
The second aspect is data modeling. A crucial
+
we discuss how a little bit of semantics can help
difficulty developers face is porting data hori-
+
address clouds’ key interoperability and porta-
zontally across clouds. For example, moving data
+
bility issues.<br /><br />
from a schema-less data store (such as Google
+
<span style="font-size:12pt;color:purple">
Bigtable1) to a schema-driven data store such  
+
Cloud-Related Challenges</span><br />
as a relational database presents a significant
+
Figure 1 shows the three main flavors of clouds
challenge. For a good overview of this concern,  
+
as outlined by NIST (http://csrc.nist.gov/groups/SNS/cloud-computing). Infrastructure-as-a-­
see the discussion of customer scenarios in the  
+
service (IaaS) clouds have the largest gap (a
Cloud Computing User Cases White Paper (www.
+
high workload but little automation) in terms of
scr ibd.com/doc/18172802/Cloud-Comput ing
+
deploying and managing an application.  Platform-as-a-service (PaaS) or software-as-a-service
-Use-Cases-Whitepaper). The root of this dif-
+
(SaaS) clouds have substantially lower workloads,
ficulty is the lack of a platform-agnostic data
+
but at the expense of flexibility and portability.
model. Semantic modeling of data to provide a
+
Given this diverse environment, a cloud service consumer faces four challenges.
platform-independent data representation would
+
First, depending on the application’s requirements, legal issues, and other possible consid</p>
be a major advantage in the cloud space.
+
<p style="float:right;width:300px">erations, the consumer must select a cloud to  
The third aspect is service description
+
use. Each cloud vendor exposes these details in
enhancement. Clouds expose their operations
+
different formats and at different granularity
via Web services, but these service interfaces
+
levels.
differ between vendors. The operations’ seman-</p>
+
Second, the consumer must learn about the
 +
vendor’s technical aspects (service interface,
 +
scaling configuration, and so on) and workflow.
 +
Third, the consumer must then develop an
 +
application or customize the vendor-provided
 +
multitenant application to fulfill his or her
 +
requirements. When doing this, the consumer
 +
must take into account various technical details  
 +
such as the choice of programming language
 +
and limitations in the application runtime,
 +
which will all be vendor-specific.
 +
Finally, after deploying the application, if
 +
the consumer must change the service provider
 +
(which happens surprisingly often), at least two
 +
major considerations arise. First, the consumer
 +
might need to rewrite or modify the application
 +
code to suit the new provider’s environment. For
 +
some clouds (such as IaaS), this is minimal, but
 +
porting the code in PaaS and SaaS clouds will
 +
likely require more effort.
 +
The second consideration is that data col-
 +
lected for the application might need transfor-
 +
mation. Data is the most important asset the
 +
application generates over time and is essential
 +
for continued functioning. The transformation
 +
might even need to carry across different data
 +
models. The industry practice is to address such
 +
transformations case-by-case.
 +
To overcome these challenges and provide
 +
better insight into the aspects requiring attention, proper modeling in this space is essential.
 +
Semantic modeling can help with this.<br /><br />
 +
<span style="font-size:12pt;color:purple">
 +
Cloud Interoperability?</span><br />
 +
First, a word about cloud interoperability is in
 +
order. Interoperability requirements in the cloud </p>
 +
</td></tr>
 +
<tr><td>
 +
<p style="float:left;width:200px">landscape in Figure 1 arise owing to
 +
two types of heterogeneities.
 +
The first is vertical heterogeneity — that is, within a single silo. We
 +
can address this by using middleware to homogenize the API and
 +
sometimes by enforcing standardization. For example, the Open Virtualization Format (OVF; www.dmtf.org/
 +
vman) is an emerging standard that
 +
allows migration of virtual-machine
 +
snapshots across IaaS clouds.
 +
The second type is horizontal
 +
heterogeneity—that is, across silos.  
 +
Overcoming this is fundamentally
 +
more difficult. Each silo provides
 +
different abstraction levels and services. High-level modeling pays off,
 +
especially when you must move an
 +
application and code horizontally
 +
across these silos.
 +
Surprisingly, many small and
 +
medium businesses make horizontal
 +
transitions. PaaS clouds offer faster
 +
setup for applications, and many
 +
exploit the free hosting opportunities of some platform cloud providers
 +
(for example, Google’s App Engine).
 +
When the application grows in scope
 +
and criticality, however, an IaaS
 +
cloud might prove cheaper, more
 +
flexible, and more reliable, prompting a transition.
 +
The following discussion on
 +
semantic models applies to both ver-
 +
tical and horizontal interoperability.
 +
The key in addressing both types is
 +
that many of the core data and services causing them follow the same
 +
semantic concepts. For example,  
 +
almost all IaaS clouds follow conceptually similar workflows when allocating resources, although the actual
 +
service implementations and tools differ significantly. Similarly, the PaaS
 +
modeling space is a subset of that for
 +
IaaS, from a semantic perspective.
 +
These observations prompt us to
 +
argue for semantic models’ applicability, especially to supplement
 +
interoperability in the cloud space.
 +
Some parts of the scientific and
 +
engineering community weren’t </p>
 +
<p style="float:right;width:400px">[[File:Chart4.png|380px]]<br /><br />
 +
<table width="400" border="0" cellpadding="5">
 +
<tr>
 +
<td width="200"><p style="float:left">impressed by early semantic-modeling approaches, especially ones that
 +
required large up-front investment.
 +
This perception, however, is changing rapidly with the influx of new
 +
applications and technologies that
 +
exploit detailed semantic models to  
 +
provide improved functionality (for
 +
example, biomedical ontologies cataloged at the US National Center for
 +
Biomedical Ontology; www.bioon-
 +
tology.org). Semantic models such  
 +
as ontologies can formalize more
 +
details than other traditional modeling techniques. They also enable
 +
reasoning, a way to make inferences and gain new knowledge. Such
 +
rich models can improve traditional
 +
functions far beyond what was once
 +
thought possible. For example, Powerset (now part of Microsoft; www.
 +
powerset.com), a search service
 +
provider, added considerable value
 +
to search results by incorporating
 +
semantic models and thus enabling
 +
fact discovery. These capabilities are
 +
being complemented by the ability
 +
to more rapidly create domain models, often by mining crowd knowledge represented, for example, in  
 +
Wikipedia1 or shared data, exemplified by the linked-object data cloud.
 +
The technologies showcased at the
 +
Semantic Technology Conference </p></td>
 +
<td width="200"><p style="float:left">(www.semant ic-conference.com)
 +
also provide plenty of evidence of
 +
semantic-empowered commercial
 +
and scientific applications.<br /><br />
 +
<span style="font-size:12pt;color:purple">
 +
Multidimensional Analysis
 +
of Cloud-Modeling
 +
Requirements</span><br />
 +
We suggest a 3D slicing of the modeling requirements along the following dimensions (see Figure 2).
 +
The­ types­ of­ semantics that are
 +
useful for porting or interoperabil-
 +
ity in cloud computing are similar to
 +
those we introduced in 2003 for Web
 +
services.
 +
2 This is natural because the  
 +
primary means of interacting with a  
 +
cloud environment is through Web
 +
services. The four types of semantics—data, functional, nonfunctional, and system—are based on the
 +
different semantic aspects a model  
 +
must cover.
 +
The­ language­ abstraction­ level
 +
indicates the modeling’s granularity and specificity. Although ontological modeling is preferable at
 +
a higher level, developers prefer
 +
detailed, concrete syntactic representations. These representations
 +
of different granularities might
 +
need to be related, often through
 +
explicit annotations. For example,
 +
although service developers happily </p></td>
 +
</tr>
 +
</table>
 +
</p>
 +
</td>
 +
</tr>
 +
<tr>
 +
<td>
 +
[[File:Chart1.png|380px]]
 +
<p style="float:left;width:200px">use Web Services Description Lan-
 +
guage (WSDL) descriptions in their
 +
Web services, these descriptions
 +
are syntactic and can’t provide useful semantic details. To overcome
 +
this deficiency, SAWSDL (Semantic
 +
Annotations for WSDL and XML
 +
Schema; www.w3.org/TR/sawsdl)
 +
attaches semantic-model details to
 +
WSDL documents.
 +
The­ software­ lifecycle­ stage is
 +
important in determining the modeling requirements. For example, some
 +
nonfunctional and system require-
 +
ments might not be modeled during
 +
development but will be taken into
 +
account only during deployment. A
 +
different team handles each of these
 +
lifecycle stages; this separation is
 +
important so that one team doesn’t
 +
step on another’s toes. This separation aims to focus the modeling
 +
effort on the correct time and people.
 +
Some cloud models fall under
 +
the nonfunctional/system/  ontology
 +
space in Figure 2. Such models include
 +
the Elastic Computing Modeling
 +
Language (ECML), Elastic Deployment Modeling Language (EDML), </p>
 +
<p style="float:left;width:10px"> </p>
 +
<p style="float:left;width:200px">
 +
and Elastic Management Modeling
 +
Language (EMML), all based on OWL
 +
and published by Elastra ([http://www.elastra.com/technology/languages Elastra Languages]).
 +
However, some aspects of cloud
 +
modeling have received little or no
 +
attention. For example, there’s no
 +
comprehensive higher-level modeling in the data and functional spaces.
 +
Lessons learned during large-scale
 +
ontological modeling in the Semantic Web and Semantic Web services,  
 +
biology, and many other domains are
 +
readily applicable here and would
 +
help address some of the challenges
 +
in the cloud space.<br />
 +
<span style="font-size:16pt;color:purple">
 +
I</span>n part 2, we’ll look at opportunities
 +
for semantic models in cloud computing. Particular areas in which
 +
these models can help are functional
 +
portability, data modeling, and ser-
 +
vice enrichment. <br /><br />
 +
<span style="font-size:12pt;color:purple">
 +
References</span><br />
 +
1.  C. Thomas et al., “Growing Fields of
 +
Interest—Using an Expand and Reduce
 +
Strategy for Domain Model Extraction,”</p>
 +
<p style="width:200px;float:right">Proc.­ 2008­ Int’l­ Conf.­ Web­ Intelligence­
 +
and­ Intelligent­ Agent­ Technology (WI-
 +
IAT 08), vol. 1, IEEE CS Press, 2008, pp.
 +
496–502.
 +
2.  K. Sivashanmugam et al., “Adding
 +
Semantics to Web Services Standards,”
 +
Proc.­Int’l­Conf.­Web­Services (ICWS 03),
 +
CSREA Press, 2003, pp. 395–401.
 +
Amit Sheth is the director of Kno.e.sis—the
 +
Center of Excellence on Knowledge-
 +
Enabled Human-Centered Computing at
 +
Wright State University. He’s also the
 +
university’s LexisNexis Ohio Eminent
 +
Scholar and an IEEE Fellow. He’s on the
 +
Web at [http://knoesis.org/amit http://knoesis.org/amit].
 +
Ajith Ranabahu is pursuing a PhD in cloud-
 +
computing interoperability at Wright
 +
State University. He worked with IBM
 +
on Sharable Code and its Altocumulus
 +
project, and he coordinates the [http://knoesis.wright.edu/research/srl/projects/cirrocumulus Cirrocumulus project]. Contact him at ajith.ranabahu@gmail.com.
 +
</p>
 +
</td>
 +
</tr>
 +
</table>

Latest revision as of 15:43, 30 July 2010

This is the Wiki version of the article published in IEEE Internet Computing May/June 2010 Issue. External Reference

Semantic Modeling

for Cloud Computing, Part 1


Amit Sheth and Ajith Ranabahu • Wright State University

Cloud computing has lately become the attention grabber in both academia and industry. The promise of seemingly unlimited, readily available utility-type computing has opened many doors previously considered difficult, if not impossible, to open. The cloud- computing landscape, however, is still evolving, and we must overcome many challenges to foster widespread adoption of clouds. The main challenge is interoperability. Numerous vendors have introduced paradigms and services, making the cloud landscape diverse and heterogeneous. Just as in the computer hardware industry’s early days, when each vendor made and marketed its own version of (incompatible) computer equipment, clouds are diverse and vendor-locked. Although many efforts are under way to standardize clouds’ important technical aspects, notably from the US National Institute of Standards and Technology (NIST), consolidation and standardization are still far from reality. In this two-part article, we discuss how a little bit of semantics can help address clouds’ key interoperability and porta- bility issues.

Cloud-Related Challenges
Figure 1 shows the three main flavors of clouds as outlined by NIST (http://csrc.nist.gov/groups/SNS/cloud-computing). Infrastructure-as-a-­ service (IaaS) clouds have the largest gap (a high workload but little automation) in terms of deploying and managing an application. Platform-as-a-service (PaaS) or software-as-a-service (SaaS) clouds have substantially lower workloads, but at the expense of flexibility and portability. Given this diverse environment, a cloud service consumer faces four challenges. First, depending on the application’s requirements, legal issues, and other possible consid

erations, the consumer must select a cloud to use. Each cloud vendor exposes these details in different formats and at different granularity levels. Second, the consumer must learn about the vendor’s technical aspects (service interface, scaling configuration, and so on) and workflow. Third, the consumer must then develop an application or customize the vendor-provided multitenant application to fulfill his or her requirements. When doing this, the consumer must take into account various technical details such as the choice of programming language and limitations in the application runtime, which will all be vendor-specific. Finally, after deploying the application, if the consumer must change the service provider (which happens surprisingly often), at least two major considerations arise. First, the consumer might need to rewrite or modify the application code to suit the new provider’s environment. For some clouds (such as IaaS), this is minimal, but porting the code in PaaS and SaaS clouds will likely require more effort. The second consideration is that data col- lected for the application might need transfor- mation. Data is the most important asset the application generates over time and is essential for continued functioning. The transformation might even need to carry across different data models. The industry practice is to address such transformations case-by-case. To overcome these challenges and provide better insight into the aspects requiring attention, proper modeling in this space is essential. Semantic modeling can help with this.

Cloud Interoperability?
First, a word about cloud interoperability is in order. Interoperability requirements in the cloud

landscape in Figure 1 arise owing to two types of heterogeneities. The first is vertical heterogeneity — that is, within a single silo. We can address this by using middleware to homogenize the API and sometimes by enforcing standardization. For example, the Open Virtualization Format (OVF; www.dmtf.org/ vman) is an emerging standard that allows migration of virtual-machine snapshots across IaaS clouds. The second type is horizontal heterogeneity—that is, across silos. Overcoming this is fundamentally more difficult. Each silo provides different abstraction levels and services. High-level modeling pays off, especially when you must move an application and code horizontally across these silos. Surprisingly, many small and medium businesses make horizontal transitions. PaaS clouds offer faster setup for applications, and many exploit the free hosting opportunities of some platform cloud providers (for example, Google’s App Engine). When the application grows in scope and criticality, however, an IaaS cloud might prove cheaper, more flexible, and more reliable, prompting a transition. The following discussion on semantic models applies to both ver- tical and horizontal interoperability. The key in addressing both types is that many of the core data and services causing them follow the same semantic concepts. For example, almost all IaaS clouds follow conceptually similar workflows when allocating resources, although the actual service implementations and tools differ significantly. Similarly, the PaaS modeling space is a subset of that for IaaS, from a semantic perspective. These observations prompt us to argue for semantic models’ applicability, especially to supplement interoperability in the cloud space. Some parts of the scientific and engineering community weren’t

Chart4.png

impressed by early semantic-modeling approaches, especially ones that

required large up-front investment. This perception, however, is changing rapidly with the influx of new applications and technologies that exploit detailed semantic models to provide improved functionality (for example, biomedical ontologies cataloged at the US National Center for Biomedical Ontology; www.bioon- tology.org). Semantic models such as ontologies can formalize more details than other traditional modeling techniques. They also enable reasoning, a way to make inferences and gain new knowledge. Such rich models can improve traditional functions far beyond what was once thought possible. For example, Powerset (now part of Microsoft; www. powerset.com), a search service provider, added considerable value to search results by incorporating semantic models and thus enabling fact discovery. These capabilities are being complemented by the ability to more rapidly create domain models, often by mining crowd knowledge represented, for example, in Wikipedia1 or shared data, exemplified by the linked-object data cloud. The technologies showcased at the

Semantic Technology Conference

(www.semant ic-conference.com)

also provide plenty of evidence of semantic-empowered commercial and scientific applications.

Multidimensional Analysis of Cloud-Modeling Requirements
We suggest a 3D slicing of the modeling requirements along the following dimensions (see Figure 2). The­ types­ of­ semantics that are useful for porting or interoperabil- ity in cloud computing are similar to those we introduced in 2003 for Web services. 2 This is natural because the primary means of interacting with a cloud environment is through Web services. The four types of semantics—data, functional, nonfunctional, and system—are based on the different semantic aspects a model must cover. The­ language­ abstraction­ level indicates the modeling’s granularity and specificity. Although ontological modeling is preferable at a higher level, developers prefer detailed, concrete syntactic representations. These representations of different granularities might need to be related, often through explicit annotations. For example,

although service developers happily

Chart1.png

use Web Services Description Lan- guage (WSDL) descriptions in their Web services, these descriptions are syntactic and can’t provide useful semantic details. To overcome this deficiency, SAWSDL (Semantic Annotations for WSDL and XML Schema; www.w3.org/TR/sawsdl) attaches semantic-model details to WSDL documents. The­ software­ lifecycle­ stage is important in determining the modeling requirements. For example, some nonfunctional and system require- ments might not be modeled during development but will be taken into account only during deployment. A different team handles each of these lifecycle stages; this separation is important so that one team doesn’t step on another’s toes. This separation aims to focus the modeling effort on the correct time and people. Some cloud models fall under the nonfunctional/system/ ontology space in Figure 2. Such models include the Elastic Computing Modeling Language (ECML), Elastic Deployment Modeling Language (EDML),

and Elastic Management Modeling Language (EMML), all based on OWL and published by Elastra (Elastra Languages). However, some aspects of cloud modeling have received little or no attention. For example, there’s no comprehensive higher-level modeling in the data and functional spaces. Lessons learned during large-scale ontological modeling in the Semantic Web and Semantic Web services, biology, and many other domains are readily applicable here and would help address some of the challenges in the cloud space.
In part 2, we’ll look at opportunities for semantic models in cloud computing. Particular areas in which these models can help are functional portability, data modeling, and ser- vice enrichment.

References
1. C. Thomas et al., “Growing Fields of Interest—Using an Expand and Reduce Strategy for Domain Model Extraction,”

Proc.­ 2008­ Int’l­ Conf.­ Web­ Intelligence­ and­ Intelligent­ Agent­ Technology (WI- IAT 08), vol. 1, IEEE CS Press, 2008, pp. 496–502. 2. K. Sivashanmugam et al., “Adding Semantics to Web Services Standards,” Proc.­Int’l­Conf.­Web­Services (ICWS 03), CSREA Press, 2003, pp. 395–401. Amit Sheth is the director of Kno.e.sis—the Center of Excellence on Knowledge- Enabled Human-Centered Computing at Wright State University. He’s also the university’s LexisNexis Ohio Eminent Scholar and an IEEE Fellow. He’s on the Web at http://knoesis.org/amit. Ajith Ranabahu is pursuing a PhD in cloud- computing interoperability at Wright State University. He worked with IBM on Sharable Code and its Altocumulus project, and he coordinates the Cirrocumulus project. Contact him at ajith.ranabahu@gmail.com.