FStream: a decentralized and social music streamer

Similar documents
Multimedia CTI Services for Telecommunication Systems

Fault-Tolerant Storage Servers for the Databases of Redundant Web Servers in a Computing Grid

MUTE: A Peer-to-Peer Web-based Real-time Collaborative Editor

Taking Benefit from the User Density in Large Cities for Delivering SMS

BoxPlot++ Zeina Azmeh, Fady Hamoui, Marianne Huchard. To cite this version: HAL Id: lirmm

Setup of epiphytic assistance systems with SEPIA

Linked data from your pocket: The Android RDFContentProvider

SIM-Mee - Mobilizing your social network

WebGC Gossiping on Browsers without a Server [Live Demo/Poster]

Rule-Based Application Development using Webdamlog

FIT IoT-LAB: The Largest IoT Open Experimental Testbed

Service Reconfiguration in the DANAH Assistive System

Change Detection System for the Maintenance of Automated Testing

A Resource Discovery Algorithm in Mobile Grid Computing based on IP-paging Scheme

Modularity for Java and How OSGi Can Help

Content and Geographical Locality in User-Generated Content Sharing Systems

DANCer: Dynamic Attributed Network with Community Structure Generator

Tacked Link List - An Improved Linked List for Advance Resource Reservation

Blind Browsing on Hand-Held Devices: Touching the Web... to Understand it Better

Relabeling nodes according to the structure of the graph

YANG-Based Configuration Modeling - The SecSIP IPS Case Study

Real-Time and Resilient Intrusion Detection: A Flow-Based Approach

Open Digital Forms. Hiep Le, Thomas Rebele, Fabian Suchanek. HAL Id: hal

Linux: Understanding Process-Level Power Consumption

Nearest Neighbors Graph Construction: Peer Sampling to the Rescue

Simulations of VANET Scenarios with OPNET and SUMO

Reverse-engineering of UML 2.0 Sequence Diagrams from Execution Traces

Assisted Policy Management for SPARQL Endpoints Access Control

Comparison of spatial indexes

HySCaS: Hybrid Stereoscopic Calibration Software

Malware models for network and service management

Computing and maximizing the exact reliability of wireless backhaul networks

An FCA Framework for Knowledge Discovery in SPARQL Query Answers

BugMaps-Granger: A Tool for Causality Analysis between Source Code Metrics and Bugs

YAM++ : A multi-strategy based approach for Ontology matching task

The New Territory of Lightweight Security in a Cloud Computing Environment

A Practical Evaluation Method of Network Traffic Load for Capacity Planning

A Voronoi-Based Hybrid Meshing Method

How to simulate a volume-controlled flooding with mathematical morphology operators?

Mokka, main guidelines and future

Deformetrica: a software for statistical analysis of anatomical shapes

Comparator: A Tool for Quantifying Behavioural Compatibility

Syrtis: New Perspectives for Semantic Web Adoption

Detecting Anomalies in Netflow Record Time Series by Using a Kernel Function

Scalewelis: a Scalable Query-based Faceted Search System on Top of SPARQL Endpoints

ASAP.V2 and ASAP.V3: Sequential optimization of an Algorithm Selector and a Scheduler

QAKiS: an Open Domain QA System based on Relational Patterns

Study on Feebly Open Set with Respect to an Ideal Topological Spaces

Open Source Software Developer and Project Networks

Traffic Grooming in Bidirectional WDM Ring Networks

Decentralised and Privacy-Aware Learning of Traversal Time Models

X-Kaapi C programming interface

Towards a Self-Adaptive Data Management System for Cloud Environments

FreeRec: an Anonymous and Distributed Personalization Architecture

Catalogue of architectural patterns characterized by constraint components, Version 1.0

Teaching Encapsulation and Modularity in Object-Oriented Languages with Access Graphs

Stream Ciphers: A Practical Solution for Efficient Homomorphic-Ciphertext Compression

Full Text Search Engine as Scalable k-nearest Neighbor Recommendation System

Natural Language Based User Interface for On-Demand Service Composition

Very Tight Coupling between LTE and WiFi: a Practical Analysis

Every 3-connected, essentially 11-connected line graph is hamiltonian

The Connectivity Order of Links

KeyGlasses : Semi-transparent keys to optimize text input on virtual keyboard

Implementing Forensic Readiness Using Performance Monitoring Tools

