Source-linked AI summary

Community Cloud Computing

Alexandros Marinos, Gerard Briscoe

arXiv:0907.2485v3cs.NIcs.DCcs.SE

TL;DR

Cloud Computing’s centralised vendor model raises concerns about privacy, resilience, control, and the environmental impact of expanding data centres. The paper proposes Community Cloud Computing, combining cloud computing with grid, digital ecosystem, autonomic, and green computing ideas while using networked personal computers as a virtual data centre. It presents C3 as a sustainable distributed-computing conceptualisation, while identifying technical challenges and areas requiring further research.

  • Problem

    Centralised vendor clouds raise concerns about privacy, vendor control, cascade failures, resilience, and the carbon footprint of expanding data centres.

  • Method

    The paper combines cloud usage scenarios with grid resource distribution, digital ecosystem principles, autonomic self-management, and green computing sustainability, using spare resources from networked personal computers.

  • Results

    The paper presents Community Cloud Computing as an alternative socio-technical conceptualisation for sustainable distributed computing and describes community-owned infrastructure as potentially robust and resilient to failures.

  • Takeaways & Limitations

    C3 offers a community-owned alternative to vendor clouds that can provide distributed control and potentially graceful, non-destructive failure recovery.

  • Takeaways & Limitations

    Whether Community Cloud Computing can achieve technical quality equivalent or superior to centralised clouds requires further research.

Abstract

from arXiv · show

Cloud Computing is rising fast, with its data centres growing at an unprecedented rate. However, this has come with concerns over privacy, efficiency at the expense of resilience, and environmental sustainability, because of the dependence on Cloud vendors such as Google, Amazon and Microsoft. Our response is an alternative model for the Cloud conceptualisation, providing a paradigm for Clouds in the community, utilising networked personal computers for liberation from the centralised vendor model. Community Cloud Computing (C3) offers an alternative architecture, created by combing the Cloud with paradigms from Grid Computing, principles from Digital Ecosystems, and sustainability from Green Computing, while remaining true to the original vision of the Internet. It is more technically challenging than Cloud Computing, having to deal with distributed computing issues, including heterogeneous nodes, varying quality of service, and additional security constraints. However, these are not insurmountable challenges, and with the need to retain control over our digital lives and the potential environmental consequences, it is a challenge we must pursue.

I. INTRODUCTION

Cloud Computing provides Internet-based services through centrally controlled infrastructure, but its growth raises concerns about vendor dependence, privacy, resilience, and environmental sustainability. Community Cloud Computing combines cloud, grid, digital ecosystem, and green computing ideas to use networked personal computers as a distributed virtual data centre.

  • Motivation: Cloud Computing’s rapid development has increased concerns about information privacy, vendor control, and the carbon footprint of expanding data centres.The model gives large vendors substantial control over infrastructure and stored resources.
  • Community Cloud Computing: Community Cloud Computing combines distributed resource provision, distributed control, and sustainability principles from Grid Computing, Digital Ecosystems, and Green Computing.The proposed model is intended as an alternative cloud conceptualisation while retaining the Internet’s original intentions.
  • Community Cloud Computing: C3 uses spare resources from networked personal computers collectively to provide the facilities of a virtual data centre.This approach reformulates cloud infrastructure around community-provided computing resources.
  • Cloud Computing: Cloud Computing provides dynamically scalable services over the Internet without requiring users to control or understand the supporting infrastructure.Its resource provision is typically housed in one or more centrally controlled data centres.
  • Cloud Computing: Cloud offerings differ in abstraction level and target market segment, helping clarify their relationships despite broad industry buzz.The paper presents these offerings as distinct levels of abstraction rather than a single undifferentiated category.

1) Infrastructure-as-a-Service (IaaS) [21]:

