Final Report



The Final Version of both the Applet and Application can be viewed at the website I created for this project: http://ipanema.ecs.umass.edu/~memilio.

We began this summer with a skeleton program for visualizing AS to AS routing paths. Throughout this summer we were able to clean up the source code, add functionality, create an applet version and make both the application and applet user-friendly and available to the public.

For most of the summer, I was responsible for creating an applet version of the application and making it accessible on the internet. I began with a very old and uncommented version of the applet code. I took that ocde and cleaned it up, fleshing out what was necssary and rewriting much of the code to make it more efficient as well as lighter. Once that was up and running, we worked to connect the applet to the lab's internal database, writing a server to allow accessibility into the internal computer. I was also able to add many functionalities to the applet including:
  • Visualizing paths between two non-Tier-One ASes
  • Adding a changeable color scheme
  • A Resize feature
  • Allowing input to be AS Number or IP Address
  • Adding a toolbar
  • Adding a longest prefix match algorithm
  • Adding a popup menu when the user right clicks on a node
  • Adding help files into the applet itself
I then created website to host the applet and provide instructions on its use and assisted in writing a daemon to automatically download the latest BGP Table from the internet, load it into the database, parse it into a Relationships File, parse the Relationships File, load the Relationships file into the database, download the latest AS Names file from the internet, parse the AS Names file from html to a .txt file, and load the AS names file into the database. We set up this daemon to automatioally run every Friday evening, and I added to it so that while it is running, the View Applet webpage to say that the database is updating and the projected time it would finish. Once it is finished, the View Applet webpage resets.

After the applet was complete, and up and running, I aided in the completion of the application. I wrote Help Files to the application and updated the website to include information about the application. I assisted in the adding of many functionalities to the application, including:
  • Visualizing paths between two non-Tier-One ASes
  • Adding a changeable color scheme
  • Adding a node's direct neighbors to the current visualization
  • Allowing input to be either an AS Number or an IP Address
  • Adding a longest prefix match algorithm
  • Adding a popup menu when the user right clicks on a node
  • Adding help files into the application itself
By the end of the summer, we created two completely functioning programs. One is an applet that is run within a web browser without having the user download any files. The other is an application which has a bit more functionality and which the user must download and install on their computer.