Top Banner
The ANA Project Kaiserslautern, Germany 4 March 2012
82

The ANA Project

Mar 17, 2016

Download

Documents

Julia Ackermann

The ANA Project. Kaiserslautern, Germany 4 March 2012. Disclaimer. ANA has been a collaborative effort – 10 partners Many thanks to all team members! But specifically for the core architects and developers: Christian Tschudin Christophe Jelger Ariane Keller Franck Legendre - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: The  ANA  Project

The ANA Project

Kaiserslautern, Germany

4 March 2012

Page 2: The  ANA  Project

ANA has been a collaborative effort – 10 partners

Many thanks to all team members!

But specifically for the core architects and developers: Christian Tschudin Christophe Jelger Ariane Keller Franck Legendre Simon Heimlicher Ghazi Bouabene

Disclaimer

2

Page 3: The  ANA  Project

Where will we need networking in the future?

3

Page 4: The  ANA  Project

Where will we need networking in the future?

4

Page 5: The  ANA  Project

Where will we need networking in the future?

5

Page 6: The  ANA  Project

Where will we need networking in the future?

6

Page 7: The  ANA  Project

Where will we need networking in the future?

8

Page 8: The  ANA  Project

Networking Characteristics

9

Delay tolerant↔real time

Local↔global

Private↔public

Resource constraint↔unlimited resources

Control↔data

Reliable↔best effort

Page 9: The  ANA  Project

The Internet Hourglass

10

Delay tolerant↔real time

Local↔global

Private↔public

Resource constraint↔unlimited resources

Control↔data

Reliable↔best effort

Page 10: The  ANA  Project

• The Internet suffers from architectural stress: not ready to integrate and manage the

envisaged huge numbers of dynamically attached devices (wireless revolution, mobility, personal area networks, etc)

Lacks integrated monitoring and security mechanisms

Motivation

Consensus in the research community* that a next step beyond the Internet is needed.

* as seen by the number of recent related projects and initiatives (FIRE, GENI, FIND, FP7, …)

11

Page 11: The  ANA  Project

IP

The Internet Hourglass

Applicationlayer

Linklayer

Ethernet, WIFI (802.11), ATM,SONET/SDH, FrameRelay,modem, ADSL, Cable, Bluetooth…

Disruptive approaches need

a disruptivearchitecture

Changing/updatingthe Internet coreis difficult orimpossible !(e.g. Multicast,Mobile IP, QoS, …)

Everythingon IP

Homogeneous networking abstraction

Voice, Video, P2P, Email, youtube, ….Protocols – TCP, UDP, SCTP, ICMP,…

IP onEverything

IPv6IPvX

12

Page 12: The  ANA  Project

Objectives• Goal: To demonstrate the feasibility of autonomic networking.

• Identify fundamental autonomic networking principles.• Design and build an autonomic network architecture.

• ANA in a blink:• Network must scale in size and in functionality.• Evolving network: variability at all levels of the architecture.• ANA = framework for function (re-)composition.• Dynamic adaptation and re-organization of network.

• Networks have to work doing research through prototypes.

• Early build an experimental network architecture.• Prototype used as feedback to refine architectural models.

Architectures are not built, they grow!

13

Page 13: The  ANA  Project

Scenario – today

• each device has to implement IP• IP address configuration through DHCP, zeroconf, ad hoc mode• routing protocol has to be agreed on Most often results in manual configuration

14

Page 14: The  ANA  Project

Scenario – with ANA

ANA core

ANA core

ANA core

ANA core ANA core

ANA core

ANA core

• Self-association• Node bootstrapping• neighborhood discovery• address configuration • functional composition (suitable network stack)• Beyond IP!!!

New ANA Compartment

• Self-organization• determine comm. Protocol (non-IP) • form compartment • intra-compartment routing• service discovery

• Self-optimization• enhanced & integrated monitoring• functional re-composition• resilience

15

Page 15: The  ANA  Project

Scenario – with ANA

Internet(IP Compartment)

ANA Compartment

Other ANA Compartment inter-compartment routing

ANA core

ANA core

ANA coreANA core

ANA core

16

Page 16: The  ANA  Project

Heterogeneity

• We have to extend the waist and host more paradigms

• Future networks have to scale in size AND functionality

• Enable network evolution

• Federation instead of homogeneous abstraction

