Remote cache

Cache design gets more complicated when we use the client-server OWFS model.

Not only can programs connect locally to the 1-wire bus, but they can connect remotely to an owserver.

In fact, more than one program can connect to an owserver.

A typical complex OWFS design:

Complex topology

In this design, every element can have it's own cache except the OWSHELL programs (owdir, owpresent, owwrite and owpresent).

For a simple design, it's pretty easy:

Simple owserver

Results are cached locally AND remotely. This works fine as long as the cache times are similar, and no other processes are changing the remote owserver.

Owserver with 2 clients

Potentially the owfs and owhttpd process in this example could each alter a chip's memory, and think that their local copy was correct. Remote owserver would know the truth, but the local copy could be wrong.

New remote scheme

As of OWFS 2.5p7 this potential problem is bypassed. Both volatile and stable properties are cached only where they are directly set.


Previous page: Cache flip
Next page: Cache structure