Web Collaboration & Distance Education Technology, Experience & Futures ASC September 26 2002 Geoffrey Fox Professor of Computer Science, Informatics, Physics and Director PTLIU Laboratory.

Download Report

Transcript Web Collaboration & Distance Education Technology, Experience & Futures ASC September 26 2002 Geoffrey Fox Professor of Computer Science, Informatics, Physics and Director PTLIU Laboratory.

Web Collaboration & Distance Education Technology, Experience & Futures

ASC September 26 2002 Geoffrey Fox Professor of Computer Science, Informatics, Physics and Director PTLIU Laboratory for Community Grids Indiana University, Bloomington IN 47404 http://grids.ucs.indiana.edu/ptliupages/presentations

uri="gxos:/ptliupages/presentations/diste dtalkfeb02" email="[email protected]" 4/29/2020

[email protected]

1

High Level Overview

Originally (at Syracuse) built a collaborative environment Tango and used for online lectures and training sessions from 1997-2001 (2001 updated system)

Functionality fine but browser interface and network produced instability

Hard to build custom collaborative applications

Newer simpler ( Garnet ) system addresses these issues although network issues still being addressed

Use of XML meta-data and building Education or e learning as a set of Web Services gives interoperability

Use of Grid (as from IBM ) and peer-to-peer technology will give improved infrastructure (still quite primitive)

4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 2

Teaching Jackson State Fall 97 to Fall 2001

JSU Syracuse

4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 3

The Virtual University

    

Motivated either by decreased cost or increased quality of learning environment Will succeed due to market pressures (it will offer the best product) Assume that as with text books, only a few pedagogically excellent teachers will produce lectures; only a few charismatic souls deliver them “Centers of Excellence” (including “ One Professor Virtual University ”) are natural entities to produce and deliver classes supported by good technology and rich graphics/multi-media (instruction design) University acts as an integrator putting together a set of classes where it may only teach some 20% but acts as a mentor to all classes

4/29/2020

its students take

uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 4

    • • •

Courses at Jackson State

Taught using Tango/Garnet since fall 97 over Internet twice a week from Syracuse/FSU/Indiana

Course material same style as online material for in-university classes Curricula, Homework, Grading, Facilities done by “me” Students get JSU NOT Syracuse/Indiana “Trivial” in that learning model identical courses – just changed interaction mode Credit to that in traditional Jackson State major MSI (Minority Serving) University many computer science graduates with Do not compete with base courses but offer addon courses with “leading edge” material (Web Technology, modern scientific computing) which give JSU (under)graduates skills that are important in their career Fall 99 Semester CPS640 offered and separately 40 at Syracuse to 40 students in 5 distant places

uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 4/29/2020 5

What did this lead to?

    

Jackson State students got access to curricula that was not otherwise available to them Developed quite good Information Technology and computational science curricula Jackson State faculty acted as mentors in course and now teach some of material in their own courses and to other MSI colleges

• Make rapidly changing and important curricula available to an MSI network -- could dramatically improve curricula opportunities for MSI students • JSU has institutional commitment to area

Used in High School Java , DoD wide training and Winter 00/01 semester as part of ERDC Graduate Institute Supports migrant teachers -- I have delivered course spring 00 semester from Syracuse, FSU and ERDC, Vicksburg

uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 4/29/2020 6

Saturday Java Academy

http://old-npac.ucs.indiana.edu/projects/k12javaspring99/

4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 7

   

Lessons from Past

“True” Shared Event flexible but too much work for most cases Shared Display – nearly always works Shared Export – used SVG PDF HTML X3D etc. can be re Integrate synchronous and asynchronous collaboration

 

Do not build into browser as not a reliable or standard virtual machine Build around uniform publish-subscribe style XML Event Model supporting archiving, customization, filtering – apply to all collaboration modes

Later we realized need to integrate with Peer to Peer and Web Services (straightforward as XML event model fits these architectures)

4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 8

    • • • •

Object Web View of the World

“Everything electronic” is a resource Computers Programs Data (from sensors to this presentation to email to databases) People “Everything electronic” is a distributed object “All External Interfaces” are defined in XML whether this is a property (data-structure) or a method (service, function, subroutine)

We can assume that a data-structure property has getproperty() and setproperty(value) methods to act as interface

All resources have interfaces All resources are linked by messages with format and transport protocol to be discussed but as interfaces defined in XML, message structure must be specifiable in XML

4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 9

   

What is a Web Service

A web service is a computer program running on either the local or remote machine with a set of well defined interfaces (ports) specified in WSDL In principle, computer program can be in any language (Fortran .. Java .. Perl .. Python) and the interfaces can be implemented in any way what so ever

