Haggle: Seamless Networking for Mobile Applications - PowerPoint PPT Presentation

1 / 55
About This Presentation
Title:

Haggle: Seamless Networking for Mobile Applications

Description:

... apps for ... Apps are designed to assume specific networking modes and availability ... system makes it hard for apps to fill disk with 'predictive' ... – PowerPoint PPT presentation

Number of Views:190
Avg rating:3.0/5.0
Slides: 56
Provided by: Universit149
Category:

less

Transcript and Presenter's Notes

Title: Haggle: Seamless Networking for Mobile Applications


1
HaggleSeamless Networking for Mobile
Applications
  • Jing Su
  • University of Toronto (interned at Intel
    Research Cambridge)
  • James Scott
  • Microsoft Research Cambridge
  • (previously Intel Research Cambridge)

2
HaggleSeamless Networking for Mobile
Applications
  • Eben Upton, Meng How Lim (Intel Research
    Cambridge)
  • Ashvin Goel, Eyal De Lara (U. of Toronto)
  • Jon Crowcroft, Pan Hui (Cambridge University)
  • Christophe Diot (Thomson)
  • In collaboration with others from the EU-funded
    project

3
Scenario
- cellular?
  • Not available
  • Slow
  • Expensive!

4
Scenario
- hotspot?
  • Not available
  • Congested
  • Non-open
  • Non-free

Cellular
grrrr
zzz
5
Scenario
- Ad hoc?
Ad hoc P2P
AccessPoint
Cellular
grrrr
zzz
ZZZ
6
Scenario
- Just use USB key
P2P
AccessPoint
Cellular
_at_!
grrrr
zzz ZZZ
  • Email context lost

7
Why doesnt P2P email work?
  • Email clients tied to Internet services
  • Needs DNS to look up MX record
  • DNS, who is the mail server for work.com?
  • Without Internet, email doesnt work

To alice_at_work.com
8
Observation
  • Mobile networking experience is poor
  • Manual configuration of device and interfaces
  • Different apps for different configs
  • Apps cannot react to or take advantage of rich
    mobile environments
  • The mobile hardware works
  • Need systems software solution

9
Solution
  • Separate applications from underlying networking
    concerns
  • Applications focus on their logic
  • New node architecture manages network
  • Late-bind network resources based on
    capabilities, context, and preferences
  • Provide integrated resource management

10
Approach
  • Separating networking from applications

11
Whats in an App?
Application Logic
Metadata
Data
Protocol(s)
Network Code
12
Whats in an App?
Email client
Messages, attachments, folders, tags, flags, etc
Application Logic
Metadata
Data
POP/SMTP
Protocol(s)
Mail Files
TCP/IP
Network Code
13
Externalize Data and Networking
Email Protocol
Wifi Network Code
Metadata
ApplicationLogic
HTTP Protocol
Data
Bluetooth Network Code
P2P Protocol
Data and Meta-Data Storage
Protocols
Network Interfaces
14
Support Mobile Networking
  • Separate networking from application to enable
    seamless mobile networking
  • What are mobile networking environments?
  • Infrastructure
  • Ad hoc
  • Delay Tolerant / Pocket Switched Networks
  • Haggle targets all environments

15
The Mobile Networking User
Infrastructure
16
Haggle Architecture
  • Data-centric app API
  • Free from net complexity
  • Seamless mobile networking
  • Late binding
  • Integrated resource management

17
Haggle Architecture
  • Late Binding
  • Integrated Resource Management

18
Late Binding Send
Metadata
19
Late Binding Receive
20
Haggle Architecture
  • Late Binding
  • Integrated Resource Management

21
Resource Management
  • Actions are delegated to Haggle as a Task
  • Must consider Benefit and Cost of action
  • Can change moment by moment
  • Benefit e.g. priorities and preferences
  • Cost e.g. energy, time, money
  • Resource manager does cost/benefit comparison
    using some utility function

