D istributed M edia P layer Students: Ran Margolin & Dan Waxman Supervisor: Ittay Eyal
Project Objective
Theory - Log Synchronized Log - identical behavior. Log 1.Play 2.PauseStop 3.PausePlay 4.Stop Log 1.Play 2.PauseStop 3.PausePlay 4.Stop Synced Read/Execute Issue Broadcast
Theory – NCT (Network Clock Time) Commands executed synchronously. Log 1.11:03 - Play 2.11:07 - PauseStop 3.11:12 - PausePlay 4.11:13 - Stop Synced Read/Execute Issue Broadcast Synchronized Current Time (11:12) Log 1.11:03 - Play 2.11:07 - PauseStop 3.11:12 - PausePlay 4.11:13 - Stop Current Time (11:12)
Network Structure Identical privileges and control. Synchronization via broadcast messages & peer2peer exchange.
Software Design - Structure Broadcast command + retrieve song Using Database, retrieve song from hard drive Play Song + update GUI
Software Design - Modules DMP Controller DMP Controller Neighbor List Neighbor List Song List Media Player Log Listen Server NCT Controller NCT Controller Neighbor List Neighbor List Listen Server Clock GUI
Software Design – Design Patterns Observer – Sub modules inherit java.util.Observable Core modules implement java.util.Observer. Decorator – Used in GUI. Implemented using Swing library.
Software Design – Technologies JAVA Song library maintained using MySQL Media files played using Java Media Framework
Software Design – Data Types Used TreeSet – Inner implementation of NeighborList. ( log[n]) ArrayList – SongList transfer. MySQL – S ong library data (SongList).
Software Design – Inheritance/ Interface Interface Serializable- Transfer of data between users. Interface Observer/Class Obervable – Monitor & update changes between modules. Interface Comparable- Facilitate comparison in data structures.
Problems JMF non real-time oriented Workaround: Heuristic algorithms (partial results) Playback rate varies according to CPU workload
The End