Robust IP and UDP-lite header recovery for packetized multimedia transmission

Application of RMAN Backup Technology in the Agricultural Products Wholesale Market System

Lossless and Lossy Minimal Redundancy Pyramidal Decomposition for Scalable Image Compression Technique

Light field video dataset captured by a R8 Raytrix camera (with disparity maps)

Quality of Service Enhancement by Using an Integer Bloom Filter Based Data Deduplication Mechanism in the Cloud Storage Environment

Zigbee Wireless Sensor Network Nodes Deployment Strategy for Digital Agricultural Data Acquisition

A Generic Architecture of CCSDS Low Density Parity Check Decoder for Near-Earth Applications

A case-based reasoning approach for unknown class invoice processing

A million pixels, a million polygons: which is heavier?

Multi-atlas labeling with population-specific template and non-local patch-based label fusion

COM2REACT: V2V COMMUNICATION FOR COOPERATIVE LOCAL TRAFFIC MANAGEMENT

Cloud My Task - A Peer-to-Peer Distributed Python Script Execution Service

QuickRanking: Fast Algorithm For Sorting And Ranking Data

Branch-and-price algorithms for the Bi-Objective Vehicle Routing Problem with Time Windows

XBenchMatch: a Benchmark for XML Schema Matching Tools

LaHC at CLEF 2015 SBS Lab

Mapping classifications and linking related classes through SciGator, a DDC-based browsing library interface

NP versus PSPACE. Frank Vega. To cite this version: HAL Id: hal

Representation of Finite Games as Network Congestion Games

UsiXML Extension for Awareness Support

Monitoring Air Quality in Korea s Metropolises on Ultra-High Resolution Wall-Sized Displays

The SANTE Tool: Value Analysis, Program Slicing and Test Generation for C Program Debugging

Privacy-Preserving Distributed Collaborative Filtering

Moveability and Collision Analysis for Fully-Parallel Manipulators

Hierarchical Multi-Views Software Architecture

A N-dimensional Stochastic Control Algorithm for Electricity Asset Management on PC cluster and Blue Gene Supercomputer

Integration of an on-line handwriting recognition system in a smart phone device

Real-time FEM based control of soft surgical robots

Hardware Acceleration for Measurements in 100 Gb/s Networks

Caching strategies based on popularity prediction in content delivery networks

Application of Artificial Neural Network to Predict Static Loads on an Aircraft Rib

The Animation Loop Station: Near Real-Time Animation Production

Experimental Evaluation of an IEC Station Bus Communication Reliability

[Demo] A webtool for analyzing land-use planning documents

Fuzzy sensor for the perception of colour

Managing Risks at Runtime in VoIP Networks and Services

Transcription:

FStream: a decentralized and social music streamer Antoine Boutet, Konstantinos Kloudas, Anne-Marie Kermarrec To cite this version: Antoine Boutet, Konstantinos Kloudas, Anne-Marie Kermarrec. FStream: a decentralized and social music streamer. NETYS, May 2013, Marrakech, Morocco. 2013. <hal-00828542> HAL Id: hal-00828542 https://hal.inria.fr/hal-00828542 Submitted on 31 May 2013 HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

FStream: a decentralized and social music streamer Antoine Boutet 1, Konstantinos Kloudas 1, and Anne-Marie Kermarrec 1,2 INRIA Rennes, France antoine.boutet@inria.fr, konstantinos.kloudas@inria.fr, anne-marie.kermarrec@inria.fr EPFL, Switzerland anne-marie.kermarrec@epfl.ch Abstract. Internet streaming services and social networks have drastically changed how people discover and consume music. Existing streaming services allow users to listen to music available on a centrally controlled web infrastructure. However, recent trends, e.g. large, inexpensive home storage devices and always on, high-speed broadband connectivity, provide the opportunity for users to collaboratively share their music collections directly, without the intervention of a service provider. In this paper we present FStream, a distributed, social music streaming service. Users contribute to the system by hosting at home a FStream- Box which enables them to have access to their music collection everywhere and at any time. In addition, they can share their collection with friends, discover new tracks thanks to a recommendation system and search for specific tracks in the whole network without using a central entity. FStream provides a fine grained sharing policy allowing the user to have full control over the way she shares her music and manage resource allocation to address traffic spikes and content availability. Keywords: Social Networks, Recommendation System, Streaming 1 Introduction In recent years the way we are consuming music has drastically changed. Aided by technological advances in network access and storage, personal music collections have grown considerably while, at the same time, fit in devices as small as a usb stick. The above, in combination with the integration of music players in mobile devices like smartphones that we carry everywhere, has led to music accompanying many of our everyday activities. The above phenomenon has led to the emergence of numerous Internet services like Spotify 1 or Jango 2 that provide large collections of tracks directly available for streaming (without downloading). 1 http://www.spotify.com 2 http://www.jango.com

