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

27
FORSCHUNGSGRUPPE DEZENTRALE SYSTEME UND NETZDIENSTE FOSP Towards 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

Upload: others

Post on 08-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Towards a Federated Object Sharing Protocol Felix Maurer ... · Wikipedia 4% Top 25 ... Distributed Semantic Social Network: [9] X Global content sharing, federation 7 Access control

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

Page 2: Towards a Federated Object Sharing Protocol Felix Maurer ... · Wikipedia 4% Top 25 ... Distributed Semantic Social Network: [9] X Global content sharing, federation 7 Access control

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

Page 3: Towards a Federated Object Sharing Protocol Felix Maurer ... · Wikipedia 4% Top 25 ... Distributed Semantic Social Network: [9] X Global content sharing, federation 7 Access control

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

Page 4: Towards a Federated Object Sharing Protocol Felix Maurer ... · Wikipedia 4% Top 25 ... Distributed Semantic Social Network: [9] X Global content sharing, federation 7 Access control

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

Page 5: Towards a Federated Object Sharing Protocol Felix Maurer ... · Wikipedia 4% Top 25 ... Distributed Semantic Social Network: [9] X Global content sharing, federation 7 Access control

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

Page 6: Towards a Federated Object Sharing Protocol Felix Maurer ... · Wikipedia 4% Top 25 ... Distributed Semantic Social Network: [9] X Global content sharing, federation 7 Access control

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

Page 7: Towards a Federated Object Sharing Protocol Felix Maurer ... · Wikipedia 4% Top 25 ... Distributed Semantic Social Network: [9] X Global content sharing, federation 7 Access control

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

Page 8: Towards a Federated Object Sharing Protocol Felix Maurer ... · Wikipedia 4% Top 25 ... Distributed Semantic Social Network: [9] X Global content sharing, federation 7 Access control

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

Page 9: Towards a Federated Object Sharing Protocol Felix Maurer ... · Wikipedia 4% Top 25 ... Distributed Semantic Social Network: [9] X Global content sharing, federation 7 Access control

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

Page 10: Towards a Federated Object Sharing Protocol Felix Maurer ... · Wikipedia 4% Top 25 ... Distributed Semantic Social Network: [9] X Global content sharing, federation 7 Access control

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

Page 11: Towards a Federated Object Sharing Protocol Felix Maurer ... · Wikipedia 4% Top 25 ... Distributed Semantic Social Network: [9] X Global content sharing, federation 7 Access control

FOSP: Network Architecture

Federated Object Sharing Protocol

wonderland.lit

[email protected] [email protected]

[email protected]

realworld.lit

[email protected] [email protected]

Introduction Analysis Related work Federated Object Sharing Protocol Implementation Discussion Conclusion

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

Page 12: Towards a Federated Object Sharing Protocol Felix Maurer ... · Wikipedia 4% Top 25 ... Distributed Semantic Social Network: [9] X Global content sharing, federation 7 Access control

FOSP: Data Structures

[email protected]

config

groups buddies

social

me

avatar

010100100100110101010101001010011011001010100101001010010010011010101010100101001101100101010010100101001001001101010101010010100110110010101001010010101111110101001001111010101001101010101101101010100100001010101111010101010101101001010101010100100100110101010101001010011011001010100101001010010010011010101010100101001101100101010010100101001001001101010101010010100110110010101001010010100100100110101010101001010011011001010100101001010111111010100100111101010100110101010110110101010010000101010111101010101010110100101010101010010010011010101010100101001101100101010010100101001001001101010101010010100110110010101001010010100100100110101010101001010011011001010100101001010010010011010101010100101001101100101010010100101011111101010010011110101010011010101011011010101001000010101011110101010101011010010101010101001001001101010101010010100110110010101001010010100100100110101010101001010011011001010100101001010010010011010101010100101001101100101010010100101001001001101010101010010100110110010101001010010101111110101001001111010101001101010101101101010100100001010101111010101010101101001010101010100100100110101

{ btime: "2007-03-01T13:00:00Z", mtime: "2008-05-11T15:30:00Z", owner: "[email protected]", acl: { owner: [ "read-data", "write-data", "read-acl", "write-acl"], users: { ... }, others: [ "read-data", "read-attachment" ] }, subscriptions: { users: { [email protected]: { 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

Page 13: Towards a Federated Object Sharing Protocol Felix Maurer ... · Wikipedia 4% Top 25 ... Distributed Semantic Social Network: [9] X Global content sharing, federation 7 Access control

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

Page 14: Towards a Federated Object Sharing Protocol Felix Maurer ... · Wikipedia 4% Top 25 ... Distributed Semantic Social Network: [9] X Global content sharing, federation 7 Access control

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

Page 15: Towards a Federated Object Sharing Protocol Felix Maurer ... · Wikipedia 4% Top 25 ... Distributed Semantic Social Network: [9] X Global content sharing, federation 7 Access control

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

Page 16: Towards a Federated Object Sharing Protocol Felix Maurer ... · Wikipedia 4% Top 25 ... Distributed Semantic Social Network: [9] X Global content sharing, federation 7 Access control

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

Page 17: Towards a Federated Object Sharing Protocol Felix Maurer ... · Wikipedia 4% Top 25 ... Distributed Semantic Social Network: [9] X Global content sharing, federation 7 Access control

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

Page 18: Towards a Federated Object Sharing Protocol Felix Maurer ... · Wikipedia 4% Top 25 ... Distributed Semantic Social Network: [9] X Global content sharing, federation 7 Access control

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

Page 19: Towards a Federated Object Sharing Protocol Felix Maurer ... · Wikipedia 4% Top 25 ... Distributed Semantic Social Network: [9] X Global content sharing, federation 7 Access control

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

Page 20: Towards a Federated Object Sharing Protocol Felix Maurer ... · Wikipedia 4% Top 25 ... Distributed Semantic Social Network: [9] X Global content sharing, federation 7 Access control

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

Page 21: Towards a Federated Object Sharing Protocol Felix Maurer ... · Wikipedia 4% Top 25 ... Distributed Semantic Social Network: [9] X Global content sharing, federation 7 Access control

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

Page 22: Towards a Federated Object Sharing Protocol Felix Maurer ... · Wikipedia 4% Top 25 ... Distributed Semantic Social Network: [9] X Global content sharing, federation 7 Access control

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

Page 23: Towards a Federated Object Sharing Protocol Felix Maurer ... · Wikipedia 4% Top 25 ... Distributed Semantic Social Network: [9] X Global content sharing, federation 7 Access control

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

Page 24: Towards a Federated Object Sharing Protocol Felix Maurer ... · Wikipedia 4% Top 25 ... Distributed Semantic Social Network: [9] X Global content sharing, federation 7 Access control

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

Page 25: Towards a Federated Object Sharing Protocol Felix Maurer ... · Wikipedia 4% Top 25 ... Distributed Semantic Social Network: [9] X Global content sharing, federation 7 Access control

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

Page 26: Towards a Federated Object Sharing Protocol Felix Maurer ... · Wikipedia 4% Top 25 ... Distributed Semantic Social Network: [9] X Global content sharing, federation 7 Access control

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

Page 27: Towards a Federated Object Sharing Protocol Felix Maurer ... · Wikipedia 4% Top 25 ... Distributed Semantic Social Network: [9] X Global content sharing, federation 7 Access control

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