The Simulation Network Interface is rather straightfordwardly implemented through two software components, the SNI server and the SNI client library . Both implement the SNI protocol which allows communication and data transfer between independently run simulation programs. The SNI server is a program which resides on any host machine where simulation programs designed to be coordinated are run. Simulation programs wishing to interact with another simulation will invoke SNI client library routines to start the SNI server on the remote machine. After access authentication, the SNI server will locate the required simulation program and run it.
All programs reside on independent, network-connected host machines.
Host 2 and 3 run the SNI server which in turn runs a different simulation model on each host. On host 2, the model is an entity-based simulation. On host 3, the model is a grid-based dynamic landscape model. The simulation program on host 3 also uses the SNI client library to connect to host 4 and retrieve lansdcape data from the GIS database. On host 1, a main driver program uses the SNI client library to schedule and coordinate the data exchange between simulation programs and the GIS, invoking the necessary actions from the different programs according to the course of the coordinated simulation.