2017 R1

Functionality in DetailPermanent link for this heading

GeneralPermanent link for this heading

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 224.0.0.0 netmask 240.0.0.0 dev <device>

Heartbeat and Sequence NumbersPermanent link for this heading

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:

  • Since the last update all notices have been received in the cache (ensured by sequence numbers),
  • no received notice contains a modification of this object and
  • the last received notice is not older than the specified heartbeat plus a tolerance value (about 7 seconds) for the duration of reception.