Footloose: A Case for Physical Footloose: A Case for Physical - - PowerPoint PPT Presentation

footloose a case for physical footloose a case for
SMART_READER_LITE
LIVE PREVIEW

Footloose: A Case for Physical Footloose: A Case for Physical - - PowerPoint PPT Presentation

Footloose: A Case for Physical Footloose: A Case for Physical Eventual Consistency and Eventual Consistency and Selective Conflict Resolution Selective Conflict Resolution Justin Mazzola Mazzola Paluska Paluska Justin David Saff Saff, Tom


slide-1
SLIDE 1

Footloose: A Case for Physical Footloose: A Case for Physical Eventual Consistency and Eventual Consistency and Selective Conflict Resolution Selective Conflict Resolution

Justin Justin Mazzola Mazzola Paluska Paluska David David Saff Saff, Tom , Tom Yeh Yeh, Kathryn Chen , Kathryn Chen MIT CSAIL MIT CSAIL

slide-2
SLIDE 2

Today’s Situation Today’s Situation

  • Data is scattered throughout devices:

Data is scattered throughout devices:

  • All of my phone numbers on my cell phone

All of my phone numbers on my cell phone

  • Some other contact information on my PDA

Some other contact information on my PDA

  • Still more on my laptop

Still more on my laptop

  • But no way to manage data

But no way to manage data

slide-3
SLIDE 3

Device Characteristics Device Characteristics

  • A single primary user

A single primary user

  • Some memory

Some memory

  • A wireless communications medium

A wireless communications medium

  • Shared contexts

Shared contexts

  • What can we do with these

What can we do with these resources? resources?

slide-4
SLIDE 4

Automatic Management Automatic Management

J=867-5309 J=867-5309 J=867-5309 J=867-5309 J=867-5309 J=867-5309

slide-5
SLIDE 5

Effective Use of Communication Effective Use of Communication Pathways Pathways

X

slide-6
SLIDE 6

Formal Requirements Formal Requirements

  • Distribution of heterogeneous data for

Distribution of heterogeneous data for increased availability increased availability

  • Optimistic writes on all devices with

Optimistic writes on all devices with application application-

  • level conflict resolution

level conflict resolution

  • Automatic management of replicas

Automatic management of replicas

  • On whatever network is available

On whatever network is available

slide-7
SLIDE 7

New Assumptions New Assumptions

  • Mostly disconnected operation on non

Mostly disconnected operation on non-

  • Internet networks

Internet networks

  • Applications may run on devices that may

Applications may run on devices that may never directly talk never directly talk

  • Devices only understand and can resolve

Devices only understand and can resolve conflicts for a few data types conflicts for a few data types

  • Devices have finite storage capabilities

Devices have finite storage capabilities

slide-8
SLIDE 8

New Solutions New Solutions

  • Physical Eventual Consistency

Physical Eventual Consistency

  • Use a pervasive device’s location to enhance

Use a pervasive device’s location to enhance consistency consistency

  • Selective Conflict Resolution

Selective Conflict Resolution

slide-9
SLIDE 9

Physical Eventual Consistency Physical Eventual Consistency

slide-10
SLIDE 10

Physical Eventual Consistency Physical Eventual Consistency

  • Weak eventual consistency

Weak eventual consistency

  • “Sneaker net” approach to data transfer

“Sneaker net” approach to data transfer

  • The device with the most updates should

The device with the most updates should be closest to the user. be closest to the user.

slide-11
SLIDE 11

Selective Conflict Resolution Selective Conflict Resolution

  • Two classifications:

Two classifications:

  • Smart

Smart – – can resolve conflicts can resolve conflicts

  • Dumb

Dumb – – cannot resolve conflicts cannot resolve conflicts

  • All devices can move all data

All devices can move all data

  • Separate conflict transfer from

Separate conflict transfer from conflict resolution conflict resolution

slide-12
SLIDE 12

Footloose Footloose

  • Shared data store for pervasive

Shared data store for pervasive applications applications

  • Guarantees “no lost updates”

Guarantees “no lost updates”

  • Automatic management and routing of shared

Automatic management and routing of shared data. data.

  • Application

Application-

  • level device

level device-

  • distributed conflict

distributed conflict resolution resolution

slide-13
SLIDE 13

