500 likes | 507 Views
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
E N D
Web Collaboration & Distance EducationTechnology, Experience & Futures ASC September 26 2002 Geoffrey FoxProfessor of Computer Science, Informatics, Physics and Director PTLIU Laboratory for Community Grids Indiana University, Bloomington IN 47404http://grids.ucs.indiana.edu/ptliupages/presentations gcf@indiana.edu uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
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 quiteprimitive) uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
Teaching Jackson State Fall 97 to Fall 2001 JSU Syracuse uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
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 its students take uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
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 Credit • “Trivial” in that learning model identical to that in traditional courses – just changed interaction mode • Jackson State major MSI (Minority Serving) University with many computer science graduates • 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 to 40 students in 5 distant places and separately 40 at Syracuse uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
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="gcf@indiana.edu"
Saturday Java Academy http://old-npac.ucs.indiana.edu/projects/k12javaspring99/ uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
Lessons from Past • “True” Shared Event flexible but too much work for most cases • Shared Display – nearly always works • Shared Export – SVG PDF HTML X3D etc. can be re-used • 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) uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
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 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
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 – WSDL Interfaces are virtual XML uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
WSDL Application orContent source Web Service Web Services in a Nutshell Ports: Messages to and fromother web services, resourcesor 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 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
Data Analysis WS Sensor Data as a Webservice (WS) Simulation WS Visualization WS Sensor ManagementWS 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 Management WS uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
Prog1WS Prog2WS Filter1WS Filter2WS Filter3WS Build as multiple interdisciplinaryPrograms Build as multiple Filter Web Services Data Analysis WS Data Analysis WS Sensor Data as a Webservice (WS) Simulation WS Simulation WS Visualization WS Visualization WS Sensor ManagementWS 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 Management WS uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
Some General Grid or Web Services uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
Some Science Web Services • These build on general (community) web services uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
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 • Quizzesof 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 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
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 to build curricula • Uses portal technology to integrate user-interfaces to multiple Web Services • Unfortunately open approach not used in current • Hopefully industry will build needed tools as Web services and interoperability will allow picking and choosing between vendors rather than use of monolithic systems • LMS or Learning Management Systems • LCMS or Learning Content Management Systems (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 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
Current Status in a Nutshell • Systems such as Centra, WebEx, Garnetand 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 including firewall tolerance uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
Commercial CollaborationSystems Centra Anabas WebEx Placeware uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
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 Educause set up IMS – http://www.imsproject.org 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 whose links section includes all other useful URL’s • IEEE (Computing Community) set up P1484 Learning Technology Standards Committee LTSC uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
LearningServer Content Server(s) External systems: “Learning HR, E-Commerce, ERP... Management Course Interchange: System” Course LMS Structure Format (CSF), Metadata Migration Adapter Critical InterchangeCapability Services or Adapter Learning Server Server Adapter Server Side Runtime Client Side Environment: Client Launch, API, Browser Data Model AntiquatedArchitecture API Adapter Application HTML+ LMS Model used by ADL uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
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 from IMS • Link to people and 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 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
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) uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
Hierarchical Delivery Model • One could teach to 1000 different students – each at a separate workstation but … • 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 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
Authoring of Curriculum • Possible Market pressures push to high end authoring • Authoring approaches for the Web can include • Basic HTML • Macromedia/Adobe/etc. packages like Fireworks, Dreamweaver, Illustrator • 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 to specify content and render this into attractive portal • SVG and SMIL are important 2D vector graphics and multimedia standards • HTMLdoes not give reproducible pages • Flash can be thought of as “proprietary SVG” uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
Application as a WSGeneral Application PortsInterface with other WebServices WSDL W S Application orContent source R P Web Service User Face ofWeb ServiceWSRP Ports define WS as a Portlet Web Services as a Portlet • Each Web Service naturally has a user interface specified as “just another port” • Customizable for universal access • This gives each Web Service a Portlet view specified (in XML as always) by WSRP (Web services for Remote Portals) • So component model for resources “automatically” gives a component model for user interfaces • When you build your application, you define portletat same time WSRP isWeb Services for Remote Portals1st Meeting OASIS March 18 2002 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
WSDL W S Application orContent source R P ClientRender Web Service Integration of Portlets • Portals integrate Portlets into a complete user interface • Apache Jetspeed seems good open source technology supporting this model Application as a WSGeneral Application PortsInterface with other WebServices PortalUser ProfileAggregateUI Fragments Integrate Multiple Portlets User Customizationat either Portal or if complicated at WS User Face ofWeb ServiceWSRP Ports define WS as a Portlet uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
Online Knowledge Center built from Portlets A set of UIComponents • 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 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
4 available portletslinking to Web ServicesI choose two Jetspeed Computing Portal: Choose Portlets uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
Choose Portlet Layout Choose 1-column Layout Original 2-column Layout uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
Two Computing Portlets uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
Audio-Video Conferencing • In Tangotraining, audio-video conferencing was always problematical • Video 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 desktop audio ONLY: Support general mix of internet and “ordinary” phone lines which have: • 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 communityaudio/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 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
Large Room Access Grid Personal Access Grid + Garnet Desktop A/V Community A/V: The Access Grid Fall 2001 Technology uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
H323 SIP JXTA uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
SIPH323 JXTA SIP H323 JXTA uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
Web Service Architecturefor Audio Video Conferencing uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
XGSP: Introduction • 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 uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
XGSP: Example <SessionDes> <SessionName> PervasiveTech Seminar </SessionName> <SessionID> 1234567 </SessionID> <SessionCreator> Ahmet@indiana.edu </SessionCreator> <SessionInfo> this is a meeting on the XGSP </SessionInfo> <SessionPlace> Lobby Room </SessionPlace> <SessionTime> <StartTime> (EastTime) 10:00AM </StartTime> <EndTime> (EastTime) 12:00AM </EndTime> </SessionTime> <SessionURI> http://grids.ucs.indiana.edu/~ag </SessionURI> <SessionParticipants> <Participant> Wenjun@156.56.103.129 </Participant> <Participant> Hasan@156.56.103.27 </Participant> <Participant> Shrideeper@156.56.103.111 </Participant> </SessionParticipants> <ContactInfo> wewu@indiana.edu </ContactInfo> </SessionDes> uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
XGSP: Example <CreateSession> <Creator> ahmet@indiana.edu </Creator> <SessionMedia> <MediaDes> <MediaType> Audio </MediaType> <MediaTransport> <TransportProtocol> RTP </TransportProtocol> <TSAP> 1000 </TSAP> </MediaTransport> <MediaParam> <MediaCodec> G.711 </MediaCodec> </MediaParam> </MediaDes> <MediaDes> <MediaType> Video</MediaType> <MediaTransport> <TransportProtocol> RTP </TransportProtocol> <TSAP> 2000 </TSAP> </MediaTransport> <MediaParam> <MediaCodec> H.261 </MediaCodec> </MediaParam> </MediaDes> </SessionMedia> </CreateSession> uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
Linking Clientsand Servers Current ImplementationPolycom (H323) Access Grid Integration Future ProjectLink Proprietary MCU’s Illustrated for SIP (HearMe)and Access Grid uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
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 XGSP MCU (Control) User Interface uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
H323 Client (Polycom) in XGSP Session uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
Comparison with other approaches uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
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 (MCU) level for Polycom, AccessGrid, VOIP uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
PDA Collaboration Adaptor uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
Batik Viewer on PC SVG Sharing PC to PDA PowerPoint can be converted to SVGvia Illustrator or Web export uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
MyProfessor on the PDA uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
Object Viewer Object Display Object Object’ Object’’ Collaboration: Shared Display • Sharing can be done at any point on “object” or Web Service pipeline Shared Web Service SharedDisplay Shared Export Shared Event Master Shared Display shares framebuffer with eventscorresponding to changedpixels in master client. Event(Message)Service Object Display As long as pipeline uses messages, easy tomake collaborativeWindows framebuffers and in fact most applications do NOT expose a message based update interface Object Display uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
R R R U U U WSViewer WSDisplay F F F F F F I I I I I I WebService WebService WebService O O O O O O WS Viewer WS Display WS Viewer WSDisplay Shared Input Port (Replicated WS) Collaboration Collaboration as a WSSet up Session with XGSP Master Event(Message)Service OtherParticipants uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"
Shared Output Port Collaboration WSDL R U Application orContent source F F WSViewer WSDisplay I I O O Web Service Collaboration as a WSSet up Session with XGSP Web Service Message Interceptor Master WS Viewer WS Display Event(Message)Service OtherParticipants WS Viewer WSDisplay uri="gxos:/ptliupages/presentations/distedtalkfeb02" email="gcf@indiana.edu"