Wednesday, February 27, 2008

Project Update

Alright, the project is starting to come together. Here is the current feature list

  1. Launching the Monitor/Controller on multiple machines allows you launch and manage multiple Nodes from one any Monitor/Controller.
  2. You can toggle between sending messages through PeerChannel or TCP
  3. At the end, each node can be told to upload it's data collected to the central SqlExpress server
  4. You can enable Graph Monitoring which uses a Microsoft Research Project called GLEE (Graph Layout Execution Engine) to graphically show the connections between machines for the Peer Network (Traditional TCP obviously looks like a star)

Here is a link the GLEE – it works really well. The biggest problem with my implementation is that the nodes are being updated periodically, and my graph view only updates on button click events which copies the data that was being stored. So it's not well synchronized or anything yet – and so if you click quickly it can show you different graphs. That is a pretty easy bug to address.

The next plan is get the software running on multiple machines and start testing the performance.

Once again – here is the link to the CodePlex Project -- http://www.codeplex.com/peerchannelperf

Saturday, February 16, 2008

PeerChannel Performance Code

We use Team Foundation Server at work, and now that I've been playing with my PeerChannel Performance application – I'm realizing how much I miss having source control. So I put my entire source up on CodePlex. The project is a Visual Studio 2008 – and I'm using TFS Explorer 2008 to connect to it.

Here is the Project Page -- http://www.codeplex.com/peerchannelperf

Sunday, February 10, 2008

Starting a Masters Project

Getting started on this project is much harder than I expected. I'm about 6 weeks in and feel very behind – being in New Hampshire all last week for work didn't help either. So far I have created two prototypes of WCF PeerChannel applications – one to simulate a Computer Aided Dispatch solution using PeerChannel and the beginnings of sample Chat Application. Both focus on the one way transmittal of information across the mesh and have gotten more specific in terms of handling people joining and leaving the mesh and finally creating a MessagePropagationFilter to avoid receiving any locally created messages (Thanks Peer Channel Team Blog). The next big task for a real implementation would most likely be synchronization of new nodes with the existing nodes – but for this project I'll focus on determining good ways to log and determine the performance limitations of the system.

Now that I have gotten my hands a little dirty with WCF, I really wanted to focus on the paper and getting an outline for my project created. I really didn't know where to start, so I started where I always start when I don't know what to do -- Google for it. So one quick Google for 'master thesis outline' and I have some where to start. A few articles seem very helpful and so I wanted to post them here…

How to Organize your Thesis

How to Write a Master's Thesis in Computer Science