Applicationlayer

Linklayer

Generic framework

17

Page 17: The  ANA  Project

The ANA Project

• To enable this vision we need: The ANA core

Highly configurable network stack Self-* properties

Service discovery Self-organization Self-optimization Novel protocols

Functional composition

18

Page 18: The  ANA  Project

From Layers to Functional Composition

• Per application port

• UDP/TCP handling

• IP does defragmentation, checksum,…

• All packets from Ethernet with: 0x0800 IP0x86DD IPv60x809B Apple Talk

Phy Layer

MAC Layer

Net Layer

Trans Layer

App Layer

19

Page 19: The  ANA  Project

From Layers to Functional Composition

• At least same functionality as before, but decomposed

• Allows for composition of functionality / services

Also:

• New functionality integrated in protocol stack

Not so novel, but we add

• Dynamic re-configuration

• Autonomic properties

Applications

Phy/MAC Layer

Functional Compartment

Routing

Reliable Transport

MonitoringFragmentation

Mobility Prediction

Checksum

20

Page 20: The  ANA  Project

Functional Composition

Phy/MAC Layer

Functionalcomposition

TCP

ANA coreMinimum InfrastructureMaximum ExtensibilityDispatching Table

Application Layer

UDPSAFTSCTP

AODVOSPFRIPFBRDSR

New RP?New TP?

OSIATM frameIP frame

IPX

New prot?

Pub/Sub

probingcapturesystemmonitor

passive monitoring

Virt. Coord

adaptive monitoring

Mobilityprediction

ServicediscoveryService

placement

21

Page 21: The  ANA  Project

Scenario – with ANA

Internet

ANA core

Compartment 1

Compartment 2

ANA core

ANA core

ANA coreANA core

Compartment n

OneLab2

ANA core

ANA core

ANA core

ANA coreANA core

ANA core

Applications

End Node Network Node

ANA core

ApplicationsExtensible APIs and

Transitioning

Functional Composition

Self-Association & Organization

ServiceDiscovery

Routing and Transport

Monitoring

22

Page 22: The  ANA  Project

Pitfalls in network architecture design

Static/rigid standards instead of mechanisms for change management:

e.g. Global address space (requires uniqueness and global coordination)

Leaking of and relying on network internal details:

e.g. Built-in address dependency (i.e. address-centric architecture vs address agnostic)

To avoid running into such pitfalls, we adopt an incremental approach via prototyping cycles :

Helps revealing faults or inconsistencies in the architecture design, gain experience and acceptance

23

Page 23: The  ANA  Project

ANA: the common denominator

ANA must permit variability at all levels of the architecture:

Multiple variants to perform a given task.

Different networks co-exist and compete.

The architecture is open for extensions and (evolution).

And this should be done in an autonomic way(less humans in the control loop)

24

Page 24: The  ANA  Project

What did ANA do, finally?Socket De-Construction

t

Semanticrichness

Socketinterface

ANA primitives

Mappings to hardware,software systems

adaptionlayer

Changing set ofNW funct.

25

Page 25: The  ANA  Project

You cannot "build" an architecture, you "grow" it

• The project was articulated around 2 prototyping cycles.

Methodology: design, test/validate, refine.

2006 2007 2008 2009

Design phaseFirst "Blueprint"

(architectural model)

First prototypingphase

Testing + feedback phase

2nd design phaseMature "Blueprint"

2nd prototypingphase

Finalintegration

26

2010

Extratime

Page 26: The  ANA  Project

• Distributed nodes to gain information about the environment Fire alarm Temperature measurement in permafrost

• Limited resources (power, memory, CPU, etc.)• Network conditions can change frequently• Runtime customization of network stack to save power

Example Scenario 1: Sensor Network

27

Page 27: The  ANA  Project

• Surveillance of train stations or airports Communication between cameras Communication from cameras to administrator

• 100% uptime required• Integration of new features without service disruption• Software updates for bug fixes without service disruption

Example Scenario 2: Video Surveillance System

28

Page 28: The  ANA  Project

Flexible Protocol Graph – Single Node

29

Page 29: The  ANA  Project

Flexible Protocol Graph – Single Node

30

Page 30: The  ANA  Project

• Blocks loaded by an administrator• Protocol stack changes

Negotiation between different nodes Maintenance: Use existing protocol graph for negotiation

