Introduction
Updated 1/14/13: Clarifications on update process and Netflix handling
Qualcomm’s StreamBoost is automatic network bandwidth management / traffic shaping technology. It is largely based on work by BigFoot Networks, which Qualcomm acquired a few years ago. In a nutshell, the theory behind StreamBoost is that it intelligently manages network bandwidth and latency, giving each application the bandwidth it needs for the best possible user experience.
Since theory is one thing and reality another, we decided to put Qualcomm’s claims to the test. My mission was to put StreamBoost through its paces until it broke or I threw in the towel trying.
Setting Up
For StreamBoost to optimally operate, it needs to both send information about your network use and automatically receive updates from its cloud component. You must opt into this update, as shown in the screenshot below.
StreamBoost update opt-in
If you decide not to opt-in, you can still receive updates via manual firmware updates. I followed up with D-Link to get a little more information about the opt-in service. I learned StreamBoost continuously monitors “de-identified” data about application use and data consumption, but not specific content. StreamBoost also captures network diagnostic information to help determine if the streams are acting as they should.
For example, StreamBoost will know how long a Netflix session is open, how much data is consumed and its resolution. But they will not know the specific content you are watching.
The “crowd-sourced” information is intended to continuously improve StreamBoost performance in terms of better application / service detection, improved application policies and better understanding of applications and devices. StreamBoost is also continuously updated to handle new games, devices and services as they are released, even as quickly as within 24 hours of detection.
Right now, updates are coming about every two weeks and there is no way for you to tell your router’s update level or even whether an update has occurred. A screen with current update definition is something Qualcomm is considering for a future release, but there are no definite plans at this time. If an update is installed, it will be loaded only after the router is rebooted. But if I don’t know whether an update has occurred, how do I know when to reboot? This needs work. In the end, opting into updates sounds like a good thing, if you are going to depend on StreamBoost to keep your network humming along.
Updated 1/14/13:
Qualcomm clarification: Reboots are absolutely not required to receive updates. When StreamBoost has an update, it generally will take 24-48 hours to be sent down to the entire installed base of routers. If an update is ready, rebooting the router will speed up the process by having the router check with the StreamBoost cloud during boot time.
Getting back to setup, the last thing StreamBoost does is take a sample of your bandwidth so that it knows what it’s working with. If you feel inclined to skip the speed test you can always enter upload and download values later. The sample the setup wizard found for my connection fell right in line with what I see at speedtest.net, which you can see in the image below.
WAN speed sampling in the setup wizard
Testing
To test StreamBoost, I used test scenarios based on the reviewer’s guide D-Link provided. My download bandwidth is 28 Mbps, while upload is just under 6 Mbps. StreamBoost marketing material references a typical home internet connection as around 8 Mbps download and 1 Mbps upload. So D-Link provided a speed limiter to slow my connection down if needed. But I was determined to try Streamboost without the limiter. So all of the following tests were performed without the limiter at my full internet bandwidth.
Regular router – no QoS
I loaded up my first test case on the Edimax BR-6475nd I had used for wireless extender testing. The first round of tests had QoS disabled.
I loaded Team Fortress 2 on a computer sufficienty powerful for gaming and the game’s latency meter indicated about 50 ms. I then started a Pandora stream and HD video streams on everything else that I had, which was five other devices. I went back and looked at the latency meter in Team Fortress 2, which was still lingering around 50 ms. The video was playing smoothly everywhere.
I then started uTorrent on a laptop and started downloading five> 1 GB files from the Fedora repository. The latency meter on Team Fortress 2 then jumped to about 300 ms, Netflix looked degraded on the TV and I could not get an HD Vimeo or Vudu video to start. A quick look at the uTorrent screen and it was fairly obvious that uTorrent was taking most of the bandwidth.
Regular router – iQoS enabled (priority-based)
I shut everything down and enabled iQoS on the Edimax router. iQoS is a priority-based Qos that measures usable bandwidth and then lets you prioritize by Media, Game, App, FTP and file download. I set it up with Media having highest priority, followed by gaming and then downloads. I then restarted my test.
As before, I could start as many HD video streams as I wanted and Team Fortress 2 had about a 50 ms latency with downloads not running. I then set uTorrent loose with the five large downloads. One video started buffering and latency in Team Fortress 2 jumped to about 120 ms (still better than the 300 ms without QoS).
I tried running HD Vimeo on the TV and could not and Netflix also appeared degraded. Samsung’s “Smart Hub” on the TV timed out before I could even get to Vudu. I tried to open a web browser on one computer and it just hung. Edimax’ QoS was doing something, but my WAN was at its knees. A quick look at uTorrent showed lots of bandwidth going to downloads, despite being prioritized third.
Testing – StreamBoost
Highly skeptical of the results I’d get with StreamBoost, I hooked up the DGL-5500 and first tested Team Fortress 2 on its own. As before, I saw game latency around 50ms. I then fired up all the HD video streams. Once they were going, I set uTorrent loose again. After about a minute, I went to Team Fortress 2 to check latency and found it idling at 60 ms, nearly what it was without any other traffic. Netflix still looked degraded, but all the other HD videos were playing smoothly. I stopped Netflix and pulled up an HD Vimeo video on the TV, which played smoothly and without hesitation. I did the same with a Vudu HDX movie and it played flawlessly.
I looked at the Network graph within the DGL-5500 interface and it looked like bandwidth was being allocated very uniformly; uTorrent’s download screen also confirmed this. The nice thing about the graph below, is it shows instantaneous bandwidth used by each device.
My Network screen showing realtime bandwidth of all devices
Additionally, digging down into a device shows the application(s) in use. No more wondering why your network is slow and who (or what) could be downloading something.
Priorities screen showing realtime app usage for a device
I was curious why StreamBoost couldn’t keep Netflix from degrading, especially since all the other video streams were flawless. So I followed up with D-Link/Qualcomm. The gist of the explanation is that Netflix’ current design reduces stream resolution (and bandwidth consumption) when it senses that not enough bandwidth is available to maintain its current resolution level. Netflix apparently downshifts its bandwidth before StreamBoost can allocate more bandwidth to it to prevent Netflix’ downshift.
The net result, however, is that Netflix makes StreamBoost look like it isn’t doing its job. I’m surprised that Qualcomm hasn’t found a way to fix this, given Netflix’ popularity. Netflix introduced its automatic bandwidth shifting feature well over a year ago and Qualcomm has had at least a year to fix this.
To confirm Qualcomm’s explanation, I looked at StreamBoost’s Activity Tracker screen, which you can see below. This screen shows content delivered as “Optimal”, “Good” or “Best Effort”. Since everything is showing “Optimal”, this confirms that StreamBoost was giving Netflix the (reduced) bandwidth it needed (or thinks it needed).
StreamBoost Activity Tracker showing all Optimal
Updated 1/14/13:
Qualcomm clarification: The observed behavior is actually the intended behavior. If a network is oversubscribed with a certain type of application (video in this case), StreamBoost will sometimes give an adaptive bit rate application a slightly reduced amount of bandwidth. For example, StreamBoost may take Netflix down from 1080p to 720p quality to save a bit of bandwidth and ensure a higher number of good video experiences throughout the home. In other words, StreamBoost is programmed to give adaptive rate video slightly lower resolution vs. making other (non-adaptive) videos freeze.
Netflix changed a bit while the testing for this review was being performed and StreamBoost profiles were updated to adjust for this. The Netflix change resulted in StreamBoost protecting more bandwidth for Netflix even when the network is oversubscribed with video. If the tests were run again, Netflix would back off much less (to 720p quality).
StreamBoost Observations
In addition to the Network and device-specific pages, StreamBoost also provides bandwidth usage graphs and charts. I found these screens interesting, but not comprehensive and somewhat different than described. The drop-down selection seemed to indicate it would show information for the last month, however it was different nearly every time I looked and seemed more to reflect past hour usage. Sometimes I also had to refresh the page to get the statistics to appear, just as Tim did in the DGL-5500 review. You can see a screenshot of the usage statistics below.
StreamBoost Usage by Time historical chart
I was a little disappointed with the lack of information in the DGL-5500 manual regarding StreamBoost, seeing as it will probably be the major reason people would buy this router. Specifically, the My Network section of the admin interface has a Priorities page. Devices seem to get populated in Priorities in the order that they are seen on the network. The text on the page says priorities can be changed to give one device priority over another when they have applications of the same classification. I would have liked to know more about how those priorities were initially set and exactly how one device is given priority over another.
Some of the StreamBoost material mentions shaping or prioritizing by application. I assumed this to be different than device priorities, but could find no information in the manual. The reason for looking for this was my degraded Netflix stream. I had put that device at the top of the priority list, but was still seeing a pixelated screen, while the HD Vimeo streams were playing perfectly. With prioritizing by application, I could perhaps give Netflix the highest priority (or perhaps guaranteed bandwidth so it wouldn’t dynamically downscale). But I didn’t see anywhere that I could do that.
Closing Thoughts
My testing showed StreamBoost lived up to its claims. The table below summarizes the testing in an easy to read format. All tests were run concurrently, with the exception of those labeled “TV2”, which were multiple tests on the same device and run separately.
Edimax BR-6475nd – iQoS disabled | Edimax BR-6475nd – iQoS enabled | DGL-5550 w/ StreamBoost | |
---|---|---|---|
Team Fortress 2 (latency) | 300ms | 120ms | 60ms |
Pandora via Squeezebox receiver | Flawless | Flawless | Flawless |
uTorrent (unthrottled) | 5 files>1GB | 5 files>1GB | 5 files>1GB |
Vimeo HD on iPad via Vimeo app | Flawless | Flawless | Flawless |
Vimeo HD on Dell laptop via browser | Buffering | Buffering | Flawless |
Vimeo HD on HP laptop via browser | Buffering | Buffering | Flawless |
Hulu SD on TV1 via DLNA/PlayOn | Flawless | Flawless | Stutter on start, then Flawless |
HD on TV2 via Samsung Netflix app (1920×1080) | Downscaled | Downscaled | Downscaled |
HD on TV2 via Samsung Vimeo app (1920×1080) | Would not start | Would not start | Flawless |
HDX on TV2 via Samsung Vudu app (1920×1080) | Would not start | Would not start | Flawless |
Table 1: StreamBoost test results
StreamBoost is not just hype, it truly does deliver on the performance it promises. If you have rocking bandwidth, you will see the most benefit if someone in the household does a lot of Torrent downloads or gaming. But even without gaming or Torrent traffic, the realtime traffic reports are very useful. They get
down to the individual device level for bandwidth use and even show the application(s) in use.
Even the best bandwidth can slow at certain times of the day. Coupled with a family member leaving a YouTube stream running, it could be enough to make your streaming experience less than satisfactory. The My Networks page would help diagnose that issue quickly. That feature alone is very useful. Other router manufacturers should take note.
The opt-in update service will undoubtedly be troubling to some. But if you want the most from StreamBoost, you’ll need to put aside your fears and check the opt-in box. It’s unlikely that Qualcomm will be tracking your video tastes. The NSA already does that anyway.
Finally, I’d like to see more complete and detailed information in the DGL-5500 manual regarding StreamBoost. All that is in the manual now is basically the same text already available on the admin interface pages. That isn’t enough, given StreamBoost’s complexity and its importance in its host router feature set. The historical usage page also needs work; it definitely does not show all traffic for the month.
Bottom line, StreamBoost works well. It’s too bad that it hasn’t appeared in better performing routers yet.