58 research outputs found
The Programmable Web: Agile, Social, and Grassroots Computing
Web services, the semantic Web, and Web 2.0 are three somewhat separate movements trying to make the Web a programmable substrate. While each has achieved some level of success on their own right, it is becoming apparent that the grassroots approach of the Web 2.0 is gaining greater success than the other two. In this paper we analyze each movement, briefly describing its main traits, and outlining its primary assumptions. We then frame the common problem of achieving a programmable Web within the context of distributed computing and software engineering and then attempt to show why Web 2.0 is closest to give a pragmatic solution to the problem and will therefore likely continue to have the most success while the other two only have cursory contributions
Semantics Centric Solutions for Application and Data Portability in Cloud Computing
Cloud computing has become one of the key considerations both in academia and industry. Cheap, seemingly unlimited computing resources that can be allocated almost instantaneously and pay-as-you-go pricing schemes are some of the reasons for the success of Cloud computing. The Cloud computing landscape, however, is plagued by many issues hindering adoption. One such issue is vendor lock-in, forcing the Cloud users to adhere to one service provider in terms of data and application logic. Semantic Web has been an important research area that has seen significant attention from both academic and industrial researchers. One key property of Semantic Web is the notion of interoperability and portability through high level models. Significant work has been done in the areas of data modeling, matching, and transformations. The issues the Cloud computing community is facing now with respect to portability of data and application logic are exactly the same issue the Semantic Web community has been trying to address for some time. In this paper we present an outline of the use of well established semantic technologies to overcome the vendor lock-in issues in Cloud computing. We present a semantics-centric programming paradigm to create portable Cloud applications and discuss MobiCloud, our early attempt to implement the proposed approach
IBM Altocumulus: A Cross-Cloud Middleware and Platform
Cloud computing has become the new face of computing and promises to offer virtually unlimited, cheap, readily available, utility type computing resources. Many vendors have entered this market with different offerings ranging from infrastructure-as-a-service such as Amazon, to fully functional platform services such as Google App Engine. However, as a result of this heterogeneity, deploying applications to a cloud and managing them needs to be done using vendor specific methods. This lock in is seen as a major hurdle in adopting cloud technologies to the enterprise. IBM Altocumulus, the cloud middleware platform from IBM Almaden Services Research, aims to solve this very issue of managing applications across multiple clouds. It provides a uniform, service oriented interface to deploy and manage applications in various clouds and also provides facilities to migrate instances across clouds using repeatable best practice patterns. In this demonstration we will present the latest version of the IBM Altocumulus platform and also reveal some of the latest additions on scaling and the ability to perform map-reduce type computations
A Study in Hadoop Streaming with Matlab for NMR Data Processing
Applying Cloud computing techniques for analyzing large data sets has shown promise in many data-driven scientific applications. Our approach presented here is to use Cloud computing for Nuclear Magnetic Resonance (NMR)data analysis which normally consists of large amounts of data. Biologists often use third party or commercial software for ease of use. Enabling the capability to use this kind of software in a Cloud will be highly advantageous in many ways. Scripting languages especially designed for clouds may not have the flexibility biologists need for their purposes. Although this is true, they are familiar with special software packages that allow them to write complex calculations with minimum effort, but are often not compatible with a Cloud environment. Therefore, biologists who are trying to perform analysis on NMR data, acquire many advantages due to our proposed solution. Our solution gives them the flexibility to Cloud-enable their familiar software and it also enables them to perform calculations on a significant amount of data that was not previously possible. Our study is also applicable to any other environment in need of similar flexibility. We are currently in the initial stage of developing a framework for NMR data analysis
Power of Clouds In Your Pocket: An Efficient Approach for Cloud Mobile Hybrid Application Development
The advancements in computing have resulted in a boom of cheap, ubiquitous, connected mobile devices as well as seemingly unlimited, utility style, pay as you go computing resources, commonly referred to as Cloud computing. However, taking full advantage of this mobile and cloud computing landscape, especially for the data intensive domains has been hampered by the many heterogeneities that exist in the mobile space as well as the Cloud space. Our research focuses on exploiting the capabilities of the mobile and cloud landscape by defining a new class of applications called cloud mobile hybrid (CMH) applications and a Domain Specific Language (DSL) based methodology to develop these applications. We define Cloud-mobile hybrid as a collective application that has a Cloud based back-end and a mobile device front-end. Using a single DSL script, our toolkit is capable of generating a variety of CMH applications. These applications are composed of multiple combinations of native Cloud and mobile applications. Our approach not only reduces the learning curve but also shields developers from the complexities of the target platforms. We provide a detailed description of our language and present the results obtained using our prototype generator implementation. We also present a list of extensions that will enhance the various aspects of this platform
Spatio-Temporal-Thematic Analysis of Citizen Sensor Data: Challenges and Experiences
We present work in the spatio-temporal-thematic analysis of citizen-sensor observations pertaining to real-world events. Using Twitter as a platform for obtaining crowd-sourced observations, we explore the interplay between these 3 dimensions in extracting insightful summaries of social perceptions behind events. We present our experiences in building a web mashup application, Twitris that extracts and facilitates the spatio-temporal-thematic exploration of event descriptor summaries
A Best Practice Model for Cloud Middleware Systems
Cloud computing is the latest trend in computing where the intention is to facilitate cheap, utility type computing resources in a service-oriented manner. However, the cloud landscape is still maturing and there are heterogeneities between the clouds, ranging from the application development paradigms to their service interfaces,and scaling approaches. These differences hinder the adoption of cloud by major enterprises. We believe that a cloud middleware can solve most of these issues to allow cross-cloud inter-operation. Our proposed system is Altocumulus, a cloud middleware that homogenizes the clouds. In order to provide the best use of the cloud resources and make that use predictable and repeatable, Altocumulus is based on the concept of cloud best practices. In this paper we briefly describe the Altocumulus middleware and detail the cloud best practice model it encapsulates. We also present examples based on real world deployments as evidence to the applicability of our middleware
Abstraction Driven Application and Data Portability in Cloud Computing
Cloud computing has changed the way organizations create, manage, and evolve their applications. While many organizations are eager to use the cloud, tempted by substantial cost savings and convenience, the implications of using clouds are still not well understood. One of the major concerns in cloud adoption is the vendor lock-in of applications, caused by the heterogeneity of the numerous cloud service offerings. Vendor locked applications are difficult, if not impossible to port from one cloud system to another, forcing cloud service consumers to use undesired or suboptimal solutions.This dissertation investigates a complete and comprehensive solution to address the issue of application lock-in in cloud computing. The primary philosophy is the use of carefully defined abstractions in a manner that makes the heterogeneity in the clouds invisible.The first part of this dissertation focuses on the development of cloud applications using abstract specifications. Given the domain specific nature of many cloud workloads, we focused on using Domain Specific Languages (DSLs). We applied DSL based development techniques to two domains with different characteristics and learnt that abstract driven methods are indeed viable and results in significant savings in cost and effort. We also showcase two publicly hosted Web-based application developments tools, pertaining to the two domains. These tools use abstractions in every step of the application life-cycle and allow domain experts to conveniently create applications and deploy them to clouds, irrespective of the target cloud system.The second part of this dissertation presents the use of process abstractions for application deployment and management in clouds. Many cloud service consumers are focused on specific application oriented tasks, thus we provided abstractions for the most useful cloud interactions via a middleware layer. Our middleware system not only provided the independence from the various process differences, but also provided the means to reuse known best practices. The success of this middleware system also influenced a commercial product
Swashup: Situational Web Applications Mashups
Distributed programming has shifted from private networks to the Internet using heterogeneous Web APIs. This enables the creation of situational applications of composed services exposing user interfaces, i.e., mashups. However, this programmable Web lacks unified models that can facilitate mashup creation, reuse, and deployments. This poster demonstrates a platform to facilitate Web 2.0 mashups
- …