FIGURES 17 through 21 deal with
processing steps acting upon or creating the input, output, and
intermediate entities above.
FIGURE 17 provides a first level of
detail of the steps involved in processing 0290 to privatize data. Before
getting into detail, consider the key aspects of FIGURE 17. After
initialization, fragments 1620 of up to 16 original data files 0220 at a
time are drawn in apparently random order progressively forward from the
end of each input file, disguised, and added round robin at the end of
fragment heaps 1651. Completed fragment heaps 1651 are padded into
composite segments 1652, then camouflaged and written out to composite
files 0250. The balance of the method comprises the steps of creating a
reconstitution file 0270, finalizing and dispersing the various outputs,
and reporting results to the user.
Now for greater detail regarding FIGURE
17. The user is presumed to have clicked on the first tool bar icon in
FIGURE 01, the system and method to privatize computer files
0110.
In step 1710, the user inputs the
control selections. Behind the scenes, the program devises the preferred
default values and displays them within the "options" (FIGURE 03),
"locations" (FIGURE 04), "select files" (FIGURE 05), and "select drive"
(FIGURE 06) dialogs. The user's choices within these dialogs are presented
in detail earlier in this document (FIGURES 03 through 06).
Step 1720 is to initialize the
intermediate objects 0280 as detailed in FIGURE 16. This initialization in
part precedes, in part is simultaneous with, and in part follows up on step
1710. Most of the detail can be inferred from FIGURE 16. Certain portions
warrant further comment. For example, with the current file selection list
0520 in hand, it is possible to open up to sixteen original data files 0220
(see intermediate object group 1610). Here refer to function
"OpenOneOrig.cpp" in the microfiche appendix, whose precise logic for
opening each input original data file 0220 is summarized. The first time
data is read from an original data file 0220 into one of the 16 original
data buffers 1612 within intermediate object group 1610, the system
positions to 2,048 bytes before the end of the original data file 0220 and
reads the last 2,048 bytes into the appropriate one of the 16 original data
buffers 1612 in sequential order. In the actual processing (FIGURES 18 and
19), under direction from the random table 0230 and the fragment handling
guide 1640, fragments are drawn successively from the end and progressively
forward from the original data buffer 1612, and are added at the end of the
next fragment heap 1651 in sequence. Key point: Original data files 0220
are fragmented from the end, moving progressively forward. The cost in
complexity is minor compared to the efficiency and simplicity that are
achieved in writing out reconstituted original data files 0220 when they
are later retrieved 0160 from their privatized state.