500 likes | 523 Views
Education as a Peer to Peer Grid Service. PTLIU Laboratory for Community Grids. Geoffrey Fox Computer Science, Informatics, Physics Indiana University Bloomington IN 47404 gcf@indiana.edu. Some Technology Trends. Increasing performance of Internet backbone and last mile (access)
E N D
Education as a Peer to Peer Grid Service PTLIU Laboratory for Community Grids Geoffrey Fox Computer Science, Informatics, Physics Indiana University Bloomington IN 47404 gcf@indiana.edu gecdistedaug01
Some Technology Trends • Increasing performance of Internet backbone and last mile (access) • Hand-held devices and wireless Pervasive Access • Peer to peer technologies enable new ways of collaborating and blurs distinction between clients and servers • Client-Server Multi-tier Architectures • XML Schema and tools All data defined as objects • Separation of client, system and persistent storage models for information • Development of (application) service model to capture common (maybe centralized) capabilities • Semantic Web, Grid or … “Next Generation Web” New Technologies implyNew Opportunities requiringtypically New Business models For Education and Training gecdistedaug01
What is a Grid Service? Resource • The Grid is distributed system allowing communities to access seamlessly heterogeneous resources from heterogeneous clients • Resources are web-pages, instruments, Object repositories, Simulation codes running on supercomputers …. • A Service is a generic application or capability respecting standards (general web and application specific) allowing multiple providers to compete on a given service Middle TierBroker Portal is customizable User interface Back endCapability gecdistedaug01
Some General Grid Services PaymentCredit Card Security Catalog Warehouse shipping • Business is developing “web service” concept to support areas like e-commerce where one composes atomic services like • Security • Payment • Catalog • Goods supply Each of these services could allow Multiple choices of provider In a given session WSDL is new standard for web services gecdistedaug01
Architecture of Grid: CommodityScience Next Generation Consumer Web Twenty-First Century University and laboratory P e r f o r m a n c e Conv e n i e n c e Science Portals & Workbenches Community Portals Commerce Grid Education Grid Research Grid Computational Grid Education Services Computational Services Research Services & Technology Business Services Grid Services (resource independent) Grid Fabric (resource dependent) Networking, Devices and Systems • Commerce, Entertainment, Healthcare, Science, Computing, Education …. will be Grid Services gecdistedaug01
Why use Service Idea? • Well a major lesson for me of HPCC effort was the importance of sustainable hardware and software • Software like MPI is sustainable because it is simple • Software like HPF and POOMA (DoE) illustrate the difficulties of either commercial or academic entities • Much more powerful than MPI but difficult to advise users to adopt as such “heroic (software development) efforts” can be halted for a variety of reasons • So we need to build great software where possible on simple sustainable bases • So use the Web where ever possible and try to address its obvious difficulties (performance) • Try to abstract capabilities so can build hierarchically to support range of users gecdistedaug01
Simple Minded View of Services • So we are building a “component” model of software systems • Components are “just web applications” or more precisely support the web standards • You can access them from portals for Graphical User Interface • You can link to them and discover them like web applications • So Grid Services concept is a sustainable “framework” for developing parallel and distributed systems • Parallel version implies low latency / high bandwidth communications in both hardware and software • So Grid services must be implementable with high functionality (SOAP) or high performance protocols (RMI, threads) • They are subroutine library model for the Grid gecdistedaug01
Why use Distance Education and Training? • New and rapidly changing Curriculum suggest the use of distance education as it will allow a few experts to deliver instruction to more students and this addresses both • The shortage of trained faculty • Offering classes with small enrollments at one university • cost of developing new curriculumQUICKLY requires many students (say around 5-10 times traditional class) to amortize cost • Distance Education is technically sound based on web curricula-- both synchronously and asynchronously -- today with very robust clear implementations available over next few years • Both delivery mechanism and identification of knowledge nuggets that are smaller than or different in content from a traditional degree suggests different approaches to certification • Courses are given, graded etc. by multiple organizations -- University integrate degrees? • Similar arguments for distance training with relative importance of synchronous and asynchronous learning differing by customer group gecdistedaug01
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” (“Hermits Cave Virtual University”) are natural entities to produce and deliver classes supported by good technology and wonderful graphics • 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 gecdistedaug01
Capabilities of the Education Grid Service • Curriculum or “Learning Objects” • Web Pages becoming more sophisticated (Flash) • Audio-Video Conferencing, Chat rooms, white boards to support student, teacher, mentor interactions • Shared Documents for synchronous collaboration • Learning Management Systems • Student registration, Quizzes, Grading, Security • Database Storage (persistent Learning Objects) • IMS and ADL standards for interoperability • Asynchronous self paced access gecdistedaug01
Some Education Grid Services • 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 gecdistedaug01
Portal for Education Service • The User Model is that of a Portal familiar from Yahoo and the growing effort in Enterprise Information Portals (Lotus Notes implemented with Web or Object Grid technology) • Education service must use generic Portal service gecdistedaug01
3-Tier Architecture for Education Portal ObjectRepository Database • Everything is an Object: Curriculum, Users, grades, computers – all are defined in XML • XML very important in online education as objects quite small, are naturally decentralized and have rich important metadata • There are several important Object Models: COM, CORBA, Java, ExcelWeb, flat file, Oracle Database …… • But model doesn’t matter!! XML Request File System(Web Site) Or Export/Import Information Middle Tier“Business Logic”dissociates User and Back End gecdistedaug01
ADL Learning Management Model LearningServer Content Server(s) External systems: “Learning HR, E-Commerce, ERP... Management Course Interchange: System” Course LMS Structure Format (CSF), Metadata Migration Adapter Common GridServices & Objects Services or Adapter Learning Server Server Adapter Server Side Runtime Client Side Environment: Client Launch, API, Browser Data Model API Adapter Application HTML+ www.adlnet.org Good but … Client-Server not Multi-tier Not built in terms of services ADL is Advanced Distributed Learning – DoD Initiative gecdistedaug01
Some General Grid Services Portals customization Registration (security) People Collaboration (Access Grid -- Desktop Audio Video) Resource Collaboration (P2P, Document Sharing) News groups Channels Instant Messenger White board Anonymity Payment -- Digital Cash Catalog Support Comments as in Amazon Surveys Decision Making Authoritarian Consensus Group Mediation Advertising Search/Knowledge Discovery (Digital Library Service) MyGoogle Need for structured (Directory in Google, Indexed Databases etc.) Unstructured Data (basic Google) Computing Interface Workflow Support flow of information (approval) through some process secure authentication of this flow Authoring Multi-fragment pages Charts Multimedia Video on Demand Tenure evaluation support Generate CV Refereeing Universal Access from PDA/Phone to disabilities caching Akamai Scaling performance trouble shooting grid gecdistedaug01
Science as a Grid Service I Science Generic Services building on previous Grid services Storage Rendering and Authoring of Mathematics Other specialized authoring and rendering Scientific Whiteboard nD (n=2 3) Support GIS Virtual worlds Integration of different sciences optimization (NEOS) image processing "SCALAPACK" etc. (NETSOLVE) Matlab as a Grid Service Education as a Grid service Authoring Curriculum specification and associated services specification: prerequisites completion requirements Grading Homework Submission Quiz Setting including individualized questions Quiz Taking Office Hours Mentoring Delivery Assessment including evaluation of material evaluation of student interaction with material Self paced learning Particular learning models from K-12 to Lifelong gecdistedaug01
Science as a Grid Service II General Science Research Computing Interface Job Control/Submission Scheduling Visualization Programming Parameter Specification Legacy Code support (wrapping) Application Integration Software version control Monitoring ..... Scientific Data services High Performance Special Formats Virtual data as in Gryphyn Fastlane/ Report submission Science Library Publication Comparison of Theory/Expt evaluation Research -- Theory/Discussion Scientific Notebook/Whiteboard Brainstorming Seminars Theorem proving Research -- Experimental Virtual Control Room from accelerator to satellite Data Analysis Virtual Instrument Sensors Satellites to Field work to wireless in the Amazon to Video cameras recording earthquake damage to LED in rack of accelerator control module medical instruments (Telemedicine Grid Service) Outreach Multi-cultural customization Multi-level presentations Note Outreach Shares many services with Researchbut some components are at a “less detailed” level gecdistedaug01
Why use Distance Education and Training? • New and rapidly changing Curriculum suggest the use of distance education as it will allow a few experts to deliver instruction to more students and this addresses both • The shortage of trained faculty • Offering classes with small enrollments at one university • cost of developing new curriculumQUICKLY requires many students (say around 5-10 times traditional class) to amortize cost • Distance Education is technically sound based on web curricula-- both synchronously and asynchronously -- today with very robust clear implementations available over next few years • Both delivery mechanism and identification of knowledge nuggets that are smaller than or different in content from a traditional degree suggests different approaches to certification • Courses are given, graded etc. by multiple organizations -- University integrate degrees? • Similar arguments for distance training with relative importance of synchronous and asynchronous learning differing by customer group gecdistedaug01
Courses at Jackson State • Taught using Tango since fall 97 over Internet and defense high performance network DREN twice a week from Syracuse • Course material based on Syracuse Senior Undergraduate class CPS406(Web Technologies) and graduate classes CPS615/616/640(Base Computational science/Internetics) • Curricula, Homework, Grading, Facilities done by Syracuse • Students get JSU NOT Syracuse Credit • Jackson State major HBC 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 • Fall 2001 restart with “latest technology” (Access Grid, HearMe, Garnet) gecdistedaug01
Architecture of Tango Distance Education Share URL’s Audio Video ConferencingChat Rooms White Boards etc. JSU Web (Proxy)Server NPAC WebServer Student’s View ofCurriculum Page Teacher’s View ofCurriculum Page Java TangoServer HTTP Address at JSU ofCurriculum Page ……. Java Sockets ……. Java Control Clients Teacher/Lecturer at NPAC Participants at JSU All Curricula placed on the Web gecdistedaug01
What is Web-based Collaboration? Web Site Specify Page Receive Identical Page WebPage WebPage WebPage • Collaboration means sharing objects (Web Page very important object) • Web-based Collaboration implies use of Web to share distributed objects accessible through the Web • Shared Web Pages; Resources accessed through Web Servers or Brokers; Client-side applications with programmatic interfaces such as Java Physics Simulations Shared Page Shared Pointer gecdistedaug01
> Two Shared Physics Simulations – SHO and Vector cross product> Chat Room> Audio video conferencing gecdistedaug01
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 HBCU colleges • Make rapidly changing and important curricula available to an HBCU network -- could dramatically improve curricula opportunities for HBCU students • JSU has institutional commitment to area • Used in High School Java, DoD wide training and Winter 00 semester as part of ERDC Graduate Institute • Supports migrant teachers -- I have delivered course spring 00 semester from Syracuse, FSU and ERDC, Vicksburg gecdistedaug01
Saturday Java Academy http://old-npac.csit.fsu.edu/projects/k12javaspring99/ gecdistedaug01
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 gecdistedaug01
Authoring of Curriculum • 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 • Flashcan be thought of as “proprietary SVG” gecdistedaug01
Current Status and Futures • Commercial Systems such as Centra, WebEx, Anabas 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 – Can they switch to IMS, ADL standards; high-end authoring and XML based object technology (not databases or files) • Access Grid (community e.g. classroom) and HearMe (desktop) are new internet audio-video systems which are be used with shared object 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, shared SVG • Peer to Peer Grids suggest decentralized architecture (http://www.jxta.org) gecdistedaug01
Commercial CollaborationSystems Centra Anabas WebEx PlaceWare gecdistedaug01
SVG Sharing PC to PDA Batik Viewer on PC PowerPoint can be converted to SVGvia Illustrator or Web export gecdistedaug01
Access Grid (Argonne, NCSA) and HearMe Presenter camera Presenter mic Ambient mic (tabletop) Audience camera Access Grid: CommunityHearMe: desktop integrates phonesand Internet Audio gecdistedaug01
Garnet Heritage/Assumptions • Support Education, Training and if possible Computing as Grid(Web) Services • Use best practice commercial and academic capabilities • Access Grid, HearMe, Anabas, (JMS, WSDL, EJB, Castor, Oracle etc.) • Worry about Centra, WebEx, Placeware, Blackboard, WebCT, Saba, Groove, Docent etc. • Respect IMS/ADL Learning Object standards (http://www.adlnet.org) and GGF Computing Objects • Integrate Synchronous and Asynchronous ( “learning management system”) collaboration • Support hand held and desktop clients (universal access) gecdistedaug01
Garnet Technology • Uniform XML event (message) based architecture • Linked with a publish-subscribe paradigm • XML Schema GXOS supports hierarchical data structures (compatible with DoD ADL SCORM for learning objects) • XML for all metadata (Users, documents, computers) and object changes -- from text chats to display changes etc.) • Java Middleware using Enterprise Javabeans • Production system uses JMS (Java Message Service) to implement publish-subscribe • JMS does Synchronous and Asynchronous Messaging • MyXoS manages XML information nuggets gecdistedaug01
Important Capabilities in Initial Garnet • Standard stuff: built in shared display, whiteboard, HearMeAudiocontrol, quizzes, annotations, chat/IM(Jabber.org) • Desktop video will be special case of shared display • Record and replay all features of session (SMIL) • A/V, Presentation, Annotations, Text Chat • Several Specialized Collaborative Shared Export Viewers: JSP, ( later HTML, Acrobat ..) • Initial SVG(Scalable Vector Graphics) Shared Batik Viewer • 2D Scientific Visualization/Whiteboard • Macromedia (Flash~SVG) andAdobe (already “all” to SVG) • Initial source of SVG: Convert PowerPoint VML/WMFtoSVG • Gives shared export model for PowerPoint with each client able to scale independently at high resolution gecdistedaug01
JMS (Java Message Service) Structure in Garnet Basic primitive is a topic/property labeled queue = JXTA Pipe Pipes are collections of either messages or other pipes and just “nodes” in information hierarchy labeled by a URI JMS Global (distributed) Event Receptor (Queue) Subscribe Subscribe Publish HHMS Convert Eventsto JMS HHMS (Hand Held Message Service) Optimized for Performance. JavaScript Java C++ ….. gecdistedaug01
Performance of Commercial JMS I One millisecond latency is fine for Synchronous Collaboration and fine for Grid Implementation Non-persistent asWe do databasebackup outside JMS gecdistedaug01
Peer to Peer P2P Networks • Publish/Subscribe is mechanism we use to establish who gets what information for Collaboration and P2P and may be ALL Grid and ALL Web Services? • Gnutella and JXTA are different implementations (from JMS) of P2P information propagation • GMS can be built on top of JXTA or JMS architecture • JXTA like MyXoS identifies the implicit distributed operating (control messages/metadata) system • Both have message queues as primitives • Both have Shell • Both use XML based messages • JXTA Advertisements are similar to GXOS metadata for objects Message (or event) services underlie P2P Grids gecdistedaug01
Classic Grid Architecture Database Database Resources Neos Composition Middle TierBrokers Service Providers Netsolve Security Portal Portal Typically separate Clients Servers Resources Clients Users and Devices gecdistedaug01
Peer to Peer Network User User User Service Service Service User User User Resource Resource Resource Service Service Service Routing Routing Routing Resource Resource Resource Routing Routing Routing Peers Peers are Jacks of all Trades linked to “all” peers in community Typically Integrated Clients Servers and Resources gecdistedaug01
Peer to Peer Grid User User User Service Service Service User User User Resource Resource Resource Service Service Service Routing Routing Routing Resource Resource Resource Routing Routing Routing GMS Routing Services DynamicMessage or EventRouting fromPeers orServers GMS or GES is Grid Message/Event Service gecdistedaug01
Single Server P2P Illusion Data base JMS/GMSServer Traditional Collaboration Architecturee.g. commercial WebEx and old Syracusesystem Tango gecdistedaug01
P2P Grid Event Service – a better JMS • Dynamic Collection of some billion computers each of which can either generate, route or consume events • Publisher labels events by an (XML) object which is at simplest a URI but in general a collection of tag-values or instance of XML Schema • Subscribers issue some sort of XML Query e.g. deliver all gxos://garnet/Education/Graduate/ComputerScience/Indiana/Spring2001/CPS616/Lecture3/* • Need Secure, High Performance, Efficient (don’t propagate events further than they need), Fault Tolerant delivery service • Shrideep Pallickara PhD June 1 2001 • Current version Java RMI based – could be SOAP gecdistedaug01
Proposed GMS Model for Messages Database • All message publication labels and subscription profiles are defined in XML Subscribes to all events to getpersistence SubscriberProfile Objects Specify Query to Event Label Message Queue Labeled by (XML)Topic Object Subscribers Publishers gecdistedaug01
Multiple Server P2P Illusion Data base JMS Server JMS Server Generate “Automatically” JMS Server We are moving from client – server – resource model with Clearly defined responsibilities to a Heterogeneous Dynamic Grid of service providers and Service consumers which are not necessarily distinct gecdistedaug01
Some Results – 22 Servers Servers arelogically butnot necessarilyphysically distinct from clients gecdistedaug01
Match Rates of 10% & Server Hop to client = 1 gecdistedaug01
Event-based Garnet Architecture • All Objects are defined in XML (metadata)– this XML view could be “virtual” but can be used to discover, edit (etc.) objects – labeled by a URI • GXOS manages meta data defining all Objects -- it doesn’t really want to manage Objects, just information required to find, access, store, render and share it • MUST have a good object management system to build collaboration service • Rendering includes Palm devices as well as PC’s • Entities are people, cuuricula, grades, computers etc. • All actions including object changes are events – all events are GXOS objects • Instant Messenger access, Framebuffer changes etc. are all GXOS events uniformly routed/archived etc. • There is a Shell MyXoSwith basic Services (copy, create, collaborate etc.) – similar in concept to JXTA Shell gecdistedaug01
Overall Structure of GXOS for a MegaMeeting Any level (except lowest) can be a pipe EventArchive Capabilities Global Root Users Devices Documents Admin Multimedia Have a hierarchy of MegaMeetings(any collection of meetings)Course, Degree .. Are MegaMeetings MegaMeeting Meeting Meeting Meeting gxos://Education/University/Indiana/CS/PhD/Course/Lecture gecdistedaug01
Interface of XML and Java I • How will we teach computing? • K-4: Internet Access • Middle School: (Simple) XML Schema interfaced to some scripting language • High School: Java as the programming model with Java classes (for external data) generated • Probably don’t want to specify objects twice • Start in Java; generate Schema • Or Start with Schema and generate Java • Need a natural API of computer code to real or virtual XML • Current mechanisms seem quaint (JDBC), inefficient (parsers), or non standard (Castor) gecdistedaug01
Interface of XML and Java II Database (Virtual) XML View Choose And Convert Middleware(EJB) • Suppose we have a quadrillion (1015) XML objects as say produced by a physics accelerator per year (Enterprise GXOS) • Need to combine: • Search Interface to select nodes of XML Tree • Specify URI • JDBC or Google like Interfaces • Castor like Interface to map XML into Java but need to control depth of conversion from XML into Java gecdistedaug01
Current GXOS API Architecture • Initially implement “PersonalGXOS” – Information Repository small enough that we can afford to read all possibly relevant information into memory and refine this • E.g. Support course data for individual faculty • File.xml XML Object Java Object and vice versa • Use Castor to automate XML Schema to Java Object • Primitives Supported Initially • Get a “leaf Object” • Get a Collection (Internal Node) – “handle” and self.xml (the GXOS properties associated with this node) • List Contents of a collection (recursively) • Get Contents of a collection (recursively) gecdistedaug01