Presentation is loading. Please wait.

Presentation is loading. Please wait.

Collaborative Web Services and Peer-to-peer Grids

Similar presentations


Presentation on theme: "Collaborative Web Services and Peer-to-peer Grids"— Presentation transcript:

1 Collaborative Web Services and Peer-to-peer Grids
CTS03 Orlando 20 January 2003 PTLIU Laboratory for Community Grids Geoffrey Fox Computer Science, Informatics, Physics Indiana University, Bloomington IN 47404 (Technology Officer, Anabas Corporation, San Francisco) 11/16/2018 uri="

2 Some Basic Observations/Goals
Technology Support for e-learning is one motivation Need Synchronous and Asynchronous Resource Sharing Can provide universal access using collaboration technology Grids manage and share asynchronous resources in a rather centralized fashion Peer-to-peer networks are “just like” Grids with different implementations of services like registration and look-up Web Services interact with messages Everything (including applications like PowerPoint) will be a WS? Note few applications today have message-based I/O Computers are fast and getting faster. One can afford many strategies that used to be unrealistic All messages can be publish/subscribe Software message routing XML will be used for most interesting data and meta-data 11/16/2018 uri="

3 Classic Grid Architecture
Resources Database Database Content Access Composition Middle Tier Brokers Service Providers Netsolve Security Collaboration Computing Middle Tier becomes Web Services Clients Users and Devices 11/16/2018 uri="

4 uri="http://www.naradabrokering.org" email="gcf@indiana.edu"
Deductions The system consists of a sea of message-based Services Services inject and extract messages whose transport and manipulation is support by a logically distinct sea of brokers/routers They support publish/subscribe, adaptive routing, filtering, workflow … They separate logical and actual transport These form a federated XML database and support asynchronous collaboration These process real-time messages in about a millisecond and support synchronous collaboration For collaboration, this implies one can: Unify Collaboration Control (H323,SIP ..) as a Web Service Provide single collaboration messaging environment (Audio/Video, shared display, text chat …) Develop a generic support for Collaborative Web Services 11/16/2018 uri="

5 Peer to Peer Grid Peers Peers A democratic organization
Database Database Peers Service Facing Web Service Interfaces Event/ Message Brokers Peer to Peer Grid Peers User Facing Web Service Interfaces A democratic organization Peer to Peer Grid 11/16/2018 uri="

6 So what are we doing of interest to CTS?
We co-edited a book on Grid Computing to be published April We have designed and built a messaging infrastructure NaradaBrokering to support collaboration. Grids and P2P We have shown interoperability between JXTA (Sun’s P2P environment), Java Message Service (JMS) and NaradaBrokering We have deployed a classic (Placeware, Interwise, WebEx) synchronous collaboration environment using JMS or Narada for messaging (uses Anabas technology for shared applications) We have illustrated collaborative pervasive/universal access by subscribing PDA’s and desktop’s to different filtered topics We have prototyped audio-video conferencing as a web service We are repackaging collaborative SVG as a Web service to illustrate (explore) how wonderful it will be when all applications are Collaborative Web services 11/16/2018 uri="

7 Web Services in a Nutshell
Application or Content source WSDL 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 11/16/2018 uri="

8 Different Web Service Organizations
Everything is a resource (distributed object) implemented as a Web Service, whether it be: back end supercomputers and a petabyte dataset Microsoft PowerPoint and this file Web Services communicate by messages ….. Web Services are “just distributed objects” with focus on (particular) XML specified input and output messages Grids and Peer to Peer (P2P) networks can be integrated by building both in terms of Web Services with different (or in fact sometimes the same) implementations of core services such as registration, discovery, life-cycle, collaboration and event or message transport ….. Gives a Peer-to-Peer Grid Roughly but not completely consistent with OGSA (Open Grid Service Architecture) Consistent with “rule”: build everything as a Web service 11/16/2018 uri="

9 Education as a Web Service
“Learning Object” XML standards already exist from IMS/ADL – 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 including Audio/Video Conferencing and other synchronous collaborative tools as Web Services Scheduling of courses and mentoring sessions Asynchronous access, data-mining and knowledge discovery Learning Plan agents to guide students and teachers 11/16/2018 uri="