Cloud offerings provide different levels of abstraction, from developer-controlled machine instances to programming environments and consumer-facing applications. These levels shift operational responsibility and impose different constraints on users and developers.

  • IaaS: At the infrastructure level, providers offer machine instances that developers control and must manually scale when performance limits are reached.These instances behave like dedicated servers and allow arbitrary software with only small compromises in infrastructure control.
  • IaaS: Programming environments abstract machine instances and allocation details, but constrain application design through requirements such as key-value storage.Google App Engine is given as an example of this abstraction level.
  • Abstraction levels: Cloud offerings qualify and relate to one another through different abstraction levels aimed at different market segments.The abstraction framework addresses ambiguity surrounding the broad term Cloud Computing.
  • SaaS: Consumer-facing cloud applications provide online resources and storage while interfacing with user information.Examples include Hotmail, Google Docs, Zoho, and Salesforce.com.
  • Actors: Cloud providers, application developers, and end users occupy distinct roles, although one actor may perform multiple roles within a cloud.Within each cloud, the provider role also determines control over resource provision.

B. Concerns

Cloud Computing’s centralised vendor model offers convenience and uptime but creates privacy, control, resilience, and environmental concerns. The paper frames these issues as consequences of vendor provision and implementation rather than flaws in the cloud concept itself.

  • Resilience: Vendor-driven monocultures can turn individual cloud failures into system-wide outages affecting dependent organisations and services.The Amazon S3 outage illustrates this cascade effect.
  • Resilience: Centralising infrastructure produces efficiencies at the expense of the Internet’s resilience when failures propagate across dependent organisations.The paper contrasts partial or localised failures with cascade failures in vendor clouds.
  • Convenience vs Control: Vendor control creates lock-in and privacy concerns because providers can access resources stored on their clouds.The paper also identifies potential conflicts between providers’ market interests and customers’ interests.
  • Environmental Impact: Expanding cloud data centres increase carbon footprints, while virtualisation improves resource utilisation without eliminating the environmental problem.The industry is additionally constrained by legislation, power-grid limits, and financial incentives for efficiency.
  • Alternative model: Portability layers and private internal clouds address some lock-in or privacy concerns but do not resolve inter-cloud latency or provide cloud computing without owned data centres.The paper therefore proposes an alternative model combining cloud computing with grid, digital ecosystem, and green computing paradigms.

III. GRID COMPUTING: DISTRIBUTING PROVISION

Grid Computing distributes resource provision across loosely coupled, heterogeneous, and geographically dispersed computers. Its distributed architecture and sustainability-oriented principles provide conceptual foundations for community-based cloud computing.

  • Grid Computing: Grid Computing composes a virtual supercomputer from networked, loosely coupled computers acting together on large tasks.It has supported scientific, commercial, and volunteer-computing applications.
  • Grid architecture: Grid resource provision is managed by a group of distributed nodes, although the coordinator role remains centrally controlled in the illustrated configuration.The figure distinguishes resource consumption, provision, and coordination by color.
  • Grid Computing: Compared with cluster computing, grids are more loosely coupled, heterogeneous, and geographically dispersed.Grid middleware can divide programs among potentially thousands of computers.
  • Digital Ecosystems: Digital Ecosystems are distributed adaptive open socio-technical systems designed around self-organisation, scalability, and sustainability.They support regional actors and network-based value creation through shared services and experiences.
  • Green Computing: Green Computing aims to use computing resources efficiently while accounting for people, planet, and profit.Its systemic perspective increasingly incorporates environmental concerns during development rather than only retroactively.
  • Green Computing: Data-centre growth creates constraints involving power, cooling, and space, making efficiency a global issue for computing infrastructure.These facilities have also created noticeable impacts on power grids.

VI. COMMUNITY CLOUD

Community Cloud Computing replaces vendor-controlled Clouds with a community-owned architecture built from users’ underutilised machines. It combines ideas from Cloud, Grid, Digital Ecosystem, Green, and Autonomic Computing while distributing roles and control.

  • C3 shapes underutilised user-machine resources into a Community Cloud, with nodes potentially acting as consumers, producers, and coordinators.Coordination is especially important because it is distributed rather than assigned to a central vendor.
  • The Community Cloud draws on Cloud Computing, Grid Computing, Digital Ecosystems, Green Computing, and Autonomic Computing.
  • Removing vendor dependence makes the Community Cloud an open counterpart to proprietary hosted services.The paper presents this as a new dimension of the open-versus-proprietary struggle.
  • Community ownership makes the Community Cloud both a social structure and a technology paradigm, with potential economic scalability.The paper links this ownership model to maintaining competition and avoiding innovation being stifled by vendor Clouds.

