FOSP Towards a Federated Object Sharing Protocol that Unifies - - PowerPoint PPT Presentation

fosp
SMART_READER_LITE
LIVE PREVIEW

FOSP Towards a Federated Object Sharing Protocol that Unifies - - PowerPoint PPT Presentation

FOSP Towards a Federated Object Sharing Protocol that Unifies Operations on Social Content Felix Maurer | June 16, 2014 FORSCHUNGSGRUPPE DEZENTRALE SYSTEME UND NETZDIENSTE www.kit.edu KIT University of the State of Baden-Wuerttemberg and


slide-1
SLIDE 1

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

slide-2
SLIDE 2

Outline

1

Introduction

2

Analysis

3

Related work

4

Federated Object Sharing Protocol

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

slide-3
SLIDE 3

Motivation

Nowadays, online social networks (OSNs) make up a large part of the World Wide Web (WWW) 1. HTTP was designed for the early WWW. Functionalities for social networks are implemented as HTTP APIs.

Social networks 32% Portals 28% Search engines 24% E-commerce 12% Wikipedia 4% Top 25

1http://www.alexa.com/topsites Introduction Analysis Related work Federated Object Sharing Protocol Implementation Discussion Conclusion Felix Maurer – Federated Object Sharing Protocol June 16, 2014 3/19

slide-4
SLIDE 4

Problem Statement

“Existing social networking

services are centralized and

the companies providing the services have the sole authority to control all the data of the

  • users. It is not a trivial task

for a user to reuse his own data, including his social

network, messages with friends and photos among other applications, as there are not many robust mechanisms to port all the data from one platform to another.” [11] Figure: by Simonds David, The Economist 19 March 2008

Introduction Analysis Related work Federated Object Sharing Protocol Implementation Discussion Conclusion Felix Maurer – Federated Object Sharing Protocol June 16, 2014 4/19

slide-5
SLIDE 5

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 software that 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

slide-6
SLIDE 6

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

slide-7
SLIDE 7

Requirements Engineering

Content Sharing Access Control Publish Subscribe

Duplex Connection

Meta- data Authenti

  • cation

Federation

Global Namespace Global Identifi

  • cation

Introduction Analysis Related work Federated Object Sharing Protocol Implementation Discussion Conclusion Felix Maurer – Federated Object Sharing Protocol June 16, 2014 7/19

slide-8
SLIDE 8

Related work: Existing Protocols

Data- storage Access control PublishSubscribe Federation HTTP/- WebDAV/- HTTP2.0:

[5, 3, 2]

– NFS and Glamor:

[7]

XMPP: [8]

  • Wave: [10]

– –

  • Introduction

Analysis Related work Federated Object Sharing Protocol Implementation Discussion Conclusion Felix Maurer – Federated Object Sharing Protocol June 16, 2014 8/19

slide-9
SLIDE 9

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

slide-10
SLIDE 10

Scientific Work

Distributed Semantic Social Network: [9]

Global content sharing, federation ✗ Access control not

described/defined, no push to the client. Distributed Platform for Multimedia Communities: [6]

Decentralized content sharing, user

to user communication

✗ Complex P2P architecture,

cryptography for access control SODESSON: [1]

Decentralized content sharing (P2P) ✗ Focus on providing services directly

from (mobile) devices

→ difficult to deploy.

Safebook: [4]

Content Sharing (P2P) ✗ Publish subscribe ✗ Requires additional trusted

identification service (TIS).

Introduction Analysis Related work Federated Object Sharing Protocol Implementation Discussion Conclusion Felix Maurer – Federated Object Sharing Protocol June 16, 2014 10/19

slide-11
SLIDE 11

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

slide-12
SLIDE 12

FOSP: Data Structures

alice@wonderland.lit config groups buddies social me avatar

