2. Who am I
Studies of mathematics and computer
science at TU Darmstadt
KOM - Multimedia Communications Lab
Prof. Dr.-Ing. Ralf Steinmetz
QuaP2P
Improving the quality of P2P systems
DFG research group 733
KOM – Multimedia Communications Lab 2
3. What do I focus on?
Social implications, social sciences
Users and their interactions
Usage scenarios
Apps
Technical Platform
Data storage Infrastructure
Bits and Bytes
KOM – Multimedia Communications Lab 3
5. Online Social Networks
What are ‘Online Communities’ technically?
Web-based applications (StudiVZ, Facebook, MySpace, Xing)
Provide different services for community members
Personal Events
information
and photos
Plugin
Games
architecture
Friends Social
interaction
KOM – Multimedia Communications Lab 5
6. Goals and Motivations
Users want System providers want
Storing and searching for content High profit
Profiles, friend lists, … Many users
Pictures, shared “Wall” editing, … Personalized advertisements
User to user interaction Low operational costs
Chatting, VoIP, … For servers, electricity, cooling …
Games For personnel, legal issues
Security Controlled Quality of Service
Access control on their data To attract and keep users
Secure, confidential communication Providing reliable, high quality services
Fun! Money!
Our goal: all of the above following another IT paradigm
KOM – Multimedia Communications Lab 6
7. How do they work?
What is the architecture beneath?
KOM – Multimedia Communications Lab 7
8. Current IT Paradigm: Client / Server
Web-based solution
Lots of operational costs!
Rough estimation: 1$/y per user
Facebook: 350M users !
KOM – Multimedia Communications Lab 8
9. Alternatives? – Peer-to-Peer based Platforms
Idea: Platforms:
Use capacities of user devices (Moore’s law!) LifeSocial.KOM
Interconnect users with p2p-overlay SafeBook, PeerSon
Provide all functionality in a distributed way
Shift the load and costs to
the users
KOM – Multimedia Communications Lab 9
10. Our Solution: LifeSocial.KOM
Researched since end of 2007
Ca. 10 diploma / bachelor theses on this topic
Ca. 20 students programming plugins / GUIs in “Praktika” / project seminars
See: www.lifesocial.org
KOM – Multimedia Communications Lab 10
11. How does it look like?
What can you do?
KOM – Multimedia Communications Lab 11
15. How does this work?
What is the architecture beneath?
KOM – Multimedia Communications Lab 15
16. Architecture Overview on LifeSocial.KOM
Extendable framework for user interface
components User Interface
Stand-alone applications, core functionality
and optional functionality of the system. Optional Plugins
Extendable.
Mandatory Plugins
Caching of data objects and messages Information Cache Monitoring
Monitoring of the quality of service
Low-delay user-to-user communication Secure Storage Secure Message
Storage (store, modify, retrieve, delete) and Dispatcher Dispatcher
Storage and
Replication
Distributed storage and replication
Organization of nodes in an overlay network Peer-to-Peer Overlay
Standard Internet protocols Internet
KOM – Multimedia Communications Lab 16
17. Categories of Peer-to-Peer Systems
Unstructured P2P Structured P2P
Centralized P2P Pure P2P Hybrid P2P DHT-Based
1.Central entity is 1.Any terminal entity 1. Any terminal entity can be 1. Any terminal entity
necessary to provide can be removed with- removed without loss of can be removed without
the service out loss of functionality functionality loss of functionality
2.Central entity is some 2. No central entities, 2. Dynamic central entities for 2. “Fixed” connections in the
faster search overlay network
kind of index database fully distributed
3.Search costs: variable 3.Lookup costs: O(log n)
3.Search costs: O(1) 3.Search costs: O(n)
4.Costs for state: variable 4.Costs for state: O(log n)
4.Costs for state: O(n) 4.Costs for state: O(1)
5.For: Searches 5.For: Lookup
5.For: Searches 5.For: Searches
For keyword-based Search: For Lookup:
used query mechanism: flooding, random-walk… Routing
1st Generation 2nd Generation KOM 3rd Generation
– Multimedia Communications Lab 17
from R.Schollmeier and J.Eberspächer, TU München
18. FreePastry – Most Used Academic DHT
FreePastry – based on Pastry, DHT User Interface
Documents are mapped to peers: Mandatory Plugins
Optional Plugins
for every Document-ID there is a responsible peer Information Cache Monitoring
all document owners and requesters contact this peer Storage Dispatcher Message Dispatcher
FreePastry routes to responsible peer Storage and
Replication
Functions: void put(key, Object), Object get(key) Peer-to-Peer Overlay
Internet
Node 1008
queries item 3000 Use shortcuts/fingers…
1008 1622 2011
1009-1622
709 710-1008 1623-2011 2207 Responsible for
660-709 2012-2207 1008 + 1024
1 2682
2208-2682
3 2
Responsible 659 2906
peer found 612-659 611
3486-…
3485 2683-2906
2907-3485 Responsible for
0-611 Responsible for
2207 + 512
3000
KOM – Multimedia Communications Lab 18
19. DHT used for Storing Social Data
Functionality: Application areas:
Totally distributed storage E.g. filesharing using Kademlia
Reliable through replication and self- Proven to be scalable for low costs
organization
Using only user devices
?
KOM – Multimedia Communications Lab 19
20. What kind of data can you store?
And where?
Is it secure?
KOM – Multimedia Communications Lab 20
21. Document Types, Obvious Storage Keys
User Albums User album A Image x Profile
storage key = storage key p =
storage key a storage key x
„user name“+“album“ “User_Kalman_Graffi”
List of user albums: List of images: image
1. storage key a 1. storage key x Name: Kalman
2. storage key b 2. storage key y Age: 27
3. storage key c 3. storage key v University:
Image y
4. storage key d 4. storage key r Technische
... ... Universität
storage key y Darmstadt
User album D Image n
image
storage key d storage key n
List of images: image High granularity of stored data objects
1. storage key n
2. storage key m Better load balancing of the resources
3. storage key k Image m
4. storage key l
Used for
... Atomic data: profiles, login info, “emails”
storage key m
Linked lists: friend lists, groups, multicast
image
Allows for complex data structures
See: K. Graffi et al., “A Distributed Platform for Multimedia Online Communities” KOM – Multimedia Communications Lab 21
In: IEEE International Symposium on Multimedia '08 (IEEE ISM’08), December 2008.
23. Simple Idea of Distributed Access Control
How to provide Access Control in a distributed environment?
Goal: Assign read-rights on objects to privileged users
Mechanism: Sym. encrypted objects, asym. encrypted sym. keys
For
See: K. Graffi et al., “Practical Security in P2P-based Social Networks” KOM – Multimedia Communications Lab 23
In: IEEE Local Computer Networks '09 (IEEE LCN’09), October 2009.
24. Detailed Idea of Distributed Access Control
SharedItem [userID A] =
3 Pub
objectID Header User A
Privileged users userIDs [userID B] =
are public Pub
User B
1 keys
Payload
extract
wrap symmetric key 4
with public key
Serialized and encrypted with Symmetric Key
symmetic key
2
Signed CryptedItem Encrpyted
Pub
5 with User A
objectID
Key list
Symmetric Key
Byte array userID A – key A
containing userID B – key B
userID C – key C
encrypted
Encrpyted
…
SharedItem Pub
with User B
See: K. Graffi et al., “Practical Security in P2P-based Social Networks” KOM – Multimedia Communications Lab 24
In: IEEE Local Computer Networks '09 (IEEE LCN’09), October 2009.
25. What are the applications?
Where are the limitations?
KOM – Multimedia Communications Lab 25
26. Architecture Components
Plugins implement the funcitonality of
User Interface
online social networks (and more)
Information Cache: Optional Plugins
Enables the Plugins to reuse the data Mandatory Plugins
Monitoring:
Information Cache Monitoring
Provides statistics on system behavior
Secure Storage Secure Message
Secure Message Dispatcher: and Dispatcher Dispatcher
Sending: for low-delay user-to-user
communication, secure and authenticated Storage and
Receiving: dispatches incoming messages to Replication
addressed Plugins
Peer-to-Peer Overlay
Secure Storage Dispatcher:
Storage and retrieval of data objects with
distributed access control Internet
KOM – Multimedia Communications Lab 26
27. Plugin Architecture Overview
Everything is a Plugin
Plugins are stand-alone applications
Mandatory or optional
Plugins implement common interfaces
Every Plugin has an unique Identifier
Plugins and User Interfaces are decoupled
Easy Plugin-to-Plugin communication
Over shared storage
Over Plugin ID based messaging
See: K. Graffi et al., “LifeSocial.KOM: A P2P-based Platform for Secure Social Online Networks” KOM – Multimedia Communications Lab 27
submitted to IEEE Networking ‘10, January 2010.
28. When it is distributed,
how do you know that it works?
What is the quality?
KOM – Multimedia Communications Lab 28
29. Monitoring and Evaluation
Integration of a monitoring solution
Totally distributed, precise and cheap
Global system statistics
Statistics on
CPU / bandwidth usage
Data retrieval delays
Messages sent / received
Number of peers
Objects in Cache
Friends and clustering coefficient
…
Statistical information:
avg, min, max, standard dev., sum,...
See: K. Graffi et al., “Monitoring and Management of Structured Peer-to-Peer Systems” KOM – Multimedia Communications Lab 29
In: IEEE Peer-to-Peer Computing '09 (IEEE P2P’09), September 2009.
30. Our Monitoring Solution for P2P Systems
Topology Statistic updates
Tree based information architecture Periodically sent to parent peer
Uses p2p overlay functionality Aggregated in each node ( same size)
[µ,σ,σ²,Σ,
min,max]
0,09 0,2 0,3 0,4 0,51 0,6 0,75 0,9
0 1
[µ,σ,σ²,Σ,
50 1 min,max]
10
45
15
40 20 [µ,σ,σ²,Σ,
30
min,max]
KOM – Multimedia Communications Lab 30
31. Our Monitoring Solution for P2P Systems
Topology Statistic updates
Tree based information architecture Periodically sent to parent peer
Uses p2p overlay functionality Aggregated in each node ( same size)
[µ,σ,σ²,Σ,
0,09 0,2 0,3 0,4 0,51 0,6 0,75 0,9 min, max]
0 1
[µ,σ,σ²,Σ,
50 1 min, max]
10
45
15
40 20
30 [µ,σ,σ²,Σ,
min, max]
KOM – Multimedia Communications Lab 31
32. Summary
IT solutions for social networks Analysis of needs:
Currently centralized and very costly Users want
Scales only with high monetary invests Storing and searching for content
User to user interaction
Distributed, p2p-based platforms Security
Data storage is totally distributed
Costs are shared among the users System provider want
Low operational costs
LifeSocial.KOM Controlled quality of service
Operational prototype High profit
Secure, reliable storage and messaging
Monitoring mechanism to observe (and Next steps:
control) the quality of service Integrate management mechanisms
Rich, extendable functionality through Run Internet-wide beta-test
Plugin-based architecture
Deploy
See videos on www.lifesocial.org
KOM – Multimedia Communications Lab 32
33. Questions?
KOM
Have a look at:
www.lifesocial.org
www.skynet-project.com
www.kom.tu-darmstadt.de
KOM – Multimedia Communications Lab 33