A Router with the SamKnows SDK embedded inside it also supports ‘instant tests’. This allows tests to be remotely initiated on the device, with the results reported back to the initiator in realtime.
Typically, the client application that invokes the instant test will be a smartphone or web application. These applications may be used by end-users directly (e.g. customers within the home), or ISP support staff centrally. The client is presented with realtime feedback, including both the instantaneous measurement result and the progress through the test as a percentage.
Developers integrating the SDK may optionally choose to put restrictions on when instant tests can be carried out. For example, it may be a requirement that the instant tests only operate when the user is connected to a Wi-Fi network. The smartphone and web SDKs provide access to this information, allowing the developer to control the circumstances under which an instant test is allowed to proceed. Customer care agents may also remotely run instant test measurements on smartphones and routers with the SamKnows SDK embedded in them.
Instant tests rely on a persistent line of communication between the SamKnows-enabled agent and the SamKnows One infrastructure. This uses Secure WebSockets as its communications protocol.
An API layer, called the Instant Testing API, sits on top of this infrastructure and exposes the triggered testing functionality to client application. This API allows client applications to remotely invoke a test on a SamKnows-enabled router. The client application does not need to be on the same physical or logical network as the SamKnows-enabled router in order to remotely invoke a test, as all traffic is proxied via the SamKnows One infrastructure.
Client applications may authenticate with the Instant Testing API using SamKnows One credentials. Alternatively, federated authentication between SamKnows and a third party (e.g. an ISP) is supported, which allows a client to authenticate transparently.
Communications between the client device (smartphone or computer) and the router operate over the WebSockets, are brokered via the SamKnows One API servers, providing for realtime two-way communication between each other.
Measurement results are streamed in realtime back to the client application, with intermediate results provided at a minimum of once every 500 milliseconds. At the conclusion of the test, a ‘final’ result is also provided.