The “Virtual Beamer”
Paolo Somaglia Rocco Giovanni Versaci
(708683) (708259)
Academic year 2007-2008
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
Paolo Somaglia and Rocco Giovanni Versaci Academic year 2007-2008 1
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
Paolo Somaglia and Rocco Giovanni Versaci Academic year 2007-2008 2
Supported file formats
• Both of the proposed file formats are
supported:
– PDF files
– HTM, HTML files (“complete pages”)
– JPG files
Paolo Somaglia and Rocco Giovanni Versaci Academic year 2007-2008 3
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
Paolo Somaglia and Rocco Giovanni Versaci Academic year 2007-2008 4
Class diagram of the “logic layer”
Paolo Somaglia and Rocco Giovanni Versaci Academic year 2007-2008 5
Class diagram of the “view layer”
Paolo Somaglia and Rocco Giovanni Versaci Academic year 2007-2008 6
Deployment view
Paolo Somaglia and Rocco Giovanni Versaci Academic year 2007-2008 7
Run-time view
Paolo Somaglia and Rocco Giovanni Versaci Academic year 2007-2008 8
Starting the server (lecturer)
Paolo Somaglia and Rocco Giovanni Versaci Academic year 2007-2008 9
Starting the presentation
Paolo Somaglia and Rocco Giovanni Versaci Academic year 2007-2008 10
Slide-exchange protocol
Paolo Somaglia and Rocco Giovanni Versaci Academic year 2007-2008 11
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.
Paolo Somaglia and Rocco Giovanni Versaci Academic year 2007-2008 12
Starting the client (student)
Paolo Somaglia and Rocco Giovanni Versaci Academic year 2007-2008 13
Starting the client (student) (cont’d)
Paolo Somaglia and Rocco Giovanni Versaci Academic year 2007-2008 14
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.
Paolo Somaglia and Rocco Giovanni Versaci Academic year 2007-2008 15
The end
Thanks for watching!
Paolo Somaglia and Rocco Giovanni Versaci Academic year 2007-2008 16
Presentation about the academic project submitted a more
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" less
0 comments
Post a comment