A Survey on Interoperability in the Cloud Computing Environments
Автор: Bahman Rashidi, Mohsen Sharifi, Talieh Jafari
Журнал: International Journal of Modern Education and Computer Science (IJMECS) @ijmecs
Статья в выпуске: 6 vol.5, 2013 года.
Бесплатный доступ
In the recent years, Cloud Computing has been one of the top ten new technologies which provides various services such as software, platform and infrastructure for internet users. The Cloud Computing is a promising IT paradigm which enables the Internet evolution into a global market of collaborating services. In order to provide better services for cloud customers, cloud providers need services that are in cooperation with other services. Therefore, Cloud Computing semantic interoperability plays a key role in Cloud Computing services. In this paper, we address interoperability issues in Cloud Computing environments. After a description of Cloud Computing interoperability from different aspects and references, we describe two architectures of cloud service interoperability. Architecturally, we classify existing interoperability challenges and we describe them. Moreover, we use these aspects to discuss and compare several interoperability approaches.
Interoperability, Cloud Computing, Service Interoperability, Hypervisor, Platform
Короткий адрес: https://sciup.org/15014555
IDR: 15014555
Текст научной статьи A Survey on Interoperability in the Cloud Computing Environments
Cloud Computing is one of the other distributed systems that communications are based on the internet, service providing is the main purpose of this type of distributed systems for customers such as internet users, enterprises and other clouds [1]. Many believe that Cloud is going to reshape the IT industry as a revolution.
The US National Institute of Standards and Technology (NIST) offer a comprehensive and general definition for Cloud Computing, aspects and Characteristics. It summarizes Cloud Computing as [3]:
"Cloud Computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction."
NIST also defines the characteristics of Cloud Computing; these characteristics are defined as follows:
-
(1) On-demand self-service : A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service provider.
-
(2) Broad network access: Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, tablets, laptops, and workstations).
-
(3) Resource pooling: The providers’ computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. There is a sense of location independence in that the customer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter). Examples of resources include storage, processing, memory, and network bandwidth.
-
(4) Rapid elasticity: Capabilities can be elastically provisioned and released, in some cases automatically, to scale rapidly outward and inward commensurate with demand. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be appropriated in any quantity at any time.
-
(5) Measured service: Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the utilized service.
These services fall into three types, software as a service (SaaS), platform as a service (PaaS) and infrastructure as a service (IaaS) [2]. Cloud Computing deals with Virtualization, scalability, interoperability, quality of service and the delivery models of the cloud, namely private, public and hybrid. Since cloud providers want to acquire more financial profits for service providing, they intend on providing efficient services for customers, so one of the ways to achieve this goal is establishment of interoperability among the cloud services. In addition, cloud services are under one cloud provider management or many cloud providers. However, in interoperability establishing cloud providers face with many challenges [3]. An enterprise will use services from different cloud platforms (both internal and external to the organization) for different applications to get the “best-of breed.” Cloud interoperability refers to the ease of migration and integration of applications and data between different providers’ clouds. In this paper, we present many definitions of interoperability from different views such as industrial, non-industrial and general aspects and then, cloud interoperability architectures will be explained. In continue, the challenges of the interoperability and their solutions will be explained and at the end, we present a table about all challenges with their solutions and conclusion.
-
II. DEFINITION
-
(1) Slater in [4]:
Broadly speaking, interoperability can be dfiened as a measure of the degree to which diverse systems, organizations, and/or individuals are able to work together to achieve a common goal.
-
(2) IEEE Definition in [5]:
The ability of two or more systems or components to exchange information and to use the information that has been exchanged.
-
(3) James O Brain in [6]:
Being able to accomplish end-user applications using different types of computer systems, operating systems, and application software, interconnected by different types of local and wide area networks.
-
(4) Dowel, et.al in [7]:
Cloud interoperability refers to the ease of migration and integration of applications and data between different providers’ clouds.
-
(5) Loutas, et.al in [8]:
The ability to write code that works with more than one Cloud provider simultaneously, regardless of the differences between the providers.
-
(6) Our definition:
The ability of interaction of a service with other homogeneous or heterogeneous services to improve its service which may be implemented under one domain or different domains.
-
(7) Homogeneous and heterogeneous:
As mentioned, Cloud Computing services are implemented in different layers, therefore services in every layer are called homogeneous and services in different layers are called heterogeneous. To clarify these concepts we will mention two examples. When a cloud IaaS provider faces a lack of resources for providing more services to customers, it can provide resource requirements from other cloud IaaS service provider, in this example every two clouds are homogeneous and offers IaaS service. On the other hand, suppose we have a cloud that offers the SaaS service and cloud faces a lack of resource in infrastructure and needs more resource to overcome this situation. Therefore, one of the solutions is to request required resources from a cloud IaaS provider.
-
(8) Domain:
Every service that is implemented in a Cloud Computing environment is a member of that. All services that are implemented in a Cloud Computing environment are under one domain and are called internal services. Therefore, every cloud service provider forms a domain and their services are external services for other cloud providers.
-
III. ARCHITECTURE
To establish service interoperability among all types of services in the Cloud Computing environment we need to define the way of these interactions. Since the cloud services are not entirely separated from web services so we can employ web service architectures with slight changes for Cloud Computing services collaboration [9]. In general, there are two types of architecture, service orchestration and service choreography. In these architectures, services are under the management of one domain or different domains in which domains are private, public and hybrid clouds [10].
-
A. Service orchestration
In the computing, orchestration describes the automated arrangement, coordination, and management of complex computer systems, middleware, and services. As we see in Fig. 1 In cloud service orchestration, we have a mediator node, which its role is a service management, data transmission, service brokerage and other tasks about service interoperability. NIST also explains that cloud orchestration is “the arrangement, coordination and management of cloud infrastructure to provide services to meet IT and business requirements.” To accomplish cloud orchestration a “cloud broker” serves to intermediate, aggregate, and arbitrage services on behalf of the cloud consumer. In [11], NIST describes the brokerage function as the following:
-
(1) Intermediate: A cloud broker enhances a given service by improving some specific capability and provides the value-added service to cloud consumers.
-
(2) Aggregate: A cloud broker combines and integrates multiple services into one or more new services. The broker will provide data integration and ensure the secure movement of data among cloud consumer and multiple cloud providers.
-
(3) Arbitrage: Service arbitrage is similar to service aggregation, with the difference being that the services being aggregated are not fixed. Service arbitrage allows flexible and opportunistic choices for the broker. For example, the cloud broker can use a credit scoring service and select the best score from multiple scoring agencies.

