Finished downloading the warts files from the last scamper fields run. The fields run collects data about the ability of non load balancing fields to cause load balancing segregation. I have been unable to start the next run so far as some operating systems on the nodes are being upgraded.
The warts churn analysis program has been upgraded to count load balancers with the same divergence point but different successors. Also there has been a count of traces were the destination has been reached.
The internet simulator has been set up for version control and an attempt to use a large data set has been carried out. The simulator seems to have a heap limit of 16GB, so this will need to be increased.
Worked on some improvements to RRDBot for REANNZ. I have given these patches to REANNZ so they can test against their setup and start using them.
I read over a research paper describing an algorithm for online Bayesian changepoint detection and starting writing this into code to be used by netevmon.
Not much to report this week due to the honours conference other than I have started the testing process.
Continued working on the design of the new pages. Next step will be to integrate the admin panel into the dashboard and to test out the changing of the access policy to restrict user access.
I've been incorporating feedback from the external examiners into my
thesis in preparation for the oral. In the process of this I have also
been changing the formatting of a number of things and started to look
at updating to make them slightly prettier. Richard and I have also
started on a paper on the packet trace annotation format.
Spent the week doing more reading into possible detectors, and read a couple of related surveys that compared different anomaly detection techniques. A lot of them seemed inappropriate for Netevmon, unfortunately. Did find some Bayesian methods that might be relevant and possible to implement.
Next week: investigate T-entropy and find out how it could be implemented within Netevmon
The results from the fields-driver-one scamper run on Caida are being downloaded. This explores non load balancing fields for possible rare load balancing influence.
The results from the scamper run3 have been computed and tabulated in conjunction with runs 1 & 2. These runs measure turnover of load balancers.
A plan for version control of the Internet Simulator has been devised, as the unzipped programs are not active svn copies.
Following on from the authentication work last week allowing AMP to auth
against a remote rabbitmq broker using SSL, I configured a local broker
to do the same. Using a local broker to initially receive results adds
reliability and means results won't get lost if the remote server is
unavailable for any reason. The way the SSL authentication and user
validation works means that even though the measurement client and
broker are out of our control, they can't falsify their identity to
report results as another user.
Started packaging up new AMP and some of the dependencies for CentOS and
Debian. Unfortunately adding dependencies has the problem that every
packaging system has out of date versions. Put together a patch for
librabbitmq-c with my changes for EXTERNAL auth. Will have a look at it
again to make sure I'm being sensible and then see if I can get it
Spent most of Wednesday listening to student practice talks ahead of the
honours conference. The overall quality of the presentations was quite
high, and they should do even better at the real presentations with a
week of polish and practice.
Added a smarter method of generating tick labels on the X axis to amp-web. Previously, if you were zoomed in far enough, the labels simply showed a time with no indication as to what day you are looking at. Now, we show the date as well as the time.
Reworked how zoom behaviour works with the summary graph. The zoom-level is now determined dynamically based on the selected range, e.g. selecting more than 75% of the current summary range will cause it to zoom out to the next level. Selecting a small area will cause it to zoom back in.
To support arbitrary changes to the summary graph range without having to re-fetch and re-draw both graphs, I decided to rewrite our graph management scripts to operate on an instance of a class rather than just being a function that gets called whenever we want to render the graphs. The class has methods that update just the summary graph or just the detail graph, so we only end up changing the graph that we need to. Also, the class can be subclassed to support different graph styles easily, e.g. our Smokeping style. While I was rewriting, I used jQuery.when to make all of the AJAX requests for graph data simultaneously rather than sequentially as we were previously.
This week much of my time was spent on my presentation an other assignments. I expect next week will be much the same