10 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 can make it a WS quite easily 11/16/2018 uri="

11 Web Service Architecture for Audio Video Conferencing
11/16/2018 uri="

12 uri="http://www.naradabrokering.org" email="gcf@indiana.edu"
XGSP: Introduction Registration Method Session Command Query Session Channel Binding Method Collaboration as a WS 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 (Specific to A/V) bind the RTP channels of a client into the media server 11/16/2018 uri="

13 uri="http://www.naradabrokering.org" email="gcf@indiana.edu"
XGSP: Example <SessionDes> <SessionName> PervasiveTech Seminar </SessionName> <SessionID> </SessionID> <SessionCreator> </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> </SessionURI> <SessionParticipants> <Participant> </Participant> <Participant> </Participant> <Participant> </Participant> </SessionParticipants> <ContactInfo> </ContactInfo> </SessionDes> 11/16/2018 uri="

14 Linking Clients or Servers
Current Implementation Polycom (H323) Access Grid Admire (Chinese system Similar to AG) and HearMe SIP VOIP Client Integration Linking Clients or Servers Server is Future Project Link Proprietary MCU’s Illustrated for SIP (HearMe) and Access Grid 11/16/2018 uri="

15 uri="http://www.naradabrokering.org" email="gcf@indiana.edu"
System Summary XGSP Specification stable Will add native XGSP clients H323 Gateway based on openh323 JMF (Java Media Framework) used for Media Server but will replace JMF by NaradaBrokering for transport Will describe use of NaradaBrokering for publish/subscribe Media Server Will add filtering at server to allow codec choice as different topics in JMS/Narada Initially offer streaming (RealNetworks) or conferencing (H261, MPEG4) Add P2P (JXTA) interfaces Add other shared applications using same XGSP control and Narada messaging Collaboration with Admire Group at Beihang University Aiming at 1000 students interacting with each other across Internet2 using A/V and Shared Display Summer 2003 (NOT broadcast Webcast) 11/16/2018 uri="

16 H323 Client (Polycom) in XGSP Session
XGSP MCU (Control) User Interface 11/16/2018 uri="

17 Comparison with other approaches
11/16/2018 uri="

18 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 or Content source WSDL Web Service S R W P Application as a WS General Application Ports Interface with other Web Services User Face of Web Service WSRP Ports define WS as a Portlet WSRP is Web Services for Remote Portals 1st Meeting OASIS March 11/16/2018 uri="

19 Collaboration: Shared Display
Sharing can be done at any point on “object” or Web Service pipeline Shared Web Service Shared Display Shared Event Shared Export Object Object’ Object’’ Object Display Object Viewer 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 Object Display 11/16/2018 uri="

20 Event (Message) Service
Shared Input Port (Replicated WS) Collaboration Collaboration as a WS Set up Session with XGSP Web Service F I U O R WS Display WS Viewer Master Web Service F I U O R WS Display WS Viewer Event (Message) Service Other Participants Web Service F I U O R WS Display WS Viewer 11/16/2018 uri="

21 Event (Message) Service
Shared Output Port Collaboration Collaboration as a WS Set up Session with XGSP Web Service Message Interceptor Master Application or Content source WSDL Web Service F I U O R WS Display WS Viewer WS Viewer WS Display Text Chat Whiteboard Multiple masters Event (Message) Service Other Participants WS Viewer WS Display 11/16/2018 uri="

22 uri="http://www.naradabrokering.org" email="gcf@indiana.edu"
NaradaBrokering Based on a network of cooperating broker nodes Cluster based architecture allows system to scale to arbitrary size Originally designed to provide uniform software multicast to support real-time collaboration linked to publish-subscribe for asynchronous systems. Now has four major core functions Message transport (based on performance measurement) in heterogeneous multi-link fashion General publish-subscribe including JMS & JXTA and support for RTP-based audio/video conferencing Filtering for heterogeneous clients Federation of multiple instances of Grid services 11/16/2018 uri="

23 Role of Event/Message Brokers
We will use events and messages interchangeably An event is a time stamped message Our systems are built from clients, servers and “event brokers” These are logical functions – a given computer can have one or more of these functions In P2P networks, computers typically multifunction; in Grids one tends to have separate function computers Event Brokers “just” provide message/event services; servers provide traditional distributed object services as Web services There are functionalities that only depend on event itself and perhaps the data format; they do not depend on details of application and can be shared among several applications NaradaBrokering is designed to provide these functionalities MPI provided such functionalities for all parallel computing 11/16/2018 uri="