Figure 1. Cloud Service Orchestration Architecture
To employ orchestration architecture for interoperability among cloud services, customers need to pay attention to another aspect of this type of service collaboration [12]. For example, we require an integrated service catalog, provisioning, monitoring, and billing processes that are standardized across multiple IT services. Security, SLAs and policies in service providing with employment of other services in different enterprises are important aspects of cloud service orchestration that are the responsibilities of common protocols of intermediate node [7]. Therefore, the cloud service orchestra must implement all of the mentioned aspects of above so that customers have a better collaboration among their services.
In fact, cloud service orchestration is a service which provides an environment that customers including internet users and enterprises manage to employ other services to improve their own services. There are some problems in the implementation of this architecture such as single point failure problem, data mediation etc. There are also some solutions for these problems. For instance, if taking advantage of service replication for mediator in this architecture, we can come over the single point failure problem.
-
B. Service choreography
In orchestration architecture, we have an intermediate node, which manages all transactions among services in multiple clouds, and services just use the facilities which intermediate node provided them for communication. Nevertheless, in choreography architecture, we have not an intermediate node, every cloud service must provide all aspects of communication for implementation of interoperability with other services, and there is not an orchestrator for interoperability establishment [13]. As shown in Fig. 2 services in this architecture are in one cloud or in multiple clouds. Establishment of service interoperability in this architecture among cloud services is more complex than orchestration architecture, because every cloud provider must prepare facilities to employ other services in their cloud services.

