Collaboration and Grid Technologies Geoffrey Fox Professor of Computer Science, Informatics, Physics Pervasive Technology Laboratories Indiana University Bloomington IN 47401 [email_address] http://www.infomall.org http://www.grid2002.org
What we can discuss Grid  and  Collaboration Tools  and Architectures which can address some difficulties encountered upto now in areas like distance education Audio-Video conferencing  addressing network difficulties and the integration of different approaches Sharing material  over the Internet Shared display collaboration Producing web pages  using “re-usable” portlet architecture Tools are in “ alpha ” release at moment So they might be less reliable than unreliable tools they are trying to improve
Teaching Jackson State Fall 97 to Fall 2001 JSU Syracuse Spring 2004: Course on “e-Science”/Grid
Distance Learning ….. Linking teachers to students remotely Linking students/mentors to students/mentors for collaboration at a distance on a project Collaboration is sharing People (audio, video, text chat, instant messenger) Web Pages Other electronic resources (e.g. Word running on laptop) Homework Grades Asynchronous: I post a web page; you access it I send email Can recover from temporary network glitches Synchronous: I post an electronic document; you see what I post (in a second or two) As I update, you get update Very sensitive to network glitches
Problems from Tango and all Others Clients were unreliable  – addressed by better windows and moving collaboration from  Browser to an application Networks  were  unreliable  and firewalls are a problem Not a lot of progress with QoS at network level Some QoS problems are due to different collaboration streams interfering Use  application level QoS  with highly robust managed messaging Very hard to customize  each application in “shared state event model” Offer  shared display Convert  Applications to Web Services Many different standards  H323, SIP, Access Grid, T120 … Unify as single  XML  standard Inconvenient to customize  user interfaces Use portlet technology supporting  desktop and PDA  clients
Collaboration and Web Services Collaboration  has Mechanism to set up members (people, devices) of a “collaborative sessions” Shared generic tools such as text chat, white boards, audio-video conferencing Shared applications such as Web Pages, PowerPoint, Visualization, maps, (medical) instruments …. b)  and  c)  are “just shared objects” where objects could be Web Services but rarely are at moment We can port objects to Web Services and build a general approach for making Web services collaborative a)   is a “Service” which is set up in many different ways (H323 SIP JXTA are standards supported by multiple implementations) – we should make it a WS
Shared Event Collaboration All collaboration is about  sharing events defining state changes Audio/Video conferencing  shares events specifying in compressed form audio or video Shared display  shares events corresponding to change in pixels of a frame buffer Instant Messengers  share updates to text message streams Microsoft events  for shared PowerPoint (file replicated between clients) as in Access Grid Finite State Change  NOT  Finite State  Machine architecture Using  Web services  allows one to expose updates of all kinds as messages “ Event service” for collaboration is similar to Grid notification service and we effectively define SDE’s (service data elements) in OGSI Group ( Session ) communication service is needed for the delivery of the update events Using Event Messaging middleware makes messaging universal
Global-MMCS 2.0 XGSP based MCU We are building an open source  protocol independent Web Service “MCU”  which will scale to an arbitrary number of users and provide integrated  thousands of simultaneous users  collaboration services.  We will deploy it globally and hope to test with later this year. The function of A/V media server will be distributed using NaradaBrokering architecture. Media Servers  mix and convert A/V streams  Open  Global-MMCS MCU  based on the following open source projects openh323  is basis of H323 Gateway NIST SIP stack  is basis of SIP Gateway NaradaBrokering  is open source messaging from Indiana Java Media Framework  basis of Media Servers (needs performance enhancement)
XGSP Web Service MCU Architecture Gateways convert to uniform XGSP Messaging High Performance (RTP) and XML/SOAP and .. Use Multiple Media servers to scale to many codecs and many versions of audio/video mixing NB Scales as distributed Web Services NaradaBrokering SIP H323 Access Grid Native XGSP Admire Media Servers Filters Session Server XGSP-based Control NaradaBrokering All Messaging
Polycom, Access Grid and RealVideo views of multiple streams using A/V Web Service integrating SIP and H323
Features of A/V Conferencing Need a video camera – Polycom ViaVideo or Logicon Plantronics or similar echo-canceling microphone such as Viavideo VRVS or GlobalMMCS does not need hardware multicast Messenging in GlobalMMCS very powerful Software multicast will IMHO replace hardware multicast Access Grid supports multiple video cameras but no special reason one needs four – depends on application Web service will mosaic multiple streams into one Allow Polycom to receive multiple streams RealVideo for most reliability as 10 second buffer
NaradaBrokering Brokers ONLY process messages
Grid Messaging Substrate Consumer Service SOAP+HTTP RMI TCP/IP RTP …. Messaging Substrate Consumer Service Standard client-server style communication. Substrate mediated communication removes transport protocol dependence .  SOAP+HTTP RMI TCP/IP RTP …. Any Protocols satisfying QoS Messaging Substrate  has “intelligence”,  “any desired fault tolerance” “logging” etc.
“ GridMPI” v. NaradaBrokering In  parallel computing ,  MPI  and  PVM  provided “all the features one needed’ for inter-node messaging NB aims to play same role for the Grid but the requirements and constraints are very different NB is not MPI  ported to a Grid/Globus environment Typically MPI aiming at  microsecond latency but  for  Grid , time scales are different 100 millisecond  quite normal network latency 30 millisecond  typical packet time sensitivity (this is one audio or video frame) but even here can buffer 10-100 frames on client (conferencing to streaming) <1 millisecond  is time for a Java server to “think” Jitter  in  latency  (transit time through broker) due to routing, processing (in NB) or packet loss recovery is important property Grids  need and can use software supported message functions and trade-offs between hardware and  software routing  different from  parallel computing
NaradaBrokering Based on a network of cooperating  broker nodes Cluster based architecture allows system to scale in size Grid routing topologies  are open research issue? Originally designed to provide  uniform software multicast  to support real-time collaboration linked to publish-subscribe for asynchronous systems. Perhaps better thought of as  stream  not  message handler Now has several core functions  Reliable order-preserving “Optimized” Message transport  (based on  performance  measurement) in heterogeneous multi-link fashion with TCP, UDP, SSL, HTTP, and will add GridFTP General  publish-subscribe  including  JMS  &  JXTA and  support for RTP-based  audio/video conferencing  General  software routing  to avoid  network problem Distributed XML  event selection  using  XPATH metaphor QoS, Security  profiles for sent and received messages Interface with  reliable storage for persistent events
Laudable Features of NaradaBrokering Is  open source   http://www.naradabrokering.org  available now; major new release for SC03 Will have  end-point  “plug-in” as well as  standalone brokers end-point  is  service  or  user-interface machine Will have a  discovery service  to find nearest brokers Does  tunnel  through most  firewalls  without requiring ports to be opened Links to NWS (Network Weather Service) style  performance estimation systems Supports  JXTA  (peer-to-peer network),  JMS  (Java Message Service) and more powerful native mode Transit time  < 1 millisecond  per broker Will have  setup  and  broker network administration module
NaradaBrokering Naturally Supports Filtering  of events ( streams ) to support different end-point requirements (e.g,. PDA versus desktop, slow lines, different A/V codecs) Virtualization  of addressing, routing, interfaces (OGSI versus pure Web services for example) Federation  and  Mediation  of multiple instances of Grid services as illustrated by  Composition of  Gridlets  into full Grids (Gridlets are single computers in P2P case) JXTA  with peer-group forming a Gridlet Monitoring  of messages for Service management and general  autonomic  functions Fault tolerant  data  transport Virtual Private Grid  with fine-grain  Security  model
Performance Test : GlobalMMCS1.0 We conducted extensive performance tests on audio and video servers.  Video: The test shows that our video server is capable of supporting 100- 300  clients if there is only  one video sender .   Video Server Machine :  1.2GHz Intel Pentium III dual CPU, 1GB MEM, RedHat Linux 7.3 Audio:   Our tests show that audio server can support 5 concurrent sessions (250 participants in total) without any packet droppings.  Audio Server Machine:   2.5GHz Pentium 4 CPU, 512MB  memory, Windows XP machine Scale  with logarithmic Broker network
0 10 20 30 40 50 60 0 200 400 600 800 1000 1200 1400 1600 1800 2000 Delay (Milliseconds) Packet Number Average delays per packet for 50 video-clients NaradaBrokering Avg=2.23 ms, JMF Avg=3.08 ms NaradaBrokering-RTP JMF-RTP
0 1 2 3 4 5 6 7 8 0 200 400 600 800 1000 1200 1400 1600 1800 2000 Jitter  (Milliseconds) Packet Number Average jitter (std. dev) for 50 video clients. NaradaBrokering Avg=0.95 ms, JMF Avg=1.10 ms NaradaBrokering-RTP JMF-RTP
 