22
Implications of using Tasks
  • Network architecture balances how and when
    network resources are best used
  • Easily enable new application behavior
  • Optional network tasks
  • Predictive downloads
  • High/Low priority operations
  • Hoarding

23
Implementation Status
  • Implemented in Java J2ME for XP, Linux, Windows
    Mobile
  • Ported to C .NET (runs better on Windows
    Mobile)
  • Code at http//haggle.cvs.sourceforge.net/ (GPL)
  • Prototype Apps Messaging, Web

24
Haggle Applications (email)
25
Haggle Applications (web)
GetNews
26
Email Results
27
Web Results
28
Conclusions
  • Haggle is a stab at a clean-slate redesign of the
    network architecture for mobile nodes
  • Take networking out of the application
  • Seamless mobile experience for user
  • If data could get there or be found there, Haggle
    enables it
  • One application for one user level task

29
The End!
  • http//www.haggleproject.org/
  • jingsu_at_cs.toronto.edu
  • http//www.cs.toronto.edu/jingsu/
  • jws_at_microsoft.com
  • http//research.microsoft.com/jws/
  • Thanks for listening ?
  • Any questions?

30
Extra slides
31
Aside on security etc
  • Security was left out for version 1 in this
    4-year EU project, but threats were considered
  • Data security can reuse existing solutions of
    authentication/encryption
  • Some new threats to privacy
  • Neighbourhood visibility means trackability

32
Future Work Ideasresource-aware media sharing
  • Haggle can do predictive application data store,
    evict it if more important data comes along
  • Keep your photo albums in empty laptop space
  • Keep public media in TiVo-like fashion
  • Haggle makes forwarding decisions with knowledge
    of resource consumption and application
    priorities
  • Doesnt ship holiday snaps over GPRS from
    Australia
  • Haggle can share data with neighbours,
    facilitating use of free fast local connectivity
    wherever possible

33
Phase transitions and networks
  • Solid networks wired, or fixed wireless mesh
  • Long lived end-to-end routes
  • Liquid networks Mobile Ad-Hoc Networking (MANET)
  • Short lived end-to-gateway routes
  • Gaseous networks Delay Tolerant Networking
    (DTN), Pocket Switched Networking (PSN)
  • No routes at all!
  • Opportunistic, store and forward networking
  • One way paths, asymmetry, node mobility carries
    data
  • Haggle targets all three
  • Data may move across all three to get end-to-end
  • Nodes change phase at any time an integrated
    solution is needed to handle transitions
    transparently

34
Problem Scenario Messaging
  • Bob wants to send a message to Alice
  • Obvious choice email!
  • No hotspot
  • High cellular costs
  • Current solutions require manual labor
  • Reconfigure ad hoc connectivity
  • Use USB key
  • Current solutions are incomplete.Dont preserve
    context

35
Problem Scenario Searching
  • Want some info while at a conference
  • Local food information
  • Todays news headlines
  • Cellular or hotspot might be unavailable,
    congested, or expensive
  • Chances are, others around have info
  • But we cant get at, let alone share, this data

36
Underlying Problem
  • Applications must specify networking details
  • Bind connection addresses, protocols, interfaces
  • Dynamic binding is hard
  • Apps are designed to assume specific networking
    modes and availability of specific services.
  • Resource usage coordination hard
  • Leave it to manual user intervention/selection
  • Data context is hidden in app logic

37
Solution
  • Free apps from networking responsibility
  • Focus on processing, procuring, and disseminating
    data
  • Expose meta-data and relations
  • Search across apps and nodes
  • Node architecture contains network logic
  • Binding decisions, resource management
  • Apps function dynamically in mobile environments

38
Externalize Naming, Routing, and Resource
Management
  • Haggle targets all networking types
  • Well connected infrastructure
  • Mobile ad hoc networks
  • Delay tolerant / pocket switched network
  • Naming changes across different networks
  • Underlying forwarding assumptions change
  • Automatically manage device use of communication
    due to power, priority, and cost.

