Types of Stream Monitoring
No one has really sat down and properly described the types of Internet stream monitoring available so I’ll take a shot. There are really two types of live monitoring:
- Availability Monitoring
- Quality Monitoring
Availability Monitoring consists of checking a stream every x seconds or so to see if it is available for a user to connect to. Test methods include simply pinging the server with Echo Request ICMP packets to see if its alive, making an http request to the proper port and comparing MIME types, to actually connecting to the stream and reading a second or two of data to make sure it adheres to the format specification. Stream Alerts does the later in that our programs connect to the stream and make sure it is sending valid data.
One of the main reasons for using availability monitoring is that it will mimic the ability of new users attempting to connect to your stream and if there is a problem with the server, such as it being full or completely down, then the monitoring application will alert the administrator that the server can no longer accept connections and that the stream is most likely unavailable. Another advantage of availability monitoring is that it doesn’t consume a lot of the server’s bandwidth as it simply checks to see if it’s available and then disconnects to wait for the next test.
However this type of monitoring can’t give you important information about the user experience including buffering, audio or video problems because the testing program isn’t connected long enough to gather such data.
Quality Monitoring, hence, solves this issue by connecting to the stream continuously in order to catch such problems. If a stream is buffering because of bandwidth issues at the server or client side, a good quality monitor will be able to measure and log these issues and with a distributive system (to rule out client side issues) can issue alerts to the admin that bandwidth may be a problem. Likewise a quality monitor can check to make sure audio is playing properly by detecting silences or even clipping. For video, the monitor should be able to check for frozen images and black or blue video to send alerts. And of course alerts can be sent as soon as a stream connection drops.
Quality monitoring is great for these purposes but there are a couple of drawbacks. The first is that you’re continually connected to the stream, thus bandwidth is being used as if another user was accessing your content. Second, if you run into a full server situation, quality monitoring won’t tell you that new users can’t access the stream because the program will happily play through the content without any issues.
Thus, obviously, a combination of the two types of live monitoring should be used to cover all of your bases. Stream Alerts is working to add Quality monitoring to our products so that all of your needs are met.
Log Parsing is another method of monitoring that isn’t real-time but it can give you the most detail about a user’s experience. Most streaming server products will record information about a specific connection including the average bandwidth used, number of times the client buffered, and if there were any consecutive drop-outs and re-connects. This kind of data is invaluable for server tuning and determining the final end user experience since test tools are only to evaluate their own situations.
So combining all three methods into one tool will give the administrator the best method for running a solid, reliable stream. Let me know what you think and thanks for reading!
Chris Larsen
President, Stream Alerts