August'24: Kamaelia is in maintenance mode and will recieve periodic updates, about twice a year, primarily targeted around Python 3 and ecosystem compatibility. PRs are always welcome. Latest Release: 1.14.32 (2024/3/24)

Project Task Page: Multicast Proxy Tools

Description

Status: Stasis
Current active developer:
Current dev locations: /Sketches/MPS/Systems/MulticastProxying
Start Date: 9 June 2006
Expected date: n/a
end date: n/a
This page last updated: 27th Nov 2006
Estimated effort so far: 1/2 man day

This task aims to produce tools to make it simpler to join multicast islands together - in essence tools for proxying multicast over non-multicast enabled networks.

A direct end result of this is that it would enable someone to take a multicast stream, send it to a proxying hub, allow clients to connect to this multicast hub, and those clients would then remulticast that stream within a local (eg corporate intranet) network for local availability.
This task was created because it was deemed to be hopefully useful to a particular internal client at the BBC.
Some specific benefits of working on this include:

Inputs

Task Sponsor: (for BB)
Task Owner: Michael (mps)
Developers:

Users:

Interested Third Parties

Requirements:

The expected scenario for these components is that there are situations as follows:

This is a non-exhaustive set of input states.

Outputs

Expected

Actual

Code Produced:
These tools already exist in the subversion repository in /Sketches/MPS/Systems/MulticastProxying. Files in that directory and purpose:

config.py
Defines the following config options

mcast_group, mcast_port - The multicast group/port to be proxied
mcast_tcp_splitter_ip, mcast_tcp_splitter_port - IP/port of a simple TCP Splitter that serves the contents of a given multicast group to people who connect
tcp_tcp_splitter_ip, tcp_tcp_splitter_port - IP/port of a TCP Splitter that accepts a data source from a single TCP client
tcp_splitter_client_ip, tcp_splitter_client_port - IP/port of the TCP Splitter where clients can connect to recieve that data source

MulticastTCPClientRelay.py

MulticastTCPRelay.py

SplittingServer.py

TCPRelayMulticast.py

****Realistic possibilities arising as a result of activity on this task ****

The creation of tools that allow for automated mesh setup building on this allow for the realistic possibility of merging application layer multicast with IP level multicast.
Tasks that could benefit from or build on this work:

Tasks that directly enable this task

Sub tasks

Task Log

Discussion

Potential future implementation approaches could see

-- Michael Sparks, 27th November 2006