39
Externalize Data and Networking
Email Protocol
Wifi Network Code
Metadata
Application Logic
HTTP Protocol
Data
Bluetooth Network Code
P2P Protocol
  • Application can procure or disseminate data
    through any combination of protocols and networks

40
Data Object
  • Basic building block of Haggle
  • Contains a set of type/value attribute pairs

41
Data Object Filters
42
Forwarding Objects
43
Data Object Filters are Powerful Mechanisms
44
Forwarding Objects
Forward
  • Full structure is sent, empowering intermediary
    nodes to
  • Use data as they see fit
  • Use up-to-date state to make best forwarding
    decision

Data
Data
Data
Data
Name
Name
Name
Name
45
NeighbourDiscovery
Applications (messaging, web, etc)
Haggle Application Interface
Protocol
Resource
Data
Name
Connectivity
  • Connectivities have responsibility for neighbour
    discovery
  • Protocols use neighbours to mark NOs nearby
  • Resource management controls frequency of
    neighbour discovery

Forwarding
1. Set task
2. Execute
5. Insert new names
4. Neighbour list
3 Discovery
Connectivities (WiFi, BT, GPRS, etc)
46
SendingData
Applications (messaging, web, etc)
3. Call send
1. Insert data
2. Insert names
Haggle Application Interface
Protocol
Resource
Data
Name
Connectivity
5. Set task send via X
  • API for send split into three (sets of) calls
  • FO can be sent to many nodes using many protocols
  • Asynchronous
  • Benefits of send change with time and context

4. Decide next hop X
6. Execute (when worth it)
Forwarding
8. Get encode data
7. Send!
10. Connect transmit
9. Raw data
Connectivities (WiFi, BT, GPRS, etc)
47
ReceivingData
Applications (messaging, web, etc)
7. Notify interested apps
Haggle Application Interface
8. Mine names
Protocol
Resource
Data
Name
Connectivity
  • Incoming data is still processed using tasks
  • Eventually inserted into Data Manager
  • Apps listen by registering interests (DOFilters)

5. Incoming data
6. Insert data objects
Forwarding
2. Incoming connection
1. Bind to networks
4. Query resource use
3. Connection
Connectivities (WiFi, BT, GPRS, etc)
48
Email App Legacy Support
From bob_at_foo.comTo alice_at_bar.org... email ...
w/ attach
Localhost SMTP/POP proxyNative Haggle App
ForwardingObject
DataObject
NameObject
Haggle API
49
Email App Legacy Support
50
Web App Legacy Support
HTTP 1.1slashdot.org
GET slashdot.org
DataObject
Look for URL in Cache
Localhost HTTP proxyNative Haggle App
ForwardingObject
Found?
Haggle API
FilterObject
51
Web App Legacy Support
Web client
Object request
http
Haggle
Haggle
Internal object cache
Internet
http
http
Web server
52
Example msg fwd object
Forwarding
Alice
message/rfc822 ... email...
alice_at_foo.org
Cell Phone
application/pdf ... pdf document
000123456789
53
Future work ideaResource-aware media sharing
  • Devices could do a lot of media sharing
    proactively
  • Predictive content download
  • Auto backup/hoarding of multiple caches of
    content(e.g. photos, media)
  • Sharing media with friends/family/public
  • But resource management is crucial
  • Contrast laptop in docking station to laptop on
    plane
  • Proactive tasks can exhaust battery life easily
  • Dont send holiday snaps over GPRS from Australia
  • Current architecture does not suffice
  • IP stack is difficult to configure with user
    priorities (e.g. when should smart phone use GPRS
    and when WiFi?)
  • Opportunistic neighbourhood connectivity
    unutilised
  • Current file system makes it hard for apps to
    fill disk with predictive content

54
Email Results
I don't show no haggle adhoc, because it
obviously won't work.
55
Web Results
I don't show no haggle P2P, because it
obviously won't work.
Write a Comment
User Comments (0)
About PowerShow.com