Flexible Protocol Graph – Multiple Nodes

31

negotiation

Page 31: The  ANA  Project

• Blocks loaded by an administrator• Protocol stack changes

Negotiation between different nodes Maintenance: Use existing protocol graph for negotiation

Flexible Protocol Graph – Multiple Nodes

32

negotiation

Page 32: The  ANA  Project

ANA Blueprint a look from inside

33

Page 33: The  ANA  Project

ANA: a meta-architecture• ANA does not impose how network compartments

should work internally:

the ANA framework specifies how networks interact.

ANA framework

Internaloperationis notimposed

ANA specifiesinterfaces and interactions withnetwork compartment

leading to multiple andheterogeneous compartmentsbut generic interaction

34

Page 34: The  ANA  Project

A meta-architecture needs abstractions

Abstractions permit to "hide" heterogeneity.

Functional Block (FB)

Information Dispatch Point (IDP)

Information Channel (IC)

Compartment.

ANA contribution: extract the „basics“ of all computer communications,

not only Internet specific concepts

36

Page 35: The  ANA  Project

Functional Blocks (FBs)

Code and state that can process data packets.

• Protocols and algorithms are represented as FBs.

Access to FBs is via “information dispatch points” (IDPs).

FBs can have multiple input and output IDPs.

FB internally selects output IDP(s) to which data is sent.

data is sent to IDPwhich has state to call correct functioninside FB

FB FB

37

Page 36: The  ANA  Project

Information Channels (ICs)

FBs do packet processing. We also need „packet transfer“.

• “Information Channels“ are primitive, unidirectional datagram transport entities

• ICs interlink functional blocks, but can also be put in series.

• Data is sent to an IDP connected to an IC.

• Note: „channels“ are an not tangible, usually distributed

Various types of information channels:

unicast multicast anycast concast

38

Page 37: The  ANA  Project

ANA Compartment

• Compartment (CT) = space where FBs, IDPs and ICs live

• CTs, beside IDPs, probably the most important ANA contribution

• Compartments indicate management borders, but alsoother grouping: name space, policies, technology, hardware etc

• Observation: The Internet lacks compartments, at least officially

39

Page 38: The  ANA  Project

ANA – a Framework for Compartments

• Compartment = wrapper for networks.

• ANA does not impose how network compartments should work internally: the ANA framework specifies how networks interact.

ANA framework

Internaloperation

is notimposed

leading to multiple andheterogeneous compartmentsbut generic interaction

ANA specifiesinterfaces and interactions withany network compartment

40

Page 39: The  ANA  Project

Compartments and « Members »

• Compartments offer connectivity among „compartment members“

• A (network) compartment defines how to join and leave a compartment: member registration, trust model, authentication, etc.

Each compartment defines a conceptual membership database.

Registration: explicit joining and exposing is required ("default-off" model).

A=…

Register(“A”)

How registration is performed is specific to each compartment.

Compartment

41

Page 40: The  ANA  Project

Member resolution

Defines How to reach (communicate with) another member: peer resolution, addressing, routing, etc.

Resolution: explicit request before sending ("no sending in the void").

A=…

resolveRequest(“A”)

How resolution is performed is specific to each compartment.

Compartment

A

A=…

Resolution processreturns communication entry point a

A

a

Compartment

42

Page 41: The  ANA  Project

Compartments and Layers

• Compartments can be overlaid, i.e. compartments can use the communication services of other compartments.

The compartment abstraction serves as the unit for the federation of networks into global-scale communication systems.

It defines interaction rules with the "external world", the compartment boundaries (administrative or technical), the peerings with other compartments, etc.

43

Page 42: The  ANA  Project

What about addresses and names ?

Addressing and naming are left to compartments.

Each compartment is free to use any addressing, naming, and routing schemes (or is free to not use addresses, for example in sensor networks).

The main advantages are:

No need to manage a unique global addressing scheme.

No need to impose a unique way to resolve names.

ANA is open to future addressing and naming schemes.

The main drawbacks are:

Back to the CATENET challenges : How to inter-network in such heterogeneous address/name spaces ?

44

Page 43: The  ANA  Project

Local labels for handling (global) addresses

• Target resolution returns a local label = IDP

IDPs are "indirection points inside the network stack".

Addresses/names = input for the resolution process.

