towards a federated object sharing protocol felix maurer ... · wikipedia 4% top 25 ... distributed...

Post on 08-Jul-2020

4 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

FORSCHUNGSGRUPPE DEZENTRALE SYSTEME UND NETZDIENSTE

FOSPTowards a Federated Object Sharing Protocol that Unifies Operations on Social Content

Felix Maurer | June 16, 2014

KIT – University of the State of Baden-Wuerttemberg and

National Laboratory of the Helmholtz Association

www.kit.edu

Outline

1 Introduction

2 Analysis

3 Related work

4 Federated Object SharingProtocol

5 Implementation

6 Discussion

7 Conclusion

Introduction Analysis Related work Federated Object Sharing Protocol Implementation Discussion Conclusion

Felix Maurer – Federated Object Sharing Protocol June 16, 2014 2/19

Motivation

Nowadays, online socialnetworks (OSNs) makeup a large part of theWorld Wide Web(WWW) 1.

HTTP was designed forthe early WWW.

Functionalities for socialnetworks areimplemented as HTTPAPIs.

Social networks32%

Portals28%

Search engines24%

E-commerce12%

Wikipedia4%

Top 25

1http://www.alexa.com/topsitesIntroduction Analysis Related work Federated Object Sharing Protocol Implementation Discussion Conclusion

Felix Maurer – Federated Object Sharing Protocol June 16, 2014 3/19

Problem Statement

“Existing social networkingservices are centralized andthe companies providing theservices have the sole authorityto control all the data of theusers. It is not a trivial taskfor a user to reuse his owndata, including his socialnetwork, messages with friendsand photos among otherapplications, as there are notmany robust mechanisms toport all the data from oneplatform to another.” [11]

Figure: by Simonds David, The Economist 19March 2008

Introduction Analysis Related work Federated Object Sharing Protocol Implementation Discussion Conclusion

Felix Maurer – Federated Object Sharing Protocol June 16, 2014 4/19

Goal

Extract common functionalities of OSNs and define protocol or API ...

that supports common functionalities

allows global federation of multiple networks

is simple and deployable

Enable the creation of softwarethat forms a federated social network.

Introduction Analysis Related work Federated Object Sharing Protocol Implementation Discussion Conclusion

Felix Maurer – Federated Object Sharing Protocol June 16, 2014 5/19

Analysis: Common Scenarios

Use cases we want to support and are commonly found in existing OSNs.

Sharing Sharing message, pictures, videos, documents, etc.

Commenting on existing content.

Subscribing to a stream of content and receiving notifications.

Profiles Sharing information about a person.

Private messaging Sending a message to a single person.

Federation Sharing content with people of other networks.

Introduction Analysis Related work Federated Object Sharing Protocol Implementation Discussion Conclusion

Felix Maurer – Federated Object Sharing Protocol June 16, 2014 6/19

Requirements Engineering

ContentSharing

AccessControl

PublishSubscribe

DuplexConnection

Meta-data

Authenti-cation

Federation

GlobalNamespace

GlobalIdentifi-cation

Introduction Analysis Related work Federated Object Sharing Protocol Implementation Discussion Conclusion

Felix Maurer – Federated Object Sharing Protocol June 16, 2014 7/19

Related work: Existing Protocols

Data-storage

Accesscontrol

PublishSubscribe Federation

HTTP/-WebDAV/-HTTP2.0: [5,

3, 2]

X X 7 –

NFS and Glamor:[7]

X X 7 7

XMPP: [8] 7 – X X

Wave: [10] – – X X

Introduction Analysis Related work Federated Object Sharing Protocol Implementation Discussion Conclusion

Felix Maurer – Federated Object Sharing Protocol June 16, 2014 8/19

Projects

Diaspora2 Buddycloud3

Architecture Federated Federated

Protocols HTTP (Salmon, Webfinger) HTTP, XMPP

Content Posts, Comments, Pictures,extensible

Posts, Pictures, Files, ex-tensible

Format ActivityStreams JSON/XML

Limitations Lacking documentation→ unclear

Coarse access control

→ Complex interaction of multiple protocols

→ Prioritize working software

2https://diasporafoundation.org/3https://buddycloud.org/wiki/Main Page

Introduction Analysis Related work Federated Object Sharing Protocol Implementation Discussion Conclusion

Felix Maurer – Federated Object Sharing Protocol June 16, 2014 9/19

Scientific Work

Distributed SemanticSocial Network: [9]

X Global content sharing, federation

7 Access control notdescribed/defined, no push to theclient.

Distributed Platform forMultimedia Communities: [6]

X Decentralized content sharing, userto user communication

7 Complex P2P architecture,cryptography for access control

SODESSON: [1]

X Decentralized content sharing (P2P)

7 Focus on providing services directlyfrom (mobile) devices→ difficult to deploy.

