Cirrus: A Delay-Tolerant Cloud
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, virtual machines, applications, and services) that can be rapidly and elastically provisioned, to quickly scale out, and rapidly released to quickly scale in. However, commercially available cloud services such as public grids target the needs for the broader customer base and do not meet the specialized requirements of real-time, data-centric applications, such as sensor data aggregation, messaging, media streaming and commodity exchange that need to process very large volumes of diverse, streaming data in near real time.
To make matters worse, end-to-end communication paths between real-time data providers and consumers are no longer guaranteed, due to either node unavailability or service unavailability. The DTN paradigm has shown to promote interoperable and reliable communications in the presence of disruptions, however, is not directly applicable to cloud computing. A new cloud computing model is therefore needed for the above scenarios.
This paper proposes a novel concept, that of a generalized cloud, Cirrus, defined as a computing cloud with the following characteristics: (i) abiding by the NIST Cloud Definition, (ii) providing specialized, core Cloud services targeted to real-time, data centric applications, (iii) allowing for the elastic use of Cirrus cloud resources by ad-hoc networks and (iv) allowing for the elastic incorporation of nomadic and/or severely resource constrained devices, in Cirrus. Cirrus is built on top of DTN application layer extensions, such as the Bundle Protocol (BP). As a result, Cirrus behaves as an "overlay Cloud", elastically forming, expanding and shrinking over networks of dynamic topology that may contain both fixed and ad-hoc infrastructure, thus providing a more fair and de-centralized Cloud Computing solution that is not exclusive to "big players" in the field.