Fieldpine Logo Documentation Home  

Concepts

Mesh ConnectionsA mesh network or database works by systems loosely talking between themselves in a some what random fashion. Much the same way you might tell close friends that you are pregnant, and this message will generally diffuse among everyone you know over time1. A mesh database works in a similar way, but with a few more constraints to both ensure faster message delivery and also reduce message clutter.

Mesh Logical Structure

A logical structure is applied on top of the mesh network, which applies a hierarchy of parent/child systems. This means one system can be designated the logical master, with sub masters and eventual worker systems. This structure is only used to aid understanding and workers can communicate directly to other workers without centralised master servers.

With this structure, the "top" system is called the "authority". It communicates down to the next layer, and that layer communucates to either another layer, or workers.

In a retail environment this loosely translates to each lane in the store communicating to a store server, which in turn talks to head office and/or cloud based systems. However, the actual communication will use multiple paths for reliability. So checkout lanes in one store may communicate directly to a lane in another store as well as it's designated store server. This approach ensures that any single failure is unlikely to cause wide spread disruption.

Note 1. "Time" does not imply slow for the database, urgent data can be replicated to other systems immediately, and most non critical data is available within a few seconds, it has been intentionally slowed down to save network traffic costs.

Space and Performance Considerations

With a mesh structure, each node is likely to hold more a considerable amount of data locally. Not all this data is required but is being held as redundant copies.

Using Automatic Replication

By default systems will use automatic replication. With this mode you there is typically not much setup involved. When installing a system for the first time you need to authorise it by connecting the security key to the system. This action also preloads a number of known systems in the network. From this point on the machine will communicate to some of the systems in this list and any others discovered over time.

A exception for automatic replication relates to communicating to external systems on the internet (such as a selling point at a street carnival), where you will need to explicitly enable a system to communicate to the internet general population. Data is encrypted for all communication, internal and internet

Using Manual Replication

You can configure systems to use manual replication to take advantage of cloud based file sharing sites such as Dropbox, SkyDrive (Trademarks) or any other service that permits you to replicate files from one system to another. You only need to use manual replication when using systems that cannot automatically discover each other or routes between systems.

Quick Key Points:

TUBT.FileAll
Setting pointing to a directory for transactions to be sent to all known systems. If you use the TUBT.FileAll setting, then you do not need to use the 3 following settings as the files written to this folder are expected to go to every system.
TUBT.FileUp
Setting pointing to a directory for transactions to be sent to upstream servers
TUBT.FileDown
Setting pointing to a directory for transactions to be sent to downstream systems
TUBT.FileAcross
Setting pointing to a directory for transactions to be sent to systems at same level

Operational Description

This section contains a conceptual overview on how mesh data is stored but it is provided to aid understanding, it should not be relied on as the accurate technical description.

When the POS reads a record using Mesh database, it opens the current reference file and extracts the data/records it wants. If the files do not exist it might request data from other nodes in the network

When the POS writes a record into the Mesh database, it applies the change to its current reference files (these are shared in some cases) and queues the record for offsite transmission. These offsite queue files are stored on each node, not in a central area

A sync operation can be performed at any stage, but is not often required