Interfaces can be method calls, Java RMI Messages, CGI Web invocations, totally compiled away (inlining) but The simplest implementations involve XML messages (SOAP) and programs written in net friendly languages like Java and Python Web Services separate the meaning of a port (message) interface from its implementation – are virtual XML WSDL Interfaces

uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 4/29/2020 10

Web Services in a Nutshell

WSDL Application or Content source Web Service

Ports: Messages to and from other web services, resources or users

  

Web Services codify a clear process for deploying distributed software components representing

• • • • •

Data and Information Sources (Sensors, Databases) Computers Application Software Learning Services like “Submit Homework”, “Grade” System services ( OGSA Open Grid Service Architecture) Distributed Message Passing Model We should be in some process of dividing applications (including e-learning) into components and giving them an XML “skin” defining input and output ports (data, remote procedure calls)

WSDL Web Service Definition Language

4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 11

 

Example of Application Web Services

Note Service model integrates sensors, sensor analysis, simulations and people An Application Web Service is a capability used either by another service or by a user

• •

It has input and output ports – data is from users, sensors or other services Big services built hierarchically from “basic” services

Data Analysis WS Sensor Data as a Web service (WS) Simulation WS Sensor Management WS Visualization WS Data Management WS 4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 12

 

Application Web Services

WS Filter2 WS

An Application Web Service

Filter3 WS Prog1 WS Prog2 WS

is a capability used either by another service or by

• • Build as multiple

It has input and output ports – data is from users, sensors or other services Big services built hierarchically from “basic” services

Data Analysis WS Sensor Data as a Web service (WS) Sensor Management WS Data Management WS 4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 13

Some General Grid or Web Services

4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 14

Some Science Web Services

These build on general (community) web services

4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 15

             

Education as a Web Service

Can link to Science as a Web Service and substitute educational modules “ Learning Object ” XML standards already exist from IMS/ADL http://www.adlnet.org

– need to update architecture Web Services for virtual university include: Registration Performance (grading) Authoring of Curriculum Online laboratories for real and virtual instruments Homework submission Quizzes of various types (multiple choice, random parameters) Assessment data access and analysis Synchronous Delivery of Curricula Scheduling of courses and mentoring sessions Asynchronous access, data-mining and knowledge discovery Learning Plan agents to guide students and teachers

4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 16

   

What is meant to Happen

One uses IMS/ADL

• • •

to define all needed properties in XML Such as Title of page; Address of student etc.

Ignore those sensitive to architecture; add some XML specifications such as those to define collaborative sessions One needs “ automation ”/”support tools” for process of generating meta-data

Such as prerequisites for courses; Author of web page etc.

One uses conventional authoring tools

• •

Uses portal technology to build curricula to integrate user-interfaces to multiple Web Services Unfortunately open approach not used in current Hopefully industry will build needed interoperability will allow picking and choosing between vendors rather than use of monolithic systems

• •

LMS or Learning Management Systems LCMS or tools as Web services Learning Content Management Systems and (Use non education specific system)

Authoring/Portals (I think it is best NOT to use education specific tools)

Collaborative Environments (shared applications)

Audio-Video Conferencing

4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 17

   

Current Status in a Nutshell

Systems such as Centra, WebEx, Garnet and Placeware offer similar functionality to our old system Tango for synchronous collaboration

Shared applications, chatroom, whiteboard, A/V conferencing Blackboard, WebCT, Lotus offer learning management systems

Not very consistent with modern architectures but can be used effectively today Access Grid (community e.g. classroom) and Polycom (etc.) are excellent audio-video systems I develop research system Garnet for education portals

Features hand-held and desktop clients, integrated collaboration and some “technical advances” – major use of XML and publish/subscribe systems

Audio-Video Conferencing as a Web Service

Improving network robustness

4/29/2020

including firewall tolerance

uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 18

Commercial Collaboration Systems

Centra WebEx

4/29/2020

Anabas

19

    

Learning Objects

Given changing technology, need standards to protect investment in authoring and administrative data generated and stored in databases Education community has unusually good set of community standards Educational Environment http://www.imsproject.org

Educause set up IMS – Instructional Management System with selection of companies and universities

IMS focus was changed to drop implementation work and is now “Global Learning Consortium” Inc.

Department of Defense (which has huge training needs) set up ADL Advanced Distributed Learning Initiative

www.adlnet.org

URL’s whose links section includes all other useful IEEE (Computing Community) set up P1484 Learning Technology Standards Committee LTSC

4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 20

“Learning Management System”

LMS

Server Client

LMS Model used by ADL

Content Server(s) External systems: HR, E-Commerce, ERP...

Learning Server Adapter Learning Server Migration Adapter

Course Interchange: Course Structure Format (CSF), Metadata

Services or Adapter

Critical Interchange Capability

Server Side API Adapter Browser Application Client Side HTML+

