Virtual Beamer - Jini-Based Academic Project
-
Upload
paolos84 -
Category
Technology
-
view
978 -
download
0
description
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!