Portolan: Architecture and Insights from a Large-Scale Smartphone Crowdsourcing System

Lessons learned from the design, implementation, and management of a smartphone-based crowdsourcing system

2013-11-11
Adriano Faggiani, Enrico Gregori, Luciano Lenzini, Valerio Luconi, Alessio Vecchio
Summary
Problem
Method
Results
Takeaways
Abstract

This paper presents Portolan, a smartphone-based crowdsourcing system designed for large-scale network monitoring, such as mapping Internet topology and cellular coverage. It identifies critical challenges in volunteer-based sensing and provides a systematic analysis of the "lessons learned" from deploying a real-world mobile crowdsourcing platform.

TL;DR

Building a crowdsourcing system isn't just a technical challenge—it’s a social and logistical one. The Portolan project demonstrates how to turn a fleet of volunteer smartphones into a global network monitor. By bypassing OS limitations and navigating the "human-in-the-loop" chaos, the researchers mapped Internet topologies and cellular dead zones, revealing the true cost of "free" crowd-contributed data.

Background: Positioning the Work

In the landscape of network research, Portolan occupies a unique space between hardware-heavy sensor networks and purely simulation-based studies. It treats the smartphone as a "mobile sensor" that is always connected but rarely under the researcher's direct control.

The "Human-in-the-Loop" Problem

The researchers identified three primary pain points when dealing with a volunteer "crowd":

  1. Version Fragmentation: Unlike a data center where you control the environment, mobile users are "update reluctant." Portolan found they had to support up to 8 different app versions simultaneously just to keep the legacy user base functional.
  2. Unreliable Execution: Tasks can be dropped at any time if a user uninstalls the app or their battery dies.
  3. The "Pisa" Hotspot Effect: Human mobility is repetitive. Users congregate in the same cafes and offices, leading to thousands of redundant data points for one intersection and zero data for the street 500 meters away.

Methodology: Engineering Around Constraints

Architecture

Portolan uses a distributed hierarchy. A central server manages the global state, while Proxies handle regional device coordination to ensure scalability.

Portolan Architecture

Bypassing Android's Sandbox

A major technical hurdle was performing a traceroute on non-rooted Android devices. Standard APIs are too high-level. The team used a native C library and exploited the IP_RECVERR option on BSD sockets to extract ICMP error messages from UDP probes, effectively side-stepping the need for superuser privileges.

The Battery Dilemma

Active GPS sensing is a "battery killer." Portolan shifted its strategy:

  • Passive Mapping: Re-using GPS coordinates triggered by other apps (Google Maps, etc.).
  • Safety Cutoffs: Automatically suspending all tasks if the battery drops below 40%.

Experiments & Real-World Results

The system's growth reveals the difficulty of sustaining a niche academic app. While initial growth was slow and region-locked to Italy, the user base stabilized and began to grow organically once global availability was enabled and utility tools (bandwidth estimators) were added to provide "selfish" value to users.

App Version Distribution Figure: The long tail of app versions shows the difficulty of maintaining a unified system state in volunteer crowds.

Analysis of Received Signal Strength (RSS) samples showed the limits of volunteer mobility. Mapping the city of Pisa resulted in high-density sample clusters (Fig 4a) vs. empty zones (Fig 4b), proving that a larger crowd doesn't always mean better coverage—it often just means more redundant data in urban centers.

User Install Trends

Critical Insight & Conclusion

The success of a crowdsourcing system is 40% engineering and 60% psychology. Portolan teaches us that:

  1. Redundancy is a feature, not a bug: Use it to filter out malicious or faulty data.
  2. OS APIs are bottlenecks: Expect to write native code for low-level network access.
  3. Incentives matter: Users won't stay for science alone; give them a tool (like a speed test) they actually want to use.

The Takeaway: Future systems must move beyond simple "task assignment" and toward "context-aware" sensing that predicts user movement to fill spatial gaps without killing the battery.

Find Similar Papers

Try Our Examples

  • Search for recent papers dealing with participant incentive mechanisms in Mobile CrowdSensing (MCS) to balance data spatial distribution.
  • What is the current state-of-the-art for low-level network probing on modern Android and iOS versions without root access?
  • Examine how Big Data frameworks like Spark or Flink are used to process redundant spatio-temporal datasets in urban crowdsourcing applications.
Contents
Portolan: Architecture and Insights from a Large-Scale Smartphone Crowdsourcing System
1. TL;DR
2. Background: Positioning the Work
3. The "Human-in-the-Loop" Problem
4. Methodology: Engineering Around Constraints
4.1. Architecture
4.2. Bypassing Android's Sandbox
4.3. The Battery Dilemma
5. Experiments & Real-World Results
6. Critical Insight & Conclusion