Runtime Environment:

Launch, API, Data Model

Antiquated Architecture

4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 21

         •

Properties of Learning Objects

Metadata from IEEE and IMS Roughly Properties of educational objects thought of as “documents” (author, title …) Course Packaging ,

• •

Digital Repositories from SCORM and IMS How to form bigger units of instruction from smaller units Called Content Packaging by IMS and Course Structure Format (CSF) by SCORM which goes in greater depth than IMS Tests and Quizzes from IMS Specialized CSF descriptors from SCORM (via CMI)

Such as objectives , prerequisites , completion requirements LMS Runtime API from SCORM – I am doubtful about value Enterprise Properties

Link to people and from IMS organization databases (training, human resource, library, student administration) Learner Information Package

from IMS Name/Address, Goals, Skills, Grades etc.

“ Competencies ” from IMS “ Accessibility ” (universal access guidelines) from IMS

4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 22

    

Learning Management Systems

Most education and training stresses asynchronous or web support for conventional delivery WebCT Blackboard Lotus(IBM) and others offer LMS systems with limited synchronous capability

Support typical educational needs like grading, quizzes, homework, glossaries, group email

• •

Varying database backend and Varying authoring support Popular with colleges as supports not so expert faculty DoD use less clear as need for homework and other tools less critical than for University classes No built in support for areas like “programming labs” (VPL from NPAC did this)

4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 23

Hierarchical Delivery Model

One could teach to 1000 different students separate workstation but … – each at a

No real opportunity for questions so better to use broadcast technology – not conferencing

Further could better deliver to 40 classrooms – each with an average of 25 students

Each classroom has central high quality A/V conferencing, displays and

• •

A Mentor monitoring and helping students Each student could have wireless laptop or PDA

So synchronous systems must support simultaneously disparate clients – high end display to PC to PDA

4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 24

    

Authoring of Curriculum

Possible Market pressures push to high end authoring Authoring

• •

Basic approaches for the Web can include HTML Macromedia/Adobe/etc. packages like Dreamweaver, Illustrator Fireworks,

PowerPoint and Word exported Also can include RealNetworks or Microsoft or .. format Multimedia

Note Streaming multimedia formats have larger buffers than A/V conferencing formats Certainly use XML attractive portal to specify content and render this into SVG and SMIL standards

• •

are important 2D vector graphics and multimedia HTML does not give reproducible pages Flash can be thought of as “proprietary SVG”

uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 4/29/2020 25

  

Web Services as a Portlet

Each Web Service a user interface another port” naturally has specified as “just Application as a WS

General Application Ports Interface with other Web Services •

Customizable for universal access

WSDL

This gives each Web Service a Portlet view specified (in XML as always) by WSRP (Web services for Remote Portals)

Application or Content source Web Service W S R P

So component model for resources “automatically” gives a component model for user interfaces

When you build your application, you define portlet at same time

User Face of Web Service WSRP Ports define

WS as a Portlet

WSRP is Web Services for Remote Portals 1 st Meeting OASIS March 18 2002 4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 26

Integration of Portlets

Portals integrate Portlets into a complete user interface

Apache Jetspeed seems good open source technology supporting this model Application as a WS

General Application Ports Interface with other Web Services WSDL Application or Content source Web Service W S R P

Portal

User Profile Aggregate UI Fragments

Client Render User Face of Web Service WSRP Ports define

WS as a Portlet

Integrate Multiple Portlets User Customization at either Portal or if complicated at WS 4/29/2020 27

Online Knowledge Center built from Portlets

A set of UI Components

Web Services provide a component model for the middleware (see large “ common component architecture ” effort in Dept. of Energy)

 

Should match each WSDL component with a corresponding user interface component Thus one “must use” a component model for the portal with again an XML specification ( portalML ) of portal component

4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 28

Jetspeed Computing Portal: Choose Portlets

4 available portlets linking to Web Services I choose two

4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 29

Choose Portlet Layout

Choose 1-column Layout

4/29/2020

Original 2-column Layout

uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 30

Two Computing Portlets

4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 31

    

Audio-Video Conferencing

In problematical

• Tango

Video training, audio-video conferencing was always may or may not be necessary – Internet only supports “postage stamp” talking heads

Audio only requires a few kilobits per second but quality of service critical and not likely to be supported on current Internet

HearMe

“ordinary” phone lines which have:

• desktop audio ONLY:

Support general mix of internet and Quality of service and good echo canceling etc. on high-end phones

• •

Will work with modem (28.8 kilobits per second) Supports SIP standard like many VOIP products

Access-Grid community audio/video

: Supports multiple high quality audio and video streams

Each client client needs 20 megabits per second and multicast support