3) Individual Autonomy:

Individual autonomy is central to Community Cloud design because participating machines act in their own interests rather than under centralised control. The model therefore seeks cooperation through incentives and user-controlled identity relationships.

  • Individual Autonomy:: Centralised control is impractical because Community Cloud nodes have individual utility functions and are expected to act in their own self-interest.The paper contrasts this with dedicated data-centre machines that execute software as instructed.
  • Individual Autonomy:: The design embraces user self-interest and proposes community currency as a way to harness it for collective benefit.
  • Individual Autonomy:: A unique user identity could let people add services to that identity and grant access without registering separately for every website.This supports multiple connected services under one identity.
  • Individual Autonomy:: Community ownership distributes control and is intended to make the system more democratic than vendor Clouds.
  • Individual Autonomy:: Whether the Community Cloud can match or exceed the technical quality of centralised alternatives remains an open research question.

7) Community Currency:

Community Cloud Computing uses community incentives and layered decentralisation to coordinate heterogeneous user resources and compose services. Its sustainability rationale assumes that using underutilised personal machines consumes less energy than dedicated data centres.

  • 7) Community Currency:: A community currency is proposed to support resource sharing without backing from a central authority.It would mediate exchanges of goods and services within the community and need not be geographically restricted.
  • 7) Community Currency:: Acceptable quality of service is challenging in a heterogeneous system because maintaining different QoS aspects requires critical mass in participating nodes and services.
  • 7) Community Currency:: Higher-quality providers could charge more through market forces, while time and geographic variation might enable better QoS than vendor Clouds.
  • 7) Community Currency:: The paper expects a smaller carbon footprint because underutilised user machines are assumed to require less energy than dedicated data centres.The Community Cloud is described as growing and shrinking with community demand rather than relying on fixed server farms.
  • 7) Community Currency:: Service decentralisation enables composing simpler services into more complex applications, potentially helping smaller firms compete with large enterprises.
  • 7) Community Currency:: C3 distributes server functionality across user machines and organises the architecture into coordination, resource, and service layers.The foundational layer distributes coordination; resource provision and consumption sit above it, followed by composable services.

1) Coordination Layer:

The coordination layer uses isolated virtual machines and distributed mechanisms for identity, networking, and transactions, replacing centralised control with peer-based coordination.

  • Virtual Machines (VMs): Isolated virtual machines sandbox guest code and safely expose resource-providing users’ system resources to Community Cloud processes.VMs protect host machines while allowing arbitrary code to run for the Community Cloud.
  • Distributed Identity: Distributed identity derives node identity from network relationships rather than relying on centrally controlled identity providers.Historical interaction context supports certainty about interactions among nodes with variable reliability.
  • Networking: Nodes form a resilient peer-to-peer network designed to avoid single points of control and failure.The proposed networking approach rejects insufficiently decentralised super-peer control mechanisms.
  • Distributed Transactions: Distributed transactions let nodes jointly change their individual state while preserving ACID properties for the initiator.Newer transaction models aim to retain reliability while improving efficiency and concurrency.
  • Distributed Transactions: The coordination architecture supports multi-party service composition without centralised mediation.Distributed transactions are identified as fundamental to this capability.

2) Resource layer:

