Datalog for Decentralized Social Networking

fatfallenleafΗλεκτρονική - Συσκευές

15 Νοε 2013 (πριν από 3 χρόνια και 9 μήνες)

102 εμφανίσεις

Monica Lam

Stanford 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

Flicker

Portal

Email

Portal

Web

Browser

Facebook

Portal

Poker

Portal

Web

Browser

Web

Browser

Loss of independence / Competition

Scalability

Data privacy

Data silos

Big
-
Brother Portals

Flicker

Portal

Email

Portal

Web

Browser

Facebook

Portal

Poker

Portal

Web

Browser

Web

Browser

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 data

Manages a semantic index pointing to data hosted anywhere

The index can’t be encrypted

My Personal Cloud

GPS Trace

Credit card history

Email

Phone record

Friends’ List

Calendar

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 software

Join 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

Flicker

Portal

Email

Portal

Web

Browser

Facebook

Portal

Personal
-
Cloud
Butler

Personal
-
Cloud
Butler

Personal
-
Cloud
Butler

Personal
-
Cloud
Butler

Web

Browser

Millions of Personal Terabyte Databases Out There!

Personal
-
Cloud Butler

Social Multi
-
Database

PrPl

Index

OpenID

Manager

iPhone

Data Steward API

Data

Manager

SociaLite
: Social DB Language

Music

GPS

Photo

Contact

Mobile client API

Android

Friend’s
Butlers

Friend’s
Butlers

Friends’

Butlers

imap

facebook

home 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 log

SMS

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