These are some ideas for implementing an offsite backup facility for Gnosis. See (p3,back-do) for backing up discreet objects. See (new-ideas,03) concerning tape checkpoints.
An offsite backup facility will consist of a method of taking tape dumps of Gnosis files and making incremental change tapes of the changes that occur as Gnosis runs. These, combined with a program to use the tapes to place a set of Gnosis packs in a consistent state will allow a Gnosis system to be brought up from tape backup.
An unimplemented idea along these lines:
A particular program would have the responsibility for causing the pages to be read into core, approximately at the rate of one cylinder at a time, and then to write the pages onto a tape. The program would need the ability to read disk pages containing nodes as if they were data pages. There are a few loose ends here involving how to write the allocation counts (etc) on tape.
If the migration process {(migrate)} wrote the pages and nodepots being migrated to the "home" locations to tape at the same time it was writing then to the "home" position then there would be a nearly complete log facility. The only essential information that would not be recorded by this process would be the list of nodes that had processes in them. This could also be written to the tapes when the checkpoint is taken.
A complete system backup set would consist of the dump tapes and all the log tapes created while the dumps were being taken.
A "stand alone" utility to build packs from a dump and log tape set would be needed.
Like all backup schemes, this one has significant security implications.
More somewhat complex code in the Kernel (how can we reduce the amount??)
These backups provide page and node images, by CDA, for an entire pack set. Several important objects consist of node trees with pages at the leaves. I imagine a service wherein there is a key TB with limited authority to a tape backup. Presenting a segmode key to TB would produce a new segment much like the corresponding segment represented on the tape.
It is feasible to read all the node images into a segment. With the CDA of a node it is possible to build a node tree that matches the original at the time of the backup and thence to layout a strategy of mounting tape reels so as to avoid unnecessary tape mounts. It would seem that all of the trailing "rewritten pages" would have to be scaned as part of this process. Simultaneous retrieval of several such segments would be possible.