The resource layer provides distributed computation, persistence, bandwidth management, repositories, and incentives for nodes that contribute resources to the Community Cloud.

  • Distributed Computation: The resource layer coordinates computational capabilities distributed across participating nodes, drawing on Grid Computing and Digital Ecosystems.This replaces reliance on centrally controlled computational coordination.
  • Distributed Persistence: Distributed persistence combines distributed storage, databases, and key-value stores to meet varying information structures and availability requirements.User information is encrypted on remote nodes and decrypted only when accessed by the user.
  • Bandwidth Management: C3 may require more bandwidth at user nodes than vendor Clouds, while P2P protocols can distribute information through downloading peers.Broadband growth and peer-based repetition are identified as ways to support distribution.
  • Community Currency: Community currency rewards users for offering resources and enables access to community resources for contributors and participating vendors.Resource prices should fluctuate with market demand because storage, computation, and bandwidth costs are difficult to predict or hard-code.
  • Resource Repository: Resource repositories query nodes using performance profiles that consider historical performance, availability, cost, and geography.The repository treats resource selection as a constraint optimisation problem.

3) Service Layer:

The service layer decomposes services across contributed resources and supports persistent repositories, resilient deployment, and declarative generative programming for composition.

  • Service Architecture: C3 services are composed by default from resources contributed by multiple participants rather than relying on stand-alone service locations.The architecture therefore requires core infrastructural services for distributed service operation.
  • Distributed Service Repository (DSR): A distributed service repository stores service pointers, semantic descriptions, and executable code so services remain available when producing nodes are absent.Its implementation benefits from distributed storage infrastructure.
  • Service Deployment and Execution: Service deployment retrieves and instantiates code when needed, while preemptive push-oriented deployment improves responsiveness to unpredictable traffic spikes.Strategic placement also addresses the cost of delivering services over large network distances.
  • Programming Paradigm: Declarative generative programming makes service requirements explicit, executable, and human-readable, reducing cascading code changes and barriers to composition.The paradigm forms a contract between service developers and resource providers.

C. Distributed Innovation

Distributed innovation is needed to prevent a single update provider from becoming a control or failure point, while C3 is motivated by community services with scaling and funding pressures.

  • C. Distributed Innovation: A single provider controlling infrastructure updates could become a single point of control or failure and misalign development with community goals.The proposed alternative requires non-centralised software innovation and granular conflict resolution to limit fragmentation.
  • C. Distributed Innovation: Version rollback is necessary to maintain the Community Cloud as infrastructural services evolve.The text specifies undoing patches and stepping back through service versions.
  • Applications: Wikipedia and YouTube are presented as C3 application cases because they are community oriented, require increasing scalability, and have unstable funding models.These characteristics motivate examining distributed alternatives for their infrastructure and operation.
  • Applications: Wikipedia’s growing resource and bandwidth demand is paired with reliance on donations and contentious advertising as funding options.Advertising raises concerns about compromising content or the project’s public character.
  • Applications: Under C3, Wikipedia could distribute its operations across participating nodes, with users spending and earning community currency through service use and hosting.Core webpage delivery and server-side scripts would be handled as service requests.

B. YouTube

Community Cloud Computing applies its community-provision model to services such as YouTube, distributing service resources across networked personal computers. This model shifts provision costs to users, potentially lowering the financial barrier for innovative start-ups while requiring service-specific QoS handling.

  • B. YouTube: YouTube requires substantial bandwidth and computation, while its profitability remains unsettled under conventional provision.C3 offers a self-sustaining scalable resource model that could reduce the income needed for profitability.
  • B. YouTube: C3 distributes YouTube alongside other services, with updates propagating through a distributed persistence layer.The community supplies bandwidth for content distribution and computational resources for video transcoding.
  • B. YouTube: C3 must accommodate different QoS requirements: video streaming benefits from constant throughput, whereas occasional packet loss can be tolerated.Live-event streaming has also required bespoke content distribution networks.
  • B. YouTube: YouTube and other services in C3 use the user base to provide service resources through an organisational model resembling micro-payments.The model moves service-provision costs to users and is intended to lower start-up entry barriers.
  • B. YouTube: C3 combines Cloud usage scenarios with Grid, Digital Ecosystems, Autonomic Computing, and Green Computing to provide sustainable distributed computing.It uses spare resources from networked personal computers to provide data-centre facilities.
Loading 0907.2485v3…