Enabling Socially-Aware Distributed
Systemsor
Some Ongoing Research in the Distributed Systems
GroupAdriana [email protected]
2
Thesis
The wealth of social information exposed from multiple sources can be mined in the design of distributed computing infrastructures: to facilitate improved performance for traditional applications and services;to enable novel applications.
3
Social Information
Connects people through relationshipsObject centric: use of same objectsPerson centric: declared relationships or co-participation in events, groups, etc.
Social relationships can be translated into:
TrustIncentives for resource sharingShared interest in content…
4
Motivating Application: Socially-
aware Call Censor
5
Motivating Application: Personalized Evacuation
Route
6
Motivating Application: Data Placement
7
“No 24 in B minor, BWV 869”“Les Bonbons”
“Yellow Submarine”“Les Bonbons”
“Yellow Submarine”“Wood Is a Pleasant Thing to Think About”
“Wood Is a Pleasant Thing to Think About”
The interest-sharing graph GmT(V, E):
V is set of users active during interval T An edge in E connects users who share at least m file
requests within T
An Example: Interest Sharing
8
Small Worlds
0.1
1.0
10.0
1 10 100 1000 10000Clustering coefficient ratio (log scale)
Avg
. pat
h le
ngth
rat
io (
log
scal
e) .
Word co-occurrences
Film actors
LANL coauthors
Internet
Web
Food web
Power grid
D. J. Watts and S. H. Strogatz, Collective dynamics of small-world networks. Nature, 393:440-442, 1998R. Albert and A.-L. Barabási, Statistical mechanics of complex networks, R. Modern Physics 74, 47 (2002).
9
Web Interest-Sharing Graphs
0.1
1.0
10.0
1 10 100 1000 10000Clustering coefficient ratio (log scale)
Avg
. pat
h le
ngth
rat
io (
log
scal
e) . Web data-sharing graph
Other small-world graphs
7200s, 50files
3600s, 50files
1800s, 100files
1800s, 10file
300s, 1file
10
DØ Interest-Sharing Graphs
0.1
1.0
10.0
1 10 100 1000 10000Clustering coefficient ratio (log scale)
Avg
. pat
h le
ngth
rat
io (
log
scal
e) . Web data-sharing graph
D0 data-sharing graphOther small-world graphs
7days, 1file
28 days,1 file
11
KaZaA Interest-Sharing Graphs
7day, 1file
28 days1 file
0.1
1.0
10.0
1 10 100 1000 10000Clustering coefficient ratio (log scale)
Avg
. pat
h le
ngth
rat
io (
log
scal
e) . Web data-sharing graph
D0 data-sharing graphOther small-world graphsKazaa data-sharing graph
2 hours1 file
1 day2 files
4h2 files
12h4 files
12
Proactive Information Dissemination
3 days 7 days 10 days 14 days 21 days 28 days
0
10
20
30
40
50
60
70
80
90
100 Except largest cluster
Total hit rateD0
Web
2 min 5 min 15 min 30 min
0
10
20
30
40
50
60
70
80
90
100 Except largest clusterTotal hit rate
1 hour 4 hours 8 hours
010
20
30
40
50
60
70
8090
100 Except largest clusterTotal hit rate
Kazaa
13
Objectives
A service thatcan provide relevant social information to a variety of applications and servicesMaintains social information from unrestricted sourcesExports a flexible interface for mining social knowledge
allows user-controlled privacy protection
14
State of the Art
Application-limited collection and use of social information
High bootstrap costLimited (potentially inaccurate) information. E.g., Information from online social networks
Hidden incentives to have many “friends”All relationships equalSymmetric relationships
Newer proposals to merge different sources of social (and sensor) information
Specifically targeting context awareness
15
Prometheus: A P2P Social Data Management
Service Collects social information from multiple sources (social sensors)Maintains this information in a social graphOffers a set of basic social inference functions
16
Outline
MotivationPrometheus architecture
Social sensorsSocial graph representationSocial data management in a Peer-to-Peer architectureSocial inferences exported to applications and servicesPrivacy protection
Experimental resultsPerformance under synthetic workloadsCallCensor application
17
Prometheus
Peer-to-peer architectureUsers contribute resources (peers)Fundamental change from typical peer-to-peer networks: not every user has its peer
Input: Social information collected from different social sensors
Applications running on behalf of usersCollect information according to user-specified policiesReport social information to Prometheus
Output: Social information made available (subject to user policies) to applications and services
18
Social SensorsA decentralized service that:
Collects social information from multiple sources (social sensors)Maintains this information in a social graphOffers a set of basic social inference functions
19
Social SensorsLocationCollocationSchedule (e.g., Google calendar)Mobile phone activity (calls, sms)Online social network interactionsEmailPersonal relations (family)Shared contentShared interest (e.g., CiteULike)…
20
Social Sensors
Report on behalf of ego:Alter, the person ego is interacting withAn activity tag: e.g., “outdoors”, “dinning”
Based on content, location, predefined labels, etc.
A weight: e.g., 0.15
Run on ego’s mobile devices, desktops, webAggregates and analyzes user interactions
To reduce noiseTo distinguish between routine and meaningful interactions
21
Social Sensors: Challenges
Identifying activity tags:Mine text for keywords (emails, sms, blogs, etc)Reverse geo-coding to find where (co)locatedPredefined labels or dictionary and ontologies
Quantifying interactions (assigning weights):
Frequency, duration, time in-between interactionsFamiliar strangers versus active social interaction
22
Prometheus Social Graph
A decentralized service that:Collects social information from multiple sources (social sensors)Maintains this information in a social graphOffers a set of basic social inference functions
23
Prometheus Social Graph
24
Distributed Management of the Social Graph
25
Prometheus Architecture
26
Architecture Details
Users have a unique user ID Select trusted peer group based on offline social trust with peer ownersA user’s trusted peers communicate via ScribeOnly the user’s trusted peers can decrypt user’s social data and thus perform social inference functions
27
Social Data Protection
2 sets of public/private keysUser’sUser’s trusted peer group
Social sensors submit data encrypted with the group’s public key and signed with the user’s private key
Access to user’s private key only on user’s devicesData stored in the Pastry overlay
Only trusted peers can decrypt and authenticate data
28
Social Inference Functions
A decentralized service that:Collects social information from multiple sources (social sensors)Maintains this information in a social graphOffers a set of basic social inference functions
29
API for Applications: Social Inference
Functions5 basic social inference functions:• relation_test (ego, alter, ɑ, w)• top_relations (ego, ɑ, n)• neighborhood (ego, ɑ, w, radius)• proximity (ego, ɑ, w, radius, distance)
• social_strength (ego, alter)
More complex functions can be built
30
Social Strength
Quantifies strength between ego and alterResult normalized to consider overall activitySearch all paths of maximum 2 social hopsOne approach to quantify social strength. Others are certainly possible.
31
Lessons from Experiments on
PlanetLabSocial-based mapping of users onto peers leads to significant performance gains:
More than 15% of requests finish faster An order of magnitude fewer messages
Availability through replication does not include high overheadReasonable latency
Code not optimized, significant performance gains compared to 2 weeks ago.
32
Experimental Results: Neighborhood Requests
QuickTime™ and a decompressor
are needed to see this picture.
QuickTime™ and a decompressor
are needed to see this picture.
33
Social Strength Request Results
Similar performance with 2-hop Neighborhood Requests
Search all 2-hop paths from source to destination
34
Real Social Traces: NJIT Social Graph
100 randomly selected students from NJIT given Bluetooth-enabled phones that report their collocationData recorded
Collocation with two thresholds (45 and 90 minutes)Facebook friendships
Sparse graph (commuters)
35
CallCensor
CallCensor implemented on AndroidCell phone silenced, rings or vibrates depending on the social context and relationship with callerRelationship with caller:
Social strength > threshold: allow callCaller connected by work and 1 hop awayCaller connected by work and ≤ 2 hops away
Real social data from 100 users stored on 3 nodes from PlanetLabReal time performance constraints
36
CallCensor Results
Met real-time performance constraint: response arrives before call forwarded automatically to voicemail
37
Summary
Prometheus: a decentralized service that enables socially-aware applications and services by collecting, managing and exposing social knowledge, subject to user-specified privacy policies.Unique contributions:
Social graph representationAggregated social data Social inference functionsSocially-aware design
38
Summary
Users of Prometheus:Decide what personal social data are collected by installing/configuring social sensorsCooperate to store and manage their social data in a decentralized fashionOwn and control access to their data
Prometheus enables:Socially-aware applications that utilize social data collected from multiple sourcesAccurate social world representation through multi-edge, labeled, directed and weighted graphImproved performance through socially-aware P2P system design
39
Future Work
Improve Prometheus performanceNetwork optimizations
Caching of inference request results
Develop new social sensors
Develop new socially-aware applications & services
Study tolerance to malicious attacksExposure of social information to intermediate peers during request execution
Manipulation of social connections to alter the structure of the social graph
40
Why P2P?
1st alternative: Free Centralized ServiceNo incentives or business model for free storage and service of encrypted data
2nd alternative: CloudCost for transferring and storing dataTradeoff between privacy & inference functionality
3rd alternative: mobile phonesLimited energy and computation powerNot always online (service unavailability)Not always synchronized, for fast and efficient inference support
41
Prometheus vs. Facebook?
Both collect social information of users from multiple sources but:
Facebook is limited to input from Facebook-controlled sourcesPrometheus accepts input from any user-defined social source (sensor)
User-control of social informationPrometheus allows full user-control:
Storage of dataExposure of data to users, applications & services
Facebook allows very limited user-control:Exposure of data to users, applications & services*Always at odds with its business model
42
Updating the Social Graph
Social data for each user stored as append-only file in P2P network
Atomic appends using lock file for synchronization
Trusted peers periodically check for new inputs for a user
May have inconsistent data for short time periods
Not major problem: social graphs do not change frequently
After authentication, new input is merged with the social graph of the relevant user
43
More Information
Paper in Middleware 2010 (“Prometheus: User-Controlled P2P Social Data Management for Socially-Aware Applications”)
http://www.cse.usf.edu/[email protected]
44
Acknowledgements
My team of talented graduate students:
National Science Foundation grants CNS-0831785 and CNS-0952420
45
Thank you!
46
Mobius Application Mobius Application Scenario: Scenario:
Community Multimedia Community Multimedia Sharing (1)Sharing (1)
Alice
Bob’s service
Mobile tier
P2P tier
Registerservice
Jane
Mike
Download mobileapplication for Bob’s service
Service discovery service
Alice, Mike &Jane friends
Bob’s service enables Bob’s service enables mobile users to upload & mobile users to upload & share multimedia contentshare multimedia content
Sharing community is Sharing community is specified according to specified according to type and strength of type and strength of social tiessocial ties
47
Application Scenario: Application Scenario: Community Multimedia Community Multimedia
Sharing (2)Sharing (2)
Alice
Bob’s service
Mobile tier
StorePhoto
P2P tier
Upload Photo
Jane
Jane’s PC
Event notificationservice
Mike
Ad Hoc Collection of Jane’s Social Context Data
Notify Alice’sFriends
EventNotification
DownloadPhoto
Service discovery service
Servicediscovery
48
P2P Tier ArchitectureP2P Tier Architecture
Service 1Service 1 Service 2Service 2 Service nService n
Service APIService API
EventEventManagerManager
OffloadingOffloadingAdmissionAdmission
ServiceServiceDiscoveryDiscovery
NetworkNetwork
Privacy/Security Policy EnforcementPrivacy/Security Policy Enforcement
Core Services for Mobile TierCore Services for Mobile Tier
DataDataEmergent Emergent Geo-SocialGeo-Social Pattern Pattern LearningLearning
ServiceService
Geo-Social P2P ServicesGeo-Social P2P Services
Social Social StateState
Geo-Socially Aware P2P ManagementGeo-Socially Aware P2P Management
Geo-Geo-Social Social DataData
CollectioCollectionn
OverlaOverlayy
ContextContextProviderProvider
49
ApplicatioApplication 1n 1
ApplicatioApplication 2n 2
ApplicatioApplication nn n
Mobile APIMobile API
EventEventDispatchDispatch
erer
ResourceResourceMonitorMonitor
Ad HocAd HocSocial Social ContextContext
OffloadinOffloadingg
ManagerManager
LocationLocationEngineEngine
Operating SystemOperating System
Mobile Node Architecture
Top Related