If an object gets locked (e.g. because of editing) it is refreshed by the FORCE option. By means of this option in each case an RPC (remote procedure call) to the Fabasoft Folio COO Service is performed to ensure that the object is up to date. If necessary, the update is ensured by another RPC.
If an object that is already placed in the Fabasoft Folio Kernel cache is accessed without the FORCE option (e.g. reading access), no RPC to the Fabasoft Folio COO Services is necessary in case that no modification notice is received from the Fabasoft Folio COO Service. This RPC reduction improves the performance.
If an object is modified by means of a transaction, the appropriate Fabasoft Folio COO Service sends a modification notice via UDP multicast. Each Fabasoft Folio Kernel receives this modification notice and marks the object in its Fabasoft Folio Kernel cache as modified. As a consequence, the object needs to be updated by Fabasoft Folio COO Service at the next access.
The modification notice only indicates that the object has been modified but the update of the object is not performed until the next access.
Note: The Fabasoft Folio Kernel optimization works only if the UDP packets sent by the server can be received by the client. Ensure an appropriate network configuration. On Linux systems, the following command can be executed to add the appropriate route:
route add -net 18.104.22.168 netmask 240.0.0.0 dev <device>
Because there is no guarantee that UDP packages reach their recipient, it may happen, that the Fabasoft Folio Kernel spuriously treats an object to be up to date.
To avoid this, each Fabasoft Folio COO Service sends a so-called heartbeat periodically (every 5 seconds) where each message contains a sequence number.
An object in Fabasoft Folio Kernel cache is only up to date, if the following conditions are fulfilled: