160 likes | 272 Views
Android around the clock. Authors: Lior Narkis Maxim Chepurnyak Supervisor: Ittay Eyal. Agenda. Motivation Project Goals CTP algorithm Application top-level Main modules overview Clock synchronization Membership Playback command dispatch Media Player control GUI
E N D
Android around the clock Authors: LiorNarkis Maxim Chepurnyak Supervisor: IttayEyal
Agenda • Motivation • Project Goals • CTP algorithm • Application top-level • Main modules overview • Clock synchronization • Membership • Playback command dispatch • Media Player control • GUI • Design environment • Milestones
Motivation • Android based smart-phones are very common nowadays. These phones are used by many also as a media device. • We want to let a group of two or more of these phones, play the same song at the same time. • The playback can be controlled by any of group member.
Project goals • Creating a distributed Android application which will play a song on different devices all together. • The application will manage the group membership by supporting joining and leaving. • The application will keep all the group members clocks synchronized to each other. • The application will ensure global ordering of users’ commands.
Classless Time Protocol • A network clock synchronization protocol • Based on Omer Gurewitz’s work published in IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 14, NO. 4, AUGUST 2006 • Improvement to NTP
Application top-level • The diagram is neither complete nor final
Clock synchronization module • Implements CTP. • Provides a synchronized clock for other modules. • Provides a level of confidence parameter indicating the CTP quality.
Clock synchronization module – sequence diagram for NTP packet life-cycle
Membership module • Maintaining a list of active members(“alive” messages). • Support joining and leaving(avoiding partitions and livelocks). • Provides the members list to the rest of the modules.
Playback command dispatch(PCD) module • Broadcasts commands list sent by the MPC to all group members(including itself). • Delivers commands list to the MPC if no later commands list was delivered before.
Media player control(MPC) module • Drives the Android media player. • Receives commands from the GUI and sends those to the PCD. • Receives commands lists delivered by the PCD. • Processing the commands list.
GUI module • Simple. • Provides joining and leaving a group. • Provides basic playback operations.
Design Environment • The following tools/packages will be used: • Eclipse • JRE 7+ • JDK 1.7+ • Android SDK tools for eclipse • Paradigm UML plugin for eclipse – community edition • The project will be written in Java, using Android libraries, and will be checked on the Android emulator and real Android smart-phones.
Milestones • Completion of mid semester report. • Basic clock synchronization module • Basic membership module • Basic PCD module • Basic MPC module • Basic GUI module • Basic app