Schenley Tech
Carlos Basto
Hemang Bhojani
Jorge L. Noyola-Picazzo
Carlos E. Olguin
Vicente Zamora
 

15-612 Distributed Systems
Final Project Proposal
Ubiquity - The Anywhere Classroom
February 2, 1998


Project overview.

The objective of this project is to build an integrated application that will allow distance learning by using computers distributed along a computer network, integrating digital video, audio, data and group collaboration.

By the use of this application, a lecturer can broadcast a lecture throughout the network to different attendants located in remote locations. This attendants will receive in their computers, with a different application, digital video and audio from the lecturer’s workstation, as well as a "whiteboard" with whatever data the lecturer wishes to display. They will be able to interact with him by typing their questions in their computers, and sending them to the teacher.

Also, in order to provide better control when large audiences are involved, there will be a moderator which will act as an assistant to the lecturer, by receiving first the questions from the attendants, moderating (filtering or summarizing) them, and relaying them to the lecturer, so he can answer to them within his lecture. Also, this assistant can communicate via two-way video with the lecturer in order to assist him, and correct the whiteboard the teacher is displaying.

The whiteboard can be modified by the teacher as he displays it in order to point specifics of it or to make last minute corrections, and can also allow the moderator to make this corrections. Once any correction is completed, the new whiteboard is broadcasted again to the attendant workstations. On their workstations, the student can also make annotations to the whiteboard and submit these to the moderator or to the professor.

The attendants will sign on into a lecture by selecting it from a directory service which will provide the security required for the application, such as allowing lecturers to start broadcasting a lecture, verifying the identities of lecturers, moderators and attendants, and keep the security-administrative database.



Application design.

Mainly, the application will consist of four main modules with different functionalities, depending on the role of the user. These modules will be the Teacher module, the Moderator module (which actually is the teacher module, but with limited capabilities), the Student module and the Directory module, each usually running on separate computers. A detailed explanation of the functions that each application will have is shown below:
 
Module Functions
Teacher
  • Broadcast real-time, live video to each workstation attending the lecture
  • Receive video transmitted from the moderator’s workstation
  • Read slides from files into the whiteboard, and broadcast them to the students
  • Modify the contents of the whiteboard
  • Receive questions forwarded from the moderator or from the students if there’s no moderator present
  • Allow the moderator to modify the slide that’s currently being displayed
  • Relay selected questions to students workstations
  • Sign-on in a lecture
Moderator
  • Receive questions and comments via text from the students and relay selected or new ones to the teacher
  • Send real-time, live video to the teacher’s workstation
  • Receive broadcasted video from teacher’s workstation
  • Modify whiteboards provided by the teacher
  • Broadcast text messages to students’ workstations
  • Sign-on in a lecture
  • Keep a log of asked and relayed questions
Student
  • Receive broadcasted video from the teacher’s workstation
  • Receive broadcasted whiteboard from teacher’s workstation
  • Receive broadcasted messages from moderator’s workstation
  • Send questions to teacher/moderator workstations
  • Sign-on in a lecture
Directory
  • Manage security
  • Allow teachers to sign-on to start a lecture
  • Show available lectures
  • Create lecture "tickets" and issue them to students and moderators
The module interaction would be structured as follows:

Application flow

The sequence followed by the workstations to bring up all the modules of the application would be as follows:


Implementation specifications

The platform that will be used to implement the application will be Java, in order to allow portability across different platforms, and because of the facilities provided to handle TCP/IP networking.

The different modules will reside as independent classes or applets in a web server, and will be launched from a web browser such as Netscape of Microsoft Internet Explorer. This applets will only be accessible after a secure login and won’t allow access to them without a proper authentication.

The audio and video will be transmitted over the network as a real-time stream, and the libraries required to handle it will also be developed in Java.


Interface design

The application will have a Java based GUI, and each of the modules will have it’s own independent interface that will be displayed (except for the Directory) in a Java console on the screen.

The interface for each of the modules will be the following:

All the modules would have a similar interface, varying only in some of the capabilities they can have, and the audio/video source. For example, the Teacher interface would have also a button to share the whiteboard with the moderator, and the Moderator would have a control to forward the messages and graphics received to the Teacher.