26
Towards a Standards-based, Message-Oriented Access-Grid Steve Smith Towards a Standards-based, Message-Oriented Access-Grid Steve Smith Vislab, School of IT University of Sydney 5th October 2005

APAC-05 XMPP AccessGrid presentation

Embed Size (px)

DESCRIPTION

Presentation to accompany the paper I presented to APAC '05 on XMPP and AccessGrid integration.

Citation preview

Page 1: APAC-05 XMPP AccessGrid presentation

Towards aStandards-based,Message-Oriented

Access-Grid

Steve Smith

Towards a Standards-based,Message-Oriented Access-Grid

Steve Smith

Vislab, School of ITUniversity of Sydney

5th October 2005

Page 2: APAC-05 XMPP AccessGrid presentation

Towards aStandards-based,Message-Oriented

Access-Grid

Steve Smith

A stock-take of AccessGrid 2

We have serveral years of AGTK2 usage to learn from.Largely successful, and the number of nodes is increasing,but its adoption outside of the HPC community hashighlighted some core problems with the architecture:

I It is an implementation, not a standard.

I Heavy-weight; creates barrier to entry.

I Performance problems: It’s slow to startup and connect.

I Limited communication scope: “Where are they?”

Page 3: APAC-05 XMPP AccessGrid presentation

Towards aStandards-based,Message-Oriented

Access-Grid

Steve Smith

A stock-take of AccessGrid 2

We have serveral years of AGTK2 usage to learn from.Largely successful, and the number of nodes is increasing,but its adoption outside of the HPC community hashighlighted some core problems with the architecture:

I It is an implementation, not a standard.

I Heavy-weight; creates barrier to entry.

I Performance problems: It’s slow to startup and connect.

I Limited communication scope: “Where are they?”

Page 4: APAC-05 XMPP AccessGrid presentation

Towards aStandards-based,Message-Oriented

Access-Grid

Steve Smith

What does the AG actually do?

AG provides coordination of services ...

I Built-in servicesI File-sharingI Group-chat

I Coordination: Endpoints for out-of-band exchange ofdata.

I eg. Multicast addresses for Vic, Rat, etc.I Server address for VNC viewer.

I Collaboration: Communications conduit forshared-applications

I Presentations, Shared-whiteboard, etc.

Page 5: APAC-05 XMPP AccessGrid presentation

Towards aStandards-based,Message-Oriented

Access-Grid

Steve Smith

What does the AG actually do?

AG provides coordination of services ...I Built-in services

I File-sharingI Group-chat

I Coordination: Endpoints for out-of-band exchange ofdata.

I eg. Multicast addresses for Vic, Rat, etc.I Server address for VNC viewer.

I Collaboration: Communications conduit forshared-applications

I Presentations, Shared-whiteboard, etc.

Page 6: APAC-05 XMPP AccessGrid presentation

Towards aStandards-based,Message-Oriented

Access-Grid

Steve Smith

What does the AG actually do?

AG provides coordination of services ...I Built-in services

I File-sharingI Group-chat

I Coordination: Endpoints for out-of-band exchange ofdata.

I eg. Multicast addresses for Vic, Rat, etc.I Server address for VNC viewer.

I Collaboration: Communications conduit forshared-applications

I Presentations, Shared-whiteboard, etc.

Page 7: APAC-05 XMPP AccessGrid presentation

Towards aStandards-based,Message-Oriented

Access-Grid

Steve Smith

What does the AG actually do?

AG provides coordination of services ...I Built-in services

I File-sharingI Group-chat

I Coordination: Endpoints for out-of-band exchange ofdata.

I eg. Multicast addresses for Vic, Rat, etc.I Server address for VNC viewer.

I Collaboration: Communications conduit forshared-applications

I Presentations, Shared-whiteboard, etc.

Page 8: APAC-05 XMPP AccessGrid presentation

Towards aStandards-based,Message-Oriented

Access-Grid

Steve Smith

A different view: AG as IM

The last few years have seen the addition of AG-like featuresto most of the commercial IM clients:

I Voice

I Video

I File-transfer

I White-boards

However, the number of participants is limited.

Meanwhile, AGTK2 added IM-like functionality: Integratedchat, presence.However, these are inferior to the IM equivalents.Why not integrate the two and be done with it ...

Page 9: APAC-05 XMPP AccessGrid presentation

Towards aStandards-based,Message-Oriented