Footloose Architecture Footloose Architecture

Footloose Store

Application interface and storage facility.

Footloose Protocol Daemon

Device interface and consistency maintainer. Any possible network connection

FPD User Application FLS User Application

Register types that will be stored and shared.

slide-14
SLIDE 14

FPD Application

The Footloose Store The Footloose Store

  • Mutable mapping for

Mutable mapping for applications applications

  • Data is named by a

Data is named by a RecordID RecordID and maps to a and maps to a set of set of UpdateEvents UpdateEvents

  • Only valid

Only valid UpdateEvents UpdateEvents get returned to apps. get returned to apps.

  • Applications must make

Applications must make updates not writes. updates not writes.

  • The FLS stores only

The FLS stores only UpdateEvents UpdateEvents

  • List of

List of UpdateEvents UpdateEvents for for the FPD the FPD

RecordID, UpdateEvent {UpdateEvent} {UpdateEvent, StatusVector} {UpdateEvent, StatusVector}

E a s y c

  • n

f l i c t d e t e c t i

  • n

! T r a n s p a r e n t T r a n s p

  • r

t

  • f

C

  • n

f l i c t s !

slide-15
SLIDE 15

Enabling Automatic Management Enabling Automatic Management

J = {NULLUE1: 555-1000} J = {NULLUE1: 555-1000, UE1UE2: 867-5309} NULLUE1: 555-1000, UE1UE2: 867-5309 J = {NULLUE1: 555-1000} J = {NULLUE1: 555-1000, UE1UE2: 867-5309} NULLUE1: 555-1000, UE1UE2: 867-5309 J = {NULLUE1: 555-1000} J = {NULLUE1: 555-1000, UE1UE2: 867-5309}

slide-16
SLIDE 16

The Footloose Protocol Daemon The Footloose Protocol Daemon

  • Maintains “shared

Maintains “shared knowledge” knowledge”

  • StatusVectors

StatusVectors indicating indicating this this FPD’s FPD’s knowledge about knowledge about an an UpdateEvent UpdateEvent on all

  • n all

devices devices

  • Device interests

Device interests

  • Manages Device

Manages Device Communication Communication

  • Data routes

Data routes

FPD {UpdateEvent, StatusVector} {UpdateEvent, StatusVector} Foreign FPD {UpdateEvent, StatusVector}, {Device Interests}

P h y s i c a l R

  • u

t i n g G a r b a g e C

  • l

l e c t i

  • n

& P u r g i n g

slide-17
SLIDE 17

Effective Use of Communication Effective Use of Communication Pathways Pathways

cell: Interest in = {laptop, work-comp} {} work-comp: Interest in = {laptop, work-comp} {NULLUE1: , …} cell: Interest in = {laptop, work-comp} {NULLUE1: } laptop: Interest in = {laptop, work-comp} {...} laptop: Interest in = {laptop, work-comp} {NULLUE1: , …}

slide-18
SLIDE 18

Implementation Implementation

  • FLS and FPD built in Java

FLS and FPD built in Java

  • Two applications:

Two applications:

  • Wishlist

Wishlist Application Application

  • Phone Number Database

Phone Number Database

  • 25 lines of Footloose

25 lines of Footloose-

  • dependent code

dependent code

  • Simulation Framework

Simulation Framework

slide-19
SLIDE 19

Evaluation Evaluation

2 3 4 5 6 7 8 1000 2000 3000 4000 5000 6000 7000 8000 9000 Number of Updates Number of Devices Clique Line Star Tree Ring

slide-20
SLIDE 20

Evaluation Evaluation

50 60 70 80 90 100 5 10 15 20 25 30 35 40 45 Buffer Size # of Syncs 3 devices 4 devices 5 devices

slide-21
SLIDE 21

Design Evaluation and Future Work Design Evaluation and Future Work

  • Need better support for complex

Need better support for complex “directory “directory-

  • like” types

like” types

  • Support for large updates

Support for large updates

  • Variable Number of Devices

Variable Number of Devices

  • Security Framework

Security Framework

  • User Study

User Study

slide-22
SLIDE 22

Further Information Further Information

Justin Justin Mazzola Mazzola Paluska Paluska jmp@mit.edu jmp@mit.edu http:// http://web.mit.edu/jmp/www web.mit.edu/jmp/www/ /