13.3.11 Incremental mirroring

Prev Up Next Page 438 of 800 Search internet

To do incremental mirroring of a server state, one should first look up attribute 0 (the last attribute) of type 0 to see if anything has changed since last. If so, then one should read attributes of type 0 in reverse chronological order until one knows which attribute types have changed since last.

If attributes of type 2 or 3 have changed since last then one should traverse the left and right subtrees, respectively.

If attributes of other types have changed since last then one should read their associated attribute lists in reverse chronological order until all changes are found.

Each attribute has a timestamp and an index. Whenever an attribute is deleted from an attribute list, all indexes of newer attributes are decremented. When reading an attribute list in reverse chronological order one may get the same attribute twice in case an older attribute is deleted simultaneously. Furthermore, if an attribute has unchanged index since last, then one can be sure that no older attributes have been deleted.

Changing an attribute is done by deleting the old value and adding a new value. The new value will get a timestamp different from the old one.

Logiweb time is strictly increasing. Two different updates of a server state must have different timestamps. But a single update that affects several attributes do have the same timestamp.

Logiweb time can have arbitrary resolution. For that reason, there are no problems requiring Logiweb time to be strictly increasing.

Prev Up Next Page 438 of 800 Search logiweb.eu

Copyright © 2010 Klaus Grue, GRD-2010-01-05