Safebook: [4]

X Content Sharing (P2P)

7 Publish subscribe

7 Requires additional trustedidentification service (TIS).

Introduction Analysis Related work Federated Object Sharing Protocol Implementation Discussion Conclusion

Felix Maurer – Federated Object Sharing Protocol June 16, 2014 10/19

FOSP: Network Architecture

Federated Object Sharing Protocol

wonderland.lit

alice@wonderland.lit hatter@wonderland.lit

queen@wonderland.lit

realworld.lit

sister@realworld.lit mother@realworld.lit

Introduction Analysis Related work Federated Object Sharing Protocol Implementation Discussion Conclusion

Felix Maurer – Federated Object Sharing Protocol June 16, 2014 11/19

FOSP: Data Structures

alice@wonderland.lit

config

groups buddies

social

me

avatar

010100100100110101010101001010011011001010100101001010010010011010101010100101001101100101010010100101001001001101010101010010100110110010101001010010101111110101001001111010101001101010101101101010100100001010101111010101010101101001010101010100100100110101010101001010011011001010100101001010010010011010101010100101001101100101010010100101001001001101010101010010100110110010101001010010100100100110101010101001010011011001010100101001010111111010100100111101010100110101010110110101010010000101010111101010101010110100101010101010010010011010101010100101001101100101010010100101001001001101010101010010100110110010101001010010100100100110101010101001010011011001010100101001010010010011010101010100101001101100101010010100101011111101010010011110101010011010101011011010101001000010101011110101010101011010010101010101001001001101010101010010100110110010101001010010100100100110101010101001010011011001010100101001010010010011010101010100101001101100101010010100101001001001101010101010010100110110010101001010010101111110101001001111010101001101010101101101010100100001010101111010101010101101001010101010100100100110101

{ btime: "2007-03-01T13:00:00Z", mtime: "2008-05-11T15:30:00Z", owner: "alice@wonderland.lit", acl: { owner: [ "read-data", "write-data", "read-acl", "write-acl"], users: { ... }, others: [ "read-data", "read-attachment" ] }, subscriptions: { users: { alice@wonderland.lit: { events: [ "created", "updated" ], depth: 1 } } }, attachment: { type: "image/jpeg", name: "avatar.jpeg", size: 112879 }, type: "text/plain", data: "A picture of me"}

Object + Attachment Tree

Introduction Analysis Related work Federated Object Sharing Protocol Implementation Discussion Conclusion

Felix Maurer – Federated Object Sharing Protocol June 16, 2014 12/19

Messages

Request,Response orNotification

Headers andbody

UTF-8 text andbinary

Sent overWebSockets

Introduction Analysis Related work Federated Object Sharing Protocol Implementation Discussion Conclusion

Felix Maurer – Federated Object Sharing Protocol June 16, 2014 13/19

Policies

Define how the content of objects is interpreted“acl” field contains access control lists and is read by the server toenforce access control.“subscriptions” field contains publish-subscribe configurations and isread by the server to notify users about changes....

Also restrict how messages should be forwardedA server must only forward requests of users that belong to its domain.A server must never forward notifications for resources that do notbelong to the domain of the sending server....

Introduction Analysis Related work Federated Object Sharing Protocol Implementation Discussion Conclusion

Felix Maurer – Federated Object Sharing Protocol June 16, 2014 14/19

Implementation: Server

Prototype Work in progress

Language JavaScript (Node.js) Go

Database RethinkDB Postgresql

Concurrency single threaded multi threading possible

can share code withbrowser clients, doesn’tscale with number of con-current users, databaseis slow for updates

faster, allowsmulti threading

Introduction Analysis Related work Federated Object Sharing Protocol Implementation Discussion Conclusion

Felix Maurer – Federated Object Sharing Protocol June 16, 2014 15/19

Browser Client and CLI Client

PrototypesCommand Line Interface (CLI) client for testingBrowser client as single page JavaScript applicationReuses core modules of the server and the CLIExposes the tree structure of FOSP and allows basic manipulation

Clients in developmentGo CLI client, similar to the JavaScript CLI cient“Coeo”, a single page JavaScript application that uses FOSP toprovide OSN services like profiles and posts

Introduction Analysis Related work Federated Object Sharing Protocol Implementation Discussion Conclusion

Felix Maurer – Federated Object Sharing Protocol June 16, 2014 16/19

Discussion: Performance Evaluation

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

0 100 200 300 400 500 600 700 800

Resp

onse

tim

e in m

sNotifications sent

Prototype

Shortresponse time for single,consecutive request

Response timesgrows when sendinglots of notificationsor processingmultiple requests

Databasedid not perform well

Work in progress

First tests produce better results

Not yet as extensively tested

Introduction Analysis Related work Federated Object Sharing Protocol Implementation Discussion Conclusion

