monica lam stanford university with dan boneh, ruven chu, ben dodson, bobby georgescu, sudheendra...

Post on 14-Jan-2016

219 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Monica LamStanford University

with Dan Boneh, Ruven Chu, Ben Dodson, Bobby Georgescu, Sudheendra Hangal, Te-Yuan Huang, Diana MacLean, Chanh Nguyen, Debangsu Sengupta, Jiwon Seo, Seok-Won Seong, Chinmay Soman,Steven Soneff, Seng Keat Teh, Ian Vo

Datalog for Decentralized Social Networking

Part of POMI (Programmable Open Mobile Internet 2020), an NSF Expedition

Outline

• Why decentralized social networking?• Overall architecture• Datalog• Access control

Trends in Social Networking

The Omniscient Monopoly

Sooner Than You Think

It’s the Technologists’ Fault

There is no easy alternative to share!

Big-Brother Portals

FlickerPortal

EmailPortal

WebBrowser

FacebookPortal

PokerPortal

WebBrowser

WebBrowser

Loss of independence / CompetitionScalability

Data privacyData silos

Big-Brother Portals

FlickerPortal

EmailPortal

WebBrowser

FacebookPortal

PokerPortal

WebBrowser

WebBrowser

Approach

• Decentralized architecture• Scalability, independence, privacy• Much more powerful than centralized

• Open API for collaboration

Data is What’s Important

Personal Cloud Butler: Mediates access to personal dataManages a semantic index pointing to data hosted anywhereThe index can’t be encrypted

My Personal Cloud

GPS TraceCredit card history

EmailPhone record

Friends’ ListCalendar

Where is the Butler?

Where data are consumed.Tera-bytes of personal data!

Person-Cloud Butlers

32 GB instantaneously.With you all the time,

Even when not connected.Private.

Better than the cloud!

Phone: Digital Identity, Wallet

• Unique password. for each website

• Login in 5 seconds

Challenge Response Authentication

Phone: Digital Personality

WeTube: Ad hoc sharing without an ASP

weBluff

. . .

Accept with a snap

Download softwareJoin activity

Start Activity Invite: QR code

408-555-5555

ACCEPT

Join my Bluff game!

Verifiably fair [Blum 82]

Concepts in Decentralization

• Phone as your digital identity• Junction: a decentralized platform for ad hoc, social applications

PrPl: Private-Public Data Infrastructure

FlickerPortal

EmailPortal

WebBrowser

FacebookPortal

Personal-Cloud Butler

Personal-Cloud ButlerPersonal-

Cloud Butler

Personal-Cloud Butler

WebBrowser

Millions of Personal Terabyte Databases Out There!

Personal-Cloud Butler

Social Multi-Database

PrPlIndex

OpenIDManager

iPhone

Data Steward API

DataManager

SociaLite: Social DB Language

MusicGPSPhotoContact

Mobile client API

Android

Friend’s Butlers

Friend’s Butlers

Friends’ Butlers

imapfacebookhome server

Basic Social Applications

• Single query personal Butler (3 Datalog rules)• Butler contacts other Butlers to return

results

Applications Enabled by PrPl

Finding data in your friends* tera-byte databases

(more)

Tag: Emma (John)

Collective photo album

Collaborative tagging

Looking up friends’ library & recommendations

Search Through Personal DBs

Fstar(p) :- Friend(p)Fstar(p) :- Fstar(x), Friend[x](p)Fstar-CurrLoc (p,l) :- Fstar(p), CurrLoc[p](l)

Datalog• Queries are naturally recursive:

including the destination• To hide details of

• Distribution• Authentication • Optimizations

Basic System

Credentials• Single-sign on: Butler presents a session ticket to other Butlers.• Tickets are issued for applications to retrieve blobs from wherever.

Extensions• Localization• User-defined functions• Aggregate functions

Optimizations

• Dynamic query: phone to butler, butler to butler• Continuous connection: real-time activities• Polling based: maintain consistency of a selected portion of the DB

• Pipelined execution: • Return and display results as they come in• Six degrees of separation• Speed is more important than completeness• Toleration of slow/offline servers

Preliminary Experimental Results(100 Butlers in EC2)

Tail Recursion Optimization

Fstar(p) :- Friend(f).Fstar(p) :- Fstar(x), Friend[x](p).

AllWeights (count<W>, sum<W>) :- Fstar(f), Weight[f](w).

• Recognize tail recursion• Visit in a depth-first search• Perform reduction in the intermediate nodes

• E.g. Top 10 songs: 12 sec vs. 100 sec. Butler

Concepts in Decentralization

• Phone as your digital identity• Junction: a decentralized platform for ad hoc, social applications• Prpl Personal Cloud Butlers

• Federated storage system• Semantic index: database + semantic file system• Datalog for distribution and optimization

Access Control

• Facebook• 45% do not have any access control• API is hard to use

• Security is as strong as the weakest link

• Inspiration: E-mail• Control access of each e-mail• Many un-named lists with nuances

Email Social Topology

@Play

@Work

Enjoying powder at Heavenly! >:-D @play

Working from home, sick @work

Friends Come and Go

Continuous update!

Phone logSMS

Filter is More Important than Access Control

Most important optimization in SociaLite!

Automatic Clustering Intelligent Search

Decentralization, Open API

• Phone as your digital identity• Junction: a decentralized platform for ad hoc, social applications• Prpl Personal Cloud Butlers

• Federated storage system• Semantic index: database + semantic file system• Datalog for distribution and optimization

• Access control• Semi-automatically and continuously mined from e-mail• Exports different friends list to web portals

top related