AU logo AU line
University of Aarhus

Locusts

Dynamically Adaptive Pervasive Computing through Cyber Foraging

Nymph of Locust (Schistocera americana) with distinct wing-rudiments. After Howard, Insect Life, vol. VII.

A brief introduction to the field and preliminary plans

Cyber Foraging?

Origin
  • The Case for Cyber Foraging” by Balan et al.

    In this paper, we propose cyber foraging: a mechanism to augment the computational and storage capabilities of mobile devices. Cyber foraging uses opportunistically discovered servers in the environment to improve the performance of interactive applications and distributed file systems on mobile clients.

The Players

Handheld devices
  • Portable
  • Wireless network (Bluetooth, WiFi, ...)
  • Increasingly powerful → higher user expectations
  • All of the above limited by battery capacity
Stationary computers
  • (More or less) a fixture
  • Fast connection to the Internet
  • Hugely powerful resource wise (relatively speaking)
  • Flexible with regards to available software

The Concept

Services

Service discovery
  • what is available?
  • where is it?
  • how should it be invoked?
Service creation
  • “meta” services
  • the creation of arbitrary (within a given scope) services
Service composition
  • creating new services based on already existing ones
  • E.g., combining DownloadFile with ConvertToPDF

Using services

Binding
  • Establishing a (temporary) relationship with a supporting peer
  • This should be done as securely as possible
Invocation
  • Transferring data and forth between dependent peer and supporting peer
Strategy
Do not reinvent the wheel – plenty of existing technology

(Some) Challenges

Quality of Service
  • When does it make sense to offload?
  • Bandwidth cost vs. computation cost
  • Supporting peers should not be abused
An adaptive software architecture
  • Software patterns for Lo-Fi and Hi-Fi tasks
  • A safe way of creating services
  • No humongous middleware layer – keep it light
  • Reliance of dynamically typed languages
User interface
  • “Tasks are being offloaded, please standby...”
  • How is the user kept aware, but not annoyed?

Plans

Year One
  • Establishing model and platforms
  • Initial framework
  • Service discovery
  • Migratory tasks
Year Two
  • Testing harness
  • Auto-migratory tasks
  • Scheduler
Year Three
  • QoS aware scheduler
  • Development tools

Status

People
  • Niels Olof Bouvin
  • Mads Darø Kristensen (PhD-student)
  • Morten Holdflod Møller (Programmer)
  • A couple of Master Thesis students
Building infrastructure...
  • Python-based
  • We have defined a framework for description of services and tasks
  • The basic scheduler has been built and can launch tasks and return results

Architecture

Locusts overview