The IDP then maintains the state to reach the destination.

A=…

Resolution processreturns communication entry point a

A

a

Compartment45

Page 44: The  ANA  Project

Why is this useful? ("startpoints instead of endpoints")

• Ability to bind to destinations in an address agnostic way.

• This is important to support many flavors of compartments that can use different types of addresses and names.

• Useful decoupling between identifiers and means to address them.

• Important to permit dynamic re-binding of communications.

Local labels for handling (global) addresses

46

A

data is sent to IDPwhich has state to reach the destination

IC

CTX = 10.1.2.3SRV = tcp:80

Page 45: The  ANA  Project

How CTs, ICs, FBs, and IDPs fit together

FB1 IC FB2

cba

Node compartment Node compartment

Networkcompartment

47

Page 46: The  ANA  Project

• Interaction with the node compartment is via a special kind of FB called an "access object (AO)".

For example, register and resolve requests are sent to the AO.

Example of communication setup

48

p

Access object (FB) to private view of node compartment

This indicates that FBis the control-FB for thecompartment

v

ANA client has a control channelto the node compartment.

client1 client2

Page 47: The  ANA  Project

• Clients get access to the network compartment access objects.

Example of communication setup (2)

49

client1Network Compartment

e

Access objects (FB) to Network compartment f

p v

Client has now access to the membershipdatabase of the node compartment which contains the list of available network compartments.

client2

Page 48: The  ANA  Project

Client2 registers (via the IDP 'f') an identifier "B" with network compartment.

Conceptually, this creates an entry in the membership database.

50

Example of communication setup (3)

In the export view, this IDP indicates that client2 is reachablevia some identifier (e.g. B).

In the compartment databasethere is now a member B.

B = …

"stack" FB b

e fp v

b

client1 client2

Page 49: The  ANA  Project

• Client1 resolves (via the IDP 'e') the identifier "B" and receives startpoint IDP 'a'.

Example of communication setup (4)

51

ba

B = …

"stack" FBs

ve

p

For a link-layer compartment,this IC abstracts the physical link.

i

i

ba

s

s

f

client1 client2

Page 50: The  ANA  Project

• Typically, client1 only sees exported view (unless compartment exposes internal operation).

Example of communication setup (5)

52

a b

Export view ofthe compartment

client1 client2

Page 51: The  ANA  Project

Forwarding … some examples.

53

Bridging

+ intermediateprocessing

Page 52: The  ANA  Project

54

Overlay scenario with compartments

Send to medium Listen to medium

Send to medium Listen to medium

Compartment N

Compartment L1 Compartment L2

imported element imported element

Page 53: The  ANA  Project

55

Overlay scenario with compartments

• Same figure but only with exported views of L* compartments.

Compartment N

Compartment L1 Compartment L2

imported element imported element

Page 54: The  ANA  Project

56

Overlay scenario with compartments

• Figure just showing export view of compartment N.

Compartment N

ANA node 1 ANA node 2 ANA node 3

Which could also be drawn like that(just showing the export view).

ANA node 3

ANA node 1 ANA node 2

Page 55: The  ANA  Project

• Autonomic path setup/search in ANA "Brute-force" search via resolve() primitive.

Where does autonomic fit in?

57

client

...

...

If client does not knowhow to reach identifier "X",it can try to resolve() it with all the network compartments it knows about.

? "X"

? "X"

? "X"

… X

Page 56: The  ANA  Project

58

Autonomic path setup/search in ANA

• Recursive "Brute-force" search via resolve() primitive.client

...

...

If client cannot resolve()identifier "X", it could askdedicated systems from a "yellow-pages" compartment tohelp resolving "X" (e.g., to learn which compartment to join)

? "X"

? "X"

? "X"

yellow-pages system

...

? "X"

Page 57: The  ANA  Project

"Chains" of functions are setup on-demand in a dynamic way.

Packet dispatching in ANA is based on IDPs.

60

Functional composition

app

b

a

c

e

f2f1 a -> f1(e)

b -> f2(c)c -> fwd(e) e -> eth-if(0)

Information Dispatch Table

app

b

a

c d

e

f2f1f3

a -> f1(e)b -> f2(c)c -> f3(d)d -> fwd(e)e -> eth-if(0)

Information Dispatch Table

