User login

Blogs

02

Sep

2013

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.

01

Sep

2013

Not much to report this week due to the honours conference other than I have started the testing process.

31

Aug

2013

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.

30

Aug

2013

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.

29

Aug

2013

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

27

Aug

2013

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.

26

Aug

2013

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
accepted upstream.

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.

26

Aug

2013

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.

Unfortunately, this was a pretty painful re-write as Javascript scoping behaviour was a constant thorn in my side. Turned out that there was a reason we did everything inside of one big function, as I frequently found that I could no longer access my parent object inside of callback functions that I had defined within the new class. Often the method that was used to setup the callback did not support passing in arbitrary parameters either, so ensuring I had all the information I needed inside my callback functions took a lot longer than anticipated.

25

Aug

2013

This week much of my time was spent on my presentation an other assignments. I expect next week will be much the same

25

Aug

2013

Worked on conference presentation. Created a prototype booking and user account creation request system that doesn't link directly with OpenStack API yet. Working on making the design look more cohesive with the Horizon dashboard before the conference on Wednesday.