An aspect of music that does not go unnoticed by these services is the social one. Music sharing sites, in their effort to improve their offered services and to engage users, add more and more functionalities based on user interactions. This includes music recommendation based on collaborative filtering, track rating and playlist sharing. On the other hand, and for the same reasons, social networking sites tend to integrate music sharing functionalities. The recent deal between Facebook and Spotify illustrates the above. Existing services, allow users to listen to music available on a centrally controlled web infrastructure. Even services like Spotify that are peer-assisted [4], assume the existence of a central index, which serves as the gateway to locate music tracks. However, recent trends such as large, inexpensive home storage devices and always on, high-speed broadband connectivity at low (and decreasing) cost provide the opportunity for users to collaboratively share their music collections directly from home [6, 5], without the intervention of a service provider. Hosting a streaming server at home, removes the need for users to install specific software on each one of their devices or download each track before listening to it, as in existing filesharing applications. In addition, an alternative architecture that permits the direct interaction between users, avoids drawbacks of the centralized alternatives: (i) no site-specific constraints on the upload data (e.g. format, size, etc) and no need to upload content to remote data centers; (ii) avoid complex terms of ownership rights (e.g. facebook, instagram) and let users regain control over their data (i.e., what to share, whom to share with); (iii) no advertisement and service restriction (e.g. restricted free access) or restriction on the available music collection (e.g. only albums from one label); (iv) scalability issue (e.g. track unavailable due to social sprike). In this paper we present FStream, the first distributed, social music streaming network. FStream enables users to have access to their own music collection everywhere and at any time. In addition, they can share their collection with friends, discover new tracks thanks to a recommendation system that brings closer people with similar music tastes, and search specific tracks in the whole network without relying on a central entity. FStream provides a fine grained sharing policy that permits the user to have full control over the way she shares her music. Instead of installing a p2p client, users in FStream use a browser to connect their box called FStreamBox. FStream is hosted at home and takes care of managing all operations for them. In particular, FStream helps users to maintain their social network, compute recommendation based on their music tastes and manage resource allocation to address traffic spikes and content availability. 2 Overview of FStream FStream resides on user provided resources leveraging their capabilities in storage and bandwidth. In FStream, each user contributes to the system by hosting at home a FStreamBox, which grants access to not only its own music collection but the ones of other members of the service. The only thing required to

benefit from the streaming service is a web browser to connect to her machine. All the operations of referencing friends collections, discovering new nodes and music collections, computing recommendations and content caching are managed by the FStreamBox. We based our solution on Subsonic 3, an opensource, web-based media streamer and added several components implementing the additional functionality provided by FStream. This additional functionality includes: (i) social network construction and maintenance, (ii) ownership and sharing restrictions control, (iii) recommendation system, (iv) search mechanism, (v) storage space and social caching. Fig. 1. FStream architecture. Figure 1 depicts the architecture of a FStream system. Our system can be seen as composed of four different layers. At the bottom layer are the FStreamBoxes that provide the storage service and are the link between a user and the rest of the system. The second layer relies on a random-peer-sampling (rps) protocol [7] which ensures connectivity between FStreamBoxes by building and maintaining a continuously changing random topology. This random overlay is also leveraged to search items through the system. The upper-layer clustering protocol [8] uses this overlay to provide users with the most similar candidates based on their profiles (i.e. short descriptors of their tastes) to form an interestbased topology. This gossip-based clustering protocol, is based on a periodic exchanges of user profiles, on which it applies a similarity metric to cluster users 3 http://www.subsonic.org