Commercial Collaboration Systems Placeware WebEx Centra Anabas
Robust Web Service Model However hard we work, there will be disconnects and problems Typically difficulty is client and client/server network So we are designing a backup with a web page version of collaborative page – shared display, text chat etc. And using instant messenger as backup control function Have this working (roughly) for Shared PowerPoint  but need to extend to other functions Synchronization Server (NB) Backup Web Service Fancy Collaboration Backup HTML Instant Messenger Collaboration
Application Web Service Model Anabas provides shared display (frame-buffer) as this works for all applications Shared event is how Tango used to it and this is Access Grid PowerPoint model Share events like “New Slide” or “New File” Our strategy is to convert applications to Web Services and use these to produce shared event Using NaradaBrokering as system to share events Have implemented for Scalable Vector Graphics (SVG) and PowerPoint (partially as Microsoft makes hard) Will extend to OpenOffice if pratical
Web Service Model for Application Development Logic of Application Semantic Events Data User Facing Ports Resource Facing Ports Events as  Messages Rendering as  Messages View Control Model Messaging System Interrupts in traditional monolithic applications become “real messages” not directly method calls Natural for collaboration and universal access User Interface Raw (UI) Events
Collaborative SVG As A Web Service NaradaBrokering
SIMD Collaboration Identical Programs receiving identical events Token determines if browser is moving, waiting for opponent or an observer Shared Output port SIMD Collaborative Web Service Non Web Service Implementation SVG Browser SVG Browser SVG Browser SVG Browser SVG Viewer SVG Viewer SVG Viewer SVG Viewer SVG Model (DOM) NaradaBrokering NaradaBrokering
MIMD Collaboration NaradaBrokering Shared Input port MIMD Collaborative Web Service SVG Viewer SVG Viewer SVG Viewer SVG Viewer SVG  Model SVG  Model SVG  Model SVG  Model NaradaBrokering
PowerPoint as a Sort of Web Service PPT as a Web Service As in Access Grid Collaborative Client Holds meta-data (sample of high  level semantic events) like slide number and title Master Client Connectable Object Sink Outgoing interface Connection Point IUnknown NaradaBrokering Message Service Event Messages User 1 1 User 2 User n Event Messages
Integration of PDA, Cell phone and Desktop Grid Access
Portals and Web Services Web Services  allow us to build a  component model  (see CCA) for resources. Each resource  naturally has a  user interface  (which might be customized for user) Web Service <--> Portlet Natural  to use a component model for portal building displayed web page from collection of portlets So can customize each portlet and customize which portlets you want Apache Jetspeed  seems good open source technology supporting this model  Being used by  NCSA  and  DoD HPCMO
WSRP Structure of a Portlet Each  Web Service  naturally has a  user interface  specified as “just another port”  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  portlet  at same time Application as a WS General Application Ports Interface with other Web Services User Face of Web Service WSRP Ports define  WS as a Portlet Portal User Profile Aggregate UI Fragments Client WSRP is W eb Services for Remote Portals 1 st  Meeting OASIS March 18 2002 Application or Content  source WSDL Web Service S R W P
WS  Display WS  Viewer Event (Message) Service Master WS Display WS  Viewer Web Service Message Interceptor Collaboration as a WS Set up Session with XGSP Shared Output Port Collaboration Other Participants Text Chat Whiteboard Multiple masters WS Display WS Viewer Application or Content  source WSDL Web Service F I U O F I R O
Event (Message) Service Master Collaboration as a WS Set up Session with XGSP Shared Input Port ( Replicated  WS) Collaboration Other Participants WS Display WS Viewer WS  Display WS  Viewer WS Display WS  Viewer Web Service F I U O F I R O Web Service F I U O F I R O Web Service F I U O F I R O
Collage of Portals Earthquakes – NASA Fusion – DoE Computing Info – DoD Publications -- CGL
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  portlet at same time Application as a WS General Application Ports Interface with other Web Services User Face of Web Service WSRP Ports define  WS as a Portlet Web Services have other ports ( Grid Service ) to be  OGSI  compliant Application or Content  source WSDL Web Service S R W P
Online Knowledge Center built from Portlets 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 A set of UI Components
Portlet Portlet Portlet Portlet XML RSS, OCS, or other Local or remote HTML Local files JSP or VM Local templates WebPage Remote HTML Portlet Portlets User implemented using Portal API Portlets Data PortletController PortletController Screen Manager HTML PSML PortletControl ECS JSP template ECS ECS ECS ECS ECS ECS ECS ECS Root to HTML ECS Turbine Servlet Jetspeed Architecture
Portlets and Portal Stacks User interfaces to Portal services (Code Submission, Job Monitoring, File Management for Host X) are all  managed as   portlets . Users, administrators can customize their portal interfaces to just precisely the services they want.  Core Grid Services User facing Web  Service Ports Application Grid Web  Services Aggregation Portals (Jetspeed) Message Security, Information Services
IU and OGCE Portal Architecture Hierarchical  arrangement Clients (Pure HTML, Java Applet ..)  Aggregation and Rendering  Jetspeed Internal Services Portlet Class: IFramePortlet Portlet Class: VelocityPortlet Portlet Class: JspPortlet Portlet Class: WebForm Gateway (IU) Web/Grid service Web/Grid service Web/Grid service Computing Data Stores Instruments GridPort Texas (Java) COG Kit Clients Portal  Portlets Libraries Services Resources Local Portlets Remote or Proxy Portlets Emphasis Largely taken from other projects  (Jetspeed)
Jetspeed Computing Portal: Choose Portlets  4 available portlets linking to Web Services I choose two
Choose Portlet Layout Choose 1-column Layout Original 2-column Layout
Lists user files on  selected host, noahsark. File operations include Upload, download,  Copy, rename, crossload Tabs indicate available portlet interfaces. File management
 
