
This is part of the Objectify project documentation.
Copyright (C) 2009   J. Scott Edwards
See the file README for copying conditions.


This document describes the design goals for the block allocation functions in
Objectify.  The code allocates blocks differently depending upon the security
level (see the Security_Levels.txt document).

The biggest problem to deal with is how blocks are allocated in minimal
security mode verses extreme security mode.  To accomidate extreme security it
would be better to have chunks more diverse, whereas for minimal security you
want it to be more contiguous.

Another complication is the amount of space available in the archive.  Is the
user is trying to create an archive in a file and keep it as small as possible,
or is he or she using a 1 terabyte USB drive for the archive?

One goal should be to not create all of the files in sequential chunks, I. E.
even if all files are being imported as --minimal-security it should, on
occasion, generate a chunk completely at random.  My current thought is that if
there isn't room in any of the existing chunks for at least half of the file,
it should generate a new chunk completely at random.

For --extreme-security files it should not put more than a small percentage of
the file into one chunk.  Perhaps it should only be as dense as the
--high-security setting?

Another goal is to keep the archive balanced so that some areas are more dense
than other areas.
