Virtual Beamer - Jini-Based Academic Project

Post on 30-Jun-2015

978 views 0 download

description

Presentation about the academic project submitted as part of the "Distributed Systems" course at Politecnico di Milano (Academic Year 2007-08): a Jini-based "Virtual Beamer"

Transcript of Virtual Beamer - Jini-Based Academic Project

The “Virtual Beamer”

Rocco Giovanni Versaci

(708259)

Paolo Somaglia

(708683)

Academic year 2007-2008

Academic year 2007-2008Paolo Somaglia and Rocco Giovanni Versaci 1

Assignment description

• Implement a “virtual beamer” to share a

presentation over a LAN/WiFi local network

– Requirements:

• Functional– The lecturer creates a session and selects the files (HTML and/or PDF)

– Students and lecturer’s slides are constantly synchronized

– The lecturer can see the list of students

– The lecturer can relinquish control to any student willing to ask

questions about any different part of the presentation, and then take it

back

– Students can join and part the presentation at any moment

• Non-Functional– The designed system should take as much load as possible off the

lecturer’s workstation

– No hard-coded network addresses

Academic year 2007-2008Paolo Somaglia and Rocco Giovanni Versaci 2

Hypotheses

• Each Jini instance is reliable

• Every process is reliable

• All communication channels are reliable

• No malicious users will participate in the

lecture

• The lecturer prefers not to be interrupted for

managing join/part requests manually

Academic year 2007-2008Paolo Somaglia and Rocco Giovanni Versaci 3

Supported file formats

• Both of the proposed file formats are

supported:

– PDF files

– HTM, HTML files (“complete pages”)

– JPG files

Academic year 2007-2008Paolo Somaglia and Rocco Giovanni Versaci 4

Jini service used in the project

• JavaSpace

– For sharing the files that constitute the presentation

• Jeri, Naming Service, Discovery Service,

Leasing Service

– For publishing, looking up and downloading service

proxies

• Event Service

– For synchronizing the presentation among the

various peers

Academic year 2007-2008Paolo Somaglia and Rocco Giovanni Versaci 5

Class diagram of the “logic layer”

Academic year 2007-2008Paolo Somaglia and Rocco Giovanni Versaci 6

Class diagram of the “view layer”

Academic year 2007-2008Paolo Somaglia and Rocco Giovanni Versaci 7

Deployment view

Academic year 2007-2008Paolo Somaglia and Rocco Giovanni Versaci 8

Run-time view

Academic year 2007-2008Paolo Somaglia and Rocco Giovanni Versaci 9

Starting the server (lecturer)

Academic year 2007-2008Paolo Somaglia and Rocco Giovanni Versaci 10

Starting the presentation

Academic year 2007-2008Paolo Somaglia and Rocco Giovanni Versaci 11

Slide-exchange protocol

Academic year 2007-2008Paolo Somaglia and Rocco Giovanni Versaci 12

The slides

• A presentation comprises several files to be

transmitted to the clients (students)

• Every file is to be written in each student’s

Javaspace: therefore, it is represented by an

EntryFile class (which extends Entry class)

• Each EntryFile contains a sequence number

and the total number of files to be sent

• The receiver collects the files in order, up to

the “maximumSequenceNumber-th” one.

Academic year 2007-2008Paolo Somaglia and Rocco Giovanni Versaci 13

Starting the client (student)

Academic year 2007-2008Paolo Somaglia and Rocco Giovanni Versaci 14

Starting the client (student) (cont’d)

Academic year 2007-2008Paolo Somaglia and Rocco Giovanni Versaci 15

Further notes

• Every command issued by the lecturer is

executed locally and then transmitted to each

student’s listener

• Once the lecturer has released the control to a

student, his interface freezes and that of the

newly appointed “leader” is activated.

– At that point, every time the student issues a

command, it is first sent to the lecturer and then

propagated to all the other students.

Academic year 2007-2008Paolo Somaglia and Rocco Giovanni Versaci 16

The end

Thanks for watching!