Sample page with  several portlets:  proxy credential manager, submission, monitoring
Provide information  about application  and host parameters Select application to edit Administer Grid Portal

Collaboration and Grid Technologies

  • 1.
    Collaboration and GridTechnologies Geoffrey Fox Professor of Computer Science, Informatics, Physics Pervasive Technology Laboratories Indiana University Bloomington IN 47401 [email_address] http://www.infomall.org http://www.grid2002.org
  • 2.
    What we candiscuss Grid and Collaboration Tools and Architectures which can address some difficulties encountered upto now in areas like distance education Audio-Video conferencing addressing network difficulties and the integration of different approaches Sharing material over the Internet Shared display collaboration Producing web pages using “re-usable” portlet architecture Tools are in “ alpha ” release at moment So they might be less reliable than unreliable tools they are trying to improve
  • 3.
    Teaching Jackson StateFall 97 to Fall 2001 JSU Syracuse Spring 2004: Course on “e-Science”/Grid
  • 4.
    Distance Learning …..Linking teachers to students remotely Linking students/mentors to students/mentors for collaboration at a distance on a project Collaboration is sharing People (audio, video, text chat, instant messenger) Web Pages Other electronic resources (e.g. Word running on laptop) Homework Grades Asynchronous: I post a web page; you access it I send email Can recover from temporary network glitches Synchronous: I post an electronic document; you see what I post (in a second or two) As I update, you get update Very sensitive to network glitches
  • 5.
    Problems from Tangoand all Others Clients were unreliable – addressed by better windows and moving collaboration from Browser to an application Networks were unreliable and firewalls are a problem Not a lot of progress with QoS at network level Some QoS problems are due to different collaboration streams interfering Use application level QoS with highly robust managed messaging Very hard to customize each application in “shared state event model” Offer shared display Convert Applications to Web Services Many different standards H323, SIP, Access Grid, T120 … Unify as single XML standard Inconvenient to customize user interfaces Use portlet technology supporting desktop and PDA clients
  • 6.
    Collaboration and WebServices Collaboration has Mechanism to set up members (people, devices) of a “collaborative sessions” Shared generic tools such as text chat, white boards, audio-video conferencing Shared applications such as Web Pages, PowerPoint, Visualization, maps, (medical) instruments …. b) and c) are “just shared objects” where objects could be Web Services but rarely are at moment We can port objects to Web Services and build a general approach for making Web services collaborative a) is a “Service” which is set up in many different ways (H323 SIP JXTA are standards supported by multiple implementations) – we should make it a WS
  • 7.
    Shared Event CollaborationAll collaboration is about sharing events defining state changes Audio/Video conferencing shares events specifying in compressed form audio or video Shared display shares events corresponding to change in pixels of a frame buffer Instant Messengers share updates to text message streams Microsoft events for shared PowerPoint (file replicated between clients) as in Access Grid Finite State Change NOT Finite State Machine architecture Using Web services allows one to expose updates of all kinds as messages “ Event service” for collaboration is similar to Grid notification service and we effectively define SDE’s (service data elements) in OGSI Group ( Session ) communication service is needed for the delivery of the update events Using Event Messaging middleware makes messaging universal
  • 8.
    Global-MMCS 2.0 XGSPbased MCU We are building an open source protocol independent Web Service “MCU” which will scale to an arbitrary number of users and provide integrated thousands of simultaneous users collaboration services. We will deploy it globally and hope to test with later this year. The function of A/V media server will be distributed using NaradaBrokering architecture. Media Servers mix and convert A/V streams Open Global-MMCS MCU based on the following open source projects openh323 is basis of H323 Gateway NIST SIP stack is basis of SIP Gateway NaradaBrokering is open source messaging from Indiana Java Media Framework basis of Media Servers (needs performance enhancement)
  • 9.
    XGSP Web ServiceMCU Architecture Gateways convert to uniform XGSP Messaging High Performance (RTP) and XML/SOAP and .. Use Multiple Media servers to scale to many codecs and many versions of audio/video mixing NB Scales as distributed Web Services NaradaBrokering SIP H323 Access Grid Native XGSP Admire Media Servers Filters Session Server XGSP-based Control NaradaBrokering All Messaging
  • 10.
    Polycom, Access Gridand RealVideo views of multiple streams using A/V Web Service integrating SIP and H323
  • 11.
    Features of A/VConferencing Need a video camera – Polycom ViaVideo or Logicon Plantronics or similar echo-canceling microphone such as Viavideo VRVS or GlobalMMCS does not need hardware multicast Messenging in GlobalMMCS very powerful Software multicast will IMHO replace hardware multicast Access Grid supports multiple video cameras but no special reason one needs four – depends on application Web service will mosaic multiple streams into one Allow Polycom to receive multiple streams RealVideo for most reliability as 10 second buffer
  • 12.
  • 13.
    Grid Messaging SubstrateConsumer Service SOAP+HTTP RMI TCP/IP RTP …. Messaging Substrate Consumer Service Standard client-server style communication. Substrate mediated communication removes transport protocol dependence . SOAP+HTTP RMI TCP/IP RTP …. Any Protocols satisfying QoS Messaging Substrate has “intelligence”, “any desired fault tolerance” “logging” etc.
  • 14.
    “ GridMPI” v.NaradaBrokering In parallel computing , MPI and PVM provided “all the features one needed’ for inter-node messaging NB aims to play same role for the Grid but the requirements and constraints are very different NB is not MPI ported to a Grid/Globus environment Typically MPI aiming at microsecond latency but for Grid , time scales are different 100 millisecond quite normal network latency 30 millisecond typical packet time sensitivity (this is one audio or video frame) but even here can buffer 10-100 frames on client (conferencing to streaming) <1 millisecond is time for a Java server to “think” Jitter in latency (transit time through broker) due to routing, processing (in NB) or packet loss recovery is important property Grids need and can use software supported message functions and trade-offs between hardware and software routing different from parallel computing
  • 15.
    NaradaBrokering Based ona network of cooperating broker nodes Cluster based architecture allows system to scale in size Grid routing topologies are open research issue? Originally designed to provide uniform software multicast to support real-time collaboration linked to publish-subscribe for asynchronous systems. Perhaps better thought of as stream not message handler Now has several core functions Reliable order-preserving “Optimized” Message transport (based on performance measurement) in heterogeneous multi-link fashion with TCP, UDP, SSL, HTTP, and will add GridFTP General publish-subscribe including JMS & JXTA and support for RTP-based audio/video conferencing General software routing to avoid network problem Distributed XML event selection using XPATH metaphor QoS, Security profiles for sent and received messages Interface with reliable storage for persistent events
  • 16.
    Laudable Features ofNaradaBrokering Is open source http://www.naradabrokering.org available now; major new release for SC03 Will have end-point “plug-in” as well as standalone brokers end-point is service or user-interface machine Will have a discovery service to find nearest brokers Does tunnel through most firewalls without requiring ports to be opened Links to NWS (Network Weather Service) style performance estimation systems Supports JXTA (peer-to-peer network), JMS (Java Message Service) and more powerful native mode Transit time < 1 millisecond per broker Will have setup and broker network administration module
  • 17.
    NaradaBrokering Naturally SupportsFiltering of events ( streams ) to support different end-point requirements (e.g,. PDA versus desktop, slow lines, different A/V codecs) Virtualization of addressing, routing, interfaces (OGSI versus pure Web services for example) Federation and Mediation of multiple instances of Grid services as illustrated by Composition of Gridlets into full Grids (Gridlets are single computers in P2P case) JXTA with peer-group forming a Gridlet Monitoring of messages for Service management and general autonomic functions Fault tolerant data transport Virtual Private Grid with fine-grain Security model
  • 18.
    Performance Test :GlobalMMCS1.0 We conducted extensive performance tests on audio and video servers. Video: The test shows that our video server is capable of supporting 100- 300 clients if there is only one video sender . Video Server Machine : 1.2GHz Intel Pentium III dual CPU, 1GB MEM, RedHat Linux 7.3 Audio: Our tests show that audio server can support 5 concurrent sessions (250 participants in total) without any packet droppings. Audio Server Machine: 2.5GHz Pentium 4 CPU, 512MB memory, Windows XP machine Scale with logarithmic Broker network
  • 19.
    0 10 2030 40 50 60 0 200 400 600 800 1000 1200 1400 1600 1800 2000 Delay (Milliseconds) Packet Number Average delays per packet for 50 video-clients NaradaBrokering Avg=2.23 ms, JMF Avg=3.08 ms NaradaBrokering-RTP JMF-RTP
  • 20.
    0 1 23 4 5 6 7 8 0 200 400 600 800 1000 1200 1400 1600 1800 2000 Jitter (Milliseconds) Packet Number Average jitter (std. dev) for 50 video clients. NaradaBrokering Avg=0.95 ms, JMF Avg=1.10 ms NaradaBrokering-RTP JMF-RTP
  • 21.
  • 22.
    Commercial Collaboration SystemsPlaceware WebEx Centra Anabas
  • 23.
    Robust Web ServiceModel However hard we work, there will be disconnects and problems Typically difficulty is client and client/server network So we are designing a backup with a web page version of collaborative page – shared display, text chat etc. And using instant messenger as backup control function Have this working (roughly) for Shared PowerPoint but need to extend to other functions Synchronization Server (NB) Backup Web Service Fancy Collaboration Backup HTML Instant Messenger Collaboration
  • 24.
    Application Web ServiceModel Anabas provides shared display (frame-buffer) as this works for all applications Shared event is how Tango used to it and this is Access Grid PowerPoint model Share events like “New Slide” or “New File” Our strategy is to convert applications to Web Services and use these to produce shared event Using NaradaBrokering as system to share events Have implemented for Scalable Vector Graphics (SVG) and PowerPoint (partially as Microsoft makes hard) Will extend to OpenOffice if pratical
  • 25.
    Web Service Modelfor Application Development Logic of Application Semantic Events Data User Facing Ports Resource Facing Ports Events as Messages Rendering as Messages View Control Model Messaging System Interrupts in traditional monolithic applications become “real messages” not directly method calls Natural for collaboration and universal access User Interface Raw (UI) Events
  • 26.
    Collaborative SVG AsA Web Service NaradaBrokering
  • 27.
    SIMD Collaboration IdenticalPrograms receiving identical events Token determines if browser is moving, waiting for opponent or an observer Shared Output port SIMD Collaborative Web Service Non Web Service Implementation SVG Browser SVG Browser SVG Browser SVG Browser SVG Viewer SVG Viewer SVG Viewer SVG Viewer SVG Model (DOM) NaradaBrokering NaradaBrokering
  • 28.
    MIMD Collaboration NaradaBrokeringShared Input port MIMD Collaborative Web Service SVG Viewer SVG Viewer SVG Viewer SVG Viewer SVG Model SVG Model SVG Model SVG Model NaradaBrokering
  • 29.
    PowerPoint as aSort of Web Service PPT as a Web Service As in Access Grid Collaborative Client Holds meta-data (sample of high level semantic events) like slide number and title Master Client Connectable Object Sink Outgoing interface Connection Point IUnknown NaradaBrokering Message Service Event Messages User 1 1 User 2 User n Event Messages
  • 30.
    Integration of PDA,Cell phone and Desktop Grid Access
  • 31.
    Portals and WebServices Web Services allow us to build a component model (see CCA) for resources. Each resource naturally has a user interface (which might be customized for user) Web Service <--> Portlet Natural to use a component model for portal building displayed web page from collection of portlets So can customize each portlet and customize which portlets you want Apache Jetspeed seems good open source technology supporting this model Being used by NCSA and DoD HPCMO
  • 32.
    WSRP Structure ofa Portlet Each Web Service naturally has a user interface specified as “just another port” 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 portlet at same time Application as a WS General Application Ports Interface with other Web Services User Face of Web Service WSRP Ports define WS as a Portlet Portal User Profile Aggregate UI Fragments Client WSRP is W eb Services for Remote Portals 1 st Meeting OASIS March 18 2002 Application or Content source WSDL Web Service S R W P
  • 33.
    WS DisplayWS Viewer Event (Message) Service Master WS Display WS Viewer Web Service Message Interceptor Collaboration as a WS Set up Session with XGSP Shared Output Port Collaboration Other Participants Text Chat Whiteboard Multiple masters WS Display WS Viewer Application or Content source WSDL Web Service F I U O F I R O
  • 34.
    Event (Message) ServiceMaster Collaboration as a WS Set up Session with XGSP Shared Input Port ( Replicated WS) Collaboration Other Participants WS Display WS Viewer WS Display WS Viewer WS Display WS Viewer Web Service F I U O F I R O Web Service F I U O F I R O Web Service F I U O F I R O
  • 35.
    Collage of PortalsEarthquakes – NASA Fusion – DoE Computing Info – DoD Publications -- CGL
  • 36.
    Web Services asa 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 portlet at same time Application as a WS General Application Ports Interface with other Web Services User Face of Web Service WSRP Ports define WS as a Portlet Web Services have other ports ( Grid Service ) to be OGSI compliant Application or Content source WSDL Web Service S R W P
  • 37.
    Online Knowledge Centerbuilt from Portlets 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 A set of UI Components
  • 38.
    Portlet Portlet PortletPortlet XML RSS, OCS, or other Local or remote HTML Local files JSP or VM Local templates WebPage Remote HTML Portlet Portlets User implemented using Portal API Portlets Data PortletController PortletController Screen Manager HTML PSML PortletControl ECS JSP template ECS ECS ECS ECS ECS ECS ECS ECS Root to HTML ECS Turbine Servlet Jetspeed Architecture
  • 39.
    Portlets and PortalStacks User interfaces to Portal services (Code Submission, Job Monitoring, File Management for Host X) are all managed as portlets . Users, administrators can customize their portal interfaces to just precisely the services they want. Core Grid Services User facing Web Service Ports Application Grid Web Services Aggregation Portals (Jetspeed) Message Security, Information Services
  • 40.
    IU and OGCEPortal Architecture Hierarchical arrangement Clients (Pure HTML, Java Applet ..) Aggregation and Rendering Jetspeed Internal Services Portlet Class: IFramePortlet Portlet Class: VelocityPortlet Portlet Class: JspPortlet Portlet Class: WebForm Gateway (IU) Web/Grid service Web/Grid service Web/Grid service Computing Data Stores Instruments GridPort Texas (Java) COG Kit Clients Portal Portlets Libraries Services Resources Local Portlets Remote or Proxy Portlets Emphasis Largely taken from other projects (Jetspeed)
  • 41.
    Jetspeed Computing Portal:Choose Portlets 4 available portlets linking to Web Services I choose two
  • 42.
    Choose Portlet LayoutChoose 1-column Layout Original 2-column Layout
  • 43.
    Lists user fileson selected host, noahsark. File operations include Upload, download, Copy, rename, crossload Tabs indicate available portlet interfaces. File management
  • 44.
  • 45.
    Sample page with several portlets: proxy credential manager, submission, monitoring
  • 46.
    Provide information about application and host parameters Select application to edit Administer Grid Portal

Editor's Notes

  • #20 Standarad deviation between inter packet arrival times