Figure 2. Cloud Service Choreography Architecture
As shown in Fig. 2 for establishing interoperability among internal or external cloud services it needs to prepare a direct connection for data transmission, process migration, VM migration and other transmissions which are among multiple cloud services for collaboration. So cloud providers must provide all aspects of interaction such as security, policy, billing process, connection handling and resolve all problems in established connection. This challenge mentioned in the previous paragraph is an important reason for complexity in the implementation of a direct connection for collaboration and this is a disadvantage of choreography architecture.
This complexity of implementation in the establishing of interoperability among internal services which are under common policy and management is lower than implementation among external services, because external services are under different policies and managing decisions and coordination for interaction in this state require more collaboration for interoperability in highest level management in cloud providers. But in orchestration architecture responsibilities all of this coordination is for mediator node and customers approximately are unaware of these challenges [13].
IV. CHALLENGES
Interoperability establishment among Cloud Computing services is associated with challenges in the implementation. It is not enough to decide about implementation of collaboration among services for better quality in providing services and in this method we have challenges in implementation of interoperability among them [8]. Many of these challenges are in relation with technological tools, which are employed for implementation for services, and other challenges are related to technical aspects and maybe related to management decisions. Therefore, for implementation of interoperability in better state we need to propose solutions for these challenges. In overall, these challenges fall into three types, different Hypervisors, platforms and policies in cloud managements [14].
Different Hypervisors for Virtualization in cloud environments and platforms for developing applications are technological challenges of interoperability; also, policy and management are non-technological challenges. According to the goals which cloud providers are defined in service definition step for implementation of Cloud Computing services, cloud providers employ different tools and styles, so when cloud providers implement services with different tools in different environments, they have many problems in establishing interoperability among these services [7]. These differences are even in cloud services that are at the same level of every cloud. For example, different cloud SaaS providers may employ different platforms for the implementation of applications even in their application. These differences are intensified when services are not in the same level of cloud.
-
C. Hypervisors
One of the important parts of every Cloud Computing environment is Virtualization. Virtualization is a technology for resource management in the infrastructure layer of cloud that is put on the hardware and it manages the hardware directly or it is on the operating system. In order to manage the resources in Cloud Computing environments, cloud service providers employ Hypervisors [8]. A Hypervisor or virtual machine monitor (VMM) is a computer software, firmware or hardware that creates and runs virtual machines. As mentioned, Hypervisors operate on the hardware layer directly or indirectly. Therefore, employed Hypervisors for Virtualization are different from each other in operation mechanism [3].
XEN Hypervisor

Figure 3. Interoperability in Infrastructure Layer
The differences between Hypervisors is an obstacle for cooperation with each other cloud provider among IaaS providers that have been employed different Hypervisor for Virtualization on the hardware. For example, in Fig. 3 clouds (A) used KVM Hypervisor for Virtualization and cloud (B) used XEN Hypervisor so suppose when cloud (B) faces resource shortages for running services, it wants to migrate many of VMs to other clouds. In the destination of migration since cloud (A) uses different Hypervisors for Virtualization, migrated VMs from cloud (B) cannot run on cloud (A).
This inability for running other Hypervisor VMs relates to the Hypervisors resource allocation, different structures of VMs and employed mechanisms for Virtualization [3].
-
(1) 3B Solutions
To resolve this challenge there are two solutions, one of them is standard structure for all Hypervisors VMs which is almost impossible for all Hypervisors because Hypervisors’ mechanisms are different, since many of them have direct access to hardware and other have not the same access and other differences. The second solution is restructuring VMs or packing software for running on other Hypervisors . The Distributed Management Task Force (DMTF) has introduced many solutions for establishing interoperability in the Cloud Computing environments. The Open Virtualization Format (OVF) is one of the DMTF solutions that is an open standard for packaging and distributing virtual appliances or more generally software to be run in multiple virtual machines. This solution prepares an open, secure, efficient, portable, and extensible format for the packaging and distribution of software to be run in virtual machines. As shown in Fig. 4 when a cloud service wants to migrate an application to other clouds, OVF packs the application and adds many script files to that and migrates the package to destination. Therefore, applications can migrate between VMs under different Hypervisors [15].
APIs: Programmatic Access to Resources