Access-Grid

Steve Smith

A different view: AG as IM

The last few years have seen the addition of AG-like featuresto most of the commercial IM clients:

I Voice

I Video

I File-transfer

I White-boards

However, the number of participants is limited.

Meanwhile, AGTK2 added IM-like functionality: Integratedchat, presence.However, these are inferior to the IM equivalents.Why not integrate the two and be done with it ...

Page 10: APAC-05 XMPP AccessGrid presentation

Towards aStandards-based,Message-Oriented

Access-Grid

Steve Smith

Open instant-message protocol: XMPP

I Otherwise known as Jabber.I XML based protocol (yeah, I know).

I Extensible, extensions guarded by XML namespaces.

I Recently made IETF standard for IM.

I Already being used to build shared appsI Last year has seen mindshare increase:

I iChat support built-inI Google Talk!

I Already being used on the AG

Page 11: APAC-05 XMPP AccessGrid presentation

Towards aStandards-based,Message-Oriented

Access-Grid

Steve Smith

Community supported and enhanced

Extensions defined in ’JEP’s: Proposed enhancements, likeRFCs, PEPs, etc:

I File-transfer, and advertising of files.

I Multi-user chat rooms. Moderator system providesaccess-control. Users can be invited to rooms.

I PubSub: Server data-store, with observer-patternprotocol.

I Events, data-forms. Commands and queries can betunneled in messages, including in chat-rooms.

Page 12: APAC-05 XMPP AccessGrid presentation

Towards aStandards-based,Message-Oriented

Access-Grid

Steve Smith

Mapping the AG to Jabber: Basic

I AG rooms are just Jabber chat-rooms withowner/moderator.

I Moderator publishes multicast info in room-private datathat can be retrieved by valid participants.

I Room moderator can be a bot, interface to bookingsystem to lock rooms.

I Big win: We don’t have to write a server, just use anexisting one that supports the right JEPs.

I ejabberd currently best suitedI Written in Erlang, which has some interesting

properties.I Minor patch required for MUC-private data (JEP

coming).

Page 13: APAC-05 XMPP AccessGrid presentation

Towards aStandards-based,Message-Oriented

Access-Grid

Steve Smith

Mapping the AG to Jabber: Advanced

I File-transfer: Peer-to-peer, possibly in conjuction with’publishing’. Would also be good to integrate withdata-grid.

I Shared-app events can publish pubsub nodes or sendcustom-messages through room.

I For more complex communication JEPs exist forXML-RPC, SOAP and ad-hoc command discovery.

I Security. Currently can guarantee within single server,becomes problematic with S2S (more later).

I Interop: It would be good to interoperate with existingAG. Should be possible, Jabber was designed as agateway system.

I Can we also do things not currently possible with AGdesign? ...

Page 14: APAC-05 XMPP AccessGrid presentation

Towards aStandards-based,Message-Oriented

Access-Grid

Steve Smith

SOCKS proxy as P2P Unicast bridge?

File-transfer uses SOCKS5 proxy for data-transfer, alsosupports UDP.Can we use this to enable P2P (“venue-less”) AG?

Server

Client

Server

Client

AG−Media AG−Media

SOCKS5

Page 15: APAC-05 XMPP AccessGrid presentation

Towards aStandards-based,Message-Oriented

Access-Grid

Steve Smith

Put-up or ShutUp

Any opensource Jabber client could be modified to supportthese extensions; however a custom one would obviouslyprovide better integration.

We’ve written an X-platform client Jabber client ...

I Named “ShutUp”, in accordance with Vislab directive#1.

I Python/Twisted based for RAD, UI is also pluggable;allows for better integration into user environment.

I Plugin-oriented for experimentation.

I Currently Linux-oriented, help needed to support otherplatforms (or write your own).

The demo ...

Page 16: APAC-05 XMPP AccessGrid presentation

Towards aStandards-based,Message-Oriented

Access-Grid

Steve Smith

Put-up or ShutUp

Any opensource Jabber client could be modified to supportthese extensions; however a custom one would obviouslyprovide better integration.

We’ve written an X-platform client Jabber client ...

I Named “ShutUp”, in accordance with Vislab directive#1.

I Python/Twisted based for RAD, UI is also pluggable;allows for better integration into user environment.

I Plugin-oriented for experimentation.

I Currently Linux-oriented, help needed to support otherplatforms (or write your own).

The demo ...

