Services

The core application-hosting environment

It is not always straightforward in practice to set up an application server from scratch within a corporate IT environment. In contrast, we have an ‘out of the box’ solution that can publish a generated web GUI for your models in a matter of minutes.

Running the eSTEM software on our pre-configured and purpose-built infrastructure, the service will work straightaway, effortlessly extending your STEM application domain onto your colleagues’ or customers’ web-enabled devices with no expert IT involvement. User-registration (or federated credentials), usage tracking and error resolution are included in a fixed-price structure which removes the budget unknowns of an internal IT solution.

For an initial, minimum commitment of twelve months Implied Logic will:

  • provide server infrastructure and Internet connectivity to host STEM models to be run with (separately licensed) eSTEM software from remote web interfaces
  • provide suitable access for nominated client personnel to upload and modify relevant model data files
  • make defined tracking data available to nominated client contacts
  • optionally provide expert services to maintain this facility and support nominated client contacts in their use thereof.

Our support organisation offers an unrivalled end-to-end understanding of this specialist application service-provider activity.

Hosted software installation

Implied Logic will create a client.impliedlogic.com sub-domain within its own, professionally hosted server infrastructure verified to end users by an EV-SSL certificate which offers the highest browser approval. We will use this to deliver an eSTEM web-service interface for one or more client STEM models which will be run on the server infrastructure shown below in response to suitable formatted and authenticated requests from remote web interfaces generated by the C-STEM desktop software.

Figure 1: Web-service software stack and hosted model folder structure

Note: the charge for the service will be the same even if you choose to load the front-end HTML 5 interfaces from another server, as the principal complexity and server load are related to the eSTEM web service and associated processing when running models.

Software and model administration access

The software installation will be maintained exclusively by Implied Logic, whereas the offline folder where client models will be stored will be made accessible to nominated client contacts via Secure FTP or equivalent file-upload access. The exact details remain to be confirmed, but this would be via ftps://client.impliedlogic.com or similar. Implied Logic will manage the model-lookup and configuration files in the first instance until the client gains the necessary expertise and confidence to take ownership.

Usage tracking and anonymous access

The eSTEM software includes a tracking solution which will log to a text file or database details of the current user, date, time and uploaded model inputs for each model-run request handled by the eSTEM web service. The logging may optionally or additionally split the logged records by discrete input to make it easier to benchmark the values provided by the users.

The simplest connection model would make the service available to anonymous access without registration or authentication, but then the user identifier would be limited to a current system ‘session id’ which could not be used to identify the actual user (or any pattern or consistency in their usage). Such a session id would expire after a matter of hours, with the effect that the model inputs would revert to default values for that user in their next visit after those hours had elapsed.

Internal client access

Internal users should have access to a class of ‘internal’ web-based business models, and would ideally log in with their regular client login credentials. This can only be supported if the client hosts the login and registration process, and in that case Implied Logic will work with the client to agree a mutually acceptable pass-through mechanism to ‘federate’ validated client credentials across to client.impliedlogic.com. Alternatively, or as an initial stop-gap solution, Implied Logic can maintain a limited number of client-specific logins with specific access rights per given model.

User registration

It may be desirable to provide public access via registration to a class of ‘external’ web-based business models.

Implied Logic offers a registration system to which external users identify themselves by name, organisation, activity area and email address (which serves as user ID). The email address is verified by activating a login via a return mail with link. (This system may be enhanced in future to continually validate the email by sending a session-dependent login token to the login email at the start of each session.)

However, a client might prefer to use its own corporate customer-registration system, from which log-in credentials could again be ‘federated’. This would also avoid any data protection issues around Implied Logic gathering client customer information.

Excel-based reports to download in XLSX or PDF format

An Excel-based report drawing on live model inputs and results can be generated from a pre-defined template file by the web service and then made available for download by the end-user in either .xlsx or .pdf format. The approach and syntax for defining these reports is explained in more detail in our online help, help.stem.impliedlogic.com.

The generated web presentation automatically includes a button to access such reports when one or more report is included in the export process. The actual file to download is stored in a temporary location and the corresponding download link is thus transient and specific to the current user. Our hosted solution includes a scheduled task which periodically deletes all such temporary files older than a certain threshold while allowing them to persist long enough for the intended purpose.

