Upload
andie
View
25
Download
0
Embed Size (px)
DESCRIPTION
Students: Ran Margolin & Dan Waxman Supervisor: Ittay Eyal. D istributed M edia P layer. Project Objective. Theory - Log. Synchronized Log - identical behavior. Read/Execute. Read/Execute. Log Play PauseStop PausePlay Stop. Log Play PauseStop PausePlay Stop. Synced. Issue. - PowerPoint PPT Presentation
Citation preview
Distributed Media Player
Students:Ran Margolin & Dan Waxman
Supervisor:Ittay Eyal
Project Objective
Theory - Log Synchronized Log - identical behavior.
Log1. Play2. PauseStop3. PausePlay4. Stop
Log1. Play2. PauseStop3. PausePlay4. Stop
Synced
Read/Execute Read/Execute
IssueIssueBroadcast Broadcast
Theory – NCT (Network Clock Time) Commands executed
synchronously.
Log1. 11:03 - Play2. 11:07 -
PauseStop3. 11:12 -
PausePlay4. 11:13 - Stop
Synced
Read/Execute Read/Execute
IssueIssueBroadcast Broadcast
SynchronizedCurrent Time (11:12)
Log1. 11:03 - Play2. 11:07 -
PauseStop3. 11:12 -
PausePlay4. 11:13 - Stop
Current Time (11:12)
Network Structure Identical privileges and
control.
Synchronization via broadcast messages & peer2peer exchange.
Software Design - Structure
User pressesplayBroadcast command + retrieve
song
Using Database, retrieve song from
hard drive
Play Song + update
GUI
Presentation Tier
Logic Tier
Data Tier
Software Design - Modules
DMPControll
er
Neighbor
List Song List
Media
PlayerLo
gListe
n Serve
r
NCTControll
er
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 – Song 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