Page 17: APAC-05 XMPP AccessGrid presentation

Towards aStandards-based,Message-Oriented

Access-Grid

Steve Smith

Put-up or ShutUp

Any opensource Jabber client could be modified to supportthese extensions; however a custom one would obviouslyprovide better integration.

We’ve written an X-platform client Jabber client ...

I Named “ShutUp”, in accordance with Vislab directive#1.

I Python/Twisted based for RAD, UI is also pluggable;allows for better integration into user environment.

I Plugin-oriented for experimentation.

I Currently Linux-oriented, help needed to support otherplatforms (or write your own).

The demo ...

Page 18: APAC-05 XMPP AccessGrid presentation

Towards aStandards-based,Message-Oriented

Access-Grid

Steve Smith

Put-up or ShutUp

Any opensource Jabber client could be modified to supportthese extensions; however a custom one would obviouslyprovide better integration.

We’ve written an X-platform client Jabber client ...

I Named “ShutUp”, in accordance with Vislab directive#1.

I Python/Twisted based for RAD, UI is also pluggable;allows for better integration into user environment.

I Plugin-oriented for experimentation.

I Currently Linux-oriented, help needed to support otherplatforms (or write your own).

The demo ...

Page 19: APAC-05 XMPP AccessGrid presentation

Towards aStandards-based,Message-Oriented

Access-Grid

Steve Smith

Screenshot (Main)

Page 20: APAC-05 XMPP AccessGrid presentation

Towards aStandards-based,Message-Oriented

Access-Grid

Steve Smith

Screenshot (Config)

Page 21: APAC-05 XMPP AccessGrid presentation

Towards aStandards-based,Message-Oriented

Access-Grid

Steve Smith

Further work

I Authentication and encryption needs more thought:I PGP/GPG based web-of-trust?I JEP-0116: SSH-like end-to-end encryptionI This is all academic until multicast is properly secured.

I Interoperation with AG 2

I More applications, file-transfer.

Page 22: APAC-05 XMPP AccessGrid presentation

Towards aStandards-based,Message-Oriented

Access-Grid

Steve Smith

The big picture

I Being protocol-based, we’re no longer tied to a specificimplementation.

I Increases scalability downwards (to smaller devices) andoutwards (to better integration with the environment).

I But ultimately Vic and Rat are the problem ...

Page 23: APAC-05 XMPP AccessGrid presentation

Towards aStandards-based,Message-Oriented

Access-Grid

Steve Smith

Discussion ...

More information:

I http://blogs.vislab.usyd.edu.au/

I http://wiki.vislab.usyd.edu.au/

Page 24: APAC-05 XMPP AccessGrid presentation

Towards aStandards-based,Message-Oriented

Access-Grid

Steve Smith

Interop

Simple interop:

I Map existing venues to MUC rooms, duplicateMulticast addresses.

I Basically the same as AG1/AG2 transition.

Advanced interop:

I Can we support existing shared apps, etc?

I Jabber was always intended to enable gateways to otherIM transports.

I Most servers can support ’components’ ; plugins thatrun in external processes (JEP-114).

I JEP-100 codifies best practices for gateways.

I However, due to the large amount of client librariesavailable in most cases porting the shared app will besimpler.

Page 25: APAC-05 XMPP AccessGrid presentation

Towards aStandards-based,Message-Oriented

Access-Grid

Steve Smith

DPPT style apps

I Presenter makes PPT available by publishing stream(JEP-0137)

I Presenter sends page-update information in messagestanza. This stanza contains stream identifier.(JEP-xxx (eventually))

I Audience member receives page-update for first time,downloads file and jumps to page.

I Subsequent page-updates operate on existing file.

I (Bonus: People joining MUC receive recent history, soperiodic sending not required.)

I Basic pattern applies to most existingshared-applications.

Page 26: APAC-05 XMPP AccessGrid presentation

Towards aStandards-based,Message-Oriented

Access-Grid

Steve Smith

Setting-up a server

I Download ejabberd website: http://ejabberd.jabber.ru/

I Download latest patch:http://people.vislab.usyd.edu.au/~ssmith/patches/

I Patch and compile. The result can be installed or runin-place.

I Configure ejabberd. This is mostly a case of settingyour domain and permissions.

I Create room by joining and configuring, makingpersistent and setting access-controls where appropriate.

I Set the multicast information for the room usingShutup (right-click in room resources pane).