Virtual Beamer - Jini-Based Academic Project

17
The “Virtual BeamerRocco Giovanni Versaci (708259) Paolo Somaglia (708683) Academic year 2007-2008

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

Page 1: Virtual Beamer - Jini-Based Academic Project

The “Virtual Beamer”

Rocco Giovanni Versaci

(708259)

Paolo Somaglia

(708683)

Academic year 2007-2008

Page 2: Virtual Beamer - Jini-Based Academic Project

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

Page 3: Virtual Beamer - Jini-Based Academic Project

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

Page 4: Virtual Beamer - Jini-Based Academic Project

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

Page 5: Virtual Beamer - Jini-Based Academic Project

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

Page 6: Virtual Beamer - Jini-Based Academic Project

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

Class diagram of the “logic layer”

Page 7: Virtual Beamer - Jini-Based Academic Project

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

Class diagram of the “view layer”

Page 8: Virtual Beamer - Jini-Based Academic Project

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

Deployment view

Page 9: Virtual Beamer - Jini-Based Academic Project

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

Run-time view

Page 10: Virtual Beamer - Jini-Based Academic Project

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

Starting the server (lecturer)

Page 11: Virtual Beamer - Jini-Based Academic Project

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

Starting the presentation

Page 12: Virtual Beamer - Jini-Based Academic Project

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

Slide-exchange protocol

Page 13: Virtual Beamer - Jini-Based Academic Project

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.

Page 14: Virtual Beamer - Jini-Based Academic Project

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

Starting the client (student)

Page 15: Virtual Beamer - Jini-Based Academic Project

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

Starting the client (student) (cont’d)

Page 16: Virtual Beamer - Jini-Based Academic Project

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.

Page 17: Virtual Beamer - Jini-Based Academic Project

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

The end

Thanks for watching!