24 Engineering Issues Addressed by Event / Messaging Service
Application level Quality of Service – e.g. give audio highest priority Tunnel through firewalls & proxies Filter messages to slow (collaborative/real-time) clients Choose Hardware or Software multicast Scaling of software multicast Efficient calculation of destinations and routes. Integrate synchronous and asynchronous collaboration with same messaging, control, archiving for all functions Transparently replace single server JMS systems with a distributed solution. Provides reliable inter-peer group messaging for JXTA Open Source (high quality) messaging 11/16/2018 uri="

25 NaradaBrokering implements an Event Service
Web Service 1 (Virtual) Queue Web Service 2 Destination Source Matching Filter Routing workflow WSDL Ports Broker Filter is mapping to PDA or slow communication channel (universal access) – see our PDA adaptor Workflow implements message process Routing illustrated by JXTA and includes firewall Destination-Source matching illustrated by JMS using Publish-Subscribe mechanism These use Security model (being implemented) based on WS-Sec 11/16/2018 uri="

26 uri="http://www.naradabrokering.org" email="gcf@indiana.edu"
Narada Broker Network (P2P) Community For message/events service Broker Broker (P2P) Community Resource Hypercube topology for brokers? Tree for distance education with teacher at root Broker Broker Broker Data base (P2P) Community Software multicast Broker (P2P) Community 11/16/2018 uri="

27 NaradaBrokering Communication
Applications interface to NaradaBrokering through UserChannels which NB constructs as a set of links between NB Broker waystations which may need to be dynamically instantiated UserChannels have publish/subscribe semantics with XML topics Links implement a single conventional “data” protocol. Interface to add new transport protocols within the Framework Administrative channel negotiates the best available communication protocol for each link Different links can have different underlying transport implementations Implementations in the current release include support for TCP,UDP, Multicast, SSL and RTP. HTTP, HTTPS support will be available in Feb 2003 release. Supports communication through proxies such as iPlanet, Netscape and Apache. Supports communication through firewalls such as Microsoft ISA, Checkpoint. 11/16/2018 uri="

28 Performance/Routing in Message-based Architecture
Satellite UDP Firewall HTTP Dial-up Filter A B1 Hand-Held Protocol Fast Link Software Multicast B2 B3 In traveling from cities A to B (say 3 separate passengers), one chooses between and changes transport mechanism at waystations to optimize cost, time, comfort, scenic beauty … Waystations are now NB brokers where one chooses transport protocol (individual or collective) Able to choose between car, type of car, plane, train etc Able to dynamically create waystations to cope with problems and acts as hubs for multicast messages Knows about traffic jams and can assign the “HOV lane” 11/16/2018 uri="

29 uri="http://www.naradabrokering.org" email="gcf@indiana.edu"
Note on Optimization Note in parallel computing, couldn’t do much dynamic optimization as aiming at microsecond latency Natural to use hardware routing In 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 frames on client (conferencing to streaming) 1 millisecond is time for a Java server to “think” Jitter in latency (transit time) due to routing, processing (in NB) or packet loss recovery is important property Grid needs and can tolerate significant dynamic optimization 11/16/2018 uri="

30 Narada Performance Web Service
Performance measurements are used by Links in Reconfiguring Connectivity between nodes Deciding underlying transport protocol Determining possible filtering Each node determines performance of links of which it is endpoint Individual node web services are aggregated as another Web Service Probably should replace by a more sophisticated measurement package Factors measured include Transit delays, bandwidth, Jitter, Receiving rates. Performance measurements are Spaced out at increasing intervals for healthy channels. Factors selectively measured for unhealthy channels. No repeated measurements of bandwidth for example. Injected into Narada network as XML events Administrative Interface 11/16/2018 uri="

31 uri="http://www.naradabrokering.org" email="gcf@indiana.edu"
All measurements on commodity $1500 Linux PC Sender/receiver/broker - (Pentium-3, 1 GHz, 256 MB RAM). 100 Mbps LAN. JDK-1.3, Red Hat Linux 7.3 11/16/2018 uri="

