Our backplane environment is designed to support the incorporation of live applications into the network model execution. The preceding figure illustrates the backplane architecture accommodating both live applications as well as software models of the intermediate emulated network. The integration is achieved by automatically capturing the network activity of the live applications, and routing their data via the modeled network.
In order to control an application’s network activity to be able to re-route its traffic through the emulated network (as opposed to through the physical network), it is necessary to intercept its network system calls and redirect the application data to the emulated network via the Dynamic Backplane. Lack of source code of an application, and/or high complexity of source code, makes it challenging to intercept the application’s network activity. To this end, we have developed a powerful mechanism for transparently intercepting the standard system calls that an application uses for network activity. This mechanism is capable of intercepting system calls made even by pre-compiled applications whose source code is unavailable.
Capture and control using dynamic library overloading |
We use a dynamic loading approach to address this problem. When an application is executed, we use a certain combination of features of the runtime loader and the dynamic linker to transparently intercept and re-direct calls to the appropriate system calls at runtime. For this, we have developed a new library that duplicates the function signatures of the system calls. The runtime loader is made to pre-load this library before the application starts, which, in effect, makes our library override the default system libraries from the application’s point of view. When the application invokes the system calls, our library routines get invoked instead. This provides us complete control over the timing and content of the network data delivered to and from the application. Our library in turn uses the actual system library calls for its internal operation involving network communication with the parallel emulation backplane. This powerful mechanism allows us to run unmodified, pre-compiled applications over any virtual network of choice that is emulated using our emulation backplane. This permits us, for example, to evaluate the performance of existing unmodified applications over new network configurations that do not physically exist. |
A principal application of focus is realizing distributed military simulations over the emulation backplane in order to evaluate the effectiveness of the backplane approach. For this purpose, we have targeted the ModSAF (Modular Semi-Automated Forces) simulation because of its widespread use in within the Department of Defense for training. A distributed, federated simulation is envisioned, including separate instantiations of the ModSAF program running on different processors communicating via runtime infrastructure software with High Level Architecture (HLA) interfaces. The network emulation system will provide realistic assessment of such distributed simulations operating over wide area networks.