Smart Party: Song Selection Kevin F. Eustice, Jason Stoops, Peter Reiher, Venkatraman Ramakrishna, Nam Nguyen UCLA.

Slides:



Advertisements
Similar presentations
Software change management
Advertisements

Configuration management
Designing an Architecture 1.Design Strategy Decomposition Designing to Architecturally Significant Requirements Generate and Test This generate-and test.
FIPA Interaction Protocol. Request Interaction Protocol Summary –Request Interaction Protocol allows one agent to request another to perform some action.
Teaser - Introduction to Distributed Computing
Copyright 2004 Koren & Krishna ECE655/DataRepl.1 Fall 2006 UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering Fault Tolerant Computing.
ROWAN COUNTY PUBLIC LIBRARY Using iTunes. Objectives Today you will learn how to: Navigate the iTunes interface Add music to the iTunes library Navigate.
Synchronization Chapter clock synchronization * 5.2 logical clocks * 5.3 global state * 5.4 election algorithm * 5.5 mutual exclusion * 5.6 distributed.
Nummenmaa & Thanish: Practical Distributed Commit in Modern Environments PDCS’01 PRACTICAL DISTRIBUTED COMMIT IN MODERN ENVIRONMENTS by Jyrki Nummenmaa.
Excursions in Modern Mathematics Sixth Edition
Failure Detectors. Can we do anything in asynchronous systems? Reliable broadcast –Process j sends a message m to all processes in the system –Requirement:
1 Lafayette Crisis Center Scheduling System Project # 3 WISE.
LEARNING OBJECTIVES/ GOALS/ SWBAT
LEARNING OBJECTIVES/ GOALS/ SWBAT
CS 582 / CMPE 481 Distributed Systems
The Smart Party A Personalized Location-Aware Multimedia Experience Kevin EusticeNam Nguyen V. Ramakrishna Dr. Leonard Kleinrock Dr. Peter Reiher Location-Driven.
The Smart Party: A Personalized Location-aware Multimedia Experience Kevin Eustice, V. Ramakrishna, Nam Nguyen, and Peter Reiher CCNC January 11, 2008.
CS 582 / CMPE 481 Distributed Systems
An Investigation into Guest Movement in the Smart Party Jason Stoops Faculty advisor: Dr. Peter Reiher.
Date: 03/05/2007 Vendor Management and Metrics. 2 A.T. Kearney X/mm.yyyy/00000 AT Kearney’s IT/Telecom Vendor Facts IT/Telecom service, software and equipment.
[ §4 : 1 ] 4. Requirements Processes II Overview 4.1Fundamentals 4.2Elicitation 4.3Specification 4.4Verification 4.5Validation Software Requirements Specification.
Gursharan Singh Tatla Transport Layer 16-May
Election Algorithms and Distributed Processing Section 6.5.
Election Algorithms. Topics r Issues r Detecting Failures r Bully algorithm r Ring algorithm.
Network Topologies.
Smart Learning Services Based on Smart Cloud Computing
Managing DHCP. 2 DHCP Overview Is a protocol that allows client computers to automatically receive an IP address and TCP/IP settings from a Server Reduces.
Server Load Balancing. Introduction Why is load balancing of servers needed? If there is only one web server responding to all the incoming HTTP requests.
President & Vice President Roles and Responsibilities Robin Fenton, SCTE Director Chapter Support.
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
Science & Music Project Overview Phase 1 Phase 2 Phase 3 Phase 4 Phase 5 Phase 6 Phase 7 Phase 8 Final Notes All phases will be completed over the course.
Presenter: Long Ma Advisor: Dr. Zhang 4.5 DISTRIBUTED MUTUAL EXCLUSION.
Memory. Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Paging Structure of the Page Table Segmentation.
Online Music Store. MSE Project Presentation III
Union Catalog Architecture Tsach Moshkovits, Development Team Leader Olybris, Ex Libris Seminar 2005 Kos, April 2005.
Main Memory. Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Paging Structure of the Page Table Segmentation Example: The.
By Jonathan Drake.  The Gnutella protocol is simply not scalable  This is due to the flooding approach it currently utilizes  As the nodes increase.
Highly Available Services and Transactions with Replicated Data Jason Lenthe.
Physics 218 towards a set of guidelines. Why guidelines for 218 ?  This guidelines need to be created for several purposes: 1.to be as fair as possible.
Mutual Exclusion Algorithms. Topics r Defining mutual exclusion r A centralized approach r A distributed approach r An approach assuming an organization.
SPACES FOR CSO PARTICIPATION. Invited vs Claimed Space.
MUSIC LIBRARY VISUALIZATION DESIGN Kevin Khieu. Music Genre A B C D E F Genre A A B C D E F Song D Genre Artist PlaylistSong Select category to search.
Coping with Link Failures in Centralized Control Plane Architecture Maulik Desai, Thyagarajan Nandagopal.
Chapter 5. An IP address is simply a series of binary bits (ones and zeros). How many binary bits are used? 32.
Grid Deployment Technical Working Groups: Middleware selection AAA,security Resource scheduling Operations User Support GDB Grid Deployment Resource planning,
Coordination and Agreement
Chapter 9: Transport Layer
Instructor Materials Chapter 9: Transport Layer
Trust-based Service Composition and Binding with Multiple Objective Optimization in Service- Oriented Mobile Ad Hoc Networks Yating Wang†, Ing-Ray Chen†,
Distributed voting application for handheld devices
Objectives 1. A fundamental understanding of the term decision
Magda El Zarki Professor, ICS UC, Irvine
Chapter 13: The Presidency Section 4
The Smart Party.
Four-Cut: An Approximate Sampling Procedure for Election Audits
EEC 688/788 Secure and Dependable Computing
Ensembles.
EEC 688/788 Secure and Dependable Computing
Chapter 13: The Presidency Section 4
Chapter 13: The Presidency Section 4
Chapter 13: The Presidency Section 4
Peer-to-Peer Information Systems Week 6: Assignment #4
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Abstractions for Fault Tolerance
Peer-to-Peer Information Systems Week 6: Assignment #4
If you have your parent letter, please turn in at my desk (scissors on my desk). Get out your homework and materials for notes!
Presentation transcript:

Smart Party: Song Selection Kevin F. Eustice, Jason Stoops, Peter Reiher, Venkatraman Ramakrishna, Nam Nguyen UCLA

Voting Algorithm Overview (Eustice)‏ Each device nominates a song to be played next A ballot containing metadata of all these songs is sent out to all devices From a pool of points, devices then assign points to each song in ballot proportional to personal preference value associated with song Points are tallied by coordinator and the bottom half of candidates are dropped Process repeats until one song wins!

Point Assignment Matches attempted by devices for point assignment when filling out ballot: 1.Filename match --> points based on song preference 2.Artist, title match --> points based on song preference 3.Artist match --> based on average preference for artist 4.Genre match --> based on average preference for that genre 5.No match --> no points allocated to this candidate Averages for known genres and artists are computed at application startup

Ballot Compilation Logical ballot compilation ensures correct point distribution during vote:  Songs nominated by two different devices --> one ballot entry  Songs with same metadata but different filename -- > one ballot entry  Songs with empty metadata --> separate ballot entries.  Devices can look at history of songs played in room and songs heard by device, and nominate unheard songs. (LASR)‏

Robustness Vote coordination is done by application separate from Smart Party Location Application, or SPLA.  SPLA has had reliable Round Robin song selection algorithm built in since beginning (LASR).  If something goes wrong in voting, SPLA can detect this condition and fails over to Round Robin selection. Smart Party User Device Application, or SPUDA, is selection algorithm agnostic.  simply responds to various requests

Accomplishments for quarter Implement voting algorithm  Learn basics of Panoply framework  Build up side-by-side implementation of voting Initially entirely separate from Smart Party application  Integrate voting into SPUDA  Vote Leader is still separate for future work in Smart Party: Vote coordination may eventually be handled by SPUDAs Vote leader may be chosen dynamically in future

Accomplishments for quarter, cont. Matching for metadata and tracking average preference value for known artists, genres Fail over to Round Robin selection if vote coordinator dies for some reason Generally complete implementation of individual voting song selection for a multi-room Smart Party.

An interesting test Tested voting algorithm with 6 participants  Varied media libraries and preferences  Four people liked various songs by Artist A Not all people had all songs by artist, some had exclusive sets of songs.  Two other people had a CD by another Artist B  Overall, most music fell under Genre A. Result  Songs by Artist A in Genre A played first, then other songs in Genre A.

Satisfaction Of Proposed Goals Satisfied Checkpoint 1: implement voting algorithm in smart party  Algorithm is in use in 3 room demo in LASR lab  Laptops can connect, and party will select songs from users in each room. However, checkpoint 2 has changed significantly...

Next quarter... Checkpoint 2 Formulate user mobility model  How does music affect people moving between rooms in the party?  How does this affect fairness and user satisfaction of song selection algorithms? Investigate media-centric rooms vs. user-centric rooms  Look at ALL music in party vs. music in room  Create rooms based on preference groups “Rock” room, “Jazz” room, “Beatles” room, etc. Devices may suggest a room to user based on prefs

Acknowledgements Venkatraman Ramakrishna, UCLA LASR, for helping and guiding me during this project. Kevin F. Eustice, Nam Nguyen, and Peter Reiher, UCLA LASR