Open Virtualization Format (OVF)
Figure 4. Open Virtualization Format Mechanism
Moreover, a consortium of businesses launched by Intel, called the Open Data Center Alliance, scopes to specify the future hardware and software requirements that lead to more open and interoperable Cloud and data center solutions. The Open Cloud Computing Interface (OCCI) from OGF is an example of a standard IaaS resource management interface interfacing IaaS Cloud Computing facilities and allowing users interoperate using the same context [16]. Similarly, the Storage Networking Industry Association (SNIA) has produced the Cloud Data Management Interface (CDMI), an interface standard that enables interoperation with storage Clouds and provides a standardized way to access all such services [17].
-
D. Platform challenges
In every Cloud Computing environment, many internal or external applications have been developed in same or different development platforms. These applications have been employed many of application programming interfaces (API) for handling resources in the layers of cloud such as application, platform and infrastructure. For example, API communications, resource allocation and data transmission are not identical in different application development platforms. If we want to establish interoperability in the application or platform layer in the clouds, one of the most important challenges is differently employed APIs in developing applications. Therefore, an application that has been developed in a different platform cannot work on other platforms [8].

Figure 5. Application and Platform Interoperability
For example, in Fig. 5 applications in the cloud (A) are developed in .NET platform and application in the cloud (B) are developed in Java platform. So if developed services in the application layer of cloud (A) wants to cooperate with application services in cloud (B), there is the challenge of employed different platform and they cannot have the cooperation in implemented services in the application layer. Mentioned cooperation in this paragraph is about running all or a part of an application in remote destination that is a cloud with different employed platform or data transmitted between them. Different platforms use different structures for data in the application and these structures cause many problems in data interpretation in cloud applications [18].
-
(1) Solutions
Challenge solving in different application development platforms is complex, so one of the reasons of these complexities is the millions of APIs in the development environments. However, there are also solutions for resolving this challenge, Cloud Computing Interoperability Forum (CCIF) address the problem of cloud platform interoperability. The purpose of CCIF is to discuss and present common platform interface. Key factors are the standardization of cloud interfaces and the unified description of semantic cloud data models. Unified platforms are trying to unify various cloud APIs and make it abstract and prepare for cloud interoperability in platform and application service level. Fig. 6 shows a bird’s eye view about the architecture of this solution, in this architecture there is a cloud broker. The aim of cloud broker is to serve as a common intermediation center for the interaction between platforms, applications, services and data. CCIF will enable a hybrid cloud which consists of different platforms, data structures and APIs that is decentralized, extensible and secure [19].

