Is RSA Mobile multi-threaded?
Originally Published: 2004-07-09
Last Modified: 2023-09-22
Article Number
000060831
Applies To
RSA Mobile 1.5 Authentication Server
Microsoft Windows 2000 Advanced Server SP4
Issue
Is RSA Mobile multi-threaded?
Resolution
Theoretically, RSA Mobile will handle multiple authentications all at the same time and is multi-threaded. This multi-threading goes all the way from the front end (the web service) all the way to the back end plugin sending messages to the selected SMS gateway.

As a general test, you can set up 2 workstations running a simple command line web service consumer and get both workstations to request a tokencode simultaneously.

The two areas of monitoring under your control are starting the test on the workstation and then monitoring the traffic between the SMS plug-in and the SMS gateway.

The test provides unreliable results unless you repeat it over and over again to obtain a good sample of results.

Most of the time, due to the low volume of work coming in, a single messaging task will run internally to RSA Mobile and handle the low volume of requests one at a time; hence you see the follow sequence when monitoring the back end. The following example shows detail where the SMS provider connection occurs over HTTP (and HTTPS):

    Send: HTTP POST to Synergy
    Send: HTTP Continuation
    Receive: HTTP Response 200 OK
    Send: HTTP POST to Synergy
    Send: HTTP Continuation
    Receive: HTTP Response 200 OK

So one message is sent one after another. However, if you repeat the test a number of times, you will occasionally see something different:

    Send: HTTP POST to Synergy
    Send: HTTP POST to Synergy
    Send: HTTP Continuation
    Send: HTTP Continuation
    Receive: HTTP Response 200 OK
    Receive: HTTP Response 200 OK

Here, we can see that due to luck of the task scheduling (down to trying to press ENTER on 2 workstations at the same time), the messages were processed asynchronously (i.e. processed at the same time). If you increase the volume of messages sending to different mobile phones, you will see the true effect of the multi-threading environment. At the point where a single processor is unable to cope with the volume throughput of concurrent authentication requests would the point where you would introduce a second server as part of a cluster where the workload world be shared between the 2 servers.