SlideShare a Scribd company logo
1 of 101
A P2P-Framework 
for Social Networks 
Jun.-Prof. Dr.-Ing. 
Kalman Graffi 
www.p2pframework.com 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 1
A P2P-Framework for Social Networks 
Overview – A quick 101 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 2
LifeSocial – A Secure P2P-based OSN Platform 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 3 
History 
 Developed since 2007 
• > 55 students worked on it 
• See you at CeBIT 2013 
 Aiming at applicable results in p2p research 
Goal 
 Facebook-like user experience 
• Basis functionality extendible through plugins 
• Data-centric (profiles) and user-to-user (chat,video) interaction 
• BUT: security guarantees 
 Operator view 
• Completely p2p-based 
• BUT: with quality of service control and guarantees 
 Research 
• New application leads to new requirements 
• New requirements to new results
Main Ideas in LifeSocial 
General p2p platform 
 Combining a wide set of useful modules 
• Storage, messaging, security, caching, app-hosting, multicast, pub/sub … 
• Distributed data structures, monitoring, automated self-control 
 Social network on top of platform 
• Build through “plugins” (apps), using platform and each other 
• Extendable, configurable GUI supports app growth 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 4 
Security goals 
 Access controlled secure storage 
 Secure (encrypted, authenticated, integer) communication 
 No trust assumptions  anybody may be bad 
Functional goals 
 For the users: Facebook-like 
 Also thinking of providers: quality monitoring and control plane
User View: Rich Functionality 
Wide set of functionality 
 GUI-Framework like in Eclipse 
 Fast and user-friendly performance 
 Plugin-based application: 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 5 
• Profile 
• Login 
• Friends 
• Groups 
• Mails 
• Photos 
• Chat 
• … 
K. Graffi et al., “LifeSocial.KOM: A P2P-based Platform for Secure Online Social Networks”, In: IEEE P2P’10
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 6 
User View
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 7 
User View
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 8 
Management View
P2P Framework for Social Networks 
Graphical User Interface Framework 
Plugin GUI Plugin GUI Plugin GUI 
Commands Interface 
Optional Plugins 
OpOtipotnioanl aPll uPgluingsins 
Mandatory Plugins 
Mandatory Plugins 
Mandatory Plugins 
Remote Operations: 
Distributed Data 
Structures: Prefix 
tree, List, Set, Groups 
Access Control 
Identity Management 
Structured P2P Overlay 
Internet 
Storage and 
Replication 
Testing 
Communication 
Channels: 
Monitoring 
1-to-1, Pub/Sub, 
Aggregation Tree 
User & Group 
Management 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 9 
P2P Framework Plugins and Apps GUI 
App - Market
P2P Framework - Overlay 
Identity Management 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 10 
Structured p2p overlay 
 FreePastry 
 For security reasons 
• Buckets as routing entries 
• Redundant routing 
• Iterative routing 
Identity management 
 To identify users uniquely: 
 Create private & public key 
 Use public key as node ID 
• Integrates public key infrastructure 
• Enables signing & encryption of 
communication 
User & group management 
 Group keys 
 Group member management 
 Forming of nested groups (subsets) 
and group key inheritance 
Internet 
User & Group 
Management 
Structured P2P Overlay
P2P Framework - Storage 
Access Control 
Storage and 
Replication User & Group 
Identity Management 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 11 
PAST 
 Storage and replication 
 Verification of authorship 
 Modified to 
• allow in place updates of data 
• serve data from previous 
downloaders (load balancing) 
Access control 
 Sign and encrypt content 
 Access control based on 
• User lists 
• Groups 
Internet 
Management 
Structured P2P Overlay
P2P Framework – Communication and Data Structures 
Distributed data structures 
Remote Operations: 
Distributed Data 
Structures: Prefix 
tree, List, Set, Groups 
Access Control 
Identity Management 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 12 
 Normal approach: 
• Get data, change locally, upload 
 Remote operations: 
• Send only information to change 
• E.g. insert “alice” in list 
 Supported structures: 
• Set, list, groups, prefix tree 
Communication channels 
 1-to-1 (based on ID) 
• E.g. to copy/stream file 
 Topic-based pub/sub 
• Using Scribe 
 Streaming 
• Using Splitstream 
 Multi-criterion indexing and search 
• E.g. Person name, age, location … 
 Aggregation tree 
• Sum, min, max, avg 
• For individual topics 
Internet 
Storage and 
Replication 
Communication 
Channels: 
1-to-1, Pub/Sub, 
Aggregation Tree 
User & Group 
Management 
Structured P2P Overlay 
P2P Framework
P2P Framework - Services 
Remote Operations: 
Distributed Data 
Structures: Prefix 
tree, List, Set, Groups 
Access Control 
Identity Management 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 13 
Monitoring 
 Captures events from plugins 
and in framework 
 Uses aggregation tree to gather 
statistics on system 
Testing 
 Enables to initiate remote 
commands for testing 
 E.g. Initiates in a 50 nodes network 
defined behavior set (based on 
measurements) 
App – Market 
 All Plugins are OSGi – bundles 
 Can be loaded, installed at runtime 
 Define dependencies 
 App market: 
• Host, search and install plugins 
• Determine and get dependencies 
Internet 
Storage and 
Replication 
Communication 
Channels: 
1-to-1, Pub/Sub, 
Aggregation Tree 
User & Group 
Management 
Structured P2P Overlay 
Monitoring 
Testing 
P2P Framework 
App - Market
LifeSocial: Plugins implementing a Social Network 
Commands Interface 
Optional Plugins 
OpOtipotnioanl aPll uPgluingsins 
Remote Operations: 
Distributed Data 
Structures: Prefix 
tree, List, Set, Groups 
Access Control 
Storage and 
Replication 
Identity Management 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 14 
Plugins: 
 Using the P2P Framework 
 Written in Java, OSGi 
• Open Services Gateway initiative 
• Supports component model 
(bundle/service) 
 Functionality of social networks 
 Easy Plugin-to-Plugin 
communication 
• Over shared storage 
– E.g. photos 
• Over Plugin ID based messaging 
– E.g. Chat-app to chat-app 
Mandatory Plugins 
 Login, Profile, Friends, Wall, 
Groups, Photos, Chat, Messaging, 
Filetransfer (1-to-1), App-Market 
Optional Plugins 
 Voting, Multi-Chat, One-Click- 
Filehosting, Forum Internet 
Communication 
Channels: 
1-to-1, Pub/Sub, 
Aggregation Tree 
User & Group 
Management 
Structured P2P Overlay 
Monitoring 
Testing 
Mandatory Plugins 
Mandatory Plugins 
Mandatory Plugins 
P2P Framework Plugins and Apps 
App - Market
LifeSocial: Graphical User Interface 
Graphical User Interface 
 GUI Framework able to host 
individual Plugin Views 
 Allows to arrange views 
• Save / load arrangements 
Graphical User Interface Framework 
Plugin GUI Plugin GUI Plugin GUI 
Commands Interface 
Optional Plugins 
OpOtipotnioanl aPll uPgluingsins 
Remote Operations: 
Distributed Data 
Structures: Prefix 
tree, List, Set, Groups 
Access Control 
Identity Management 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 15 
Views 
 Each Plugin comes with 1+ 
views 
 Some views use several 
Plugins 
 E.g. friends selector 
 E.g. message views 
• inbox, outbox, compose 
Internet 
Storage and 
Replication 
Communication 
Channels: 
1-to-1, Pub/Sub, 
Aggregation Tree 
User & Group 
Management 
Structured P2P Overlay 
Monitoring 
Testing 
Mandatory Plugins 
Mandatory Plugins 
Mandatory Plugins 
P2P Framework Plugins and Apps GUI 
App - Market
A P2P-Framework for Social 
Networks 
P2P Overlay – Pastry 
 Root of Trust 
 Modified Routing – Buckets 
 Iterative Routing 
 Parallel Routing 
 Handling Weak Nodes 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 16
P2P Framework - Overlay 
Identity Management 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 17 
Structured p2p overlay 
 FreePastry 
 For security reasons 
• Buckets as routing entries 
• Redundant routing 
• Iterative routing 
Identity management 
 To identify users uniquely: 
 Create private & public key 
 Use public key as node ID 
• Integrates public key infrastructure 
• Enables signing & encryption of 
communication 
User & group management 
 Group keys 
 Group member management 
 Forming of nested groups (subsets) 
and group key inheritance 
Internet 
User & Group 
Management 
Structured P2P Overlay
Pastry / FreePastry – Introduction 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 18 
Pastry: P2P overlay 
 Providing DHT functionality and Key-based Routing interface 
Two metrics 
 ID distance 
 Physical distance (“Proximity”) 
128-bit-IDs, arranged in a circle 
 Variable b defines the size of the routing steps = 2^b; usual value = 4 
 Tradeoff between routing table size and maximum number of hops 
 Lookup hops scale with 푂(푙표푔2푏 푁 ) 
FreePastry: prototypical implementation of Pastry 
 Current version 2.1: released on 13.3.2009 
 Java based, Sun JDK version 1.5.0 
 NodeID: 160 bits, 20 byte: 10 hexadecimal number 
Custom modification (2012) 
 Java package is now part of p2p framework code 
 Allows modification