Figure 6. Cloud Computing Interoperability Forum (CCIF) Architecture
The UCI interface is a singular abstraction and programmatic point of contact that encompasses the entire infrastructure stack as well as emerging cloud centric technologies through a unified interface. The important parts of Unified Cloud Interface (UCI) or cloud broker are a specification and a schema. The schema provides the actual model descriptions and the details for integration with other management models are defined by the specification.
The architecture abstracts the usage of any cloud API and unifies them in one layer. This is done with the help of the semantic web and OWL which has a pool of resources semantically understood and described [18].
V. POLICY AND MANAGEMENT.
Many of the challenges in establishment of interoperability among Cloud Computing services are not related to technological aspects and are related to policies of cloud providers. These challenges consist of security of customers’ data or applications or other resources in a cloud environment. Cloud providers also for acquiring more income from customers for service providing do not permit their users to use other services from other clouds. In these two policies, cloud providers lock their customers to use their services and this is an obstacle to the establishment of interoperability in Cloud Computing environments. It should be noted that when data in clouds are of high importance for data owners, these challenges will be more critical and the decision will be more difficult for cloud managers [20]. Security issues are strongly associated with administration of the cloud, including managing the users, resources and data that are typically addressed via security policies for handling authentication, access control, session management and network communications. Migration from a legacy client-server model to a cloud-based model will mitigate some existing security issues while introducing new security issues. Failure to understand the new security issues or blindly attempting to apply legacy security policies and procedures for an enterprise’s cloud migration will lead to problems. Therefore, solving these types of challenges does not have certain and formalized solution and cloud providers make many contracts for establishing interoperability in their services.
TABLE I. CHALLENGES AND SOLUTIONS
Infrastructure |
Platform |
Policy & Mgt |
DMTF(OVF), OCCI, OGF, IEEE P2301 , P2302, SNIA, OCI |
CCIF, OCCI, SNIA |
Depending on cloud providers’ decisions. |
VI. CONCLUSION
According to this fact that clouds are looking for more financial benefits, clouds must provide various and more efficient services. Hence, one of the ways is establishing the interoperability among Cloud Computing services that has been faced with many challenges. According to implemented solutions and researches on interoperability, solving all interoperability challenges in one layer of clouds is not possible. It is better to solve the problem in different layers; otherwise, an additional workload occurs in a particular layer. Another important point is that the main part of interoperability challenges must be resolved in infrastructure since service portability in this layer is more than the other layers and overhead of interoperability in higher layers is more. For example, CCIF solution overhead is high in interoperability establishment and any company has not yet implemented it. Moreover, third party companies play a key role in solving challenges in interoperability.
Список литературы A Survey on Interoperability in the Cloud Computing Environments
- Soldatos, J. et al. , "Convergence of Utility Computing with the Internet-of-Things", IEEE Sixth International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing (IMIS), pp. 874-879, July 4-6, 2012, Palermo, Italy. DOI:10.1109/IMIS.2012.135.
- Patidar .S, Rane .D, Jain .P, "A Survey Paper on Cloud Computing", Second International Conference on Advanced Computing & Communication Technologies (ACCT), pp. 394-398, Jan 7-8, 2012, Rohtak, India. DOI:10.1109/ACCT.2012.15.
- B. Rashidi, M. Sharifi, "Study of Interoperability Challenges in Cloud Computing Environments", First National Workshop on Cloud Computing of Amirkabir University of Technology, 2012, Tehran, Iran.
- Slater, What is Interoperability?, Network Centric Operations Industry Consortium - NCOIC, 2012.
- James O'Brien, George Marakas, Introduction to Information Systems, McGraw-Hill/Irwin; 13th edition, ISBN 0-07-304355-9.
- Institute of Electrical and Electronics Engineers, “IEEE Standard Computer Dictionary: A Compilation of IEEE Standard Computer Glossaries”, 1990, New York, NY.
- Scott Dowell, Albert Barreto, "Cloud to Cloud Interoperability", 6th IEEE InternationalConference on System of Systems Engineering, Albuquerque, June 27-30, 2011, NM, USA. DOI:10.1109/SYSOSE.2011.5966607.
- Nikolaos Loutas, Eleni Kamateri, "Cloud Computing Interoperability: The State of Play", 3rd IEEE International Conference on Cloud Computing Technology and Science, November 29- December 1, 2011, Athens, Greece. DOI:10.1109/CloudCom.2011.116.
- Pfitzinger, Bernd, "Orchestration of Service Design and Service Transition”, Federated Conference on Computer Science and Information Systems (FedCSIS), pp. 541- 544, 18-21 Sept, 2011.
- Loskyll, Matthias, "Semantic Service Discovery and Orchestration for Manufacturing Processes", IEEE 16th Conference on Emerging Technologies & Factory Automation (ETFA), pp. 1-8, 5-9 Sept, 2011. DOI:10.1109/ETFA.2011.6058988.
- National Institute of Standards and Technology, NIST Cloud Computing Reference Architecture, Version 1, March 30, 2011. DOI:10.1109/SERVICES.2011.105.
- J. Urquhart, Exploring Cloud Interoperability, Part 2, news.cnet.com, May 7, 2009.
- Barros, Alistair P., Dumas, Marlon, & Oaks, Phillipa J, “Standards for Web Service Choreography and Orchestration: Status and Perspectives”, Business Process Management Workshops, 4 September, 2005, Nancy, France. DOI:10.1007/11678564_7.
- Tharam Dillon, Chen Wu and Elizabeth Chang, "Cloud Computing: Issues and Challenges", 24th IEEE International Conference on Advanced Information Networking and Applications, April 20-23, 2010, Perth, Australia. DOI:10.1109/AINA.2010.187.
- DMTF’s Open Virtualization Format (OVF), Available at http://www.dmtf.org/standards/ovf.
- http://www.snia.org, Last Visit: Jun, 2012.
- http://occi-wg.org/, Last Visit: Jun, 2012.
- Asheesh Chaddha, "Cloud Interoperability and Standardization", SETLabs Briefings, Infosys, Vol. 7, No. 7, 2009.
- CCIF’s Unified Cloud Interface Project, Available at http://code.google.com/p/unifiedcloud, Last Visit: April, 2012.
- Hassan Takabi, James B. D. Joshi, "Policy Management as a Service: An Approach to Manage Policy Heterogeneity in Cloud Computing Environment", 45th Hawaii International Conference on System Science, 2012. DOI:10.1109/HICSS.2012.475.