010100100100110101010101001010011011001010100 101001010010010011010101010100101001101100101 010010100101001001001101010101010010100110110 010101001010010101111110101001001111010101001 101010101101101010100100001010101111010101010 101101001010101010100100100110101010101001010 011011001010100101001010010010011010101010100 101001101100101010010100101001001001101010101 010010100110110010101001010010100100100110101 010101001010011011001010100101001010111111010 100100111101010100110101010110110101010010000 101010111101010101010110100101010101010010010 011010101010100101001101100101010010100101001 001001101010101010010100110110010101001010010 100100100110101010101001010011011001010100101 001010010010011010101010100101001101100101010 010100101011111101010010011110101010011010101 011011010101001000010101011110101010101011010 010101010101001001001101010101010010100110110 010101001010010100100100110101010101001010011 011001010100101001010010010011010101010100101 001101100101010010100101001001001101010101010 010100110110010101001010010101111110101001001 111010101001101010101101101010100100001010101 111010101010101101001010101010100100100110101 { btime: "2007-03-01T13:00:00Z", mtime: "2008-05-11T15:30:00Z",

  • wner: "alice@wonderland.lit",

acl: {

  • wner: [ "read-data", "write-data",

"read-acl", "write-acl"], users: { ... },

  • thers: [ "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

slide-13
SLIDE 13

Messages

Request, Response or Notification Headers and body UTF-8 text and binary Sent over WebSockets

Introduction Analysis Related work Federated Object Sharing Protocol Implementation Discussion Conclusion Felix Maurer – Federated Object Sharing Protocol June 16, 2014 13/19

slide-14
SLIDE 14

Policies

Define how the content of objects is interpreted

“acl” field contains access control lists and is read by the server to enforce access control. “subscriptions” field contains publish-subscribe configurations and is read by the server to notify users about changes. ...

Also restrict how messages should be forwarded

A server must only forward requests of users that belong to its domain. A server must never forward notifications for resources that do not belong 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

slide-15
SLIDE 15

Implementation: Server

Prototype Work in progress Language JavaScript (Node.js) Go Database RethinkDB Postgresql Concurrency single threaded multi threading possible can share code with browser clients, doesn’t scale with number of con- current users, database is slow for updates faster, allows multi threading

Introduction Analysis Related work Federated Object Sharing Protocol Implementation Discussion Conclusion Felix Maurer – Federated Object Sharing Protocol June 16, 2014 15/19

slide-16
SLIDE 16

Browser Client and CLI Client

Prototypes

Command Line Interface (CLI) client for testing Browser client as single page JavaScript application Reuses core modules of the server and the CLI Exposes the tree structure of FOSP and allows basic manipulation

Clients in development

Go CLI client, similar to the JavaScript CLI cient “Coeo”, a single page JavaScript application that uses FOSP to provide 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

slide-17
SLIDE 17

Discussion: Performance Evaluation

1000 2000 3000 4000 5000 6000 7000 8000 9000 100 200 300 400 500 600 700 800 Response time in ms Notifications sent

Prototype Short response time for single, consecutive request Response times grows when sending lots of notifications

  • r processing

multiple requests Database did 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

slide-18
SLIDE 18

Scenario and Requirements Evaluation

Described scenarios can be implemented.

Sharing Commenting Subscribing Profiles Private messaging Federation

Requirements are fulfilled.

Federation Content Sharing Access Control Publish Subscribe

Introduction Analysis Related work Federated Object Sharing Protocol Implementation Discussion Conclusion Felix Maurer – Federated Object Sharing Protocol June 16, 2014 18/19

slide-19
SLIDE 19

Conclusion

FOSP allows federated storing of data and supports access control and publish-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

slide-20
SLIDE 20

References I

  • I. Baumgart and F

. Hartmann. “User-centric networking powered by SODESSON”. In: PIK - Praxis der Informationsverarbeitung und Kommunikation 36.2 (May 2013), pp. 147–148. ISSN: 0930-5157.

  • M. Belshe et al. Hypertext Transfer Protocol version 2.0. HTTPbis

Working 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 (Proposed Standard). 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

slide-21
SLIDE 21

References II

L.A. Cutillo, R. Molva, and T. Strufe. “Safebook: A privacy-preserving online social network leveraging on real-life trust”. 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. RFC

2616 (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 International Symposium on. 2008, pp. 208–213. DOI: 10.1109/ISM.2008.11.

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

slide-22
SLIDE 22

References III

  • U. Lanjewar, M. Naik, and R. Tewari. “Glamor: An architecture for

file system federation”. In: IBM Journal of Research and Development 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). Internet Engineering Task Force, Mar. 2011. URL:

http://www.ietf.org/rfc/rfc6120.txt.

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

  • T. Weis and A. Wacker. “Federating Websites with the Google Wave

Protocol”. 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

slide-23
SLIDE 23

References IV

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

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

slide-24
SLIDE 24

50 100 150 200 60 120 180 240 300 360 Response time in ms Time in minutes SELECT CREATE UPDATE DELETE

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

slide-25
SLIDE 25

1000 2000 3000 4000 5000 6000 7000 8000 9000 100 200 300 400 500 600 700 800 Response time in ms Notifications sent

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

slide-26
SLIDE 26

1000 2000 3000 4000 5000 6000 7000 8000 9000 100 200 300 400 500 600 700 800 Response time in ms Notifications sent

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

slide-27
SLIDE 27

1000 2000 3000 4000 5000 6000 7000 8000 9000 100 200 300 400 500 600 700 800 Run time of DB update in ms Notifications sent

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