2. A stock-take of AccessGrid 2
Towards a
Standards-based,
Message-Oriented
Access-Grid
Steve Smith
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 has
highlighted some core problems with the architecture:
3. A stock-take of AccessGrid 2
Towards a
Standards-based,
Message-Oriented
Access-Grid
Steve Smith
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 has
highlighted some core problems with the architecture:
It is an implementation, not a standard.
Heavy-weight; creates barrier to entry.
Performance problems: It’s slow to startup and connect.
Limited communication scope: “Where are they?”
4. What does the AG actually do?
Towards a
Standards-based,
Message-Oriented
Access-Grid
Steve Smith
AG provides coordination of services ...
5. What does the AG actually do?
Towards a
Standards-based,
Message-Oriented
Access-Grid
Steve Smith
AG provides coordination of services ...
Built-in services
File-sharing
Group-chat
6. What does the AG actually do?
Towards a
Standards-based,
Message-Oriented
Access-Grid
Steve Smith
AG provides coordination of services ...
Built-in services
File-sharing
Group-chat
Coordination: Endpoints for out-of-band exchange of
data.
eg. Multicast addresses for Vic, Rat, etc.
Server address for VNC viewer.
7. What does the AG actually do?
Towards a
Standards-based,
Message-Oriented
Access-Grid
Steve Smith
AG provides coordination of services ...
Built-in services
File-sharing
Group-chat
Coordination: Endpoints for out-of-band exchange of
data.
eg. Multicast addresses for Vic, Rat, etc.
Server address for VNC viewer.
Collaboration: Communications conduit for
shared-applications
Presentations, Shared-whiteboard, etc.
8. A different view: AG as IM
Towards a
Standards-based,
Message-Oriented
Access-Grid
Steve Smith
The last few years have seen the addition of AG-like features
to most of the commercial IM clients:
Voice
Video
File-transfer
White-boards
However, the number of participants is limited.
9. A different view: AG as IM
Towards a
Standards-based,
Message-Oriented
Access-Grid
Steve Smith
The last few years have seen the addition of AG-like features
to most of the commercial IM clients:
Voice
Video
File-transfer
White-boards
However, the number of participants is limited.
Meanwhile, AGTK2 added IM-like functionality: Integrated
chat, presence.
However, these are inferior to the IM equivalents.
Why not integrate the two and be done with it ...
10. Open instant-message protocol: XMPP
Towards a
Standards-based,
Message-Oriented
Access-Grid
Steve Smith
Otherwise known as Jabber.
XML based protocol (yeah, I know).
Extensible, extensions guarded by XML namespaces.
Recently made IETF standard for IM.
Already being used to build shared apps
Last year has seen mindshare increase:
iChat support built-in
Google Talk!
Already being used on the AG
11. Community supported and enhanced
Towards a
Standards-based,
Message-Oriented
Access-Grid
Steve Smith
Extensions defined in ’JEP’s: Proposed enhancements, like
RFCs, PEPs, etc:
File-transfer, and advertising of files.
Multi-user chat rooms. Moderator system provides
access-control. Users can be invited to rooms.
PubSub: Server data-store, with observer-pattern
protocol.
Events, data-forms. Commands and queries can be
tunneled in messages, including in chat-rooms.
12. Mapping the AG to Jabber: Basic
Towards a
Standards-based,
Message-Oriented
Access-Grid
Steve Smith
AG rooms are just Jabber chat-rooms with
owner/moderator.
Moderator publishes multicast info in room-private data
that can be retrieved by valid participants.
Room moderator can be a bot, interface to booking
system to lock rooms.
Big win: We don’t have to write a server, just use an
existing one that supports the right JEPs.
ejabberd currently best suited
Written in Erlang, which has some interesting
properties.
Minor patch required for MUC-private data (JEP
coming).
13. Mapping the AG to Jabber: Advanced
File-transfer: Peer-to-peer, possibly in conjuction with
’publishing’. Would also be good to integrate with
data-grid.
Shared-app events can publish pubsub nodes or send
custom-messages through room.
For more complex communication JEPs exist for
XML-RPC, SOAP and ad-hoc command discovery.
Security. Currently can guarantee within single server,
becomes problematic with S2S (more later).
Interop: It would be good to interoperate with existing
AG. Should be possible, Jabber was designed as a
gateway system.
Can we also do things not currently possible with AG
design? ...
Towards a
Standards-based,
Message-Oriented
Access-Grid
Steve Smith
14. SOCKS proxy as P2P Unicast bridge?
Towards a
Standards-based,
Message-Oriented
Access-Grid
File-transfer uses SOCKS5 proxy for data-transfer, also
supports UDP.
Can we use this to enable P2P (“venue-less”) AG?
Server
Server
SOCKS5
Client
Client
AG−Media
AG−Media
Steve Smith
16. Put-up or ShutUp
Any opensource Jabber client could be modified to support
these extensions; however a custom one would obviously
provide better integration.
Towards a
Standards-based,
Message-Oriented
Access-Grid
Steve Smith
17. Put-up or ShutUp
Any opensource Jabber client could be modified to support
these extensions; however a custom one would obviously
provide better integration.
We’ve written an X-platform client Jabber client ...
Towards a
Standards-based,
Message-Oriented
Access-Grid
Steve Smith
18. Put-up or ShutUp
Any opensource Jabber client could be modified to support
these extensions; however a custom one would obviously
provide better integration.
We’ve written an X-platform client Jabber client ...
Named “ShutUp”, in accordance with Vislab directive
#1.
Python/Twisted based for RAD, UI is also pluggable;
allows for better integration into user environment.
Plugin-oriented for experimentation.
Currently Linux-oriented, help needed to support other
platforms (or write your own).
The demo ...
Towards a
Standards-based,
Message-Oriented
Access-Grid
Steve Smith
21. Further work
Towards a
Standards-based,
Message-Oriented
Access-Grid
Steve Smith
Authentication and encryption needs more thought:
PGP/GPG based web-of-trust?
JEP-0116: SSH-like end-to-end encryption
This is all academic until multicast is properly secured.
Interoperation with AG 2
More applications, file-transfer.
22. The big picture
Towards a
Standards-based,
Message-Oriented
Access-Grid
Steve Smith
Being protocol-based, we’re no longer tied to a specific
implementation.
Increases scalability downwards (to smaller devices) and
outwards (to better integration with the environment).
But ultimately Vic and Rat are the problem ...
24. Interop
Simple interop:
Map existing venues to MUC rooms, duplicate
Multicast addresses.
Basically the same as AG1/AG2 transition.
Advanced interop:
Can we support existing shared apps, etc?
Jabber was always intended to enable gateways to other
IM transports.
Most servers can support ’components’ ; plugins that
run in external processes (JEP-114).
JEP-100 codifies best practices for gateways.
However, due to the large amount of client libraries
available in most cases porting the shared app will be
simpler.
Towards a
Standards-based,
Message-Oriented
Access-Grid
Steve Smith
25. DPPT style apps
Towards a
Standards-based,
Message-Oriented
Access-Grid
Steve Smith
Presenter makes PPT available by publishing stream
(JEP-0137)
Presenter sends page-update information in message
stanza. This stanza contains stream identifier.
(JEP-xxx (eventually))
Audience member receives page-update for first time,
downloads file and jumps to page.
Subsequent page-updates operate on existing file.
(Bonus: People joining MUC receive recent history, so
periodic sending not required.)
Basic pattern applies to most existing
shared-applications.
26. Setting-up a server
Towards a
Standards-based,
Message-Oriented
Access-Grid
Steve Smith
Download ejabberd website:
http://ejabberd.jabber.ru/
Download latest patch:
http://people.vislab.usyd.edu.au/~ssmith/patches/
Patch and compile. The result can be installed or run
in-place.
Configure ejabberd. This is mostly a case of setting
your domain and permissions.
Create room by joining and configuring, making
persistent and setting access-controls where appropriate.
Set the multicast information for the room using
Shutup (right-click in room resources pane).