Coda File System

Worries about hoarding

From: Quinn Weaver <qweaver_at_vovida.com>
Date: Mon, 24 Jan 2000 01:26:09 -0800 (PST)
Hi,

I've been thinking about the issue of hoarding.  To my mind, the best
novel feature of Coda is disconnected operation.  It's extremely useful
at our office, where all the businesspeople have laptops (running
Windows, of course :( ) which they take home every night, but which still
need to be backed up somehow.

However, I'm frustrated with the hoarding mechanism.  It doesn't
provide any explicit way to download files to local disk--only a  way to
maintain them in the cache.  The idea is that the cache is memory-mapped,
so whatever part of it does not fit in memory can be written to swap.

Here's the problem, though:  All our Windows users need to hoard all of
their files every day.  I _think_ the solution is to run hoard
once, at installation time, with a file like this:

d+ C:\WINDOWS\DESKTOP 1000
d+ C:\Program Files\Obscure_Mail_Location 1000
d+ C:\My Files 1000

This guarantees that venus will keep local copies of everything, as
long as there is enough virtual memory--right?  Please correct me if
I'm wrong.  I still don't know quite how priorities affect virtual memory
use.

Yet this solution has nasty implications for the client.  Hoarding all the
time would mean filling all memory and then some with hundreds of 
megabytes of files.  I'm afraid that all the swapping would trash
performance.  It occurs to me, too, that this is a pretty good way to
crash Windows, which is not exactly renowned for its stability. ;)

So I think the best solution overall is to change the cache size right
before disconnection.  The easiest way to do this would be to write a
tiny disconnection script that runs hoard on a file like the one
mentioned above, and a corresponding reconnection script that reads a file
like this:

d+ C:\WINDOWS\DESKTOP 150
d+ C:\Program Files\Obscure_Mail_Location 150
d+ C:\My Files 150

The big concern then is how much time and network bandwidth it takes to
hoard files every day.

Obviously, this is a kludgy solution, but I think it's the only one.  The
best thing would be to keep files locally and sychronize them with the
server, but Coda just wasn't designed for that kind of use.  I still have
lots of compelling reasons to use Coda, so I'd like to stick with it if I
can.

Has anyone else wrestled with these issues?  I'd really appreciate some
feedback.  Even if you just have suggestions for improvement of the
kludge-o-matic work-around, I'd really like to hear them. :)  On the
whole, I'd rather not be responsible for hosing the network and crashing
people's computers daily. ;)  

Thanks for listening, as always.

-- 
Quinn Weaver  Software Engineer  ,      Vovida Networks  http://www.vovida.com
"I'm swingin' swords          o-=*|>>>>>>>>>>            ===()==========>     
  Strictly based on keyboards".  '         --The RZA             <==()==  
Received on 2000-01-24 04:27:26