Sunday, December 14, 2014

Connection Monitoring Software

My last post "Connection Quality" went into technical detail about how a slow Internet connection can be troubleshot to determine the cause of the slowness.

So here is my idea on a software program that will work with any application that uses the Internet for connectivity such as streaming multimedia, remote connectivity such as Citrix, VMware View, RDP, and online gaming to name a few.

Lets start with an example of a Citrix session using the ICA protocol. A student is in a coffee shop and connects to the schools Citrix farm where they have access to an online portal with different apps for their classes. The student has very poor performance and calls the help desk. After some troubleshooting over the phone the help desk determines that it is the Internet connection at the coffee shop.

Now lets introduce the concept of software the not only monitors the quality of the connection but will also pinpoint where the issue is.

A small piece of executable would run as a service or in the background all the time. This would sense when a network connection is open that the software has the ability to monitor. It would then present a small graph or meter overlay on the screen somewhere not in the way. This would only show when the connection first starts or when the quality is bad or changes. These display settings would all be configurable including the thresholds to what is a "bad" or "good" connection.

Because the Citrix connection is connecting to a server at the schools data center we need to monitor the entire path. This means pings, traces, quality of service, throughput on the protocols being used, dropped packets etc all along the route. The software may identify that the issue is with the router or Internet connection itself at the coffee shop. The software is smart enough to not only test the speed and latency from inside the coffee shop but also ask an external server to test the path from outside the firewall. The results are then compared and it verifies that in this instance it is indeed a slow connection at the coffee shop.

The user is then notified that they should use a different Internet connection otherwise they may have a very poor experience with their Citrix connection.

Now lets say the issue was downstream with another router. The software would identify that and alert the user that there is an issue along the path and they may notice a slow connection. It will suggest trying another Internet connection. If the route is nearby possibly allowing them through a proxy (likely a premium service that the school might provide or the user can pay for) that will take a different path and reroute their traffic around that problem router.

All of this information is helping the user, reducing help desk calls and more importantly is reporting anonymously back to the central servers what routers are causing issues. ISPs all over the world can subscribe for free to this database for alerts. So when a router they are responsible for is an issue they will be notified. Thus improving the experience for everyone around the world.

It is even feasible that the central servers when they see a large amount of issues on particular routes can automate signals to subscribing routers to "poison" a route making routers go around that route instead of continuing to be a problem.

A website that would be accessible to the general public would graphically represent issues around the world as well as general statistics to what sites are busy, what games people are playing the most, etc, etc.

The primary revenue stream for this product would be that the software itself is paid for by the end connection point owners. In this scenario the school. The end users would benefit from being notified of a bad connection and the connection point owner would have reduced help desk calls to troubleshoot bad connectivity. Additional revenue streams such as a proxy to go around troubled routers and provide caching services could be paid for by the end user. In this case the student. If the school wanted to provide this service they could provide it only when connecting to their services.

I would suggest a free version that offers basic monitoring of the connection quality but does not get down to the protocol level and will only monitor out to a few hops. This will keep check on the quality of the local Internet connection. If they connect to a resource that pays for the service it will automatically engage the full feature set of quality monitoring and proxy services if that is also paid for.

No comments:

Post a Comment