Modularized Architecture and Licensing
NextGen is modularized so that customers only need to license and pay for those modules and features which are actually needed.
Some clients may only need basic steady state capabilities for a single user on a single machine, whereas others might need a full blown enterprise wide transient online system for multiple users spread out throughout the company or even at different company locations.
The licensed protection key determines what sections and modules are enabled and activated, and upgrades to new features and modules typically do not require a new NextGen installation, but simply a new protection key.
Client Server Architecture
NextGen can be run as a single user application on a single machine or as an interconnected client server solution for multiple users. Every installed copy of NextGen can act as a single user application, but also contains all of the modules needed to support a powerful server connected to multiple clients and multiple run engines.
Every installed copy of NextGen can act as a Simulation Server, an Interface Client, a Run Engine Client, or all three, or even act as a run engines only installation in which multiple NextGen run engines are launched and stay connected to a NextGen server on another machine. What is allowed to run on any particular installation depends on the protection key license and what the user wants to run.
When run as a single user application on a single machine, NextGen will boot up a Simulation Office interface client application, but in the background NextGen will also boot up a local Simulation Server application and one or more Simulation Engine applications on the same machine, and all three applications will communicate locally (all of this is transparent to the user).
Simulation Office is the primary interface client application that is used to edit and view model information, and acts as a thin client. The Simulation Server application stores all model information on disk and in memory as needed, performs all model management tasks, and acts as a message broker between clients, sending model data back and forth between clients as needed. Finally, the Simulation Engine client application is a thick client that performs all calculations for both steady state and transient simulation runs.
Multiple Simulation Office clients on multiple machines can connect to the same Simulation Server to access different models or even the same model, in which case one user is always the Controller and any other users are Viewers. Users can switch controller mode amongst each other as needed.
Single users on a machine with their own Simulation Server can also temporarily disconnect from their local Server and connect to any other visible Simulation Servers on the network. This feature can be used to remotely control unattended servers, but is also used to transfer models between users or between users and a master server that may contain master copies of the models.
With Online installations, this feature also lets users reinitialize their local models using the latest calibrated and current state of the pipeline from the Online Server. Once a model is downloaded or updated from the remote server, the user can switch back to the local server to make local simulation runs.
Other NextGen applications that may connect to the Simulation Server application as clients are the Scada Integrator, Data Integrator, Loads Forecaster, and Well Analysis Module.
Some of the advantages of the NextGen architecture include:
- Model data is kept on the server.
- Multiple users can connect to the same model simultaneously for collaborative projects.
- Experienced users with proper permissions can work directly with and update master models on servers for others to use.
- Users can make their own working copies of master models to run simulations on their own separate Simulation Servers.
- Projects (which contain Models) can be defined as either Public or Private. Public projects are visible to other clients on the network, whereas Private projects are only visible to a Simulation Office client app on the same machine as the Simulation Server app.
- Models can be protected with passwords so only users with the proper permissions can access or change models.
- Model Configurations can be locked (operating set points can be changed, but piping and station configurations cannot) and the locked state can be password protected.
- Calculation tasks can be distributed among multiple machines and multiple threads per machine for running faster simulations.
- Simulation Engines can reside on local user machines, servers, or dedicated Simulation Engine machines. The Simulation Server can locate available Simulation Engines on your network/cloud and makes use of them as needed.
- User commands to control simulation runs are sent from user interface(s) to a Simulation Server, which then forwards those commands to the appropriate Simulation Engine. The Simulation Server maintains all connections between interface(s) and Simulation Engines.
For both security and performance reasons NextGen does not use standard databases for on disc data storage of models or archived historical data, and instead uses its own proprietary, unpublished, binary storage mechanism, and model files can additionally be password protected by users.
NextGen network communications also do not rely on commonly used protocols that are easily hacked, and uses low level TCP/IP and GEI’s own proprietary, unpublished, and encrypted binary protocol for messaging and data transfers over a network.
In both cases, it would be extremely difficult for hackers to extract useful information or data from model files obtained illegitimately, or from network traffic that was intercepted.
In addition, NextGen contains a User Account Manager that can be used by IT to set security and access privileges of NextGen users on the company network, so only authorized users can access NextGen, and among authorized users, only those with the proper permissions are able to access certain modules or features.
Selected projects and models can also be made Private so that they can only be accessed from the machine they are on.