re-binding of IDP 'c' isnot visible to users of 'c'(function f2 here)

re-binding is a simplechange in dispatch table

Page 58: The  ANA  Project

Modelling nodes as compartments

• Each node itself appears as a compartment.

Member database: catalog of available functions.

Resolution step to access a given function.

Also implements access control.

Resolution instantiates functional blocks (FBs).

The node compartment hosts/executes FBs and IDPs.

App/serviceep

f

Node Compartment

a

61

Page 59: The  ANA  Project

Different “views” for a compartment

A network compartment has different views, for different usage.

"ANA world"

Underlying HardwareSend to medium

(Ethernet, wifi, etc)Listen to medium

(Ethernet, wifi, etc)

Node compartment Node compartment

data indata out

exportedview

structuralview

Compartment

This shows that there is really just one IDP "mapped" in the different views.

importedview

IC abstracts serviceprovided by

underlying hardware

IC abstracts communicationservice provided by

the compartment

62

Page 60: The  ANA  Project

Node architecture

Adaptation layer

Legacy appsApplications

sockets

MINMEX

NodeCompartment

InformationDispatch Table

MINMEXcontroller

ANA Playground + API

compartments,learning logic,service checker,IP overlay,monitoring,turf,p2p,AN style …

Platform abstraction layer (optional)

Platform OS

Event notificationsystem

63

Page 61: The  ANA  Project

The Blueprint in practice:the ANA API

64

Page 62: The  ANA  Project

Motivation

• Network compartments are free to internally run whatever addressing/naming schemes, routing protocols, etc.

• The "glue" for all interactions in ANA is the compartment API.

• All network compartments must support the API in order to allow all possible interactions between compartments.

65

Page 63: The  ANA  Project

Overview

• The API offers 6 fundamental primitives. In C-style:

IDPp publish (IDPc, CONTEXT, SERVICE)

int unpublish (IDPc, IDPp, CONTEXT, SERVICE)

IDPr resolve (IDPc, CONTEXT, SERVICE, chanType)

int release (IDPc, IDPr)

void* lookup (IDPc, CONTEXT, SERVICE)

int send (IDPr, DATA)

66

Page 64: The  ANA  Project

CONTEXTS and SERVICES

• The SERVICE argument is typically what is being published or looked up.

e.g., an address, a name, a file, a video stream, a printing service, etc.

• The CONTEXT defines some scope inside a compartment.

IPv4: 1.2.3.4, 224.0.0.1, 10.1.2.255.

IPv6: 2001::1, FF02::1, ::1.

eMule: Madonna, Pink Floyd, Blade Runner.

67

Page 65: The  ANA  Project

CONTEXTS and SERVICES

• We have currently specified two "well-known" CONTEXT value.

"." node-local

"*" largest possible scope as interpreted by the compartment

Examples:

• IPv4 compartment:"*" ~ 255.255.255.255 "." ~ 127.0.0.1

• Ethernet: "*" ~ FF:FF:FF:FF:FF:FF "." ~ local address

68

Page 66: The  ANA  Project

Using the API: some examples

Publishing an IPv4 address in the Ethernet compartment.

