SamKnows is now part of Cisco | Learn more

Say hello to our new Router Agent

We’ve updated our Router Agent so you can run more tests and now get the results faster. Meaning you can understand and improve your customers’ internet performance even more. Read on to find out how.

What is a Router Agent and what does it do?

The Router Agent is the clever software that we embed in your routers. It runs a vast amount of tests, measuring any part of the network and your customer experience at the point of connectivity or the point of use. The testing methodology we use eliminates hardware limitations, in-home interference, and background network activity to create the most realistic, unbiased, and detailed picture of home broadband performance data available. Which is why SamKnows is trusted by government regulators and major ISPs all over the world to monitor millions of home broadband connections.

- - - - - - - - -

Introducing our new Router Agent

More efficient test scheduling so you can run more tests

Our Router Agent used to check for cross-traffic between every test for 30 seconds, as we didn't want to be running tests whilst the customer was using the connection. That 30 second pause between every test would set an upper limit on the number of tests that could be carried out per hour.

But what happens if a test only takes 20 milliseconds, like a simple DNS lookup test?

Well, it still waits 30 seconds to check for cross-traffic. This is clearly inefficient as we have a 30 second pause to run only a 20 millisecond test.

Our updated router agent takes a different approach. We still check for cross traffic for 30 seconds, but we now set a time allocation of X seconds after a cross-traffic test and run as many tests as possible that fit inside that allocation.

How does this benefit you?

You can now run many more measurements and get a much more detailed view of customer internet performance and can spot ongoing issues more easily

- - - - - - - - -

Faster results means you can fix things faster

Previously, the results were submitted at the end of a test sequence.. But we understand the importance of identifying issues and resolving them as fast as possible. So now, the test results are collected in a queue, which is submitted to our backend just seconds after the test finishes. If a schedule takes 30 minutes to complete, you will receive the data as soon as the single tests are done, not after the entire 30 minutes.The queue will also group subsequent submissions together, to optimise the interaction with our backend.

How does this benefit you?

You get the results much faster and can investigate and fix customer problems much quicker.

- - - - - - - - -

More reconnection attempts; no large data gaps

Another improvement to our router agent involves automatically retrying to connect to our backend more frequently (using an exponential backoff algorithm). This allows us to start running tests as soon as your customers are online.

How does this benefit you?

You get more data, sooner, and you can trigger tests as soon as the agent goes online.

- - - - - - - - -

Reducing dependencies means easier integrations

Our Whitebox uses an operating system called OpenWrt. This has a fairly uniform set of tools and utilities baked in, and relies on specific versions of C and C++ libraries. Our measurement code is all written in C or C++, but there were quite a few shell scripts around those that glued things together. These shell scripts would rely on common Linux tools utilities.

So what, you might ask? Well, when we started deploying our tests to routers, we realised different vendors will ship radically different Linux environments (including kernel versions, C libraries, shell support, and much more). All these dependencies became problematic for us, as we'd find that some routers would have a feature, and others wouldn't, and some would have it partially implemented or broken. We realised the best way to resolve this was to reduce the number of things we were dependent upon.

The software in our new router agent is written entirely in C++, this removes our dependency on almost all Linux utilities, so we're now only dependent on C++ support. And even if the router vendor doesn't provide C++ support in the toolchain they supply us, we can build our own toolchain and provide our own C++ support.

How does this benefit you?

Integrating our software into routers is now simpler, faster and involves less back-and-forth with the router vendor.

- - - - - - - - -

Interested in getting faster results for your customers?

Our sales team at SamKnows are experienced in providing bespoke measurement solutions that perfectly suit your needs. We would be delighted to discuss your requirements and demonstrate how we can help you. Please contact our sales team for more information.

Get in touch