Saving and retrieving model inputs

The HTML interface code generated by the STEM Model Editor incorporates commands (which utilise corresponding web-service methods) for the end-user:

  • to save (and name) their current input values from the web presentation, and
  • to subsequently select and reload those values at a later date.

In addition, the user may choose:

  • to restore the original default values for the model, or
  • to select and load any alternative defaults which may be provided by the site administrator (for example to cater for differing user profiles).

This functionality is also explained in more detail in our online help.

Tracking data

Details of the current user, date, time and uploaded model inputs are logged to a database for each model-run request handled by the eSTEM web service. To make it easier to benchmark the values provided by the users, the logging may optionally or additionally split the logged records by discrete input, depending on what kind of analysis is likely to be undertaken and actually useful.

The simplest approach stores a single record for each model run with all input values condensed into a single text field.

When (UTC) User Inputs
01 Jan 2017 17:00 joe@bloggs.com Input 1 = 42.0; Input 2 = 88,112.0; Input 3 = 1.0; Input 4 = { 123.0; 456.0; 789.0 }
01 Jan 2017 17:08 joe@bloggs.com Input 1 = 48.0; Input 2 = 88,112.0; Input 3 = 1.0; Input 4 = { 123.0; 456.0; 789.0 }
01 Jan 2017 17:12 bill@microsoft.com Input 1 = 99.9; Input 2 = 99,999.9; Input 3 = 9.9; Input 4 = { 999.9; 999.9; 999.9 }

Figure 2: Example tracking data per model run

If it is desirable to analyse the range of values offered for specific, individual inputs, then the only scalable solution across a disparate selection of models is to store a separate record per input.

When (UTC) User Inputs Value
01 Jan 2017 17:00 joe@bloggs.com Input 1 42.0
01 Jan 2017 17:00 joe@bloggs.com Input 2 88,112.0
01 Jan 2017 17:00 joe@bloggs.com Input 3 1.0
01 Jan 2017 17:00 joe@bloggs.com Input 4 123.0; 456.0; 789.0
01 Jan 2017 17:08 joe@bloggs.com Input 1 48.0
01 Jan 2017 17:08 joe@bloggs.com Input 2 88,112.0
01 Jan 2017 17:08 joe@bloggs.com Input 3 1.0
01 Jan 2017 17:08 joe@bloggs.com Input 4 123.0; 456.0; 789.0
01 Jan 2017 17:12 bill@microsoft.com Input 1 99.9
01 Jan 2017 17:12 bill@microsoft.com Input 2 99,999.9
01 Jan 2017 17:12 bill@microsoft.com Input 3 9.9
01 Jan 2017 17:12 bill@microsoft.com Input 4 999.9; 999.9; 999.9

Figure 3: Example tracking data per input per model run

Additional columns could be added on reasonable request, such as name of saved model.

Performance

There are too many variables and unknowns – such as model size and complexity, reliability and speed of Internet connection, and number of contending users – to guarantee turnaround time for an individual model run request from an external front-end GUI. However, Implied Logic will ensure that correctly validated and authenticated model-run requests will receive fair processor allocation and that the time taken to run a model on the server itself should not exceed a factor of three times expected performance on a typical client laptop at the busiest times.

Limits

In the first instance, this hosted service will be limited to the single server-instance covered by a separate annual-subscription licence for the eSTEM software. Any extension to the hosting infrastructure would have to be made in conjunction with a corresponding increase in the scope of this licence. On the basis of this single server-instance, the following limitations are expected and serve to define expectations for the scope of the service.

Metric Limit
Number of models 50
Disk space allocated for any web pages, model configuration files, original model files, per-user model files, per-user saved snapshots and tracking data 10 GB
Generic logins manually created by Implied Logic 20
Registered users created by automated self-serve procedure 10,000
Users per day 720
Users per hour 45
Concurrent sessions 15
Concurrent model runs 3
Nominated client personnel for support interactions 3

Figure 4: Service limitations

© Implied Logic Limited