32 uri="http://www.naradabrokering.org" email="gcf@indiana.edu"
Sender/receiver/broker - (Pentium-3, 1 GHz, 256 MB RAM). 100 Mbps LAN. JDK-1.3, Red Hat Linux 7.3 11/16/2018 uri="

33 uri="http://www.naradabrokering.org" email="gcf@indiana.edu"
11/16/2018 uri="

34 uri="http://www.naradabrokering.org" email="gcf@indiana.edu"
11/16/2018 uri="

35 uri="http://www.naradabrokering.org" email="gcf@indiana.edu"
Jitter J = J + (|D(i-1, i)| - J)/16 11/16/2018 uri="

36 uri="http://www.naradabrokering.org" email="gcf@indiana.edu"
Narada supports UDP or TCP/IP 11/16/2018 uri="

37 uri="http://www.naradabrokering.org" email="gcf@indiana.edu"
Each Stream 64kbps 60 ms interval 11/16/2018 uri="

38 uri="http://www.naradabrokering.org" email="gcf@indiana.edu"
11/16/2018 uri="

39 uri="http://www.naradabrokering.org" email="gcf@indiana.edu"
11/16/2018 uri="

40 uri="http://www.naradabrokering.org" email="gcf@indiana.edu"
Each Stream average Bandwidth 600kbps 11/16/2018 uri="

41 uri="http://www.naradabrokering.org" email="gcf@indiana.edu"
11/16/2018 uri="

42 uri="http://www.naradabrokering.org" email="gcf@indiana.edu"
11/16/2018 uri="

43 uri="http://www.naradabrokering.org" email="gcf@indiana.edu"
11/16/2018 uri="

44 Narada/JMS and Collaboration
Collaboration involves sharing resources and synchronous collaboration involves coordinating a common view of a resource between multiple clients Typically one client is “in charge” and others get initial and updated resource from this “master” Specification of initial state of resource and its change are “just XML events” and we (Anabas and Indiana) have used first JMS and now NaradaBrokering to implement the transport of update events between collaborating clients Update events include: text you type into text chat or Instant Messenger URL defining shared browser Change in framebuffer for (most flexible) shared display Microsoft events for shared PowerPoint (file replicated between clients) 11/16/2018 uri="

45 Commercial Collaboration Systems
Centra Anabas WebEx Placeware 11/16/2018 uri="

46 NaradaBrokering and JMS (Java Message Service)
Low Rate; Small Messages (commercial JMS) 11/16/2018 uri="

47 NaradaBrokering and JXTA
Narada-JXTA provides JXTA guaranteed long distance delivery Request/Response Present if targeted at Particular peer Narada JXTA Event 11/16/2018 uri="

48 uri="http://www.naradabrokering.org" email="gcf@indiana.edu"
11/16/2018 uri="

49 uri="http://www.naradabrokering.org" email="gcf@indiana.edu"
11/16/2018 uri="

50 uri="http://www.naradabrokering.org" email="gcf@indiana.edu"
11/16/2018 uri="

51 uri="http://www.naradabrokering.org" email="gcf@indiana.edu"
Start UDP Works Stream Media Types Connection Complete Doesn’t Work Start TCP Works Reliable Data Stream Doesn’t Work Windows ? WinINET Try SSL first then HTTP Works NaradaBrokering Link Transport Firewall Heuristic Doesn’t Work Try SSL Over HTTPS Proxy Does HTTPS Proxy Exist Works Yes Doesn’t Work Try HTTP Over HTTP Proxy Does HTTP Proxy Exist Works Yes Doesn’t Work “Fake” SSL Over Direct Try SSL Over Direct Try HTTP Direct Works Doesn’t Work Doesn’t Work Works 11/16/2018 uri="

52 Architecture of Message Layer
Need to optimize not only routing of particular messages but classic publish/subscribe problem of integrating different requests with related topics (subscribe to sports/basketball/lakers and sports) Related to Akamai, AOL … caching and Server optimization problem Hypercube of NB Brokers (logical not physical) N≈100 for Distance Education Scale to billions of grid nodes? 1-> N Grid Nodes 11/16/2018 uri="

