The functional interface exhibited by this optional layer is equivalent to the one of the file layer for access to PBFs, but allows instead accesses to PBFs over the network. In order to minimize network traffic, the functions of the file layer are used for local and temporary PBFs. The network databases are accessed through a database server as shown in Fig. 6.2, which opens, reads, writes and closes PBFs.
Figure 6.2: Local and network storage
The client uses the database server for all file I/O functions on the network PBFs, but all database operations are done locally with the help of the basic and interface layers. For fast access to the data, the server holds some data blocks of the files in a local cache similar to the caching layer. This cache is shared by all clients and is not cleared upon closing a PBF, so that a following reopen and usage of the same file, even by a different application, is fast due to its persistence in the server cache. All write operations are delayed and buffered through a cache to maximize performance. The run time option of unbuffered write operations ensures consistency of the PBF during update operations, and allows to examine a PBF while a tool is running and writing to it, which is an invaluable help in debugging simulators.
Another aspect of the network layer is the capability of message passing. It allows the application to contact other programs (e.g. the XLISP interpreter on the task level) over the network. Fig. 6.3 shows an example network configuration with tools and database servers interacting over the network.
Figure 6.3: Examples of PAI networking capabilities