z <-- publish(y, "*", "10.1.2.3”)

"10.1.2.3" z

node M

ETH-FB

IP-FB

zy

publish

Ethernet Compartment

69

Page 67: The  ANA  Project

Using the API: some examples

Resolving an IPv4 address in the Ethernet compartment.

node N

ETH-FB

Ethernet Compartment

i

eresolve

"10.1.2.3" z

IP-FB

node M

ETH-FB

IP-FB

zy

s

How the resolution is performedis compartment specific

(e.g. broadcast message sent toFF:FF:FF:FF:FF:FF)

s ETH-M

s <-- resolve(e, "*", "10.1.2.3")70

Page 68: The  ANA  Project

Using the API: some examples

Sending data.

node N

ETH-FB

Ethernet Compartment

i

e

send

"10.1.2.3" z

IP-FB

node M

ETH-FB

IP-FB

zy

s

s ETH-M

send(s, DATA)

71

Page 69: The  ANA  Project

Using the API: some examples

Releasing an information channel.

node N

ETH-FB

Ethernet Compartment

i

erelease

"10.1.2.3" z

IP-FB

node M

ETH-FB

IP-FB

zy

release(e, s)

72

Page 70: The  ANA  Project

Blueprint Updates

• Event notification system

• IDPinfo framework

• Security section (catch up with implement.)

Clarify „IDP ownership“

Private and public IDPs

Implementation guidelines (threads, crash containment, msg queues, symbol export, ANA-controlled malloc)

73

Page 71: The  ANA  Project

Main publications and deliverables

• Ghazi Bouabene, Christophe Jelger, Christian Tschudin, Stefan Schmid, Ariane Keller, Martin May, The Autonomic Network Architecture (ANA), In IEEE JSAC special issue on Recent Advances in Autonomic Communications, January 2010.

• Ariane Keller, Theus Hossmann, Martin May, Ghazi Bouabene, Christophe Jelger, and Christian Tschudin, A System Architecture for Evolving Protocol Stacks, in Proceedings of the 17th Int. Conference on Computer Communications and Networks (ICCCN'08), August 2008, St. Thomas, USA.

• Deliverable D1.12Final ANA Blueprint: version 2.1

• Deliverable D1.13Final public release of ANA Core software

74

Page 72: The  ANA  Project

Final status 2010

75

Phy/MAC Layer

Functionalcomposition

TCP

ANA coreMinimum InfrastructureMaximum ExtensibilityDispatching Table

Application Layer

UDP

SAFT

TURF

IP

Pub/SubIMF

Mobilityprediction

Servicediscovery

Serviceplacement

capture

Virt. Coord

Remediation

IPv2

ANA BrowserANA Browser v2

CCR

NFSR

FBR

ISS

MCIS

FDE

Page 73: The  ANA  Project
Page 74: The  ANA  Project

Assessment 2:NetArch = a sluggish monster?

• Look at Nimrod as an example of failed arch thinking

NetArch = sum of concepts code framework actual algorithms (service discovery, routing,

directories, device drivers, monitoring etc) management logic and knobs for humans deployment vector (think BSD) „rat hole“ to sneak into existing solutions ...

77

Page 75: The  ANA  Project

Assessment 3:Battle for the brains

First ANA blueprint was not easy to obtain: Fierce battles on „the right view“

This continues when spreading the word

• „not invented here“

• inertia of old thinking/habits („I want my addresses back“)

78

Page 76: The  ANA  Project

Extending the reach of ANA

• By porting of the framework on multiple mobile platforms / devices Linux Open Embedded / Nokia N810

Symbian / N95

MacOS / iPhone

ana

79

Page 77: The  ANA  Project

• Implementation in the Linux kernel

• Linux kernel network stack replaced by flexible protocol graph

• BSD socket interface and device drivers are retained

• Configuration via user space tool

Software Architecture

80

Page 78: The  ANA  Project

Publish Subscribe SystemApplications / Use Cases

[email protected]

Page 79: The  ANA  Project

Extending the reach of ANA

• By developing mobile applications with E.g., ANA API for opportunistic networks Content dissemination Social networking Flea Market Round games

82

Page 80: The  ANA  Project

Extending the reach of ANA

• PodNet ANA port Opportunistic content exchange

SAFT: reuse link-to-link bricks

Peer Manager: keep track of peers

Synchronization: keep track of peer status

Transfer: trigger data exchange

Security/Trust: spam avoidance

Application Layer

Data Link Layer

Peer Manager

FBTransfer

FB

WLAN – 802.11 Bluetooth

SynchronizationFB

ContentApp/GUI

SAFTFBs

83

Page 81: The  ANA  Project

ana

ANA and OneLab2 (EU FP7)

• PLE/SAC Gateway Extends PlanetLab nodes to support SAC clouds based on

Future Internet network paradigms

Autonomic Networks (EU FP6 ANA)

Opportunistic (Pocket switched networks – EU FP6 Haggle)

Delay-tolerant (DTNRG)

Planet Lab node

PlanetLab/SAC

GatewayPlanetLab/SAC

Cloud

Internet Internet

84

Page 82: The  ANA  Project

85

OneLab2 – ANA testbed opportunities?

Internet

PlanetLab

Robot Testbed• Controlled mobility

Vehicular Testbed• Uncontrolled mobility

Office Testbed • Uncontrolled mobility

Campus Testbed• Uncontrolled mobility

Sport event Testbed• Semi-controlled mobility

PlanetLab node

PlanetLab/SAC

Gateway