53 NaradaBrokering as an XML database
NB is inevitably a distributed XML database supporting real-time update and access (JMS uses SQL like syntax) Performance data Event Logging Published “properties” of publish/subscribe messages Publish as XML topic; subscribe using XPath/XQuery We use NB as a simple XML database for News groups and other “XML nuggets” see XML Instance==Message; what is difference between a message and a database record except performance but Moore’s law is rewriting rules here Subscribe a real database (Oracle) to all topics for reliable storage 11/16/2018 uri="

54 Federation of Services
If you have a Service – Notification (as with Grid or JXTA advertisements), Search, Scheduling, Audio-Video conferencing …. With a standard for client and server components Then can build a “server” that services all clients Alternatively can hierarchically consider collection of existing Server-client domains IBM or Globus OGSA islands Sun Grid Engine Schedulers Polycom/Access Grid A/V sessions Enterprise Search Engines Federation links servers for each island together JXTA Search has XML specified federation approach – will try to include and generalize as a NaradaBrokering federation framework DoD High Level Architecture HLA does this for simulation NB Hub 11/16/2018 uri="

55 uri="http://www.naradabrokering.org" email="gcf@indiana.edu"
Filtering Service As (real-time) collaboration uses publish-subscribe, we can and in fact must map/filter “object renderings” or updates to them differently for each class of client In distance education, needed for example to Cope with mix of Internet2 and dial-up clients (the student who overslept and is at home) Allow PDA’s (Personal Digital Assistants) and desktops to be in same session To allow Blind users to select the purely audio version of some content Mapping in event service enables universal access Note clients’ subscription to publish/subscribe service includes “user profile” 11/16/2018 uri="

56 uri="http://www.naradabrokering.org" email="gcf@indiana.edu"
Collaborative PDA Extendable to more general universal access Can implement filter either as an insertion in message stream or in batch mode where a Service subscribes to event stream (one collaborative application or “sharedlet”), filters it and reposts to a different stream We developed first case with a special adaptor that is essentially a NaradaBrokering node that Has added filters controlled by client profile Has stripped down special purpose link protocol HHMS (Hand held message service) optimized for PDA Currently implemented as MyProfessor for Windows CE iPAQ Working on Palm OS Cell-PDA combination with JXTA and MyProfessor Interface Have implemented shared display, SVG, Text chat, Instant Messenger (using Jabber) 11/16/2018 uri="

57 uri="http://www.naradabrokering.org" email="gcf@indiana.edu"
Collaborative SVG 11/16/2018 uri="

58 uri="http://www.naradabrokering.org" email="gcf@indiana.edu"
MyProfessor on the PDA 11/16/2018 uri="

59 uri="http://www.naradabrokering.org" email="gcf@indiana.edu"
Sharing Applications Very few applications are written as Web services Rather they integrate Rendering and Control These need to be separated (MVC) for Easy Collaborative model Use on devices with limited rendering or for users requesting custom rendering Note important standards like W3C DOM do not separate Trap User Events Inject User Events “NaradaBrokering” Pre Web Service Shared Event Collaboration Rendering non-Master IE Word etc. Master IE Word etc. 11/16/2018 uri="

60 Architecture of Collaborative SVG Application as a Portlet/WebService
content server SVG Document Rendering Engine {JMS, NB} Client Controlling Event Session manager New/Updated Content SVG portlet Portlet A Portlet B Event Service {NaradaBrokering…} Chosen Rendering & Update Jetspeed Portlet Control Portlet Controller Turbine Screen Controlling Event New/Updated Content Setup HTTP request HTML content HTTP request HTML/WML content Controlling Event Communication Adaptor for PDAs New/Updated Content HHMS HTTP Client HTTP Client HHMS {JMS, NB} Client HHMS Client Minimum collaborative environment Minimum collaborative environment 11/16/2018 uri=" PDA user Desktop user

61 Customized User-Facing Ports
User Profile Application or Content source WSDL Web Service F I U O R Render Portal (Aggregator) Selector Filter Control Channel Customized View Selection View (NaradaBrokering) Event Service Customized User-Facing Ports As used in Universal Access 11/16/2018 uri="


Download ppt "Collaborative Web Services and Peer-to-peer Grids"

Similar presentations


Ads by Google