State Information in FreePastry 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 19 
ID Space: [0 , 2^160[ 
 Randomly assigned while joining 
 Base b (2 in example) 
 b=4  hexadecimal in FreePastry 
Routing table 
 Used for prefix-based routing 
 Typical size: 
• log_(2^b) (N) rows 
• 2^b – 1 entries per row 
 Row nr. i contains only nodeIDs 
sharing a prefix of length i with current 
node 
Leaf set 
 |L| closest node IDs 
 Typical size: L = 2^b or 2x2^b 
Neighborhood set 
 M entries (typically M = 2x2^b) 
 Contains the nodeIDs and IP 
addresses of locally closest nodes 
Routing state of node 10233102, base 4
Pastry – Original Routing Procedure 
In each routing step: 
 Prefix-based forwarding: 
 A node forwards a message to another node 
• whose ID shares with the target key a prefix 
• that is at least one digit (= b bits) longer 
• than the prefix that is shared with the current node’s ID 
If no such node is found: 
 Numerical distance based forwarding: 
 the message is forwarded to a node 
• with the same shared prefix length which is numerically closer 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 20
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 21 
Routing Protocol 
Message for key K arrives at node X 
 Let X= 10233102, b=2 
1. Check if K in scope of Leaf Set 
 E.g. K = 10233030 
 Direct forwarding to 10233033 
2. If not (1) use Routing Table 
 Let l:= prefix length of K and X 
 E.g. K = 10320102, l=2 
 Check level 3, prefix 103  10-3- 
23302 
3. If not (1) and no routing table 
entry 
 E.g. K = 10233300 
 Pick closest peer from routing table: 
10233-2-32, as closer than 10233102 
4. If X is closest to K than any node 
in Leaf Set (and Routing Table) 
 X is responsible for K, routing ends 
Routing state of node 10233102, base 2
A 
B 
… 
T 
Z 
X 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 22 
Pastry – Node join 
New node X wants to join 
 A is assumed to be physically close to X 
 Z is assumed to be responsible for the key “X” 
Join protocol 
 X asks existing node A to route JOIN message to key X 
 JOIN message will be routed to node Z which is closest to key X 
 A, Z and all nodes on the route send their state tables to X 
X uses following sets as basis for its routing sets 
 A’s neighborhood set 
 Z’s leaf set 
The n-th row of the routing table is copied from the n-th node encountered 
during the JOIN message routing process 
 n = 0: A’s row 0 
 n = 1: B’s row 1… 
Finally, X sends a copy of its state tables to all nodes contained in them 
so that those nodes can update their state tables
Modification of Pastry’s Routing Table: Buckets 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 23 
Introduction of Buckets 
 Each routing table entry contains k 
many contacts 
 Allows for 
• Parallel routing 
• Node replacement 
upon node failure 
Coping with node failures 
 Nodes leave unexpectedly (fail) 
 For detection: 
• Periodic checks of table entries 
• Keep-alive messages 
 If node does not answer: failed 
• Failure in Leaf Set: 
– Update entry with leaf set of 
furthest node 
• Failure in Routing Table: 
– Ask nodes in same row as failed 
node 
– If all in row failed: as nodes in 
higher row 
Contact 1 
Contact 2 
Contact 3 
… 
Contact k
Pastry – Modified Routing Procedure 
Prefix-based, parallel and iterative routing 
 Loop until no closer node to target ID is revealed 
• Lookup initiator sends out alpha parallel lookups 
– To the alpha nodes sharing the longest prefix in his routing table with target ID 
• Contacted nodes answer alpha contacts closest to the target ID 
 Closest found node is responsible 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 24 
Protocol details 
 Alpha answers arrive randomly 
• Process their results only 
if their sent contacts are better 
than previous contacts 
 Joining protocol requires 
adaptation
Modification of Pastry’s Routing Table: Weak Nodes 
Handling of weak nodes 
 Weak nodes should not 
participate in 
• Routing, routing maintenance 
• Storage 
 Simply marking weak nodes 
• Odd port: strong node 
• Even port: weak node 
• Port information part of contact 
info 
• Other marking solution requires 
additional marking information 
(+data structures in code) or 
signaling protocols 
Routing to/from weak nodes 
 Weak nodes are inserted only in 
the leaf set (of close nodes) 
 Their routing table also contains 
only the leaf set entries 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 25
Root of Trust: Authenticated Node IDs 
Approach 
 Immutable UserID 
• Identifying the user throughout the 
system/application 
• To be used by the plugins: in 
friendlists, groups … 
 Mutable NodeID = PublicKey 
• PublicKey uses 160 bit Elliptic Curve 
• Username and Password are 
hashed, used as basis for the Private 
Key 
• Private Key is used for calculation of 
Public Key 
 Mapping from the NodeID to the 
UserID stored at NodeID 
• At IDs hash(UserID_i) (with i=1,…) 
store link to NodeID 
• Initial link at new user registration 
– Requires no proof on user 
– Is signed with new NodeID/PubKey 
• Further changes of UserIDNodeID 
link 
– Are only allowed for previous signer 
– Single Items only to be modified by 
original author (signature check) 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 26 
Goals 
 Users should be authenticated 
 Messages confidentially, integer 
and authenticated sent/received 
 Login from any device possible, 
credentials in the network
Root of Trust: Effects 
Integrated Publiy Key Infrastructure 
 If UserID known, easy to obtain PublicKey 
 PublicKey can be stored 
Secure communication 
 Confidential, integer, authenticated 
 Sending messages 
• Message is signed with Public Key (=PubKey) of sender 
• Message is encrypted with PubKey of addressed peer 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 27 
 Receiving messages 
• Decrypt message using Private Key (=PrivKey)  auth., confidentiality 
• Receiver checks signature of sender  integrity 
 For ease: 
• User-User specific symmetric shared key might be exchanged securely before 
– E.g. using Diffie-Hellman 
Secure Storage 
 Items are signed when stored, can only be changed by original author
Properties of Pastry / FreePastry 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 28 
Advantages 
Well documented, clear APIs 
 Modular, extendable software 
 Large user base, still 
maintained 
Basic functionality 
 Routing, DHT (key-value 
mapping) 
 Distributed storage 
Disadvantages  solved 
Now: support for heterogeneity 
 All nodes are treated equally 
 Strong, long-living peers should 
do more 
 See at storage part 
Now: built-in security 
mechanisms 
 Identity attacks, routing attacks 
 Sensitive to malicious nodes 
Limited API  P2P Framework 
 “Only DHT” 
 Also requires sufficient 
replication, additional services
A P2P-Framework for Social 
Networks 
Storage and Replication 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 29 
 Replication 
 Access Control 
 Load-balancing
P2P Framework - Storage 
Access Control 
Storage and 
Replication User & Group 
Identity Management 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 30 
PAST 
 Storage and replication 
 Verification of authorship 
 Modified to 
• allow in place updates of data 
• serve data from previous 
downloaders (load balancing) 
Access control 
 Sign and encrypt content 
 Access control based on 
• User lists 
• Groups 
Keys 
 160 bit elliptic curve keys 
 128 bit AES symmetric keys 
Internet 
Management 
Structured P2P Overlay
Positioning in the Network 
User albums 
object key = 
„user name“+“album“ 
List of user albums: 
1. object key a 
2. object key b 
3. object key c 
4. object key d 
User album A 
Image x 
Image y 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 31 
... 
object key a 
List of images: 
1. object key x 
2. object key y 
3. object key v 
4. object key r 
... 
object key x 
image 
object key y 
image 
Distributed Storage 
 Object ID based Routing 
User album D 
object key d 
List of images: 
1. object key n 
2. object key m 
3. object key k 
4. object key l 
... 
P2P Overlay 
 Peer ID based Routing 
Internet 
 IP based Routing
Document Types, Obvious Storage Keys 
Image x 
Image y 
High granularity of stored data objects 
Better load balancing of the resources 
Used for 
 Atomic data: profiles, login info, “emails” 
 Linked lists: friend lists, groups, multicast 
Allows for complex data structures 
User album A 
Image n 
Image m 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 32 
User Albums 
storage key = 
„user name“+“album“ 
List of user albums: 
1. storage key a 
2. storage key b 
3. storage key c 
4. storage key d 
... 
storage key a 
List of images: 
1. storage key x 
2. storage key y 
3. storage key v 
4. storage key r 
... 
storage key x 
image 
storage key y 
image 
User album D 
storage key d 
List of images: 
1. storage key n 
2. storage key m 
3. storage key k 
4. storage key l 
... 
storage key n 
image 
storage key m 
image 
Profile 
storage key p = 
“User_Kalman_Graffi” 
Name: Kalman 
Age: 30 
University: 
Universität 
Düsseldorf
Atomic Single Item Operations 
Basis for security must be 
 Easy to deploy, fast and reliable 
Requirements for access control and item security 
 All sensible information is stored in DHT (no trust assumed) 
 Integrity / authentication 
• Author is authenticated through signatures 
• Signature allow to detect modifications 
• Only one author for one data item 
• Content integrity can be checked, false authorship can be rejected 
 Confidentiality: only authorized users should be able to read content 
• The storing node is typically not allowed 
• Data items can/should be encrypted 
Data object must be atomic 
 Must contain all relevant security information 
 Replication 
• Multiple storage of the same content 
• Find 1 copy to read, all copies to write consistently 
• Replication independent of security 
Support for inplace modification 
Support for group-based rights 
H(„my data“ ) 
= 3107 
2207 
2906 
1008 1622 2011 
PeerID = PubKey 
3485 
709 
611 
? 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 33
Replication Extension of Pastry: PAST 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 34 
Idea 
 Store objects also on k further nodes in leaf set 
 Remember Key-based Routing (KBR): 
• nodehandle [] replicaSet (key  k, int  max rank) 
– Returns an ordered set of peers of magnitude (max rank) 
on which replicas of the object with key k can be stored 
– The nodes which become roots for the key k when the local node fails 
• update(nodehandle n, bool joined) 
– Upcall: informs that node n has either joined or left the local neighbor set 
 If responsible peer fails 
• New responsible node (is in replicaSet) 
– Is informed of peer leave by update upcall 
– Answers to lookups for new objects it is responsible for 
– Calls new replicaSet and deployes replicas (if needed)
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 35 
PAST Evaluation 
Good 
 ID related replication: 1 lookup sufficient to find object 
 Replication ratio flexible (might depend on object / peer properties) 
 Failed replica nodes are detected by overlay: easy to react 
Drawback 
 Replication not peer heterogeneity aware 
• Weak nodes might be overloaded by replication task 
• See next slide how to handle that in the P2P Framework 
 Security 
• Replicas all in one ID area: easier to attack 
• Still open
Modification: Heterogeneity Aware Storage 
Best strategy to match nodes 
having and wanting a file? 
Object i 
Requester 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 36 
 Considering: 
• Memory, storage and bandwidth 
 Leading to 
• Balanced load regarding the 
load provision in the system 
Approach 
 Responsible node remembers 
downloading nodes (providers) 
• Maintains a provider list 
• Periodically checks their 
bandwidth 
– Through message size and 
transmission time 
• Forwards download query 
(1 hop) to them based on load 
• High capacity  high probability 
to be chosen 
P3 
P4 
P5 
P1 
P2 
P6 
P7 
Object i 
Requester 
Object i 
Provider 
P3 
P4 
P5 
Object i 
Provider 
P1 
P2 
P6 
P7 
10 
Responsible 
for object 3 
Peer Qual./Load 
P1 
P2 
P6 
ok 
good 
weak 
P7 ok 
Get object 3 
from peer 2 
Provider to 
use: peer 2
Discussion: Heterogeneity Aware Storage 
Heterogeneity aware storage 
 In addition to replication 
 Local solution 
• If responsible node wants to share load, he may, but does not have to 
• Source of file irrelevant for requester 
– As files are atomically authenticated 
Periodic capacity checks 
 Required some overhead 
 Are propagated back, so that nodes are aware of their capacities 
 Can be used for further purpose 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 37
Evaluation: Heterogeneity Aware Storage 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 38 
Setup: 
 10 Machines, 3x TestCaseLoadPhoto in 12 secodns 
Evaluation: 
 Red: responsible node, blue: a chosen provider
Simple Distributed Access Control for Single Objects 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 39 
Goals: 
 Authentification of hosts (original author) 
• Allows „Write“ access control 
 „Read“ access control on individual data items 
Idea: 
 Remember established public key infrastructure 
 Write access control 
• Initial write is free, data item is signed, authors Public Key is added 
• Overwrite on existing Object ID only allowed to original author 
• Protection against replay attacks: 
– Random nonce is stored with item; nonce must also be signed with new item 
• Storing nodes verifies signature 
• ToDo: Replication nodes must also verify signature and verify correct 
behavior of storing node 
 Read access control: 
• Encrypt all stored data with unique symmetric key: Key_S 
• Encrypt the symmetric key for all privileged reader: (Key_S)enc(PubKey_i) 
• Attach the encrypted symmetric key to the encrypted data
Example of Distributed Access Control 
SharedItem 
objectID Header 
Privileged users 
Payload 
Signed CryptedItem 
objectID Key list 
userID A – key A 
userID B – key B 
userID C – key C 
… 
3 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 40 
Byte array 
containing 
encrypted 
SharedItem 
Symmetric Key 
Pub 
User A 
Encrpyted 
with 
Symmetric Key 
Pub 
User B 
Encrpyted 
with 
Pub 
User A 
Pub 
User B 
[userID A] = 
[userID B] = 
1 
extract 
Serialized and encrypted with 
symmetic key 
2 
userIDs 
are public 
keys 
wrap symmetric key 
with public key 
4 
5 
Signature
Group-based Access Control 
Group-based Access Control 
 Groups have own keys  Treated as single user 
• Single data objects encrypted/signed with group keys 
• Only group members can read / write 
 Group key is stored in single item by group creator 
• Read access for group members 
Group provides for its members 
 A symmetric key S_G and an asymmetric key pair (Public: e_G, Private: d_G) 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 41
Group-based Access Control 
Challenge: Hierarchical structures of groups 
 Share content with combination of groups: 
• G1 OR G2: Encrypt with 2 keys, provide both 
• G1 AND G2: Encrypt data with first key, 
encrypt result with second key 
 Hierarchical groups: G1 subgroup of G2 
Groups may contain 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 42 
 User (keys) 
 Group (keys) 
Encrypted item has a reference 
to the group used for encryption
A P2P-Framework for Social 
Networks 
Peer-to-Peer Framework 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 43 
 Storage 
• Distributed Data Structures 
– Sets, Lists, Prefix-Hash Trees 
• Remote Operations 
• Access Control for Distributed Data Structures 
 Information Cache and Callbacks 
 Communication Channels 
• 1-to-1, Multicast, Publish / Subscribe 
• Search 
 App-Store
P2P Framework – Communication and Data Structures 
Distributed data structures 
Remote Operations: 
Distributed Data 
Structures: Prefix 
tree, List, Set, Groups 
Access Control 
Identity Management 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 44 
 Normal approach: 
• Get data, change locally, upload 
 Remote operations: 
• Send only information to change 
• E.g. insert “alice” in list 
 Supported structures: 
• Set, list, groups, prefix tree 
Communication channels 
 1-to-1 (based on ID) 
• E.g. to copy/stream file 
 Topic-based pub/sub 
• Using Scribe 
 Streaming 
• Using Splitstream 
 Multi-criterion indexing and search 
• E.g. Person name, age, location … 
 Aggregation tree 
• Sum, min, max, avg 
• For individual topics 
Internet 
Storage and 
Replication 
Communication 
Channels: 
1-to-1, Pub/Sub, 
Aggregation Tree 
User & Group 
Management 
Structured P2P Overlay 
P2P Framework
Distributed Data Structures (DDS) 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 45 
Motivation: 
 Put / Get of single data items does not match social network 
 Social network data structures: 
• (Unorderd) Set: Friends, Group members, … 
• (Ordered) List: Wall entries, Email posts, Forum entries 
• Prefix Hash Trees: App categories, User categories … 
Distributed Data Structures 
 Concept: Single data items with 
• Characteristic meta data 
• Payload 
• Pointers to next elements in the 
„distributed“ data structure 
On right: functions of the list 
 Location of i-th element 
– Key hash(„listname“ + i/bucketsize)
Basics of Distributed Data Structures 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 46 
Interfaces 
 Common access to a DDS instance 
for application 
 DDS in framework split in several 
buckets 
 Buckets handled individually 
Requirements: 
 Only owner allowed to edit/ delete a 
list entry 
 Everyone allowed to add a list entry 
 Support groups: only group users 
allowed to read or add a list entry 
Buckets contain: 
 Individual entries 
• May belong to different users 
• Number of entries per bucket 
configurable 
 Pointer to next bucket 
Application using the Distributed Linked List
Distributed Data Structures: Write and Read Access 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 47 
Add entry to the list 
 Free to write: 
• Sign element with private key 
of the owner 
 Write only for group members 
• Sign element with private key 
of the owner 
• Encrypt each element of the 
bucket with symmetric group 
key 
• Sign the bucket with private 
group key 
Read entry 
 Find and retrieve entry 
 Verify entry and bucket 
signature 
Edit an existing element 
 Create and sign new entry 
 Sign bucket (all entries of it) 
 Storing node recognizes list 
buckets and verifies signatures 
of bucket and elements
Distributed Data Structures: Deletion of Entries 
Deleting an existing element 
 Deletion = overwrite with empty “Delete”-Entry (deletedItem) 
 Create and sign new “Delete”-entry 
 Sign bucket (all entries of it) 
 Storing node recognizes list buckets and verifies signatures of bucket 
and elements 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 48 
Problem 
 deletedItems stay in list 
 With time: list might contain almost only deleted Items 
Solution: 
 Algorithm consolidates two buckets 
• deletedItems shifted one bucket to the right 
 Called after each write operation if list contains deletedItem 
• Only users with write rights can sign consolidated buckets
Consolidate Protocol 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 49 
Before 
 BK contains a deletedItem 
 Consolidate(BK,BK+1) is called 
After 
 BK  BK‘, BK+1  BK+1‘ 
 DeletedItem now on most right 
position in BK+1‘ 
 All other elements shifted to left 
by one position
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 50 
Remote Operations 
DistributedList use the idea of remote operations 
 User wants to change a stored item 
 User sends request for change to storing node 
 Storing node performs change and stores the file 
Advantage: 
 User need not transfer whole file but just the changes 
Problem: 
 Write protection needs to be considered 
 Storing node performs changes and stores the modified item 
 But: storing node is usually not owner of the item 
• Cannot compute valid signature 
 User sends delta information, how to sign whole new data item?
Protocol for Remote Operation with Write Access 
Node C wants to modify an object stored at S: 
 If C does not have the current object 
• It requests the current version of the file that should be changed from S. 
 C has the current object 
• If C already has a version of the file, it sends a hash of it to S. 
 S compares the received hash with the hash of its current object version 
• If the hashes differ: S replies with the current version 
• If the hashes match: it acknowledges briefly. 
 C performs its changes locally and afterwards computes the signature of 
the modified file and the hash of the file that should be overwritten 
 It sends a request containing the desired changes, the signature and the 
hash of the file on which C locally performed the changes to S. 
 S checks whether its current version and the version on which C has 
performed its changes are the same by comparing the hashes 
• If they are not equal, step 3 is applied. 
• If the hashes are equal: S performs the desired changes and then inserts the 
file into the network using the signature received from C. 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 51
Evaluation of the Remote Operation and Deletion Consolidation 
Setup: 1000 operations 
 Setting A presented 
Traffic savings: 
 Through remote operations 
and buckets with 10 entries 
 Consolidation further saves 
traffic 
Action distribution: 
Consolidation 
 Reduces number of 
deletedItems in list drastically 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 52
Accessing the Data: Information Cache and Callbacks 
Pull approach: Information 
Cache 
 Interface: getData(key) 
 Immediate response: 
Plugins Plugins 
Remote Operations: 
Distributed Data 
Structures: Prefix 
tree, List, Set, Groups 
Access Control 
Identity Management 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 53 
• Data 
– Lifetime x min, then new 
lookup 
• Pending 
– While pending: data is 
retrieved 
• Not available 
– Negative lookup 
 Allows data reuse by several 
plugins – information container 
Internet 
Storage and 
Replication 
Communication 
Channels: 
1-to-1, Pub/Sub, 
Aggregation Tree 
User & Group 
Management 
Structured P2P Overlay 
P2P Framework 
Information Cache
Accessing the Data: Information Cache and Callbacks 
Push Approach: Callbacks / 
Continuations 
 Plugins register for data(key) 
 If lookup for it is successfull 
• Data is deliverd to waiting plugin 
Framework supports different 
situations: 
 Continuation - Asynchronous 
operations 
• e.g. storing and continue after it 
 Receiver - Register for receiving 
content 
• e.g. message receiving functions 
 Listener - Listen to ongoing 
operations 
 e.g. status reports for file 
transfers 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 54
Communication Structures 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 55 
1-to-1 (based on ID) 
 E.g. to copy/stream file 
 For files also 1-click-hosting 
• Store encrypted (Key K) file 
• Under specific ID 
• Retrieve by (ID+Key) (“link“) 
Scribe: topic-based pub/sub 
 Using Scribe 
 Create channel, e.g. for 
hash(“p2phhu”) 
 Send invitation via 1-to-n to 
selected users  they join 
p2phhu channel 
 Messages sent to channel 
p2phhu are received by 
subscribed users 
1-to-n 
 Send message 1-to-1 to n users 
Multi-criterion indexing and 
search 
 File has metadata: attributes 
• Attributes: E.g. Person name, 
age, location … 
 Attributes have values 
 Search for file with attr_i = x_i 
Aggregation tree 
 Sum, min, max, avg, std dev 
 For individual topics  
• One channel per metric
Main Communication Classes 
Communication Classes 
 1-1, 1-N: MessageChannel 
• Identified by unique name 
• Both comm. partners need to create 
this channel 
• 1-to-N: Sender defines list of 
receivers 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 56 
 N-to-m: TopicChannel 
• Identified by unique name 
• Participants subscribe at unique 
name 
• All messages sent to list are 
forwarded to subscribers 
 Aggregate 
• Attribute<T> holds for a single 
measurement: 
– name, unit, aggregation strategy 
and the sensor it was measured 
• Aggregation strategies 
– Sum, count, average, min, max… 
• Statistics on all nodes in AggChannel
Multi-Criterion Search 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 57 
Query Language: 
 Keyword: describes a document 
through a string 
 Attribute/Value: attribute 
attached with numeric value 
Query: 
 collection of keywords or 
attribute/value pairs 
 (Keyword | (Attribute = Value))* 
void indexItemWithTags ( Serializable 
identifier,Collection <String > keywords ); 
void removeItemIndexWithTags ( Serializable 
identifier, Collection <String > keywords ); 
Collection <Serializable> 
searchAllItemsWithTags 
(Collection <String > keywords ); 
Serializable searchItemWithTags (Collection 
<String > keywords); 
Distributed Query Engine: 
Indexing 
 Takes any object and a collection of 
keywords 
 Afterwards the object can be retrieved 
throughout the p2p network 
Querying 
 Takes a query (collection of keywords) 
 Returns the collection of objects, 
where the query-keywords subset of 
index-keywords of the objects
Implemented Search Engines, Common Indexing 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 58 
LocalJoin 
NetworkJoin 
ScribeJoin 
BloomNetJoin
Testing the Query Engines 
Observation: 
 Churn disrupts system performance (even at 
5%) 
 ScribeEngine has best query latency 
• but long reconnect reconnect and indexing 
latencies 
 BloomJoin does not signicantly reduce 
network costs 
 ScribeEngine handles queries with many 
keywords good 
 The others handle queries with very popular 
keywords good 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 59
A P2P-Framework for Social 
Networks 
Peer-to-Peer Framework - Continued 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 60 
 Monitoring 
• Tree-based Monitoring 
 Testing 
• Test-Plugin
P2P Framework - Services 
Remote Operations: 
Distributed Data 
Structures: Prefix 
tree, List, Set, Groups 
Access Control 
Identity Management 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 61 
Testing 
 Enables to initiate remote 
commands for testing 
 E.g. Initiates in a 50 nodes network 
defined behavior set (based on 
measurements) 
Monitoring 
 Captures events from plugins 
and in framework 
 Uses aggregation tree to gather 
statistics on system 
App – Market 
 All Plugins are OSGi – bundles 
 Can be loaded, installed at runtime 
 Define dependencies 
 App market: 
• Host, search and install plugins 
• Determine and get dependencies 
Internet 
Storage and 
Replication 
Communication 
Channels: 
1-to-1, Pub/Sub, 
Aggregation Tree 
User & Group 
Management 
Structured P2P Overlay 
Monitoring 
Testing 
P2P Framework 
App - Market
Motivation for Testing and Monitoring 
Test Plugin for LifeSocial 
 Coordinated automated 
execution & delegation of tasks 
 Easy test setup 
 Generation of content 
 Expandable / Support for new 
LifeSocial plugins 
Wall 
23 % 
Initial 
71 % 
Messages 
16 % 
Profile and 
Friends 
71 % 
Search 
9 % 
11 % 
64 % 
22 % 
10 % 
16 % 
69 % 
9 % 5 % 
Photos Communities 
67 % 
86 % 
82 % 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 62 
Monitoring: 
 Information on system status can be used 
for optimized decisions 
• E.g. peer count defines size of time-to-live 
• E.g. churn pattern defines stabilization 
frequency 
 Necessary to identify (bad) quality of 
mechanisms 
• Too much overhead 
• Too slow routing 
• Efficiency leaks 
 Helps in designing better mechanisms
Test Plugin I – Easy Setup & Generation of Content 
Automated Setup using Java RMI 
 “First” node creates P2P network and serves as bootstrap node 
(Master node) 
 Other nodes join P2P network and await orders (Slave nodes) 
User content is generated without need for user interaction 
 Resource folder contains photos and files 
 Values for messages, group names, city names, country names, user 
interests, usernames, … 
• Example: login.txt file contains more than 4000 possible usernames 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 63
Test Plugin II – Automated Execution of Activities 
Activity: Execution of a social network function 
 Has parameters and preconditions 
 Example 
• Activity: Send a chat message to a friend 
• Precondition: Logged in and at least one friendship to another user 
• Parameter: Actual message content and name of the friend 
• If user has no friendship to another user, Test Plugin automatically sends 
a friend request to a random (online) user 
Preconditions are fulfilled if necessary 
If activity parameters are missing 
 they are chosen randomly from 
the resource files 
Wall 
23 % 
Initial 
71 % 
Messages 
16 % 
Profile and 
Friends 
71 % 
Search 
9 % 
11 % 
64 % 
22 % 
10 % 
16 % 
69 % 
9 % 5 % 
Photos Communities 
67 % 
86 % 
82 % 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 64
Test Plugin II – Automated Execution of Activities 
View Group 
Send Friend 
Request 
View Wall 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 65 
Bootstrap Server Running 
Existing User 
Logged in User 
Register 
Login 
Relogin Logout 
Change Profile 
Picture / Information 
View 
Profile 
Friendship to other User 
Send Chat Message 
Active Chat Conversation 
Reply to 
Chat Message 
Send Offline 
Message 
Active Conversation 
Reply to 
Offline Message 
Create Group 
View Friends 
Groups 
Group exists 
Join Group 
Member of Group 
Send Group 
Message 
Send Wall Post 
Wall Post Exists 
Comment Wall Post 
Search 
User / Group 
Incoming Friend Request 
Accept Friend 
Request 
Existing Photo 
View Friends 
Photo 
Create Photo Album 
Existing Photo Album 
Upload Photo 
View Chat History 
View 
Offline Message
Test Plugin III – Delegation of Tasks 
Every test participant can delegate tasks (social network 
activities) to other test participants 
 Using 1-m messaging communication 
Queue with remaining tasks to execute 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 66 
Timed test plans 
Realisitic churn model
Structured 
Overlay: DHT 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 67 
Monitoring 
Is everything running fine? 
How to debug and to gain insight? 
How to improve the running 
system? 
Underlay: 
The Internet 
H(„my data“ ) 
= 3107 
2207 
7.31.10.25 
12.5.7.31 
peer-to-peer.info 
95.7.6.10 
berkeley.edu planet-lab.org 
86.8.10.18 
2906 
3485 
2011 
1008 1622 
709 
611 
89.11.20.15 
?
Design decisions in SkyEye.KOM 
New layer (vs. integrated) 
 New layer allows wider applicability 
 Set on top of KBR-compatible structured p2p overlays 
Proactive (vs. reactive) 
 System state information is continuously interesting for all users 
Monitoring topology: tree (vs. bus, ring, star, mesh) 
 Fixed out and in degree 
Position assignment: dynamic and deterministic 
 Deterministic IDs used in topology, dynamically resolved with DHT 
For all structured P2P overlays 
 Covered by DHT-function: route(msg, key), lookup(key) 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 68
Reliable structured p2p overlay 
 “Key-based Routing” – operations 
• boolean isMyKey(Key K) 
• void route(key K, Message M, node hint) 
Building a tree topology 
 Introduce new overlay layer 
• With own ID space ([0,1[) 
 Create tree topology in new overlay 
• Using routing of p2p structured overlay 
Concept of new layer 
 Decouples from specific p2p overlay 
 Unified ID space [0,1] 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 69 
Assumptions
Tree-based Monitoring Mechanism 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 70 
Idea: 
 Create (additional) tree topology 
 Protocol: 
• Periodically 
– Calculate aggregate of own local view and received from child nodes 
– Send aggregate to parent node 
• Root calculates global view 
– And passes global view to all peers 
Used in the p2p framework: SkyEye.KOM 
 Assumes structured p2p overlay 
 Aims at high precision with low overhead
SkyEye.KOM: Tree Topology 
Tree of information domains 
Domain Domain ID 
0.09 0.2 0.31 0,4 0.5 0.6 0.75 0.9 
0 1 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 71 
 Domain: ID interval 
• E.g. [0, 0.5[ or [0.75, 0.875[ 
• Largest domain, level 0: [0,1[ 
 Domain ID: “middle value” in interval 
 Domain size split in β parts per level 
Domain IDs build tree topology 
 Node degree: β child nodes 
 Tree topology of domains does not change 
over time! 
 Assignment of peers to domains dynamic 
Peers to Domain ID assignment 
 Peers calculate Domains in which they are 
located 
 For those domains, they calculate the 
Domain IDs (퐾푝푙 
) 
 If peer is responsible: position defined 
1 
10 
50 
20 
30 
40 
45 
15 P2P Overlay 
Internet 
0.25 
0.375 
0,3125 
0.75 
0.125 0.625 0.875 
0.3125 
0.5
SkyEye.KOM: Communication 
Tree-overlay  p2p overlay 
 Reconvert 푡푟푒푒퐼퐷 ∈ [0,1[ 
to 푝푒푒푟퐼퐷 ∈ {0, … , 2160 − 1} 
 Coordinator: 
• Responsible for Domain ID 
• Check via DHT function 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 72 
– isMyKey(Key K) 
 For communication in tree 
• Use route-function of overlay 
• route(Msg M,Key K,Node next) 
Example tree 
 Tree degree (β) = 2 
• Results in logarithmic tree size 
 Balanced, if ID space balanced 
 Not always β children 
• Peers may be Coordinators at 
various levels
SkyEye.KOM: Communication Protocol 
Gathering global view 
 All peers measure local status 푥푖 
 Periodically sent to parent peer 
•  Update Interval (UI) 
1. Independent updates 
in UI intervals per node 
2a 
Aggregated 
view 
1b 
2. ACKs with view of parent 
peer for every update 
1β 
2b 
… 1a 
β child nodes 
2β 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 73 
Aggregation 
 Direct: count, sum, minimum, 
maximum, sum of squares 
 Derived: mean, variance, std. 
deviation 
Dissemination of global view 
 Global view in root 
 Every update message is 
acknowledged 
 Contains global view from level 
above 
Global view 
Local measures, (synchronized signal in simulations)
Aggregation Functions 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 74
Activity Amount of Repetitions Planned Duration (in 
Minutes) 
Login 1 15 
Change Profile Picture 1 3 
Send Friend Request 10 3 
Create Photo Album 10 2 
Upload Photo 200 15 
View Friend’s Photo 100 10 
Join Group 30 10 
Send Group Message 100 10 
View Group Messages 10 5 
Send Wall Post 100 10 
Comment Wall Post 100 50 
View Friend’s Wall 5 5 
Random Activities - 30 
Logout 1 50 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 75 
Example: Test Plan
Example: Test 3 – Results 
Amount of Nodes Available and Used Storage 
60000 
50000 
40000 
30000 
20000 
10000 
Storage Dispatcher Size 
Used Storage 
Available Storage 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 76 
125 
100 
75 
50 
25 
0 
Nodes 
Global network nodes 
0 60 120 180 240 
Nodes 
Time [m] 
0 
0 60 120 180 240 
Data [MB] 
Time [m]
Example: Test 3 – Results 
Load – Messages Load – StorageItems 
Social Network Load - Messages 
25000 
20000 
15000 
10000 
5000 
Social Network Load - StorageItems 
Groups created 
Photo albums created 
Photos uploaded 
Login items created 
Profiles created 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 77 
14000 
12000 
10000 
8000 
6000 
4000 
2000 
0 
Group Messages sent 
Wall Posts sent 
Wall Comments sent 
Friend Requests sent 
0 60 120 180 240 
Units 
Time [m] 
0 
0 60 120 180 240 
Units 
Time [m]
Example: Test 3 – Results 
Photos Plugin Wall Plugin 
12000 
10000 
8000 
6000 
4000 
2000 
Wall Plugin 
Wall posts send 
Wall posts commented 
Walls requested 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 78 
90000 
80000 
70000 
60000 
50000 
40000 
30000 
20000 
10000 
0 
Photos Plugin 
0 60 120 180 240 
Units 
Time [m] 
Albums created 
Photos uploaded 
Albums stored 
Photos stored 
0 
0 60 120 180 240 
Units 
Time [m]
Example: Test 3 – Results 
Groups Plugin Login Plugin 
700 
600 
500 
400 
300 
200 
100 
Login Plugin 
Login Items created 
Login Items stored 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 79 
14000 
12000 
10000 
8000 
6000 
4000 
2000 
0 
Groups Plugin 
Groups Items created 
Group Items stored 
Group Messages sent 
0 60 120 180 240 
Units 
Time [m] 
0 
0 60 120 180 240 
Units 
Time [m]
Example: Test 3 – Results 
Storage per Node Replication Count 
Storage Used per Node 
Maximum Storage Used per Node 
Mean Storage Used per Node 
Minimum Storage Used per Node 
1e+06 
100000 
10000 
1000 
100 
10 
Replication Count 
Overall Replications 
Maximum Replications per Node 
Mean Replications per Node 
Minimum Replications per Node 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 80 
600 
500 
400 
300 
200 
100 
0 
0 60 120 180 240 
Data [MB] 
Time [m] 
1 
0 60 120 180 240 
Units 
Time [m]
Example: Test 3 – Results 
Bandwidth – Messages Traffic 
Bandwidth - Messaging 
60 
50 
40 
30 
20 
10 
Bandwidth - Storage 
Bandwidth - Data sent 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 81 
2500 
2000 
1500 
1000 
500 
0 
Bandwidth - Messages sent 
0 60 120 180 240 
messages/sec 
Time [m] 
0 
0 60 120 180 240 
KB/sec 
Time [m]
Example: Test 3 – Results 
Amount of Errors Memory Usage 
FreePastry Errors 
900 
800 
700 
600 
500 
400 
300 
200 
100 
Memory Usage 
Maximum memory used by an instance 
Mean memory used by an instance 
Minimum memory used by an instance 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 82 
6000 
5000 
4000 
3000 
2000 
1000 
0 
0 60 120 180 240 
Errors 
Time [m] 
Pastry errors 
Decryption errors 
PAST errors 
0 
0 60 120 180 240 
Memory [MB] 
Time [m]
Test Results – Summary I 
Synthetic Behavior of P2P Framework tested with 25, 50 and 100 nodes 
 Amount of actual executed activities measured (uploaded photos, commented 
wall posts, …) 
 Measured values match the expected values (according to the test plans) 
 LifeSocial behaves as expected during synthetic tests 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 83 
Performance 
 All activities finished in scheduled time or earlier (except for commenting wall 
posts) 
• > 19.000 photos in 13 minutes, 9600 group messages in 8 minutes, 9600 wall posts sent 
in 7 minutes 
Bandwidth usage per node 
 Always below 30 Kb/s 
 In average: around 3 Kb / s 
Data Storage 
 Each Item replicated at least 2 times (matches defined replication factor) 
 An average node contributed around 200 Mb storage space with a max-min load 
divergence of 350Mb:50Mb
Test Results – Summary II 
Monitoring and Test Plugin work reliable 
 Small variances on monitoring results, still precise 
 Test Plugin is a powerful tool to coordinate large-scale distributed tests 
But: Prior tests revealed errors in LifeSocial 
 Memory leak in FreePastry (has been fixed) 
 Failure in MessageDispatcher 
• Deadlock leads to unresponsive application 
• Chat Plugin has been disabled for remaining tests 
 Error-prone usage of LoginItem to obtain node ID 
• If the application crashes, the system assumes the user is still online 
Failures in Search & Wall Plugin occur in unstable test 
environment (with churn) 
 Failure in Search Plugin 
• Leads to endless search operations 
 Failure in Wall Plugin 
• ClassCastException leads to application crash 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 84
Appstore - Requirements 
Appstore: Offer and retrieve new plugins 
Some Requirements: 
 Two roles: plugin provider and plugin user 
 Plugin provider can publish new plugins, release new versions, edit or 
delete them 
 Plugin user can search for plugins, download, install them and 
manage installed plugins 
 Installed plugins: start/stop/update/uninstall 
Related GUI for the above mentioned functionalities: 
 Publisher View 
 Search View 
 Installed Plugins View 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 85
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 86 
Appstore - Details 
Plugin – Model 
 Plugin object 
 Metadata: Plugin meta, version meta 
Private repository (with unique user-related name) 
 Contains the information of: 
• Published plugins 
– Offered plugins 
• Installed plugins 
– In order to maintain app-list in the network 
– Allows to install all apps at other device 
Publisher actions: publish, remove, release new version, edit metadata 
 Storage: Plugin object and metadata  network 
 Meta-information of the published plugins  private repository 
Search actions: precise search by name, download and install 
 Exact plugin name is required 
 Output: list of avaliable versions 
Plugin user actions: start, stop, update, uninstall
A P2P-Framework for Social 
Networks 
Plugins and Graphical User Interface 
 Mandatory Plugins 
 Optional Plugins 
Graphical User Interface 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 87 
 GUI Framework 
 Perspectives 
 Individual Views
LifeSocial: Plugins implementing a Social Network 
Commands Interface 
Optional Plugins 
OpOtipotnioanl aPll uPgluingsins 
Remote Operations: 
Distributed Data 
Structures: Prefix 
tree, List, Set, Groups 
Access Control 
Storage and 
Replication 
Identity Management 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 88 
Plugins: 
 Using the P2P Framework 
 Written in Java, OSGi 
• Open Services Gateway initiative 
• Supports component model 
(bundle/service) 
 Functionality of social networks 
 Easy Plugin-to-Plugin 
communication 
• Over shared storage 
– E.g. photos 
• Over Plugin ID based messaging 
– E.g. Chat-app to chat-app 
Mandatory Plugins 
 Login, Profile, Friends, Wall, 
Groups, Photos, Chat, Messaging, 
Filetransfer (1-to-1), App-Market 
Optional Plugins 
 Voting, Multi-Chat, One-Click- 
Filehosting, Forum Internet 
Communication 
Channels: 
1-to-1, Pub/Sub, 
Aggregation Tree 
User & Group 
Management 
Structured P2P Overlay 
Monitoring 
Testing 
Mandatory Plugins 
Mandatory Plugins 
Mandatory Plugins 
P2P Framework Plugins and Apps 
App - Market
LifeSocial: Graphical User Interface 
Graphical User Interface 
 GUI Framework able to host 
individual Plugin Views 
 Allows to arrange views 
• Save / load arrangements 
Graphical User Interface Framework 
Plugin GUI Plugin GUI Plugin GUI 
Commands Interface 
Optional Plugins 
OpOtipotnioanl aPll uPgluingsins 
Remote Operations: 
Distributed Data 
Structures: Prefix 
tree, List, Set, Groups 
Access Control 
Identity Management 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 89 
Views 
 Each Plugin comes with 1+ 
views 
 Some views use several 
Plugins 
 E.g. friends selector 
 E.g. message views 
• inbox, outbox, compose 
Internet 
Storage and 
Replication 
Communication 
Channels: 
1-to-1, Pub/Sub, 
Aggregation Tree 
User & Group 
Management 
Structured P2P Overlay 
Monitoring 
Testing 
Mandatory Plugins 
Mandatory Plugins 
Mandatory Plugins 
P2P Framework Plugins and Apps GUI 
App - Market
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 90 
Current Plugins 
Login 
 Create and login to user account 
Profile 
 Create and share personal information 
Friends 
 Link to friends 
Mails 
 Send and receive messages 
Photos 
 Upload, share and watch photos 
Wall 
 Write public messages, post own 
status, comment messages 
Chat 
 Chat with a friend 
Multi-Chat 
 Create / Join a topic channel and chat 
Browser 
 Extended views to display formated 
entries or websites 
Groups 
 Join groups and use dedicated working 
environments 
Forum (Group element) 
 Create threads and topics 
 Discuss on topics 
Voting 
 Create polls, define answers, invite 
participants for public/private votes 
File Storage 
 One-click file hosting: upload, get a link, 
share the link and allow other users to 
download files 
App Store 
 Create and share new plugins 
 Maintain own plugin list independent of used 
device 
Monitoring 
 Monitor usage of the network 
 Existing graphical user interface 
Test plugin 
 Remotely control network peers for 
automatic test plan execution 
 Content generation and real user 
environment simulation
(Outdated) Plugin Architecture Overview 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 91
Plugins to GUI Relation 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 92
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 93 
User View
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 94 
User View
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 95 
Management View
Graphical User Interface Details 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 96 
Task of views 
 Combine functionality from framework to applications 
 Often uses several plugins 
Plugins might come with 0-n views 
 Email has 2+ views 
• Compose, inbox/outbox 
 Some plugins have no views 
• Search plugin only as helper 
Perspectives 
 View combinations and positions can be stored as perspectives 
 Allows for customized allocations 
• E.g. Working perspective, communincation perspective …
A P2P-Framework for Social 
Networks 
Outlook – Future Work 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 97
Current Steps in LifeSocial 
Ongoing project group (16 students) 
 “A Peer-to-Peer Framework for Social Networks” 
 Goal 
• Finalize p2p framework: secure, quality-controlled, … 
• Add further essential functionality to framework 
– Live multimedia streams (chatting, streaming) 
• Add more novel applications 
2014 presentation at CeBIT 
 Like 2009, 2010, 2012, 2013 
Contributions for the community 
 New applications induce new research challenges 
 Publish p2p framework as open source 
 Initiate a community for further developments 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 98
Several Open Topics and Application Areas 
E-Learning Environment 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 99 
 Live lectures, tests 
 Data repository 
Realtime Communication 
 Voice / video 
P2P Wiki 
 Versioning 
P2P Normsetting Environment 
 Proposals, Votes 
 Decisions 
General Peer-to-Peer Framework 
Service and Ressource Access Networking and Storage Monitoring and Control Security and Privacy
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 100 
Publications 
P2P Framework – LifeSocial Overview 
 K. Graffi, C. Groß, D. Stingl, D. Hartung, A. Kovacevic, R. 
Steinmetz „LifeSocial.KOM: A Secure and P2P-based Solution 
for Online Social Networks“. In: Proc. of the IEEE Consumer 
Communications and Networking Conference, (IEEE 
CCNC’11), Januar 2011 
 K. Graffi, C.Groß, P. Mukherjee, A. Kovacevic, R. Steinmetz: 
„LifeSocial.KOM: A P2P-based Platform for Secure Online 
Social Networks“. In: Proc. of the 10th IEEE International 
Conference on Peer-to-Peer Computing, (IEEE P2P’10), 
August 2010. 
 K. Graffi, S. Podrajanski, P. Mukherjee, A. Kovacevic, R. 
Steinmetz: „A Distributed Platform for Multimedia 
Communities“. In: Proc. of the IEEE International Symposium 
on Multimedia (IEEE ISM ’08), December 2008. 
Security 
 K. Graffi, P. Mukherjee, B.Menges, D. Hartung, A. Kovacevic, 
R. Steinmetz: „Practical Security for P2P-based Social 
Networks“. In: Proc. of the 9th IEEE International Conference 
on Local Computing Networks, (IEEE LCN’09), August 2009. 
Monitoring 
 K. Graffi, D.Stingl, J. Rueckert, A. Kovacevic, R. Steinmetz: 
„Monitoring and Management of Structured P2P Systems“. In: 
Proc. of the 9th IEEE International Conference on Peer-to-Peer 
Computing, (IEEE P2P’09), September 2009. 
 K. Graffi, A. Kovacevic, S. Xiao, R. Steinmetz: „SkyEye.KOM: 
An Information Management Over-Overlay for Getting the 
Oracle View on Structured P2P Systems“. In: Proc. of the 14th 
IEEE International Conference on Parallel and Distributed 
Systems (IEEE ICPADS’08), December 2008. 
 K.Graffi, „Monitoring and Management of Peer-to-Peer 
Systems“, Technische Universität Darmstadt, 2010. 
Heterogeneity handling 
 K.Graffi, S. Kaune, K.Pussep, A.Kovacevic, R.Steinmetz: 
“Load Balancing for Multimedia Streaming in Heterogeneous 
Peer-to-Peer Systems“. In: Proc. of the 8th ACM SIGMM Int. 
Workshop on Network and Operating Systems Support for 
Digital Audio and Video (ACM NOSSDAV ’08), May 2008. 
Related evaluation tools: 
 M. Feldotto, K. Graffi: “Comparative Evaluation 
of Peer-to-Peer Systems using 
PeerfactSim.KOM “. In Proc. of the IEEE 
International Conference on High Performance 
Computing and Simulation (IEEE HPCS ’13), 
2013 
 K. Graffi: “PeerfactSim.KOM: A P2P System 
Simulator – Experiences and Lessons 
Learned“. In: Proc. of the IEEE International 
Conference on Peer-to-Peer Computing, (IEEE 
P2P’11), August 2011 
Related load-balancing / heterogeneity 
awareness 
 L. Bremer, K. Graffi: “Symbiotic Coupling of 
P2P and Cloud Systems: The Wikipedia Case“. 
In Proc. of the IEEE International Conference 
on Communications (IEEE ICC ’13), 2013 
 P. Wette, K. Graffi: “Adding Capacity 
Awareness and Load Balancing to 
Homogeneous Distributed Hash Tables“. In 
Proc. of the IEEE International Conference on 
Networked Systems (IEEE NetSys ’13), 2013 
 K. Graffi, C. Groß, D. Stingl, H.Nguyen, A. 
Kovacevic, R. Steinmetz: „Towards a P2P 
Cloud: Reliable Resource Reservations in 
Unreliable P2P Systems“.In: Proc. of the 16th 
IEEE International Conference on Parallel and 
Distributed Systems, (IEEE ICPADS’10), 
December 2010
A Peer-to-Peer Framework for Social Networks 
More information: www.p2pframework.com 
Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 101

More Related Content

Viewers also liked

Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabi...
Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabi...Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabi...
Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabi...Kalman Graffi
 
IEEE P2P 2013 - Bootstrapping Skynet: Calibration and Autonomic Self-Control ...
IEEE P2P 2013 - Bootstrapping Skynet: Calibration and Autonomic Self-Control ...IEEE P2P 2013 - Bootstrapping Skynet: Calibration and Autonomic Self-Control ...
IEEE P2P 2013 - Bootstrapping Skynet: Calibration and Autonomic Self-Control ...Kalman Graffi
 
Social networks security
Social networks securitySocial networks security
Social networks securityRoman Osidach
 
A Batch-authenticated And Key Agreement Framework For P2p-based Online Social...
A Batch-authenticated And Key AgreementFramework For P2p-based Online Social...A Batch-authenticated And Key AgreementFramework For P2p-based Online Social...
A Batch-authenticated And Key Agreement Framework For P2p-based Online Social...Sahithi Naraparaju
 
Security Aspects of Social Networks at Campus Party 2010
Security Aspects of Social Networks at Campus Party 2010Security Aspects of Social Networks at Campus Party 2010
Security Aspects of Social Networks at Campus Party 2010Anchises Moraes
 
Social networks and security
Social networks and securitySocial networks and security
Social networks and securityARICT
 
Interop 2011 las vegas - session se31 - rothke
Interop 2011   las vegas - session se31 - rothkeInterop 2011   las vegas - session se31 - rothke
Interop 2011 las vegas - session se31 - rothkeBen Rothke
 
Security and Trust in social media networks
Security and Trust in social media networksSecurity and Trust in social media networks
Security and Trust in social media networksTouradj Ebrahimi
 
Social networks security risks
Social networks security risksSocial networks security risks
Social networks security risksosuhaibany
 
Security threats in social networks
Security threats in social networksSecurity threats in social networks
Security threats in social networksTannistho Ghosh
 
Security on social networks AVAST
Security on social networks AVASTSecurity on social networks AVAST
Security on social networks AVASTJulia Szymańska
 
Utilizing Social Networks for User Model Priming: User Attitudes
Utilizing Social Networks for User Model Priming: User AttitudesUtilizing Social Networks for User Model Priming: User Attitudes
Utilizing Social Networks for User Model Priming: User AttitudesAdam Moore
 
Multiparty Access Control For Online Social Networks : Model and Mechanisms.
Multiparty Access Control For Online Social Networks : Model and Mechanisms.Multiparty Access Control For Online Social Networks : Model and Mechanisms.
Multiparty Access Control For Online Social Networks : Model and Mechanisms.Kiran K.V.S.
 
Twitter in Disaster Mode: Security Architecture
Twitter in Disaster Mode: Security ArchitectureTwitter in Disaster Mode: Security Architecture
Twitter in Disaster Mode: Security ArchitectureTheus Hossmann
 
DETECTION AND RECTIFICATION OF DISTORTED FINGERPRINTS
 DETECTION AND RECTIFICATION OF DISTORTED FINGERPRINTS DETECTION AND RECTIFICATION OF DISTORTED FINGERPRINTS
DETECTION AND RECTIFICATION OF DISTORTED FINGERPRINTSNexgen Technology
 
Twitter Search Architecture
Twitter Search Architecture Twitter Search Architecture
Twitter Search Architecture Ramez Al-Fayez
 
Facebook architecture
Facebook architectureFacebook architecture
Facebook architecturemysqlops
 
Technology stack of social networks [MTS]
Technology stack of social networks [MTS]Technology stack of social networks [MTS]
Technology stack of social networks [MTS]philmaweb
 
Mobile application architecture
Mobile application architectureMobile application architecture
Mobile application architectureChristos Matskas
 

Viewers also liked (20)

Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabi...
Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabi...Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabi...
Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabi...
 
IEEE P2P 2013 - Bootstrapping Skynet: Calibration and Autonomic Self-Control ...
IEEE P2P 2013 - Bootstrapping Skynet: Calibration and Autonomic Self-Control ...IEEE P2P 2013 - Bootstrapping Skynet: Calibration and Autonomic Self-Control ...
IEEE P2P 2013 - Bootstrapping Skynet: Calibration and Autonomic Self-Control ...
 
Social networks security
Social networks securitySocial networks security
Social networks security
 
A Batch-authenticated And Key Agreement Framework For P2p-based Online Social...
A Batch-authenticated And Key AgreementFramework For P2p-based Online Social...A Batch-authenticated And Key AgreementFramework For P2p-based Online Social...
A Batch-authenticated And Key Agreement Framework For P2p-based Online Social...
 
Security Aspects of Social Networks at Campus Party 2010
Security Aspects of Social Networks at Campus Party 2010Security Aspects of Social Networks at Campus Party 2010
Security Aspects of Social Networks at Campus Party 2010
 
Social networks and security
Social networks and securitySocial networks and security
Social networks and security
 
Interop 2011 las vegas - session se31 - rothke
Interop 2011   las vegas - session se31 - rothkeInterop 2011   las vegas - session se31 - rothke
Interop 2011 las vegas - session se31 - rothke
 
Security and Trust in social media networks
Security and Trust in social media networksSecurity and Trust in social media networks
Security and Trust in social media networks
 
Social networks security risks
Social networks security risksSocial networks security risks
Social networks security risks
 
Security threats in social networks
Security threats in social networksSecurity threats in social networks
Security threats in social networks
 
Security on social networks AVAST
Security on social networks AVASTSecurity on social networks AVAST
Security on social networks AVAST
 
Utilizing Social Networks for User Model Priming: User Attitudes
Utilizing Social Networks for User Model Priming: User AttitudesUtilizing Social Networks for User Model Priming: User Attitudes
Utilizing Social Networks for User Model Priming: User Attitudes
 
Multiparty Access Control For Online Social Networks : Model and Mechanisms.
Multiparty Access Control For Online Social Networks : Model and Mechanisms.Multiparty Access Control For Online Social Networks : Model and Mechanisms.
Multiparty Access Control For Online Social Networks : Model and Mechanisms.
 
Twitter in Disaster Mode: Security Architecture
Twitter in Disaster Mode: Security ArchitectureTwitter in Disaster Mode: Security Architecture
Twitter in Disaster Mode: Security Architecture
 
QQ Overview
QQ  OverviewQQ  Overview
QQ Overview
 
DETECTION AND RECTIFICATION OF DISTORTED FINGERPRINTS
 DETECTION AND RECTIFICATION OF DISTORTED FINGERPRINTS DETECTION AND RECTIFICATION OF DISTORTED FINGERPRINTS
DETECTION AND RECTIFICATION OF DISTORTED FINGERPRINTS
 
Twitter Search Architecture
Twitter Search Architecture Twitter Search Architecture
Twitter Search Architecture
 
Facebook architecture
Facebook architectureFacebook architecture
Facebook architecture
 
Technology stack of social networks [MTS]
Technology stack of social networks [MTS]Technology stack of social networks [MTS]
Technology stack of social networks [MTS]
 
Mobile application architecture
Mobile application architectureMobile application architecture
Mobile application architecture
 

Similar to LibreSocial - P2P Framework for Social Networks - Overview

IEEE CCNC 2011: Kalman Graffi - LifeSocial.KOM: A Secure and P2P-based Soluti...
IEEE CCNC 2011: Kalman Graffi - LifeSocial.KOM: A Secure and P2P-based Soluti...IEEE CCNC 2011: Kalman Graffi - LifeSocial.KOM: A Secure and P2P-based Soluti...
IEEE CCNC 2011: Kalman Graffi - LifeSocial.KOM: A Secure and P2P-based Soluti...Kalman Graffi
 
IEEE ISM 2008: Kalman Graffi: A Distributed Platform for Multimedia Communities
IEEE ISM 2008: Kalman Graffi: A Distributed Platform for Multimedia CommunitiesIEEE ISM 2008: Kalman Graffi: A Distributed Platform for Multimedia Communities
IEEE ISM 2008: Kalman Graffi: A Distributed Platform for Multimedia CommunitiesKalman Graffi
 
LifeSocial - A P2P-Platform for Secure Online Social Networks
LifeSocial - A P2P-Platform for Secure Online Social NetworksLifeSocial - A P2P-Platform for Secure Online Social Networks
LifeSocial - A P2P-Platform for Secure Online Social NetworksKalman Graffi
 
Everyday life with Cloud Foundry in a big organization (Cloud Foundry Days To...
Everyday life with Cloud Foundry in a big organization (Cloud Foundry Days To...Everyday life with Cloud Foundry in a big organization (Cloud Foundry Days To...
Everyday life with Cloud Foundry in a big organization (Cloud Foundry Days To...CAFxX
 
Introduction to Full Stack Web3 Social with Lens Protocol and Next.js
Introduction to Full Stack Web3 Social with Lens Protocol and Next.jsIntroduction to Full Stack Web3 Social with Lens Protocol and Next.js
Introduction to Full Stack Web3 Social with Lens Protocol and Next.jsNeven6
 
Biocatalogue, FileQuirks, MyExperiment
Biocatalogue, FileQuirks, MyExperimentBiocatalogue, FileQuirks, MyExperiment
Biocatalogue, FileQuirks, MyExperimentJerzy
 
Introduction To Open Web Protocols
Introduction To Open Web ProtocolsIntroduction To Open Web Protocols
Introduction To Open Web ProtocolsMohan Krishnan
 
An Ad-hoc Smart Gateway Platform for the Web of Things (IEEE iThings 2013 Bes...
An Ad-hoc Smart Gateway Platform for the Web of Things (IEEE iThings 2013 Bes...An Ad-hoc Smart Gateway Platform for the Web of Things (IEEE iThings 2013 Bes...
An Ad-hoc Smart Gateway Platform for the Web of Things (IEEE iThings 2013 Bes...Darren Carlson
 
Maintaining and Releasing Open Source Software
Maintaining and Releasing Open Source SoftwareMaintaining and Releasing Open Source Software
Maintaining and Releasing Open Source SoftwareJoel Nothman
 
Final Project Presentation.pptx
Final Project Presentation.pptxFinal Project Presentation.pptx
Final Project Presentation.pptxstevenmsusa
 
stackconf 2021 | First hand experience: How Nextcloud stayed productive durin...
stackconf 2021 | First hand experience: How Nextcloud stayed productive durin...stackconf 2021 | First hand experience: How Nextcloud stayed productive durin...
stackconf 2021 | First hand experience: How Nextcloud stayed productive durin...NETWAYS
 
Peer to Peer Network with its Architecture, Types, and Examples!!
Peer to Peer Network with its Architecture, Types, and Examples!!Peer to Peer Network with its Architecture, Types, and Examples!!
Peer to Peer Network with its Architecture, Types, and Examples!!DigitalThinkerHelp
 
Adding P2P support to WengoPhone, an open-source VoIP and ...
Adding P2P support to WengoPhone, an open-source VoIP and ...Adding P2P support to WengoPhone, an open-source VoIP and ...
Adding P2P support to WengoPhone, an open-source VoIP and ...Videoguy
 

Similar to LibreSocial - P2P Framework for Social Networks - Overview (20)

IEEE CCNC 2011: Kalman Graffi - LifeSocial.KOM: A Secure and P2P-based Soluti...
IEEE CCNC 2011: Kalman Graffi - LifeSocial.KOM: A Secure and P2P-based Soluti...IEEE CCNC 2011: Kalman Graffi - LifeSocial.KOM: A Secure and P2P-based Soluti...
IEEE CCNC 2011: Kalman Graffi - LifeSocial.KOM: A Secure and P2P-based Soluti...
 
IEEE ISM 2008: Kalman Graffi: A Distributed Platform for Multimedia Communities
IEEE ISM 2008: Kalman Graffi: A Distributed Platform for Multimedia CommunitiesIEEE ISM 2008: Kalman Graffi: A Distributed Platform for Multimedia Communities
IEEE ISM 2008: Kalman Graffi: A Distributed Platform for Multimedia Communities
 
LifeSocial - A P2P-Platform for Secure Online Social Networks
LifeSocial - A P2P-Platform for Secure Online Social NetworksLifeSocial - A P2P-Platform for Secure Online Social Networks
LifeSocial - A P2P-Platform for Secure Online Social Networks
 
Peer to Peer services and File systems
Peer to Peer services and File systemsPeer to Peer services and File systems
Peer to Peer services and File systems
 
Everyday life with Cloud Foundry in a big organization (Cloud Foundry Days To...
Everyday life with Cloud Foundry in a big organization (Cloud Foundry Days To...Everyday life with Cloud Foundry in a big organization (Cloud Foundry Days To...
Everyday life with Cloud Foundry in a big organization (Cloud Foundry Days To...
 
presentation_SB_v01
presentation_SB_v01presentation_SB_v01
presentation_SB_v01
 
Introduction to Full Stack Web3 Social with Lens Protocol and Next.js
Introduction to Full Stack Web3 Social with Lens Protocol and Next.jsIntroduction to Full Stack Web3 Social with Lens Protocol and Next.js
Introduction to Full Stack Web3 Social with Lens Protocol and Next.js
 
Biocatalogue, FileQuirks, MyExperiment
Biocatalogue, FileQuirks, MyExperimentBiocatalogue, FileQuirks, MyExperiment
Biocatalogue, FileQuirks, MyExperiment
 
Open source: Making connections by Sunny Pai
Open source: Making connections by Sunny PaiOpen source: Making connections by Sunny Pai
Open source: Making connections by Sunny Pai
 
Introduction To Open Web Protocols
Introduction To Open Web ProtocolsIntroduction To Open Web Protocols
Introduction To Open Web Protocols
 
An Ad-hoc Smart Gateway Platform for the Web of Things (IEEE iThings 2013 Bes...
An Ad-hoc Smart Gateway Platform for the Web of Things (IEEE iThings 2013 Bes...An Ad-hoc Smart Gateway Platform for the Web of Things (IEEE iThings 2013 Bes...
An Ad-hoc Smart Gateway Platform for the Web of Things (IEEE iThings 2013 Bes...
 
Maintaining and Releasing Open Source Software
Maintaining and Releasing Open Source SoftwareMaintaining and Releasing Open Source Software
Maintaining and Releasing Open Source Software
 
2016 open-source-network-softwarization
2016 open-source-network-softwarization2016 open-source-network-softwarization
2016 open-source-network-softwarization
 
2016 open-source-network-softwarization
2016 open-source-network-softwarization2016 open-source-network-softwarization
2016 open-source-network-softwarization
 
Open Source in the Enterprise
Open Source in the EnterpriseOpen Source in the Enterprise
Open Source in the Enterprise
 
Final Project Presentation.pptx
Final Project Presentation.pptxFinal Project Presentation.pptx
Final Project Presentation.pptx
 
stackconf 2021 | First hand experience: How Nextcloud stayed productive durin...
stackconf 2021 | First hand experience: How Nextcloud stayed productive durin...stackconf 2021 | First hand experience: How Nextcloud stayed productive durin...
stackconf 2021 | First hand experience: How Nextcloud stayed productive durin...
 
Peer to Peer Network with its Architecture, Types, and Examples!!
Peer to Peer Network with its Architecture, Types, and Examples!!Peer to Peer Network with its Architecture, Types, and Examples!!
Peer to Peer Network with its Architecture, Types, and Examples!!
 
OpenDaylight nluug_november
OpenDaylight nluug_novemberOpenDaylight nluug_november
OpenDaylight nluug_november
 
Adding P2P support to WengoPhone, an open-source VoIP and ...
Adding P2P support to WengoPhone, an open-source VoIP and ...Adding P2P support to WengoPhone, an open-source VoIP and ...
Adding P2P support to WengoPhone, an open-source VoIP and ...
 

More from Kalman Graffi

Kalman Graffi - IEEE ICC 2013 - Symbiotic Coupling of Peer-to-Peer and Cloud ...
Kalman Graffi - IEEE ICC 2013 - Symbiotic Coupling of Peer-to-Peer and Cloud ...Kalman Graffi - IEEE ICC 2013 - Symbiotic Coupling of Peer-to-Peer and Cloud ...
Kalman Graffi - IEEE ICC 2013 - Symbiotic Coupling of Peer-to-Peer and Cloud ...Kalman Graffi
 
Kalman Graffi - IEEE HPCS 2013 - Comparative Evaluation of P2P Systems Using ...
Kalman Graffi - IEEE HPCS 2013 - Comparative Evaluation of P2P Systems Using ...Kalman Graffi - IEEE HPCS 2013 - Comparative Evaluation of P2P Systems Using ...
Kalman Graffi - IEEE HPCS 2013 - Comparative Evaluation of P2P Systems Using ...Kalman Graffi
 
Kalman Graffi - Monitoring and Management of P2P Systems - 2010
Kalman Graffi - Monitoring and Management of P2P Systems - 2010Kalman Graffi - Monitoring and Management of P2P Systems - 2010
Kalman Graffi - Monitoring and Management of P2P Systems - 2010Kalman Graffi
 
Kalman Graffi - 15 Slide on Monitoring P2P Systems - 2010
Kalman Graffi - 15 Slide on Monitoring P2P Systems - 2010Kalman Graffi - 15 Slide on Monitoring P2P Systems - 2010
Kalman Graffi - 15 Slide on Monitoring P2P Systems - 2010Kalman Graffi
 
QuaP2P Lunchtalk on Online Social Networks 2010 - LifeSocial
QuaP2P Lunchtalk on Online Social Networks 2010 - LifeSocialQuaP2P Lunchtalk on Online Social Networks 2010 - LifeSocial
QuaP2P Lunchtalk on Online Social Networks 2010 - LifeSocialKalman Graffi
 
Dagstuhl 2010 - Kalman Graffi - Alternative, more promising IT Paradigms for ...
Dagstuhl 2010 - Kalman Graffi - Alternative, more promising IT Paradigms for ...Dagstuhl 2010 - Kalman Graffi - Alternative, more promising IT Paradigms for ...
Dagstuhl 2010 - Kalman Graffi - Alternative, more promising IT Paradigms for ...Kalman Graffi
 
Kalman Graffi - 10 Slide - 2010
Kalman Graffi - 10 Slide - 2010Kalman Graffi - 10 Slide - 2010
Kalman Graffi - 10 Slide - 2010Kalman Graffi
 
Kalman Graffi - 1 Slide - 2010
Kalman Graffi - 1 Slide - 2010Kalman Graffi - 1 Slide - 2010
Kalman Graffi - 1 Slide - 2010Kalman Graffi
 
Kalman Graffi - Sichere Digitale Soziale Netzwerke – Eine Chance für E-Learni...
Kalman Graffi - Sichere Digitale Soziale Netzwerke – Eine Chance für E-Learni...Kalman Graffi - Sichere Digitale Soziale Netzwerke – Eine Chance für E-Learni...
Kalman Graffi - Sichere Digitale Soziale Netzwerke – Eine Chance für E-Learni...Kalman Graffi
 
Kalman Graffi - 3rd Research Talk - 2010
Kalman Graffi - 3rd Research Talk - 2010Kalman Graffi - 3rd Research Talk - 2010
Kalman Graffi - 3rd Research Talk - 2010Kalman Graffi
 
IEEE P2P 2009 - Kalman Graffi - Monitoring and Management of Structured Peer-...
IEEE P2P 2009 - Kalman Graffi - Monitoring and Management of Structured Peer-...IEEE P2P 2009 - Kalman Graffi - Monitoring and Management of Structured Peer-...
IEEE P2P 2009 - Kalman Graffi - Monitoring and Management of Structured Peer-...Kalman Graffi
 
2009 kalman.graffi emanics_aspects_ofautonomiccomputing_20090617
2009 kalman.graffi emanics_aspects_ofautonomiccomputing_200906172009 kalman.graffi emanics_aspects_ofautonomiccomputing_20090617
2009 kalman.graffi emanics_aspects_ofautonomiccomputing_20090617Kalman Graffi
 
Cebit 2008 - PeerfactSim.KOM - A Simulator for Large Scale Peer-to-Peer Systems
Cebit 2008 - PeerfactSim.KOM - A Simulator for Large Scale Peer-to-Peer SystemsCebit 2008 - PeerfactSim.KOM - A Simulator for Large Scale Peer-to-Peer Systems
Cebit 2008 - PeerfactSim.KOM - A Simulator for Large Scale Peer-to-Peer SystemsKalman Graffi
 
Cebit 2008 - PeerfactSim.KOM - Ein Simulator für hochskalierede Peer-to-Peer ...
Cebit 2008 - PeerfactSim.KOM - Ein Simulator für hochskalierede Peer-to-Peer ...Cebit 2008 - PeerfactSim.KOM - Ein Simulator für hochskalierede Peer-to-Peer ...
Cebit 2008 - PeerfactSim.KOM - Ein Simulator für hochskalierede Peer-to-Peer ...Kalman Graffi
 
Kalman Graffi - 2rd Research Talk - 2009
Kalman Graffi - 2rd Research Talk - 2009Kalman Graffi - 2rd Research Talk - 2009
Kalman Graffi - 2rd Research Talk - 2009Kalman Graffi
 
Kalman Graffi - 5 Slides Demo - 2008
Kalman Graffi - 5 Slides Demo - 2008Kalman Graffi - 5 Slides Demo - 2008
Kalman Graffi - 5 Slides Demo - 2008Kalman Graffi
 
Kalman Graffi - Efficiency and Information Management in Peer-to-Peer Systems
Kalman Graffi - Efficiency and Information Management in Peer-to-Peer SystemsKalman Graffi - Efficiency and Information Management in Peer-to-Peer Systems
Kalman Graffi - Efficiency and Information Management in Peer-to-Peer SystemsKalman Graffi
 
IEEE ICPADS 2008 - Kalman Graffi - SkyEye.KOM: An Information Management Over...
IEEE ICPADS 2008 - Kalman Graffi - SkyEye.KOM: An Information Management Over...IEEE ICPADS 2008 - Kalman Graffi - SkyEye.KOM: An Information Management Over...
IEEE ICPADS 2008 - Kalman Graffi - SkyEye.KOM: An Information Management Over...Kalman Graffi
 
ACM NOTERE 2008 - Kalman Graffi - From Cells to Organisms - Long-Term Guarant...
ACM NOTERE 2008 - Kalman Graffi - From Cells to Organisms - Long-Term Guarant...ACM NOTERE 2008 - Kalman Graffi - From Cells to Organisms - Long-Term Guarant...
ACM NOTERE 2008 - Kalman Graffi - From Cells to Organisms - Long-Term Guarant...Kalman Graffi
 

More from Kalman Graffi (19)

Kalman Graffi - IEEE ICC 2013 - Symbiotic Coupling of Peer-to-Peer and Cloud ...
Kalman Graffi - IEEE ICC 2013 - Symbiotic Coupling of Peer-to-Peer and Cloud ...Kalman Graffi - IEEE ICC 2013 - Symbiotic Coupling of Peer-to-Peer and Cloud ...
Kalman Graffi - IEEE ICC 2013 - Symbiotic Coupling of Peer-to-Peer and Cloud ...
 
Kalman Graffi - IEEE HPCS 2013 - Comparative Evaluation of P2P Systems Using ...
Kalman Graffi - IEEE HPCS 2013 - Comparative Evaluation of P2P Systems Using ...Kalman Graffi - IEEE HPCS 2013 - Comparative Evaluation of P2P Systems Using ...
Kalman Graffi - IEEE HPCS 2013 - Comparative Evaluation of P2P Systems Using ...
 
Kalman Graffi - Monitoring and Management of P2P Systems - 2010
Kalman Graffi - Monitoring and Management of P2P Systems - 2010Kalman Graffi - Monitoring and Management of P2P Systems - 2010
Kalman Graffi - Monitoring and Management of P2P Systems - 2010
 
Kalman Graffi - 15 Slide on Monitoring P2P Systems - 2010
Kalman Graffi - 15 Slide on Monitoring P2P Systems - 2010Kalman Graffi - 15 Slide on Monitoring P2P Systems - 2010
Kalman Graffi - 15 Slide on Monitoring P2P Systems - 2010
 
QuaP2P Lunchtalk on Online Social Networks 2010 - LifeSocial
QuaP2P Lunchtalk on Online Social Networks 2010 - LifeSocialQuaP2P Lunchtalk on Online Social Networks 2010 - LifeSocial
QuaP2P Lunchtalk on Online Social Networks 2010 - LifeSocial
 
Dagstuhl 2010 - Kalman Graffi - Alternative, more promising IT Paradigms for ...
Dagstuhl 2010 - Kalman Graffi - Alternative, more promising IT Paradigms for ...Dagstuhl 2010 - Kalman Graffi - Alternative, more promising IT Paradigms for ...
Dagstuhl 2010 - Kalman Graffi - Alternative, more promising IT Paradigms for ...
 
Kalman Graffi - 10 Slide - 2010
Kalman Graffi - 10 Slide - 2010Kalman Graffi - 10 Slide - 2010
Kalman Graffi - 10 Slide - 2010
 
Kalman Graffi - 1 Slide - 2010
Kalman Graffi - 1 Slide - 2010Kalman Graffi - 1 Slide - 2010
Kalman Graffi - 1 Slide - 2010
 
Kalman Graffi - Sichere Digitale Soziale Netzwerke – Eine Chance für E-Learni...
Kalman Graffi - Sichere Digitale Soziale Netzwerke – Eine Chance für E-Learni...Kalman Graffi - Sichere Digitale Soziale Netzwerke – Eine Chance für E-Learni...
Kalman Graffi - Sichere Digitale Soziale Netzwerke – Eine Chance für E-Learni...
 
Kalman Graffi - 3rd Research Talk - 2010
Kalman Graffi - 3rd Research Talk - 2010Kalman Graffi - 3rd Research Talk - 2010
Kalman Graffi - 3rd Research Talk - 2010
 
IEEE P2P 2009 - Kalman Graffi - Monitoring and Management of Structured Peer-...
IEEE P2P 2009 - Kalman Graffi - Monitoring and Management of Structured Peer-...IEEE P2P 2009 - Kalman Graffi - Monitoring and Management of Structured Peer-...
IEEE P2P 2009 - Kalman Graffi - Monitoring and Management of Structured Peer-...
 
2009 kalman.graffi emanics_aspects_ofautonomiccomputing_20090617
2009 kalman.graffi emanics_aspects_ofautonomiccomputing_200906172009 kalman.graffi emanics_aspects_ofautonomiccomputing_20090617
2009 kalman.graffi emanics_aspects_ofautonomiccomputing_20090617
 
Cebit 2008 - PeerfactSim.KOM - A Simulator for Large Scale Peer-to-Peer Systems
Cebit 2008 - PeerfactSim.KOM - A Simulator for Large Scale Peer-to-Peer SystemsCebit 2008 - PeerfactSim.KOM - A Simulator for Large Scale Peer-to-Peer Systems
Cebit 2008 - PeerfactSim.KOM - A Simulator for Large Scale Peer-to-Peer Systems
 
Cebit 2008 - PeerfactSim.KOM - Ein Simulator für hochskalierede Peer-to-Peer ...
Cebit 2008 - PeerfactSim.KOM - Ein Simulator für hochskalierede Peer-to-Peer ...Cebit 2008 - PeerfactSim.KOM - Ein Simulator für hochskalierede Peer-to-Peer ...
Cebit 2008 - PeerfactSim.KOM - Ein Simulator für hochskalierede Peer-to-Peer ...
 
Kalman Graffi - 2rd Research Talk - 2009
Kalman Graffi - 2rd Research Talk - 2009Kalman Graffi - 2rd Research Talk - 2009
Kalman Graffi - 2rd Research Talk - 2009
 
Kalman Graffi - 5 Slides Demo - 2008
Kalman Graffi - 5 Slides Demo - 2008Kalman Graffi - 5 Slides Demo - 2008
Kalman Graffi - 5 Slides Demo - 2008
 
Kalman Graffi - Efficiency and Information Management in Peer-to-Peer Systems
Kalman Graffi - Efficiency and Information Management in Peer-to-Peer SystemsKalman Graffi - Efficiency and Information Management in Peer-to-Peer Systems
Kalman Graffi - Efficiency and Information Management in Peer-to-Peer Systems
 
IEEE ICPADS 2008 - Kalman Graffi - SkyEye.KOM: An Information Management Over...
IEEE ICPADS 2008 - Kalman Graffi - SkyEye.KOM: An Information Management Over...IEEE ICPADS 2008 - Kalman Graffi - SkyEye.KOM: An Information Management Over...
IEEE ICPADS 2008 - Kalman Graffi - SkyEye.KOM: An Information Management Over...
 
ACM NOTERE 2008 - Kalman Graffi - From Cells to Organisms - Long-Term Guarant...
ACM NOTERE 2008 - Kalman Graffi - From Cells to Organisms - Long-Term Guarant...ACM NOTERE 2008 - Kalman Graffi - From Cells to Organisms - Long-Term Guarant...
ACM NOTERE 2008 - Kalman Graffi - From Cells to Organisms - Long-Term Guarant...
 

Recently uploaded

Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrHenryBriggs2
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样ayvbos
 
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac RoomVip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Roommeghakumariji156
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样ayvbos
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC
 
Mira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call GirlsMira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call GirlsPriya Reddy
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查ydyuyu
 
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime NagercoilNagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoilmeghakumariji156
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsMonica Sydney
 
一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理F
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC
 
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...kumargunjan9515
 
Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.krishnachandrapal52
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtrahman018755
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdfMatthew Sinclair
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfJOHNBEBONYAP1
 
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...kajalverma014
 
Best SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasBest SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasDigicorns Technologies
 
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...meghakumariji156
 

Recently uploaded (20)

Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
 
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac RoomVip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
Mira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call GirlsMira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
 
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime NagercoilNagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
 
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
 
一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
 
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...
 
Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
 
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
 
Best SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasBest SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency Dallas
 
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
 

LibreSocial - P2P Framework for Social Networks - Overview

  • 1. A P2P-Framework for Social Networks Jun.-Prof. Dr.-Ing. Kalman Graffi www.p2pframework.com Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 1
  • 2. A P2P-Framework for Social Networks Overview – A quick 101 Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 2
  • 3. LifeSocial – A Secure P2P-based OSN Platform Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 3 History  Developed since 2007 • > 55 students worked on it • See you at CeBIT 2013  Aiming at applicable results in p2p research Goal  Facebook-like user experience • Basis functionality extendible through plugins • Data-centric (profiles) and user-to-user (chat,video) interaction • BUT: security guarantees  Operator view • Completely p2p-based • BUT: with quality of service control and guarantees  Research • New application leads to new requirements • New requirements to new results
  • 4. Main Ideas in LifeSocial General p2p platform  Combining a wide set of useful modules • Storage, messaging, security, caching, app-hosting, multicast, pub/sub … • Distributed data structures, monitoring, automated self-control  Social network on top of platform • Build through “plugins” (apps), using platform and each other • Extendable, configurable GUI supports app growth Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 4 Security goals  Access controlled secure storage  Secure (encrypted, authenticated, integer) communication  No trust assumptions  anybody may be bad Functional goals  For the users: Facebook-like  Also thinking of providers: quality monitoring and control plane
  • 5. User View: Rich Functionality Wide set of functionality  GUI-Framework like in Eclipse  Fast and user-friendly performance  Plugin-based application: Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 5 • Profile • Login • Friends • Groups • Mails • Photos • Chat • … K. Graffi et al., “LifeSocial.KOM: A P2P-based Platform for Secure Online Social Networks”, In: IEEE P2P’10
  • 6. Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 6 User View
  • 7. Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 7 User View
  • 8. Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 8 Management View
  • 9. P2P Framework for Social Networks Graphical User Interface Framework Plugin GUI Plugin GUI Plugin GUI Commands Interface Optional Plugins OpOtipotnioanl aPll uPgluingsins Mandatory Plugins Mandatory Plugins Mandatory Plugins Remote Operations: Distributed Data Structures: Prefix tree, List, Set, Groups Access Control Identity Management Structured P2P Overlay Internet Storage and Replication Testing Communication Channels: Monitoring 1-to-1, Pub/Sub, Aggregation Tree User & Group Management Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 9 P2P Framework Plugins and Apps GUI App - Market
  • 10. P2P Framework - Overlay Identity Management Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 10 Structured p2p overlay  FreePastry  For security reasons • Buckets as routing entries • Redundant routing • Iterative routing Identity management  To identify users uniquely:  Create private & public key  Use public key as node ID • Integrates public key infrastructure • Enables signing & encryption of communication User & group management  Group keys  Group member management  Forming of nested groups (subsets) and group key inheritance Internet User & Group Management Structured P2P Overlay
  • 11. P2P Framework - Storage Access Control Storage and Replication User & Group Identity Management Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 11 PAST  Storage and replication  Verification of authorship  Modified to • allow in place updates of data • serve data from previous downloaders (load balancing) Access control  Sign and encrypt content  Access control based on • User lists • Groups Internet Management Structured P2P Overlay
  • 12. P2P Framework – Communication and Data Structures Distributed data structures Remote Operations: Distributed Data Structures: Prefix tree, List, Set, Groups Access Control Identity Management Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 12  Normal approach: • Get data, change locally, upload  Remote operations: • Send only information to change • E.g. insert “alice” in list  Supported structures: • Set, list, groups, prefix tree Communication channels  1-to-1 (based on ID) • E.g. to copy/stream file  Topic-based pub/sub • Using Scribe  Streaming • Using Splitstream  Multi-criterion indexing and search • E.g. Person name, age, location …  Aggregation tree • Sum, min, max, avg • For individual topics Internet Storage and Replication Communication Channels: 1-to-1, Pub/Sub, Aggregation Tree User & Group Management Structured P2P Overlay P2P Framework
  • 13. P2P Framework - Services Remote Operations: Distributed Data Structures: Prefix tree, List, Set, Groups Access Control Identity Management Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 13 Monitoring  Captures events from plugins and in framework  Uses aggregation tree to gather statistics on system Testing  Enables to initiate remote commands for testing  E.g. Initiates in a 50 nodes network defined behavior set (based on measurements) App – Market  All Plugins are OSGi – bundles  Can be loaded, installed at runtime  Define dependencies  App market: • Host, search and install plugins • Determine and get dependencies Internet Storage and Replication Communication Channels: 1-to-1, Pub/Sub, Aggregation Tree User & Group Management Structured P2P Overlay Monitoring Testing P2P Framework App - Market
  • 14. LifeSocial: Plugins implementing a Social Network Commands Interface Optional Plugins OpOtipotnioanl aPll uPgluingsins Remote Operations: Distributed Data Structures: Prefix tree, List, Set, Groups Access Control Storage and Replication Identity Management Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 14 Plugins:  Using the P2P Framework  Written in Java, OSGi • Open Services Gateway initiative • Supports component model (bundle/service)  Functionality of social networks  Easy Plugin-to-Plugin communication • Over shared storage – E.g. photos • Over Plugin ID based messaging – E.g. Chat-app to chat-app Mandatory Plugins  Login, Profile, Friends, Wall, Groups, Photos, Chat, Messaging, Filetransfer (1-to-1), App-Market Optional Plugins  Voting, Multi-Chat, One-Click- Filehosting, Forum Internet Communication Channels: 1-to-1, Pub/Sub, Aggregation Tree User & Group Management Structured P2P Overlay Monitoring Testing Mandatory Plugins Mandatory Plugins Mandatory Plugins P2P Framework Plugins and Apps App - Market
  • 15. LifeSocial: Graphical User Interface Graphical User Interface  GUI Framework able to host individual Plugin Views  Allows to arrange views • Save / load arrangements Graphical User Interface Framework Plugin GUI Plugin GUI Plugin GUI Commands Interface Optional Plugins OpOtipotnioanl aPll uPgluingsins Remote Operations: Distributed Data Structures: Prefix tree, List, Set, Groups Access Control Identity Management Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 15 Views  Each Plugin comes with 1+ views  Some views use several Plugins  E.g. friends selector  E.g. message views • inbox, outbox, compose Internet Storage and Replication Communication Channels: 1-to-1, Pub/Sub, Aggregation Tree User & Group Management Structured P2P Overlay Monitoring Testing Mandatory Plugins Mandatory Plugins Mandatory Plugins P2P Framework Plugins and Apps GUI App - Market
  • 16. A P2P-Framework for Social Networks P2P Overlay – Pastry  Root of Trust  Modified Routing – Buckets  Iterative Routing  Parallel Routing  Handling Weak Nodes Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 16
  • 17. P2P Framework - Overlay Identity Management Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 17 Structured p2p overlay  FreePastry  For security reasons • Buckets as routing entries • Redundant routing • Iterative routing Identity management  To identify users uniquely:  Create private & public key  Use public key as node ID • Integrates public key infrastructure • Enables signing & encryption of communication User & group management  Group keys  Group member management  Forming of nested groups (subsets) and group key inheritance Internet User & Group Management Structured P2P Overlay
  • 18. Pastry / FreePastry – Introduction Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 18 Pastry: P2P overlay  Providing DHT functionality and Key-based Routing interface Two metrics  ID distance  Physical distance (“Proximity”) 128-bit-IDs, arranged in a circle  Variable b defines the size of the routing steps = 2^b; usual value = 4  Tradeoff between routing table size and maximum number of hops  Lookup hops scale with 푂(푙표푔2푏 푁 ) FreePastry: prototypical implementation of Pastry  Current version 2.1: released on 13.3.2009  Java based, Sun JDK version 1.5.0  NodeID: 160 bits, 20 byte: 10 hexadecimal number Custom modification (2012)  Java package is now part of p2p framework code  Allows modification
  • 19. State Information in FreePastry Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 19 ID Space: [0 , 2^160[  Randomly assigned while joining  Base b (2 in example)  b=4  hexadecimal in FreePastry Routing table  Used for prefix-based routing  Typical size: • log_(2^b) (N) rows • 2^b – 1 entries per row  Row nr. i contains only nodeIDs sharing a prefix of length i with current node Leaf set  |L| closest node IDs  Typical size: L = 2^b or 2x2^b Neighborhood set  M entries (typically M = 2x2^b)  Contains the nodeIDs and IP addresses of locally closest nodes Routing state of node 10233102, base 4
  • 20. Pastry – Original Routing Procedure In each routing step:  Prefix-based forwarding:  A node forwards a message to another node • whose ID shares with the target key a prefix • that is at least one digit (= b bits) longer • than the prefix that is shared with the current node’s ID If no such node is found:  Numerical distance based forwarding:  the message is forwarded to a node • with the same shared prefix length which is numerically closer Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 20
  • 21. Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 21 Routing Protocol Message for key K arrives at node X  Let X= 10233102, b=2 1. Check if K in scope of Leaf Set  E.g. K = 10233030  Direct forwarding to 10233033 2. If not (1) use Routing Table  Let l:= prefix length of K and X  E.g. K = 10320102, l=2  Check level 3, prefix 103  10-3- 23302 3. If not (1) and no routing table entry  E.g. K = 10233300  Pick closest peer from routing table: 10233-2-32, as closer than 10233102 4. If X is closest to K than any node in Leaf Set (and Routing Table)  X is responsible for K, routing ends Routing state of node 10233102, base 2
  • 22. A B … T Z X Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 22 Pastry – Node join New node X wants to join  A is assumed to be physically close to X  Z is assumed to be responsible for the key “X” Join protocol  X asks existing node A to route JOIN message to key X  JOIN message will be routed to node Z which is closest to key X  A, Z and all nodes on the route send their state tables to X X uses following sets as basis for its routing sets  A’s neighborhood set  Z’s leaf set The n-th row of the routing table is copied from the n-th node encountered during the JOIN message routing process  n = 0: A’s row 0  n = 1: B’s row 1… Finally, X sends a copy of its state tables to all nodes contained in them so that those nodes can update their state tables
  • 23. Modification of Pastry’s Routing Table: Buckets Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 23 Introduction of Buckets  Each routing table entry contains k many contacts  Allows for • Parallel routing • Node replacement upon node failure Coping with node failures  Nodes leave unexpectedly (fail)  For detection: • Periodic checks of table entries • Keep-alive messages  If node does not answer: failed • Failure in Leaf Set: – Update entry with leaf set of furthest node • Failure in Routing Table: – Ask nodes in same row as failed node – If all in row failed: as nodes in higher row Contact 1 Contact 2 Contact 3 … Contact k
  • 24. Pastry – Modified Routing Procedure Prefix-based, parallel and iterative routing  Loop until no closer node to target ID is revealed • Lookup initiator sends out alpha parallel lookups – To the alpha nodes sharing the longest prefix in his routing table with target ID • Contacted nodes answer alpha contacts closest to the target ID  Closest found node is responsible Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 24 Protocol details  Alpha answers arrive randomly • Process their results only if their sent contacts are better than previous contacts  Joining protocol requires adaptation
  • 25. Modification of Pastry’s Routing Table: Weak Nodes Handling of weak nodes  Weak nodes should not participate in • Routing, routing maintenance • Storage  Simply marking weak nodes • Odd port: strong node • Even port: weak node • Port information part of contact info • Other marking solution requires additional marking information (+data structures in code) or signaling protocols Routing to/from weak nodes  Weak nodes are inserted only in the leaf set (of close nodes)  Their routing table also contains only the leaf set entries Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 25
  • 26. Root of Trust: Authenticated Node IDs Approach  Immutable UserID • Identifying the user throughout the system/application • To be used by the plugins: in friendlists, groups …  Mutable NodeID = PublicKey • PublicKey uses 160 bit Elliptic Curve • Username and Password are hashed, used as basis for the Private Key • Private Key is used for calculation of Public Key  Mapping from the NodeID to the UserID stored at NodeID • At IDs hash(UserID_i) (with i=1,…) store link to NodeID • Initial link at new user registration – Requires no proof on user – Is signed with new NodeID/PubKey • Further changes of UserIDNodeID link – Are only allowed for previous signer – Single Items only to be modified by original author (signature check) Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 26 Goals  Users should be authenticated  Messages confidentially, integer and authenticated sent/received  Login from any device possible, credentials in the network
  • 27. Root of Trust: Effects Integrated Publiy Key Infrastructure  If UserID known, easy to obtain PublicKey  PublicKey can be stored Secure communication  Confidential, integer, authenticated  Sending messages • Message is signed with Public Key (=PubKey) of sender • Message is encrypted with PubKey of addressed peer Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 27  Receiving messages • Decrypt message using Private Key (=PrivKey)  auth., confidentiality • Receiver checks signature of sender  integrity  For ease: • User-User specific symmetric shared key might be exchanged securely before – E.g. using Diffie-Hellman Secure Storage  Items are signed when stored, can only be changed by original author
  • 28. Properties of Pastry / FreePastry Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 28 Advantages Well documented, clear APIs  Modular, extendable software  Large user base, still maintained Basic functionality  Routing, DHT (key-value mapping)  Distributed storage Disadvantages  solved Now: support for heterogeneity  All nodes are treated equally  Strong, long-living peers should do more  See at storage part Now: built-in security mechanisms  Identity attacks, routing attacks  Sensitive to malicious nodes Limited API  P2P Framework  “Only DHT”  Also requires sufficient replication, additional services
  • 29. A P2P-Framework for Social Networks Storage and Replication Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 29  Replication  Access Control  Load-balancing
  • 30. P2P Framework - Storage Access Control Storage and Replication User & Group Identity Management Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 30 PAST  Storage and replication  Verification of authorship  Modified to • allow in place updates of data • serve data from previous downloaders (load balancing) Access control  Sign and encrypt content  Access control based on • User lists • Groups Keys  160 bit elliptic curve keys  128 bit AES symmetric keys Internet Management Structured P2P Overlay
  • 31. Positioning in the Network User albums object key = „user name“+“album“ List of user albums: 1. object key a 2. object key b 3. object key c 4. object key d User album A Image x Image y Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 31 ... object key a List of images: 1. object key x 2. object key y 3. object key v 4. object key r ... object key x image object key y image Distributed Storage  Object ID based Routing User album D object key d List of images: 1. object key n 2. object key m 3. object key k 4. object key l ... P2P Overlay  Peer ID based Routing Internet  IP based Routing
  • 32. Document Types, Obvious Storage Keys Image x Image y High granularity of stored data objects Better load balancing of the resources Used for  Atomic data: profiles, login info, “emails”  Linked lists: friend lists, groups, multicast Allows for complex data structures User album A Image n Image m Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 32 User Albums storage key = „user name“+“album“ List of user albums: 1. storage key a 2. storage key b 3. storage key c 4. storage key d ... storage key a List of images: 1. storage key x 2. storage key y 3. storage key v 4. storage key r ... storage key x image storage key y image User album D storage key d List of images: 1. storage key n 2. storage key m 3. storage key k 4. storage key l ... storage key n image storage key m image Profile storage key p = “User_Kalman_Graffi” Name: Kalman Age: 30 University: Universität Düsseldorf
  • 33. Atomic Single Item Operations Basis for security must be  Easy to deploy, fast and reliable Requirements for access control and item security  All sensible information is stored in DHT (no trust assumed)  Integrity / authentication • Author is authenticated through signatures • Signature allow to detect modifications • Only one author for one data item • Content integrity can be checked, false authorship can be rejected  Confidentiality: only authorized users should be able to read content • The storing node is typically not allowed • Data items can/should be encrypted Data object must be atomic  Must contain all relevant security information  Replication • Multiple storage of the same content • Find 1 copy to read, all copies to write consistently • Replication independent of security Support for inplace modification Support for group-based rights H(„my data“ ) = 3107 2207 2906 1008 1622 2011 PeerID = PubKey 3485 709 611 ? Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 33
  • 34. Replication Extension of Pastry: PAST Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 34 Idea  Store objects also on k further nodes in leaf set  Remember Key-based Routing (KBR): • nodehandle [] replicaSet (key  k, int  max rank) – Returns an ordered set of peers of magnitude (max rank) on which replicas of the object with key k can be stored – The nodes which become roots for the key k when the local node fails • update(nodehandle n, bool joined) – Upcall: informs that node n has either joined or left the local neighbor set  If responsible peer fails • New responsible node (is in replicaSet) – Is informed of peer leave by update upcall – Answers to lookups for new objects it is responsible for – Calls new replicaSet and deployes replicas (if needed)
  • 35. Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 35 PAST Evaluation Good  ID related replication: 1 lookup sufficient to find object  Replication ratio flexible (might depend on object / peer properties)  Failed replica nodes are detected by overlay: easy to react Drawback  Replication not peer heterogeneity aware • Weak nodes might be overloaded by replication task • See next slide how to handle that in the P2P Framework  Security • Replicas all in one ID area: easier to attack • Still open
  • 36. Modification: Heterogeneity Aware Storage Best strategy to match nodes having and wanting a file? Object i Requester Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 36  Considering: • Memory, storage and bandwidth  Leading to • Balanced load regarding the load provision in the system Approach  Responsible node remembers downloading nodes (providers) • Maintains a provider list • Periodically checks their bandwidth – Through message size and transmission time • Forwards download query (1 hop) to them based on load • High capacity  high probability to be chosen P3 P4 P5 P1 P2 P6 P7 Object i Requester Object i Provider P3 P4 P5 Object i Provider P1 P2 P6 P7 10 Responsible for object 3 Peer Qual./Load P1 P2 P6 ok good weak P7 ok Get object 3 from peer 2 Provider to use: peer 2
  • 37. Discussion: Heterogeneity Aware Storage Heterogeneity aware storage  In addition to replication  Local solution • If responsible node wants to share load, he may, but does not have to • Source of file irrelevant for requester – As files are atomically authenticated Periodic capacity checks  Required some overhead  Are propagated back, so that nodes are aware of their capacities  Can be used for further purpose Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 37
  • 38. Evaluation: Heterogeneity Aware Storage Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 38 Setup:  10 Machines, 3x TestCaseLoadPhoto in 12 secodns Evaluation:  Red: responsible node, blue: a chosen provider
  • 39. Simple Distributed Access Control for Single Objects Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 39 Goals:  Authentification of hosts (original author) • Allows „Write“ access control  „Read“ access control on individual data items Idea:  Remember established public key infrastructure  Write access control • Initial write is free, data item is signed, authors Public Key is added • Overwrite on existing Object ID only allowed to original author • Protection against replay attacks: – Random nonce is stored with item; nonce must also be signed with new item • Storing nodes verifies signature • ToDo: Replication nodes must also verify signature and verify correct behavior of storing node  Read access control: • Encrypt all stored data with unique symmetric key: Key_S • Encrypt the symmetric key for all privileged reader: (Key_S)enc(PubKey_i) • Attach the encrypted symmetric key to the encrypted data
  • 40. Example of Distributed Access Control SharedItem objectID Header Privileged users Payload Signed CryptedItem objectID Key list userID A – key A userID B – key B userID C – key C … 3 Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 40 Byte array containing encrypted SharedItem Symmetric Key Pub User A Encrpyted with Symmetric Key Pub User B Encrpyted with Pub User A Pub User B [userID A] = [userID B] = 1 extract Serialized and encrypted with symmetic key 2 userIDs are public keys wrap symmetric key with public key 4 5 Signature
  • 41. Group-based Access Control Group-based Access Control  Groups have own keys  Treated as single user • Single data objects encrypted/signed with group keys • Only group members can read / write  Group key is stored in single item by group creator • Read access for group members Group provides for its members  A symmetric key S_G and an asymmetric key pair (Public: e_G, Private: d_G) Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 41
  • 42. Group-based Access Control Challenge: Hierarchical structures of groups  Share content with combination of groups: • G1 OR G2: Encrypt with 2 keys, provide both • G1 AND G2: Encrypt data with first key, encrypt result with second key  Hierarchical groups: G1 subgroup of G2 Groups may contain Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 42  User (keys)  Group (keys) Encrypted item has a reference to the group used for encryption
  • 43. A P2P-Framework for Social Networks Peer-to-Peer Framework Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 43  Storage • Distributed Data Structures – Sets, Lists, Prefix-Hash Trees • Remote Operations • Access Control for Distributed Data Structures  Information Cache and Callbacks  Communication Channels • 1-to-1, Multicast, Publish / Subscribe • Search  App-Store
  • 44. P2P Framework – Communication and Data Structures Distributed data structures Remote Operations: Distributed Data Structures: Prefix tree, List, Set, Groups Access Control Identity Management Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 44  Normal approach: • Get data, change locally, upload  Remote operations: • Send only information to change • E.g. insert “alice” in list  Supported structures: • Set, list, groups, prefix tree Communication channels  1-to-1 (based on ID) • E.g. to copy/stream file  Topic-based pub/sub • Using Scribe  Streaming • Using Splitstream  Multi-criterion indexing and search • E.g. Person name, age, location …  Aggregation tree • Sum, min, max, avg • For individual topics Internet Storage and Replication Communication Channels: 1-to-1, Pub/Sub, Aggregation Tree User & Group Management Structured P2P Overlay P2P Framework
  • 45. Distributed Data Structures (DDS) Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 45 Motivation:  Put / Get of single data items does not match social network  Social network data structures: • (Unorderd) Set: Friends, Group members, … • (Ordered) List: Wall entries, Email posts, Forum entries • Prefix Hash Trees: App categories, User categories … Distributed Data Structures  Concept: Single data items with • Characteristic meta data • Payload • Pointers to next elements in the „distributed“ data structure On right: functions of the list  Location of i-th element – Key hash(„listname“ + i/bucketsize)
  • 46. Basics of Distributed Data Structures Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 46 Interfaces  Common access to a DDS instance for application  DDS in framework split in several buckets  Buckets handled individually Requirements:  Only owner allowed to edit/ delete a list entry  Everyone allowed to add a list entry  Support groups: only group users allowed to read or add a list entry Buckets contain:  Individual entries • May belong to different users • Number of entries per bucket configurable  Pointer to next bucket Application using the Distributed Linked List
  • 47. Distributed Data Structures: Write and Read Access Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 47 Add entry to the list  Free to write: • Sign element with private key of the owner  Write only for group members • Sign element with private key of the owner • Encrypt each element of the bucket with symmetric group key • Sign the bucket with private group key Read entry  Find and retrieve entry  Verify entry and bucket signature Edit an existing element  Create and sign new entry  Sign bucket (all entries of it)  Storing node recognizes list buckets and verifies signatures of bucket and elements
  • 48. Distributed Data Structures: Deletion of Entries Deleting an existing element  Deletion = overwrite with empty “Delete”-Entry (deletedItem)  Create and sign new “Delete”-entry  Sign bucket (all entries of it)  Storing node recognizes list buckets and verifies signatures of bucket and elements Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 48 Problem  deletedItems stay in list  With time: list might contain almost only deleted Items Solution:  Algorithm consolidates two buckets • deletedItems shifted one bucket to the right  Called after each write operation if list contains deletedItem • Only users with write rights can sign consolidated buckets
  • 49. Consolidate Protocol Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 49 Before  BK contains a deletedItem  Consolidate(BK,BK+1) is called After  BK  BK‘, BK+1  BK+1‘  DeletedItem now on most right position in BK+1‘  All other elements shifted to left by one position
  • 50. Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 50 Remote Operations DistributedList use the idea of remote operations  User wants to change a stored item  User sends request for change to storing node  Storing node performs change and stores the file Advantage:  User need not transfer whole file but just the changes Problem:  Write protection needs to be considered  Storing node performs changes and stores the modified item  But: storing node is usually not owner of the item • Cannot compute valid signature  User sends delta information, how to sign whole new data item?
  • 51. Protocol for Remote Operation with Write Access Node C wants to modify an object stored at S:  If C does not have the current object • It requests the current version of the file that should be changed from S.  C has the current object • If C already has a version of the file, it sends a hash of it to S.  S compares the received hash with the hash of its current object version • If the hashes differ: S replies with the current version • If the hashes match: it acknowledges briefly.  C performs its changes locally and afterwards computes the signature of the modified file and the hash of the file that should be overwritten  It sends a request containing the desired changes, the signature and the hash of the file on which C locally performed the changes to S.  S checks whether its current version and the version on which C has performed its changes are the same by comparing the hashes • If they are not equal, step 3 is applied. • If the hashes are equal: S performs the desired changes and then inserts the file into the network using the signature received from C. Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 51
  • 52. Evaluation of the Remote Operation and Deletion Consolidation Setup: 1000 operations  Setting A presented Traffic savings:  Through remote operations and buckets with 10 entries  Consolidation further saves traffic Action distribution: Consolidation  Reduces number of deletedItems in list drastically Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 52
  • 53. Accessing the Data: Information Cache and Callbacks Pull approach: Information Cache  Interface: getData(key)  Immediate response: Plugins Plugins Remote Operations: Distributed Data Structures: Prefix tree, List, Set, Groups Access Control Identity Management Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 53 • Data – Lifetime x min, then new lookup • Pending – While pending: data is retrieved • Not available – Negative lookup  Allows data reuse by several plugins – information container Internet Storage and Replication Communication Channels: 1-to-1, Pub/Sub, Aggregation Tree User & Group Management Structured P2P Overlay P2P Framework Information Cache
  • 54. Accessing the Data: Information Cache and Callbacks Push Approach: Callbacks / Continuations  Plugins register for data(key)  If lookup for it is successfull • Data is deliverd to waiting plugin Framework supports different situations:  Continuation - Asynchronous operations • e.g. storing and continue after it  Receiver - Register for receiving content • e.g. message receiving functions  Listener - Listen to ongoing operations  e.g. status reports for file transfers Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 54
  • 55. Communication Structures Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 55 1-to-1 (based on ID)  E.g. to copy/stream file  For files also 1-click-hosting • Store encrypted (Key K) file • Under specific ID • Retrieve by (ID+Key) (“link“) Scribe: topic-based pub/sub  Using Scribe  Create channel, e.g. for hash(“p2phhu”)  Send invitation via 1-to-n to selected users  they join p2phhu channel  Messages sent to channel p2phhu are received by subscribed users 1-to-n  Send message 1-to-1 to n users Multi-criterion indexing and search  File has metadata: attributes • Attributes: E.g. Person name, age, location …  Attributes have values  Search for file with attr_i = x_i Aggregation tree  Sum, min, max, avg, std dev  For individual topics  • One channel per metric
  • 56. Main Communication Classes Communication Classes  1-1, 1-N: MessageChannel • Identified by unique name • Both comm. partners need to create this channel • 1-to-N: Sender defines list of receivers Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 56  N-to-m: TopicChannel • Identified by unique name • Participants subscribe at unique name • All messages sent to list are forwarded to subscribers  Aggregate • Attribute<T> holds for a single measurement: – name, unit, aggregation strategy and the sensor it was measured • Aggregation strategies – Sum, count, average, min, max… • Statistics on all nodes in AggChannel
  • 57. Multi-Criterion Search Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 57 Query Language:  Keyword: describes a document through a string  Attribute/Value: attribute attached with numeric value Query:  collection of keywords or attribute/value pairs  (Keyword | (Attribute = Value))* void indexItemWithTags ( Serializable identifier,Collection <String > keywords ); void removeItemIndexWithTags ( Serializable identifier, Collection <String > keywords ); Collection <Serializable> searchAllItemsWithTags (Collection <String > keywords ); Serializable searchItemWithTags (Collection <String > keywords); Distributed Query Engine: Indexing  Takes any object and a collection of keywords  Afterwards the object can be retrieved throughout the p2p network Querying  Takes a query (collection of keywords)  Returns the collection of objects, where the query-keywords subset of index-keywords of the objects
  • 58. Implemented Search Engines, Common Indexing Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 58 LocalJoin NetworkJoin ScribeJoin BloomNetJoin
  • 59. Testing the Query Engines Observation:  Churn disrupts system performance (even at 5%)  ScribeEngine has best query latency • but long reconnect reconnect and indexing latencies  BloomJoin does not signicantly reduce network costs  ScribeEngine handles queries with many keywords good  The others handle queries with very popular keywords good Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 59
  • 60. A P2P-Framework for Social Networks Peer-to-Peer Framework - Continued Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 60  Monitoring • Tree-based Monitoring  Testing • Test-Plugin
  • 61. P2P Framework - Services Remote Operations: Distributed Data Structures: Prefix tree, List, Set, Groups Access Control Identity Management Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 61 Testing  Enables to initiate remote commands for testing  E.g. Initiates in a 50 nodes network defined behavior set (based on measurements) Monitoring  Captures events from plugins and in framework  Uses aggregation tree to gather statistics on system App – Market  All Plugins are OSGi – bundles  Can be loaded, installed at runtime  Define dependencies  App market: • Host, search and install plugins • Determine and get dependencies Internet Storage and Replication Communication Channels: 1-to-1, Pub/Sub, Aggregation Tree User & Group Management Structured P2P Overlay Monitoring Testing P2P Framework App - Market
  • 62. Motivation for Testing and Monitoring Test Plugin for LifeSocial  Coordinated automated execution & delegation of tasks  Easy test setup  Generation of content  Expandable / Support for new LifeSocial plugins Wall 23 % Initial 71 % Messages 16 % Profile and Friends 71 % Search 9 % 11 % 64 % 22 % 10 % 16 % 69 % 9 % 5 % Photos Communities 67 % 86 % 82 % Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 62 Monitoring:  Information on system status can be used for optimized decisions • E.g. peer count defines size of time-to-live • E.g. churn pattern defines stabilization frequency  Necessary to identify (bad) quality of mechanisms • Too much overhead • Too slow routing • Efficiency leaks  Helps in designing better mechanisms
  • 63. Test Plugin I – Easy Setup & Generation of Content Automated Setup using Java RMI  “First” node creates P2P network and serves as bootstrap node (Master node)  Other nodes join P2P network and await orders (Slave nodes) User content is generated without need for user interaction  Resource folder contains photos and files  Values for messages, group names, city names, country names, user interests, usernames, … • Example: login.txt file contains more than 4000 possible usernames Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 63
  • 64. Test Plugin II – Automated Execution of Activities Activity: Execution of a social network function  Has parameters and preconditions  Example • Activity: Send a chat message to a friend • Precondition: Logged in and at least one friendship to another user • Parameter: Actual message content and name of the friend • If user has no friendship to another user, Test Plugin automatically sends a friend request to a random (online) user Preconditions are fulfilled if necessary If activity parameters are missing  they are chosen randomly from the resource files Wall 23 % Initial 71 % Messages 16 % Profile and Friends 71 % Search 9 % 11 % 64 % 22 % 10 % 16 % 69 % 9 % 5 % Photos Communities 67 % 86 % 82 % Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 64
  • 65. Test Plugin II – Automated Execution of Activities View Group Send Friend Request View Wall Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 65 Bootstrap Server Running Existing User Logged in User Register Login Relogin Logout Change Profile Picture / Information View Profile Friendship to other User Send Chat Message Active Chat Conversation Reply to Chat Message Send Offline Message Active Conversation Reply to Offline Message Create Group View Friends Groups Group exists Join Group Member of Group Send Group Message Send Wall Post Wall Post Exists Comment Wall Post Search User / Group Incoming Friend Request Accept Friend Request Existing Photo View Friends Photo Create Photo Album Existing Photo Album Upload Photo View Chat History View Offline Message
  • 66. Test Plugin III – Delegation of Tasks Every test participant can delegate tasks (social network activities) to other test participants  Using 1-m messaging communication Queue with remaining tasks to execute Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 66 Timed test plans Realisitic churn model
  • 67. Structured Overlay: DHT Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 67 Monitoring Is everything running fine? How to debug and to gain insight? How to improve the running system? Underlay: The Internet H(„my data“ ) = 3107 2207 7.31.10.25 12.5.7.31 peer-to-peer.info 95.7.6.10 berkeley.edu planet-lab.org 86.8.10.18 2906 3485 2011 1008 1622 709 611 89.11.20.15 ?
  • 68. Design decisions in SkyEye.KOM New layer (vs. integrated)  New layer allows wider applicability  Set on top of KBR-compatible structured p2p overlays Proactive (vs. reactive)  System state information is continuously interesting for all users Monitoring topology: tree (vs. bus, ring, star, mesh)  Fixed out and in degree Position assignment: dynamic and deterministic  Deterministic IDs used in topology, dynamically resolved with DHT For all structured P2P overlays  Covered by DHT-function: route(msg, key), lookup(key) Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 68
  • 69. Reliable structured p2p overlay  “Key-based Routing” – operations • boolean isMyKey(Key K) • void route(key K, Message M, node hint) Building a tree topology  Introduce new overlay layer • With own ID space ([0,1[)  Create tree topology in new overlay • Using routing of p2p structured overlay Concept of new layer  Decouples from specific p2p overlay  Unified ID space [0,1] Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 69 Assumptions
  • 70. Tree-based Monitoring Mechanism Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 70 Idea:  Create (additional) tree topology  Protocol: • Periodically – Calculate aggregate of own local view and received from child nodes – Send aggregate to parent node • Root calculates global view – And passes global view to all peers Used in the p2p framework: SkyEye.KOM  Assumes structured p2p overlay  Aims at high precision with low overhead
  • 71. SkyEye.KOM: Tree Topology Tree of information domains Domain Domain ID 0.09 0.2 0.31 0,4 0.5 0.6 0.75 0.9 0 1 Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 71  Domain: ID interval • E.g. [0, 0.5[ or [0.75, 0.875[ • Largest domain, level 0: [0,1[  Domain ID: “middle value” in interval  Domain size split in β parts per level Domain IDs build tree topology  Node degree: β child nodes  Tree topology of domains does not change over time!  Assignment of peers to domains dynamic Peers to Domain ID assignment  Peers calculate Domains in which they are located  For those domains, they calculate the Domain IDs (퐾푝푙 )  If peer is responsible: position defined 1 10 50 20 30 40 45 15 P2P Overlay Internet 0.25 0.375 0,3125 0.75 0.125 0.625 0.875 0.3125 0.5
  • 72. SkyEye.KOM: Communication Tree-overlay  p2p overlay  Reconvert 푡푟푒푒퐼퐷 ∈ [0,1[ to 푝푒푒푟퐼퐷 ∈ {0, … , 2160 − 1}  Coordinator: • Responsible for Domain ID • Check via DHT function Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 72 – isMyKey(Key K)  For communication in tree • Use route-function of overlay • route(Msg M,Key K,Node next) Example tree  Tree degree (β) = 2 • Results in logarithmic tree size  Balanced, if ID space balanced  Not always β children • Peers may be Coordinators at various levels
  • 73. SkyEye.KOM: Communication Protocol Gathering global view  All peers measure local status 푥푖  Periodically sent to parent peer •  Update Interval (UI) 1. Independent updates in UI intervals per node 2a Aggregated view 1b 2. ACKs with view of parent peer for every update 1β 2b … 1a β child nodes 2β Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 73 Aggregation  Direct: count, sum, minimum, maximum, sum of squares  Derived: mean, variance, std. deviation Dissemination of global view  Global view in root  Every update message is acknowledged  Contains global view from level above Global view Local measures, (synchronized signal in simulations)
  • 74. Aggregation Functions Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 74
  • 75. Activity Amount of Repetitions Planned Duration (in Minutes) Login 1 15 Change Profile Picture 1 3 Send Friend Request 10 3 Create Photo Album 10 2 Upload Photo 200 15 View Friend’s Photo 100 10 Join Group 30 10 Send Group Message 100 10 View Group Messages 10 5 Send Wall Post 100 10 Comment Wall Post 100 50 View Friend’s Wall 5 5 Random Activities - 30 Logout 1 50 Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 75 Example: Test Plan
  • 76. Example: Test 3 – Results Amount of Nodes Available and Used Storage 60000 50000 40000 30000 20000 10000 Storage Dispatcher Size Used Storage Available Storage Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 76 125 100 75 50 25 0 Nodes Global network nodes 0 60 120 180 240 Nodes Time [m] 0 0 60 120 180 240 Data [MB] Time [m]
  • 77. Example: Test 3 – Results Load – Messages Load – StorageItems Social Network Load - Messages 25000 20000 15000 10000 5000 Social Network Load - StorageItems Groups created Photo albums created Photos uploaded Login items created Profiles created Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 77 14000 12000 10000 8000 6000 4000 2000 0 Group Messages sent Wall Posts sent Wall Comments sent Friend Requests sent 0 60 120 180 240 Units Time [m] 0 0 60 120 180 240 Units Time [m]
  • 78. Example: Test 3 – Results Photos Plugin Wall Plugin 12000 10000 8000 6000 4000 2000 Wall Plugin Wall posts send Wall posts commented Walls requested Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 78 90000 80000 70000 60000 50000 40000 30000 20000 10000 0 Photos Plugin 0 60 120 180 240 Units Time [m] Albums created Photos uploaded Albums stored Photos stored 0 0 60 120 180 240 Units Time [m]
  • 79. Example: Test 3 – Results Groups Plugin Login Plugin 700 600 500 400 300 200 100 Login Plugin Login Items created Login Items stored Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 79 14000 12000 10000 8000 6000 4000 2000 0 Groups Plugin Groups Items created Group Items stored Group Messages sent 0 60 120 180 240 Units Time [m] 0 0 60 120 180 240 Units Time [m]
  • 80. Example: Test 3 – Results Storage per Node Replication Count Storage Used per Node Maximum Storage Used per Node Mean Storage Used per Node Minimum Storage Used per Node 1e+06 100000 10000 1000 100 10 Replication Count Overall Replications Maximum Replications per Node Mean Replications per Node Minimum Replications per Node Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 80 600 500 400 300 200 100 0 0 60 120 180 240 Data [MB] Time [m] 1 0 60 120 180 240 Units Time [m]
  • 81. Example: Test 3 – Results Bandwidth – Messages Traffic Bandwidth - Messaging 60 50 40 30 20 10 Bandwidth - Storage Bandwidth - Data sent Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 81 2500 2000 1500 1000 500 0 Bandwidth - Messages sent 0 60 120 180 240 messages/sec Time [m] 0 0 60 120 180 240 KB/sec Time [m]
  • 82. Example: Test 3 – Results Amount of Errors Memory Usage FreePastry Errors 900 800 700 600 500 400 300 200 100 Memory Usage Maximum memory used by an instance Mean memory used by an instance Minimum memory used by an instance Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 82 6000 5000 4000 3000 2000 1000 0 0 60 120 180 240 Errors Time [m] Pastry errors Decryption errors PAST errors 0 0 60 120 180 240 Memory [MB] Time [m]
  • 83. Test Results – Summary I Synthetic Behavior of P2P Framework tested with 25, 50 and 100 nodes  Amount of actual executed activities measured (uploaded photos, commented wall posts, …)  Measured values match the expected values (according to the test plans)  LifeSocial behaves as expected during synthetic tests Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 83 Performance  All activities finished in scheduled time or earlier (except for commenting wall posts) • > 19.000 photos in 13 minutes, 9600 group messages in 8 minutes, 9600 wall posts sent in 7 minutes Bandwidth usage per node  Always below 30 Kb/s  In average: around 3 Kb / s Data Storage  Each Item replicated at least 2 times (matches defined replication factor)  An average node contributed around 200 Mb storage space with a max-min load divergence of 350Mb:50Mb
  • 84. Test Results – Summary II Monitoring and Test Plugin work reliable  Small variances on monitoring results, still precise  Test Plugin is a powerful tool to coordinate large-scale distributed tests But: Prior tests revealed errors in LifeSocial  Memory leak in FreePastry (has been fixed)  Failure in MessageDispatcher • Deadlock leads to unresponsive application • Chat Plugin has been disabled for remaining tests  Error-prone usage of LoginItem to obtain node ID • If the application crashes, the system assumes the user is still online Failures in Search & Wall Plugin occur in unstable test environment (with churn)  Failure in Search Plugin • Leads to endless search operations  Failure in Wall Plugin • ClassCastException leads to application crash Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 84
  • 85. Appstore - Requirements Appstore: Offer and retrieve new plugins Some Requirements:  Two roles: plugin provider and plugin user  Plugin provider can publish new plugins, release new versions, edit or delete them  Plugin user can search for plugins, download, install them and manage installed plugins  Installed plugins: start/stop/update/uninstall Related GUI for the above mentioned functionalities:  Publisher View  Search View  Installed Plugins View Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 85
  • 86. Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 86 Appstore - Details Plugin – Model  Plugin object  Metadata: Plugin meta, version meta Private repository (with unique user-related name)  Contains the information of: • Published plugins – Offered plugins • Installed plugins – In order to maintain app-list in the network – Allows to install all apps at other device Publisher actions: publish, remove, release new version, edit metadata  Storage: Plugin object and metadata  network  Meta-information of the published plugins  private repository Search actions: precise search by name, download and install  Exact plugin name is required  Output: list of avaliable versions Plugin user actions: start, stop, update, uninstall
  • 87. A P2P-Framework for Social Networks Plugins and Graphical User Interface  Mandatory Plugins  Optional Plugins Graphical User Interface Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 87  GUI Framework  Perspectives  Individual Views
  • 88. LifeSocial: Plugins implementing a Social Network Commands Interface Optional Plugins OpOtipotnioanl aPll uPgluingsins Remote Operations: Distributed Data Structures: Prefix tree, List, Set, Groups Access Control Storage and Replication Identity Management Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 88 Plugins:  Using the P2P Framework  Written in Java, OSGi • Open Services Gateway initiative • Supports component model (bundle/service)  Functionality of social networks  Easy Plugin-to-Plugin communication • Over shared storage – E.g. photos • Over Plugin ID based messaging – E.g. Chat-app to chat-app Mandatory Plugins  Login, Profile, Friends, Wall, Groups, Photos, Chat, Messaging, Filetransfer (1-to-1), App-Market Optional Plugins  Voting, Multi-Chat, One-Click- Filehosting, Forum Internet Communication Channels: 1-to-1, Pub/Sub, Aggregation Tree User & Group Management Structured P2P Overlay Monitoring Testing Mandatory Plugins Mandatory Plugins Mandatory Plugins P2P Framework Plugins and Apps App - Market
  • 89. LifeSocial: Graphical User Interface Graphical User Interface  GUI Framework able to host individual Plugin Views  Allows to arrange views • Save / load arrangements Graphical User Interface Framework Plugin GUI Plugin GUI Plugin GUI Commands Interface Optional Plugins OpOtipotnioanl aPll uPgluingsins Remote Operations: Distributed Data Structures: Prefix tree, List, Set, Groups Access Control Identity Management Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 89 Views  Each Plugin comes with 1+ views  Some views use several Plugins  E.g. friends selector  E.g. message views • inbox, outbox, compose Internet Storage and Replication Communication Channels: 1-to-1, Pub/Sub, Aggregation Tree User & Group Management Structured P2P Overlay Monitoring Testing Mandatory Plugins Mandatory Plugins Mandatory Plugins P2P Framework Plugins and Apps GUI App - Market
  • 90. Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 90 Current Plugins Login  Create and login to user account Profile  Create and share personal information Friends  Link to friends Mails  Send and receive messages Photos  Upload, share and watch photos Wall  Write public messages, post own status, comment messages Chat  Chat with a friend Multi-Chat  Create / Join a topic channel and chat Browser  Extended views to display formated entries or websites Groups  Join groups and use dedicated working environments Forum (Group element)  Create threads and topics  Discuss on topics Voting  Create polls, define answers, invite participants for public/private votes File Storage  One-click file hosting: upload, get a link, share the link and allow other users to download files App Store  Create and share new plugins  Maintain own plugin list independent of used device Monitoring  Monitor usage of the network  Existing graphical user interface Test plugin  Remotely control network peers for automatic test plan execution  Content generation and real user environment simulation
  • 91. (Outdated) Plugin Architecture Overview Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 91
  • 92. Plugins to GUI Relation Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 92
  • 93. Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 93 User View
  • 94. Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 94 User View
  • 95. Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 95 Management View
  • 96. Graphical User Interface Details Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 96 Task of views  Combine functionality from framework to applications  Often uses several plugins Plugins might come with 0-n views  Email has 2+ views • Compose, inbox/outbox  Some plugins have no views • Search plugin only as helper Perspectives  View combinations and positions can be stored as perspectives  Allows for customized allocations • E.g. Working perspective, communincation perspective …
  • 97. A P2P-Framework for Social Networks Outlook – Future Work Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 97
  • 98. Current Steps in LifeSocial Ongoing project group (16 students)  “A Peer-to-Peer Framework for Social Networks”  Goal • Finalize p2p framework: secure, quality-controlled, … • Add further essential functionality to framework – Live multimedia streams (chatting, streaming) • Add more novel applications 2014 presentation at CeBIT  Like 2009, 2010, 2012, 2013 Contributions for the community  New applications induce new research challenges  Publish p2p framework as open source  Initiate a community for further developments Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 98
  • 99. Several Open Topics and Application Areas E-Learning Environment Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 99  Live lectures, tests  Data repository Realtime Communication  Voice / video P2P Wiki  Versioning P2P Normsetting Environment  Proposals, Votes  Decisions General Peer-to-Peer Framework Service and Ressource Access Networking and Storage Monitoring and Control Security and Privacy
  • 100. Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 100 Publications P2P Framework – LifeSocial Overview  K. Graffi, C. Groß, D. Stingl, D. Hartung, A. Kovacevic, R. Steinmetz „LifeSocial.KOM: A Secure and P2P-based Solution for Online Social Networks“. In: Proc. of the IEEE Consumer Communications and Networking Conference, (IEEE CCNC’11), Januar 2011  K. Graffi, C.Groß, P. Mukherjee, A. Kovacevic, R. Steinmetz: „LifeSocial.KOM: A P2P-based Platform for Secure Online Social Networks“. In: Proc. of the 10th IEEE International Conference on Peer-to-Peer Computing, (IEEE P2P’10), August 2010.  K. Graffi, S. Podrajanski, P. Mukherjee, A. Kovacevic, R. Steinmetz: „A Distributed Platform for Multimedia Communities“. In: Proc. of the IEEE International Symposium on Multimedia (IEEE ISM ’08), December 2008. Security  K. Graffi, P. Mukherjee, B.Menges, D. Hartung, A. Kovacevic, R. Steinmetz: „Practical Security for P2P-based Social Networks“. In: Proc. of the 9th IEEE International Conference on Local Computing Networks, (IEEE LCN’09), August 2009. Monitoring  K. Graffi, D.Stingl, J. Rueckert, A. Kovacevic, R. Steinmetz: „Monitoring and Management of Structured P2P Systems“. In: Proc. of the 9th IEEE International Conference on Peer-to-Peer Computing, (IEEE P2P’09), September 2009.  K. Graffi, A. Kovacevic, S. Xiao, R. Steinmetz: „SkyEye.KOM: An Information Management Over-Overlay for Getting the Oracle View on Structured P2P Systems“. In: Proc. of the 14th IEEE International Conference on Parallel and Distributed Systems (IEEE ICPADS’08), December 2008.  K.Graffi, „Monitoring and Management of Peer-to-Peer Systems“, Technische Universität Darmstadt, 2010. Heterogeneity handling  K.Graffi, S. Kaune, K.Pussep, A.Kovacevic, R.Steinmetz: “Load Balancing for Multimedia Streaming in Heterogeneous Peer-to-Peer Systems“. In: Proc. of the 8th ACM SIGMM Int. Workshop on Network and Operating Systems Support for Digital Audio and Video (ACM NOSSDAV ’08), May 2008. Related evaluation tools:  M. Feldotto, K. Graffi: “Comparative Evaluation of Peer-to-Peer Systems using PeerfactSim.KOM “. In Proc. of the IEEE International Conference on High Performance Computing and Simulation (IEEE HPCS ’13), 2013  K. Graffi: “PeerfactSim.KOM: A P2P System Simulator – Experiences and Lessons Learned“. In: Proc. of the IEEE International Conference on Peer-to-Peer Computing, (IEEE P2P’11), August 2011 Related load-balancing / heterogeneity awareness  L. Bremer, K. Graffi: “Symbiotic Coupling of P2P and Cloud Systems: The Wikipedia Case“. In Proc. of the IEEE International Conference on Communications (IEEE ICC ’13), 2013  P. Wette, K. Graffi: “Adding Capacity Awareness and Load Balancing to Homogeneous Distributed Hash Tables“. In Proc. of the IEEE International Conference on Networked Systems (IEEE NetSys ’13), 2013  K. Graffi, C. Groß, D. Stingl, H.Nguyen, A. Kovacevic, R. Steinmetz: „Towards a P2P Cloud: Reliable Resource Reservations in Unreliable P2P Systems“.In: Proc. of the 16th IEEE International Conference on Parallel and Distributed Systems, (IEEE ICPADS’10), December 2010
  • 101. A Peer-to-Peer Framework for Social Networks More information: www.p2pframework.com Jun.-Prof. Dr.-Ing. Kalman Graffi, P2P-Framework for Social Networks, www.p2pframework.com 101