[mnet-devel] Chunks... what where they for?
Jim McCoy
mccoy at mad-scientist.com
Thu Mar 6 18:28:17 GMT 2003
On Thursday, March 6, 2003, at 09:48 AM, icepick at icepick.info wrote:
> I note one of the key things that isn't in the new filesystem spec is
> the
> lack of Chunks. What where their purpose, and what's changed so that
> we
> don't need them anymore.
One of the original goals was to be able to stream data directly from
the mn datastore to a media player. This was in the heyday of Napster
and content distribution for large media files was one of the things we
were pitching. The information dispersal algorithm we were using was
not systematic, so we had to put in a short hack to allow a user to
start streaming the first chunk while later chunks were being
downloaded.
Okay, that is not exactly true. The reason was that if you run the
Rabin IDA on a very big file you end up with very large shares, by
chunking the data you could control the size of the resulting shares.
At the time we did not know about FEC and the advantages that a
systematic FEC offered.
Okay, that is not true either. The real reason was that originally MN
was designed by me to serve as the public shared database for an
anonymous email system. This system was similar to penet-style
remailers rather than the cypherpunk/mixmaster remailers in that you
had a persistent ID, etc. One of the design requirements was that I
needed to be able to do random access on the stored data files. Chunks
were the mechanism for allowing this sort of random access.
The real truth was originally answer #3, then answer #2 as the original
design was first implemented and we were trying to decide whether or
not to keep the original chunking method, and finally it was a
combination of answer #2 and answer#1 by the time any of this was ever
made public.
Jim
-------------------------------------------------------
This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger
for complex code. Debugging C/C++ programs can leave you feeling lost and
disoriented. TotalView can help you find your way. Available on major UNIX
and Linux platforms. Try it free. www.etnus.com
_______________________________________________
mnet-devel mailing list
mnet-devel at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mnet-devel
More information about the Mnet-devel
mailing list