with similar music tastes. To guarantee that this overlay represents the user s most recent mood, a user s profile contains information on her latest activity on the system (songs that she has been listening lately) and the clustering algorithm updates a user s neighborhood dynamically. Finally, the last layer in the architecture maintains connectivity with friends through the explicit social network of users. Each user initially connects to her FStreamBox which manages all operations on her behalf. For instance, user d of Figure 1 is connected to her FStreamBox and benefits from social caching from the FStreamBox of both an explicit friend (i.e. User b) and an implicit friend on the interest-based topology (i.e. User g). Functionalities provided by FStream are explained below. Social network As depicted in the architecture mentioned above, users can explicitly declare other users as friends in FStream. Declaring a user as a friend, is equivalent to granting her access to your music collection. The granted access is subject to the sharing preferences on the owner of the collection has defined (described below) and the data remain stored on the owner s FStreamBox while the two users are presented with the merged indexes of their collections. Listening a track generates a stream from the box where it is stored to the user who consumes it (User d on Figure 1). Ownership and sharing restriction FStream enables users to define their sharing preferences at the granularity of tracks. The full collection or part of it can be public, shared only with its social network or private. Public means that anybody can view, listen or copy the content while private restricts access to only the owner of the collection. Finally, a user is able to restrict access to her collection only to her social network, in this case only users declared as friends can view and listen the content. Recommendation system As mentioned earlier, one of the objectives of FStream is to discover and connect users that share similar tastes, even in the case that they are not among each other s explicit social network. This is guaranteed by the gossip-based clustering protocol described above that manages to cluster users by exchanging their profiles. Recommendations presented to users are based on the activity of both explicit and implicit friends. This functionality permits FStream to work as a recommendation system that proposes new content to a given user based on what other users with similar tastes listen. Furthermore, this interest-based topology could be further leveraged in FStream to recommend items to users [1, 2] and to perform the social caching. Search Users can also launch requests for specific tracks. To answer this need and to locate specific content in the network, FStream benefits from search mechanisms. This mechanism first leverages profile exchanged for the building of overlays. As the profile contains information on the collection, the requested track can be locally present in profile information. Otherwise FStream uses a gossip protocol [3] to localize the content on the system.

Storage Space and Social Caching FStream relies on a self-sufficient storage infrastructure (no need for central infrastructure) where users contribute storage resources to the service. This contributed storage space is divided in two parts, the first one is used to store the user s local collection and is controlled by the user, while the second is used by FStream to guarantee content availability and good Quality-Of-Service (QoS). In this respect, it can be seen as a distributed social cache. Its social aspect relies on the fact that FStream decides what to store and which item to replace in this part according to the music preferences of the owner of the machine, but also the ones of her social network. This differentiates FStream s cache replacement policy from classic ones that apply policies like Least-Recently-Used or Least-Frequently-Used. The purpose of this social cache is twofold. On one hand, it helps with content availability in the face of node disconnection while on the other, it helps the system to serve popular content and face traffic spikes. 3 Summary Following the evolution on how users consume music, we present the design of FStream, a distributed social music sharing and streaming service based on FStreamBox hosted at each user. FStream enables users to access to their music collection everywhere and at any time and to share it with friends, search for specific tracks and discover new ones thanks to a recommendation system in a fully decentralized manner. At the same time, FStream provides a fine grained sharing policy that permits the user to have full control over the way she shares her music and manage resource allocation. References 1. A. Boutet, D. Frey, R. Guerraoui, A. Jégou, and A.-M. Kermarrec. WhatsUp Decentralized Instant News Recommender. In IPDPS 2013, Boston, États-Unis, May 2013. 2. J. Carretero, F. Isaila, A.-M. Kermarrec, F. Taïani, and J. Tirado. Geology: Modular Georecommendation in Gossip-Based Social Networks. In ICDCS, 2012. 3. D. Kempe, J. Kleinberg, and A. Demers. Spatial gossip and resource location protocols. J. ACM, 2004. 4. G. Kreitz and F. Niemela. Spotify large scale, low latency, p2p music-on-demand streaming. In P2P, 2010. 5. M. Marcon, B. Viswanath, M. Cha, and P. Gummadi. Sharing social content from home: a measurement-driven feasibility study. In NOSSDAV, 2011. 6. V. Valancius, N. Laoutaris, L. Massoulie, P. Rodriguez, and C. Diot. Greening the Internet with Nano Data Centers. In CoNEXT, 2009. 7. S. Voulgaris, D. Gavidia, and M. v. Steen. Cyclon: Inexpensive membership management for unstructured p2p overlays. J. Network Syst. Manage., 2005. 8. S. Voulgaris and M. v. Steen. Epidemic-style management of semantic overlays for content-based searching. In Euro-Par, 2005.