Use VRVS to integrate with other systems as not H323 , SIP compliant Polycom and similar commercial systems – somewhat expensive and support H323 standard Web Services can integrate these different approaches

4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 32

Fall 2001 Technology

Large Room Access Grid

Personal Access Grid + Garnet

Community A/V: The Access Grid 4/29/2020

Desktop A/V

33

H323 SIP JXTA

4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 34

SIP H323 JXTA

SIP

4/29/2020

H323

uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]"

JXTA

35

H.323

Client

Web Service Architecture for Audio Video Conferencing

SIP Client Access Grid A/V Web-Service Gateway ( H.323) A/V Web-Service Gateway ( SIP ) A/V Web-Service Gateway ( AG ) A/V Media Server A/V Media Server Event Message Service A/V Media Server 4/29/2020 Session Server Session Server Core Collaboration MiddleWare Session Server uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 36

Registration Method

XGSP: Introduction

Session Command Method Query Method Session Channel Binding Method

   Registration Method

registration server with its alias name and current location

Session Command Method

Membership Control Commands, Session Control Commands

Query Method 

discover various properties about the system

Session Channel Binding Method

bind the RTP channels of a client into the media server

4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 37

XGSP: Example

PervasiveTech Seminar 1234567 [email protected] this is a meeting on the XGSP Lobby Room (EastTime) 10:00AM (EastTime) 12:00AM http://grids.ucs.indiana.edu/~ag [email protected] [email protected] [email protected] [email protected] uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 4/29/2020 38

XGSP: Example

[email protected] Audio RTP 1000 G.711 Video RTP 2000 H.261 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 4/29/2020 39

H323 Client Polycom Netmeeti ng Administrator Clients User Clients H.323

Gateway H323 Signaling Channels A/V RTP Channels Collaboration Web Server ( Java Sevelets & JSP ) Web Interface Session Server Media Server Interface Media Server A/V RTP Channels Access Grid Multicast

Linking Clients and Servers

Current Implementation Polycom (H323) Access Grid Integration Talk Server W S D L HearMe MCU SIP Gateway Session Server Bridge Media Server W S D L Venues Server Multicast Cloud Future Project Link Proprietary MCU’s Illustrated for SIP (HearMe) and Access Grid HearMe 4/29/2020 Access Grid uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 40

Current Status

XGSP Specification stable

Demo prototype of Polycom (H323), Access Grid, Shared Display clients

H323 Gateway based on openh323

JMF (Java Media Framework) used for Media Server XGSP used Internally between audio, video and session control services Codec negotiation supported (No XGSP clients yet) Narada UDP Communication has been successfully tested 4/29/2020

XGSP MCU (Control) User Interface

uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 41

H323 Client (Polycom) in XGSP Session

4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 42

4/29/2020

Comparison with

43

   

Possible A/V Web Service Futures

Productize integration with our high performance messaging system Narada – needs more testing of Narada multi-protocol interface

Will this defeat firewalls that currently spoil my lectures?

Session Control Server can be used to define collaborative sessions for other shared applications

• •

Text chat etc.

Shared SVG, StarOffice, Internet Explorer, Word etc. (using “.net” event interface)

Integrate with JXTA interface using Narada-JXTA link Add RealMedia (Windows Media) SIP (VOIP) and native XGSP clients Integrate at server AccessGrid, VOIP (MCU) level for Polycom,

4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 44

PDA Collaboration Adaptor

4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 45

Batik Viewer on PC PowerPoint can be converted to SVG via Illustrator or Web export

SVG Sharing PC to PDA

uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 4/29/2020 46

MyProfessor on the PDA

4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" 47

Collaboration: Shared Display

Sharing can be done at any point on “object” or Web Service pipeline

Shared Event Shared Web Service Shared Export

Shared Display

Object Object’ Object’’ Object Viewer Object Display

Master

Shared Display shares framebuffer with events corresponding to changed pixels in master client.

Event (Message) Service

Object Display As long as pipeline uses messages, easy to make collaborative Windows framebuffers and in fact most applications do NOT expose a message based update interface 4/29/2020 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" Object Display 48

Shared Input Port (Replicated WS) Collaboration

Collaboration as a WS Set up Session with XGSP F I R O Web Servic e U O F I WS Viewer WS Display

Master Event (Message) Service

4/29/2020 F I R O Web Servic e U O F I WS Viewer WS Display

Other Participants

F I R O Web Servic e U O F I WS Viewer uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" WS Display 49

Shared Output Port Collaboration

Web Service Message Interceptor Collaboration as a WS Set up Session with XGSP R F I O WSDL Application or Content source Web Service U O F I WS Viewer

Master

WS Display 4/29/2020

Event (Message) Service

WS Viewer WS Viewer uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="[email protected]" WS Display

Other Participants

WS Display 50