As a small research project at PSU for a course in [http://www.cs.pdx.edu/~tufte/410-510DS/ Data Streams], I am going to write some proof-of-concept software that could be used to collect real-time PTPNet-wide statistics using a combination of:
- A Data Streams Management Server (DSMS)
A "Parasite" program that "plugs into" NoCat to report auths and evictions back to the Server
- A Client that queries that Server and displays the information in a useful way.
The completed project will be licensed under an open-source license for any or all to use. Also, emphasis will be put on generalization, as such an application could certainly be useful for other distributed systems that are similar to the PTP Network.
Initially I will focus on getting the parasite to run on an AP running OpenWRT with NoCatSplash, simply because of the cheapness and ubiquity of this combination.
2005-11-03: Today I am turning in the project proposal to my professors: [http://smallwhitecube.com/toil/programming/files/datastreams/proposal.pdf (PDF)] [http://smallwhitecube.com/toil/programming/files/datastreams/proposal.dvi (DVI)] [http://smallwhitecube.com/toil/programming/files/datastreams/proposal.tex (TEX)]. I also created this Wiki page today.
2005-11-15: I have finished the code for the first parasite (in 'C' - wow I forgot how much I love 'C'), which is meant to listen to the stderr output of NoCatSplash and send tuples downstream to the DSMS. I will ultimately compile it into an OpenWRT package that can optionally be installed on top of the NoCatSplash package. On the server side of things, my Prof. is adding some network code to the server that will accept connections from clients and feed the input into the server for processing. My next goal is to develop a "node simulator" that should stochastically simulate the output of a bunch of imaginary parisites. This simulator will help with the development of the client.
2005-11-18: Finished the simulator. It is written in ruby and is pretty simple. It will simulate an arbitrary number of nodes with an (initially) random number of clients. Clients come, leases expire. A pretty simple approximation, but it will do for preliminary testing. Now I must wait for my Prof. to finish the network code so I can start connecting the pieces together.