Felix Maurer – Federated Object Sharing Protocol June 16, 2014 17/19

Scenario and Requirements Evaluation

Described scenarios can beimplemented.

X Sharing

X Commenting

X Subscribing

X Profiles

X Private messaging

X Federation

Requirements are fulfilled.

X Federation

X Content Sharing

X Access Control

X Publish Subscribe

Introduction Analysis Related work Federated Object Sharing Protocol Implementation Discussion Conclusion

Felix Maurer – Federated Object Sharing Protocol June 16, 2014 18/19

ConclusionFOSP

allows federated storing of data and supports access control andpublish-subscribe.

enables compatible OSN server and clients.

→ no more walled gardens!

Limitations

Server to server authentication is difficult

Users have to trust providers

Future work

Content encryption

Versioning

Locking

Introduction Analysis Related work Federated Object Sharing Protocol Implementation Discussion Conclusion

Felix Maurer – Federated Object Sharing Protocol June 16, 2014 19/19

References I

I. Baumgart and F. Hartmann. “User-centric networking powered bySODESSON”. In: PIK - Praxis der Informationsverarbeitung undKommunikation 36.2 (May 2013), pp. 147–148. ISSN: 0930-5157.

M. Belshe et al. Hypertext Transfer Protocol version 2.0. HTTPbisWorking Group, Aug. 2013. URL: http://tools.ietf.org/html/draft-ietf-httpbis-http2-06.

G. Clemm et al. Web Distributed Authoring and Versioning(WebDAV) Access Control Protocol. RFC 3744 (ProposedStandard). Internet Engineering Task Force, May 2004. URL:http://www.ietf.org/rfc/rfc3744.txt.

References

Felix Maurer – Federated Object Sharing Protocol June 16, 2014 20/19

References II

L.A. Cutillo, R. Molva, and T. Strufe. “Safebook: Aprivacy-preserving online social network leveraging on real-lifetrust”. In: Communications Magazine, IEEE 47.12 (2009),pp. 94–101. ISSN: 0163-6804. DOI:10.1109/MCOM.2009.5350374.

R. Fielding et al. Hypertext Transfer Protocol – HTTP/1.1. RFC2616 (Draft Standard). Updated by RFCs 2817, 5785, 6266, 6585.Internet Engineering Task Force, June 1999. URL:http://www.ietf.org/rfc/rfc2616.txt.

K. Graffi et al. “A Distributed Platform for Multimedia Communities”.In: Multimedia, 2008. ISM 2008. Tenth IEEE InternationalSymposium on. 2008, pp. 208–213. DOI: 10.1109/ISM.2008.11.

References

Felix Maurer – Federated Object Sharing Protocol June 16, 2014 21/19

References IIIU. Lanjewar, M. Naik, and R. Tewari. “Glamor: An architecture forfile system federation”. In: IBM Journal of Research andDevelopment 52.4.5 (2008), pp. 329–339. ISSN: 0018-8646. DOI:10.1147/rd.524.0329.

P. Saint-Andre. Extensible Messaging and Presence Protocol(XMPP): Core. RFC 6120 (Proposed Standard). InternetEngineering Task Force, Mar. 2011. URL:http://www.ietf.org/rfc/rfc6120.txt.

Sebastian Tramp et al. “An Architecture of a Distributed SemanticSocial Network”. In: Semantic Web 5.2 (2014). to appear. ISSN:1570-0844.

T. Weis and A. Wacker. “Federating Websites with the Google WaveProtocol”. In: Internet Computing, IEEE 15.3 (2011), pp. 51–58.ISSN: 1089-7801. DOI: 10.1109/MIC.2011.28.

References

Felix Maurer – Federated Object Sharing Protocol June 16, 2014 22/19

References IV

Ching-man Au Yeung et al. “Decentralization: The future of onlinesocial networking”. In: 2 (2009).

References

Felix Maurer – Federated Object Sharing Protocol June 16, 2014 23/19

0

50

100

150

200

0 60 120 180 240 300 360

Resp

onse

tim

e in m

s

Time in minutes

SELECTCREATEUPDATEDELETE

References

Felix Maurer – Federated Object Sharing Protocol June 16, 2014 24/19

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

0 100 200 300 400 500 600 700 800

Resp

onse

tim

e in m

s

Notifications sent

References

Felix Maurer – Federated Object Sharing Protocol June 16, 2014 25/19

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

0 100 200 300 400 500 600 700 800

Resp

onse

tim

e in m

s

Notifications sent

References

Felix Maurer – Federated Object Sharing Protocol June 16, 2014 26/19

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

0 100 200 300 400 500 600 700 800

Run t

ime o

f D

B u

pdate

in m

s

Notifications sent

References

Felix Maurer – Federated Object Sharing Protocol June 16, 2014 27/19

top related