i)                    What will be the title of your project?


Multicast Relay Server


ii)                   What is your name?


Kevin Zablonski


iii)                      In a sentence or two, summarize your project making clear the problems you intend to solve.


     In the past I have encountered the problem where you would like to replicate multicast traffic from one network onto a completely different network.  This is usually the case where you have two networks at two remote sites. I am looking to develop some form of software to accomplish this.



iv)                 In a paragraph or more, detail your project.  What will your application do? What features will it have?  How will it be executed?


     What I plan on developing is a client/server based Multicast Relay Server that will listen for multicast traffic on a given network via a server and any number of clients will be able to connect to the server and select any number of channels to subscribe to.  When subscribed, the server will unicast the traffic to the client where the client will receive the unicast and convert it back to multicast on the local network.

     The main focus of the project will be the client/server interaction.  I would like to develop a server side application that will run as a daemon on a remote network.  The client will then make use of RPC and SOAP to communicate with the server.  The client will have many features including the ability to subscribe/unsubscribe to a given channel and control the flow of data for networks with limited bandwidth.  The client will also be able to run as both a GUI and a command line application.  More features will be forthcoming. 


v)                  In a paragraph or more, justify your project.  Why is the problem you intend to solve interesting or important?  What is your motivation for this project?


     I plan on developing a client/server based multicast relay server for a problem we have had at work for some time.  We have applications that display radar data from experimental missile launches in real time.  The radars are located on an island in the Pacific Ocean.  As it stands now, we are running some old legacy forwarders that allow us to route the radar data to our local network in Lexington from the local network at the missile range.  Unfortunately, the code is old, it doesn’t do everything we would like it to do, and the code is the result of years and years of hacks to fix bugs and add new features.  The old forwarders also take forever to set up for there are many configuration files that are barely human readable and expect to find multicast address in hexadecimal format.  To make a long story short, the forwarders are really, really bad and I would like to develop something that would fit our needs a little better and would give us the flexibility to add features well into the future.

     My secondary goal of this project is purely academic.  I have always wanted to learn more about developing robust client/server applications, but I have yet to have a chance to do so.  I feel that it would add a valuable tool to my tool belt for future applications.


vi)                 In a paragraph or more, outline your plan of attack.  What infrastructure will your plan require?  What XML based technologies will it use?  In what languages will it be implemented?  What new skills will you need to acquire?  What topics will you need to research? 


     As expressed several time above, I will be utilizing a client/server architecture using SOAP and RPC and will be written in java.  Since I have never done work with client/server applications, I will need to extensive research on this topic as well as several others.  I will definitely have to research topics such as SOAP and RPC, but I will also have to do some research into network i/o and swing.

My first plan of attack is to further discuss some of the desired features that my fellow coworkers would like to see in the new forwarders.  I will then separate those that I can accomplish in the allotted time and those I may tackle further down the road.  I will then perform some research into the technologies I will use to implement the problem and try to come up with some kind of robust design.  At that point, I will start the implementation.


vii)               In a sentence or more, ask for some help.  What question or concerns do you have for the staff?


     Having never done any form of client/server applications in the past, is an implementation using SOAP and RPC a reasonable choice?  If not, what kind of technologies should be used?  Are there any technologies that can be used as an alternative?