Martin Kobetic, 8:30 am. We are talking about Opentalk, starting with Multicasting. Works in an IP range, using UDP. Range for multicasting is normally within a single network, but it can be extended via a router that can forward IGMP, ttl. Here's Martin:
There's code in VW that makes it easy to set up for sending or receiving messages from a multicast group. To raise this up a level from sockets (Martin just ran us through a set of slides with the registration code), there's Opentalk-Groups, which puts in an object layer. A group:
- brokers running on the same port
- brokers join the same mcast address
- receivers exported under the same OID (Object ID)
- group proxy #(mcast-address, port, OID)
- Remote Group Request - STSTOneWayRequest
To set all that up, you create a broker with the appropriate parameters (again, there's code up there that I can't type fast enough :) ). Basically, you set up a broker and advertise yourself to the mcast group. Once that's done, you can start broadcasting messages, like so:
group := broker groupById: #group.
group show: 'Hello World!'.
Heh - no demo is complete without a debugger popping - Martin's first crack at showing a chat system had one. Simple fix and a multi-person chat - without a server - was up. Next - we are going to participate in a grid demo. Best example of a well known grid: SETI@Home. It handles:
- resource discovery
- resource configuration
- task distribution
- result collection
The demo? Code breaking of RC4_40_MD5, using a brute force methodology but with randomly selected ranges, ranges searched sequentially, and looking for a known pattern ('GET/'). I can't get my system to join, but 5 other clients have hooked up. The thing to keep in mind here is that we are - with 5 clients on the grid - breaking a 24 bit key.
The framework is pretty simple - there's a controller managing the entire task - distributes tasks and collects results. Then there are the drones, which get sent tasks, execute them, and send back results. I may well post the code for this demo when I get some time later - it was pretty cool.