D istributed M edia P layer

Preview:

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

Recommended