170 likes | 314 Views
IRI-h a Java-based Distance Education System. Department of Computer Science Old Dominion University Norfolk, VA 23529, USA. Outline. Motivation The IRI-h Approach IRI-h Network Layout IRI-h Software Architecture IRI-h Prototype Implementation Future Work.
E N D
IRI-ha Java-based Distance Education System Department of Computer Science Old Dominion University Norfolk, VA 23529, USA
Outline • Motivation • The IRI-h Approach • IRI-h Network Layout • IRI-h Software Architecture • IRI-h Prototype Implementation • Future Work
IRI-h Motivation (Problems with the current IRI system) • Platform-independence Problem:architecture is heavily dependent on UNIX system calls and the X windowing environment. • Heterogeneous Network Environment Problems: designed to be run over a private Intranet in which QoS is achieved by careful engineering of this controlled environment. • Late Join Problem: The design of the tool sharing engine makes it difficult for participants to join a session late or to rejoin after network or platform failures. • Scalability: uses a reliable multicast protocol as the communication architecture underlying the tool-sharing engine; it proved to be not truly scalable both in terms of number of users and amount of traffic generated by such heavy uses as downloading large image files in a browser.
The IRI-h Approach(1/2) • Delivery to the home user:Home users can access the session over a regular Internet connection using the latest generation of high speed at home Internet connections. • Platform-Independent Delivery: • Collaboration Engine with Multiple-Platform-Tool-Source: makes available the rich set of applications running on windows 9X/NT/2000 environments. • Multi-platform Audio/Video solution • Platform/environment Management including late join/early leave: A student can join an on-going session at any time and fully participate in that class.
The IRI-h Approach(2/2) • Scalable Semi-Reliable Communications: uses unreliable multicast at the core with our own mechanisms for enforcing reliability. • Virtual Rooms: the class can be divided into groups by assigning each group a virtual meeting room. Students can move from room to room and join in different on-going discussions. • Situational awareness: Students, Teachers and technical engineers are made aware of the current operating environment and are notified about noteworthy changes or unusual situations. • Shared Multi-program/multi-window Graphical User Interface: The position and focus of the windows displayed on the student’s workstation is coordinated with the instructor’s machine. A student can not rearrange the shared view.
High Speed Network (Multicast) High Speed Network(Multicast) Gateway Gateway G P3 P1 P2 High Delay without multicast Low Bandwidth with multicast Low Bandwidth without multicast IRI-h Network Layout S1 S2 Multicast P7 P6 P9 P8 Intranet UDP tunnel UDP tunnel Multicast UDP tunnel S3 P5 P4 Multicast disabled site
Log Server SP SM Annotation Group Communication server Pointer Gateway Sharing Tool Audio Video Observers Token Managers Snd Rcv Snd Snd Gateway servers Rcv Rcv TCP connection Service manager Main Thread Snd: Sender Rcv: Receiver Thread relationship IRI-h Software Architecture
Session Manager Components (1/2) • Log Server • logs messages from each IRI-h process participating in the IRI-h session; • classifier for messages.Output to display or write to a log file. • Group Communication Server • allocates group communication channels requested for services; • Provides the “Communication Group Name (IP, Port)” mapping. • Gateway (shown as part of SM for simplicity) • solves heterogeneity problem; • tunneling services; • adaptive content delivery (transcoding, and/or data rate control).
Session Manager Components(2/2) • Token Managers • allocated by session manager to manage tokens used within services. • Service Observers • provides service state for any late comers in case of stateful services; • provides recording functionality for all services.
IRI-h Prototype Implementation • Prototype Status • Startup Scenarios • IRI-h Desktop • Preliminary Performance Results
Prototype Status (1/2) • Fully implemented in Java • video (JPEG using Java Media Framework JMF); • audio (G723 using JMF); • tool sharing (lossless Video Compression PNG), and rate control; • pointer, annotation, private note taking; • session/resource management • allocation of resources; • late-join (inform late-comers about running services with required resources); • monitoring (situation-awareness). • automated startup.
Prototype Status(2/2) • Tested platforms • Unix (Solaris), Windows 9x, NT, 2000. • Current Development Effort • Gateway (Home User delivery); • recording/playback of multimedia/data streams; • solution for bugs due to JMF; • generic solution for late-join problem (service state); • reliability/semi reliability schemes in multicast transmission; • Uploading participant notes on server side.
SM: Session Manager SP: Session Participant HA: Host Ambassador X Y: X initiates protocol with Y X Y: X spawn Y server B SP Startup SP C D H Directory Server SM Java Server E F G HA HA SM SP SP A Startup Applet IRI-h Startup Scenarios E, F: Automated Startup by Java Server B: Manual Join by contacting the Directory Server H: Session Manager manually invoked G: Manual Join by contacting H directly
Private panel Class name and semester Room cards Token controlled tools Private panel Login box Shared view Audio control Video control Annotation token holder utilities IRI-h Desktop
Performance Results (1/2) • Tool Sharing (IPV) • The performance of IPV depends on the following activities. • Capture images of the windows in the application being shared, • Compare these images with previous images to see if the image has changed (for removing temporal redundancy), • Compress the image, • Transfer, • Decompress, • Display images on client machine. • Capture time is a function of the image size only (measured around 220 msec for a 700x700 image on a Unix machine). • Comparison time is between 300-500 msec.
Performance Results (2/2) • IPV (continued) • Compression time is a function of the compression algorithm and ranges from 1000 to 3000 msec. since this is performed in software. • Transmission time depends on image type and ranges from 20msec for text images to 350 msec. for picture images (using PNG). • On the receiver's side, performance is dominated by the time to decompress which is around 500 msec. • IRI-h Scalability • scalability tests have been performed by running IRI-h on all Intranet machines (35) with no degradation in performance (video/audio/IPV reception).
Future Work • Gateway • target bandwidth setup • uplink (to gateway) 256Kbps • downlink (from gateway) 1 Mbps. • Tunneling, and integration within current session/resource management framework. • format transcoding and/or data rate limiting. • Inter-Stream Synchronization • Late-Join mechanisms (service state)