<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.5pt;
        font-family:Consolas;}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:Consolas;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 92.4pt 1.0in 92.4pt;}
div.Section1
        {page:Section1;}
 /* List Definitions */
 @list l0
        {mso-list-id:391316136;
        mso-list-type:hybrid;
        mso-list-template-ids:1251627690 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
-->
</style>

</head>

<body lang="EN-US" link="blue" vlink="purple">

<div class="Section1">

<p class="MsoPlainText">Yup, by doing --inplace, I got down from 30 mins to 24
mins...  So that&#39;s slightly better than resending the whole file again.</p>

<p class="MsoPlainText"> </p>

<p class="MsoPlainText">However, this doesn&#39;t really do what I was hoping to
do.  Perhaps it can&#39;t be done, or somebody would like to recommend some
other product that is more well suited for my purposes?</p>

<p class="MsoPlainText"> </p>

<p class="MsoPlainText">If I could describe ideally exactly what I&#39;m trying to
do, it would be ...</p>

<p class="MsoPlainText" style="margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1"><span style="font-family:Symbol"><span style="mso-list:Ignore">·<span style="font:7.0pt &quot;Times New Roman&quot;">        
</span></span></span>During initial send, calculate checksums on the
fly, down to some blocksize (perhaps 1Mb), and store the checksums for later
use.</p>

<p class="MsoPlainText" style="margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1"><span style="font-family:Symbol"><span style="mso-list:Ignore">·<span style="font:7.0pt &quot;Times New Roman&quot;">        
</span></span></span>On subsequent sends, just read the source and
compare checksums against previously saved values, and only send the blocks
needed.  In worst case, all blocks have changed, and the time to send is
very nearly equal to the initial send.</p>

<p class="MsoPlainText" style="margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1"><span style="font-family:Symbol"><span style="mso-list:Ignore">·<span style="font:7.0pt &quot;Times New Roman&quot;">        
</span></span></span>The runtime for subsequent runs should never
significantly exceed the runtime of the initial.  Because the goal is to
gain something over brainless delete-and-overwrite.</p>

<p class="MsoPlainText" style="margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo1"><span style="font-family:Symbol"><span style="mso-list:Ignore">·<span style="font:7.0pt &quot;Times New Roman&quot;">        
</span></span></span>The runtime for subsequent runs should be on the
same order of magnitude of:</p>

<p class="MsoPlainText" style="margin-left:1.0in;text-indent:-.25in;mso-list:
l0 level2 lfo1"><span style="font-family:&quot;Courier New&quot;"><span style="mso-list:Ignore">o<span style="font:7.0pt &quot;Times New Roman&quot;">   
</span></span></span>Whichever is greater:</p>

<p class="MsoPlainText" style="margin-left:1.0in;text-indent:-.25in;mso-list:
l0 level2 lfo1"><span style="font-family:&quot;Courier New&quot;"><span style="mso-list:Ignore">o<span style="font:7.0pt &quot;Times New Roman&quot;">   
</span></span></span>Calculate the checksums of the source<br>
or</p>

<p class="MsoPlainText" style="margin-left:1.0in;text-indent:-.25in;mso-list:
l0 level2 lfo1"><span style="font-family:&quot;Courier New&quot;"><span style="mso-list:Ignore">o<span style="font:7.0pt &quot;Times New Roman&quot;">   
</span></span></span>Send the changed blocks</p>

<p class="MsoPlainText"> </p>

<p class="MsoPlainText">In my specific situation, 33mins for the initial send of
20G across 100Mbit lan, my subsequent run should be approx 11mins, because that’s
how long it takes for me to md5 the whole tree.</p>

<p class="MsoPlainText"> </p>

<p class="MsoPlainText">Thanks again for any assistance…</p>

<p class="MsoPlainText"> </p>

</div>

</body>

</html>